Skip to content

fix(php-transformer): retain authored canvas effect on import - #2346

Merged
chubes4 merged 3 commits into
trunkfrom
fix/2293-authored-canvas-attrs
Sep 29, 2026
Merged

chubes4 merged 3 commits into
trunkfrom
fix/2293-authored-canvas-attrs

Conversation

@chubes4

@chubes4 chubes4 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Source → portable capture → editable WordPress

DLA #458 ships an independently authored, verified portable runtime for the LIQUID BONSAI capture. On first import SSI+BE correctly refused the authored canvas JS target because native conversion discarded data-blocks-engine-canvas-effect. After repairing that, the compiler exposed a hidden clock config marker as a runtime island; after lowering it, source/WordPress comparison exposed a further mismatch: WordPress put clock date and running-since text in native paragraphs inside addressable wrappers, while the authored portable config correctly targets the wrappers. The prior view scripts refused to animate wrappers with children rather than touching the editable leaf.

Generic fixes

  • Project only existing validated native canvas effect, numeric spacing/size and hex color into the editable canvas block. Unconfigured canvases remain inert.
  • Lower bounded hidden data-blocks-engine-motion-steps and data-blocks-engine-live-clock JSON markers into their existing editable generated companion blocks and recognize their exact saved marker DOM as a native runtime contract rather than an island.
  • Allow the generic clock and text sequence view scripts to resolve a source-addressable wrapper to its sole leaf native paragraph. Animate that paragraph without destroying the wrapper or changing the saved editable final text. Existing leaf selectors still work.

Fresh end-to-end proof

  • Build: npm run build:dev-package -- --blocks-engine-path <this clean branch> --output-dir <proof-dir> with SSI 8a8200dc4446, BE d52c7f4dfd1b succeeded via Homeboy review. Fresh Studio import of the authored standalone portable capture into a distinct WordPress site (/Users/chubes/Studio/liquidbonsai-portable-native-final-20260929) compiled 33 blocks, zero fallback / runtime islands / content loss / runtime dependency failures, with native canvas + motion-sequence + live-clock blocks automatically lowered from the portable HTML. No manual block insertion or original source script was used.
  • Real Gutenberg opened the imported site with valid blocks; saved/reloaded its authored pending config; edited a native legal paragraph and verified click replay used the edited text, then restored it in Gutenberg.
  • Independent source-versus-WordPress Chromium: startup text, pending-status-dot visibility, visitor-local clock/date, five click replays and pointer canvas passed at 390/768/1440px after edit restoration. Screenshot comparison passed (rounded pixel evidence 0.9998/0.9999/1.0000). The standalone portable capture itself also passes these source probes independently using plain DLA compare without --candidate.
  • Neutral PHP contracts, 346 parity fixtures, Composer package-install proof and real Chromium native-wrapper/date/edit-replay probe passed. PHP 8.2–8.5, WordPress integration, generic visual and solved-site-promotion CI are green.

Refs #2293 and DLA #425.

AI disclosure: GPT-6 Sol via OpenCode traced both actual runtime contract failures and addressable-wrapper text loss, implemented generic native block projection and leaf animation, built/ran a fresh paired SSI import, exercised Gutenberg save/edit/replay, and verified live source/capture/WordPress parity. Chris Huber directs acceptance. Issue-linked direct worktree uses the previously authorized fallback after Homeboy Cook admission blocked; verification/finalization remain outside Homeboy.

@chubes4
chubes4 marked this pull request as ready for review September 29, 2026 16:06
@chubes4
chubes4 merged commit 02f9e0d into trunk Sep 29, 2026
10 checks passed
@chubes4
chubes4 deleted the fix/2293-authored-canvas-attrs branch September 29, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant