Add Figma support to studio create --from - #4756
Draft
chubes4 wants to merge 10 commits into
Draft
Conversation
chubes4
marked this pull request as draft
September 10, 2026 13:05
Collaborator
📊 Performance Test ResultsComparing 7f7b624 vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues
How AI was used in this PR
OpenAI GPT-5.6 Terra via OpenCode direct run; GPT-6 Astra orchestrated after Chris Huber explicitly authorized bypassing Homeboy.
Proposed Changes
Testing Instructions
Focused verification:
npx prettier --write docs/figma-fixture-generator.md BLOCKS_ENGINE_FIGMA_TRANSFORMER_PATH=/path/to/blocks-engine/figma-transformer \ PHP_BINARY_WITH_ZSTD=/path/to/php \ npm test -- scripts/generate-figma-fixture.test.mjs apps/cli/commands/site/tests/create.test.ts apps/cli/lib/native-php/tests/capabilities.test.ts npm run cli:build git diff --checkTemporary isolated-HOME integration evidence
This is not a public runtime selector or default. Public PHP metadata deliberately does not advertise
zstd, so a fresh CLI correctly gates before import. This command stages the exact macOS ARM workflow artifact at the configured package location in a disposableHOME;ensurePhpBinaryAvailableuses the staged binary, creates or synchronizes its INI, and the Figma probe uses that INI. The cleanup trap removes the temporary home, runtime, fixture, and site.Candidate acquisition: follow the documented SSI package build route. It clones SSI
165bf27363a0616c1c2ecb78c687e2bd2f05bc52and Blocks Engine573e126b7fc1d95df757e183366384c2d72f691c, runs the SSI development-package build, and distinguishes the historical tested ZIP checksum from locally rebuilt provenance.The runtime is workflow run 34483685921, job 102892497452, artifact
10155344620(php-8.5.10-cli-macos-aarch64). The original tested SSI candidate was the full development ZIP from SSI #1581, source commit165bf27363a0616c1c2ecb78c687e2bd2f05bc52:static-site-importer-dev-165bf27363a0-blocks-engine-573e126b7fc1.zip, SHA-2567beec605fdc79885e84e6e29688c8aa3490c66847220ac7dca333ee8ece2f751.Run from the Studio repository root:
Actual run result: the import completed successfully. The isolated staged runtime created
php.iniand passed azstd_uncompressprobe. The resulting published page wasStudio Fixture Node Changes Fixturewith 1,126 bytes of block markup, beginning with Group and Paragraph blocks. This is narrow import-path evidence only; it makes no production fidelity or editability claim.Build Evidence
shivammathur/setup-phpbefore Composer, SPC, or Studio build code.apps_cdn_visibility=none, so neither published artifacts.v1.10.0is the latest published release inspected. Its two release ZIP assets do not establish a repaired full archive, so it is not configured as a default package.Pre-merge Checklist
Browser Acceptance Status (2026-09-10)
Three real import/design iterations were completed. The selected frame
3b7c6cmaterialized after Blocks Engine #1655 and #1657; those fixes are implemented, but this acceptance run failed.source_reports.figma.transformresponse exceeded Studio native WP-CLI's 1 MiB retained-output tail. The bounded SSI receipt/artifact-reference defect is tracked in SSI #1589.AI assistance disclosure: GPT-6 Astra via OpenCode performed the read-only diagnosis and tracker evidence update. Chris Huber directed the scope and remains responsible for review.
Port Allocation Fix (2026-09-10)
localhostURL.127.0.0.1and, when available,::1on the selected port, verifies readiness through each owned listener, and closes both listeners on every lifecycle path.localhostfetch that resolves to the owned service rather than a deliberately foreign IPv4 listener.npm test -- packages/common/lib/tests/port-finder.test.ts(7 tests),npm run typecheck,npm run cli:build, andgit diff --check.AI assistance disclosure: OpenAI GPT-5.6 Terra via a direct OpenCode run traced and implemented the port contract; Chris Huber directed scope and reviewed the resulting change.