Skip to content

Keep document chrome out of captured layout boundaries - #1780

Merged
chubes4 merged 2 commits into
trunkfrom
fix/layout-boundary-excludes-chrome
Sep 16, 2026
Merged

chubes4 merged 2 commits into
trunkfrom
fix/layout-boundary-excludes-chrome

Conversation

@chubes4

@chubes4 chubes4 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

A deep wrapper around header + main + media was captured as one custom/responsive-layout block, so the whole page stopped being editable. That fired once Tiny Menu stopped counting as a runtime island and the wrapper no longer had a runtime target in-subtree.

Decline layout-boundary capture when the element contains header/footer (or banner/contentinfo) landmarks. A deep main that is only media still compiles as a typed layout boundary.

Stacked on #1763 so a Wix Tiny Menu can become core/navigation after the shell stays in the block tree.

Proven on https://www.rachelbraundesign.com/ homepage HTML: 197 blocks / 13 navigation / 0 whole-page layout capture (was 1 opaque layout after #1763).

Test plan

  • php tests/unit/layout-boundary-excludes-shell.php
  • php tests/unit/overlay-hidden-navigation.php
  • php tests/contract/staged-artifact-compilation.php
  • Re-import Rachel Braun and confirm pages are multi-block with a working mobile overlay menu

AI assistance

Grok 4.6 via OpenCode diagnosed the Rachel Braun re-import collapsing to one custom/responsive-layout after overlay-nav conversion, implemented the shell-landmark guard, added the unit test, and ran the listed php-transformer checks. Chris Huber remains responsible for review and merge.

…ndaries

Deep media layout capture is for a content region. An ancestor that also
owns header or footer landmarks must convert children so those landmarks
stay native blocks.
@chubes4
chubes4 force-pushed the fix/layout-boundary-excludes-chrome branch from 864c1f1 to 4cb498c Compare September 16, 2026 13:43
Site-shell detection is for wrappers around header/main, not a main that
contains a page-local header.
@chubes4
chubes4 merged commit 86a4fdf into trunk Sep 16, 2026
10 checks passed
@chubes4
chubes4 deleted the fix/layout-boundary-excludes-chrome branch September 16, 2026 13:56
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