Skip to content

Decompose animated marketing sections into native blocks instead of core/html app-shell fallback#491

Merged
chubes4 merged 1 commit into
trunkfrom
fix/html-section-native-decomposition
Jul 4, 2026
Merged

Decompose animated marketing sections into native blocks instead of core/html app-shell fallback#491
chubes4 merged 1 commit into
trunkfrom
fix/html-section-native-decomposition

Conversation

@chubes4

@chubes4 chubes4 commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Problem

Ordinary marketing <section>s were preserved wholesale as a single core/html block whenever animation/counter scripts targeted elements inside them. shouldPreserveRuntimeAppShell() counted presentation-only selectors (.reveal, [data-count], animate/motion/scroll classes) fed by ArtifactCompiler::runtimeDomSelectors() as runtime app-shell evidence, so any section with scroll-reveal animation looked like an interactive app and fell back — the single largest fallback family in the Static Site Importer fixture matrix (12 findings across 4 fixtures on the complexity-1 lane).

Fix

  • Filter presentation-only animation/counter selectors in isRuntimeDomTarget() and data-attribute preservation — generalizing the existing data-animation filter to class/id/data selectors. Structural decision only; no fixture- or class-name-specific matching beyond generic animation vocabulary.
  • data-count support in dynamicTextContent() so counter text stays editable.
  • New parity fixture: html-section-runtime-animation-native-decomposition.json.

Verification

  • Full suite green: composer test (canonical + 203 parity fixtures + packaging).
  • Static Site Importer fixture matrix (complexity-1 lane, 7 fixtures, real WP sandbox with editor-side wp.blocks.validateBlock):
    • fallback_block:core_html_block:section family: 12 → 0
    • Total blocks 917 → 1,142 (+225 real editable blocks from decomposed sections)
    • Editor-valid block rate stays 1.0; 7/7 fixtures pass the gate
    • Expected cascade: inner SVGs previously buried in section fallbacks now surface individually (svg family 8 → 19), tracked as follow-up work

AI assistance

  • AI assistance: Yes
  • Tool(s): Claude Opus 4.5 (claude-fable-5) via opencode, orchestrated agent workflow
  • Used for: Root-cause investigation, implementation, parity fixture, and fixture-matrix verification runs. Reviewed and verified by Chris Huber via the SSI fixture matrix quality gates.

@chubes4 chubes4 merged commit 854b269 into trunk Jul 4, 2026
1 check passed
@chubes4 chubes4 deleted the fix/html-section-native-decomposition branch July 4, 2026 17:08
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