Skip to content

docs(records): LayoutPanel publishes its applied inset; Lightbox's gaps for 0, announcements and Tab are closed - #10819

Merged
cixzhang merged 2 commits into
mainfrom
docs/records-close-layoutpanel-lightbox-gaps
Nov 9, 2026
Merged

cixzhang merged 2 commits into
mainfrom
docs/records-close-layoutpanel-lightbox-gaps

Conversation

@cixzhang

@cixzhang cixzhang commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Reader impact

Three records still described gaps that #10774 and #10775 closed, so a reader would expect a LayoutPanel full-bleed child to miss the panel's edge, and a Lightbox that lets Tab leave, ignores 0, and announces outside the open viewer. None of that holds on main now.

Change

  • component:LayoutPanel: FR3 no longer carries the implementation gap, and states that a full-bleed child lines up with the panel's outer edge. The "Published inset differs from applied padding" Current-state entry goes, and so does "records the gap" in the ownership line. The FR3/ORD2 verification row now names nestedPadding.test.tsx (the LayoutPanel publication tests) and the audit spec's inset and full-bleed receipts, which are also added to verified_by. FR4 and its divider-ownership entry are unchanged.
  • architecture:container-padding: the "Known conformance gap" section goes. The descendant-geometry step and the Region publisher row say each region republishes the padding it applies, except LayoutContent's content-width gutter, which is applied but not published (component:LayoutContent FR2). INV2 and INV4 state the same instead of disclaiming automatic-edge parity, and the INV4 evidence row names nestedPadding.test.tsx and the region audit specs for published values.
  • family:layout-regions: FR3 and FR4, and the FR3 verification row, no longer describe the LayoutPanel gap.
  • component:Layout: the ownership line no longer mentions "the publication gap LayoutPanel records".
  • component:Lightbox: the Current-state entries for Tab containment (FR4), the 0 zoom reset (AR3), and announcements outside the open viewer (AR4) go.

Evidence (checked on main)

Scope

  • Records only; no code, API, or behavior change.
  • Public text and artifacts contain no internal Meta context.

Writing rubric results

  • Present tense, system description only; no history or pull-request references in the records: pass.
  • Each removal matches shipped behavior on main, checked in source and tests above: pass.
  • Verification row names the tests, their states, and the failure they catch: pass.
  • No new claim beyond what the closed gaps imply: pass.

…key, in-viewer announcements and Tab containment hold

LayoutPanel now publishes the padding it applies on every edge, so FR3 drops its gap, its verification row names the publication tests, and container-padding drops its known conformance gap. Lightbox wraps Tab inside the open viewer, resets the zoom on 0, and announces inside the viewer, so those Current-state entries go. LayoutPanel FR4's divider ownership is unchanged.
@vercel

vercel Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
astryx Ready Ready Preview Nov 9, 2026 4:24pm UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Nov 9, 2026
@astracat-bot

astracat-bot Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

AI review status for this pull request.

Review status Updated
🟢 Reviewed (for maintainers only) Nov 9, 2026, 7:18 PM UTC

@cixzhang

cixzhang commented Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

/approve-spec b7a10ba

@github-actions github-actions Bot added needs:spec-owner-review Current knowledge records await owner approval and removed needs:spec-owner-review Current knowledge records await owner approval labels Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

PR Analysis Report

🔎 Preview · dab2cea

Storybook · Sandbox · built from this PR's head

Package size: no published package changed; no new dependencies.

API changes: none in this pull request

Committed API report behind this build: cli 29 rows, core 36 rows, theme-butter 1 row, theme-y2k 1 row; run pnpm api:report.

Not run on this PR: add ci:run-visual, ci:run-a11y or ci:run-rtl to run them.


Generated by PR Enrichment workflow | View full report

@astracat-bot astracat-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes requested. The LayoutPanel and Lightbox removals match main, and the spec approval covers the proposed text, but the container-padding edits leave the records contradicting each other:

  • The new Region publisher row in docs/architecture/container-padding.md (line 122, and step 3 at lines 107-108) says every region publishes its applied padding on every edge, but component:LayoutContent FR2 keeps the content-width alignment gutter applied and unpublished, so the row needs that exception.
  • INV2 (lines 307-308) and INV4 (lines 316-317) of the same record still say automatic Layout-region edges are not guaranteed to republish their applied padding, so drop or restate them.
  • docs/families/layout-regions.md FR3 and FR4 and docs/specs/components/Layout/Layout.spec.md (lines 202-203) still describe the LayoutPanel publication gap, and FR3 points to the section this pull request deletes, so amend them here.
  • The INV4 verification row (line 450) now fails on a mismatched republished edge but names Layout.test.tsx and LayoutSlots.test.tsx, which never read a published value, so name nestedPadding.test.tsx and the region audit specs instead, or drop the clause.

A new commit invalidates the current approval, so after pushing, an engineering owner needs to comment /approve-spec <full head SHA> on the new head.

[Automated review]

Comment thread docs/architecture/container-padding.md Resolved
Comment thread docs/architecture/container-padding.md Resolved
…ining parity disclaimers

Container-padding's step 3 and Region publisher row keep LayoutContent's content-width gutter as applied but unpublished (LayoutContent FR2). INV2 and INV4 now state that automatic Layout-region edges republish their applied padding. layout-regions FR3, FR4 and its FR3 row, and Layout's ownership line, no longer describe the LayoutPanel gap. The INV4 evidence row names nestedPadding.test.tsx and the region audit specs for published values.
@cixzhang

cixzhang commented Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

/approve-spec dab2cea

@astracat-bot astracat-bot Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved pending CI: the five records now match main. LayoutPanel publishes the inset it applies on every edge, LayoutContent's content-width gutter stays the one inset that is applied but not published, and the three Lightbox gaps (Tab containment, the 0 key, announcements outside the viewer) are closed in code and tests.

CI has not run the heavy suites on this head: the required build, test and docsite-test checks report "Heavy CI deferred", so they run in the pre-merge run of all jobs; typecheck and lint pass.

Optional wording, already in the open suggestions: add the gutter exception to INV4 (container-padding.md line 318) and to family:layout-regions FR3 (lines 122-123), drop "automatic-variable parity" from the FR4 row's missing evidence (line 246), and let LayoutPanel.spec.md line 49 read "a publication mismatch".

[Automated review]

Comment on lines +122 to +123
wrapper. Each region republishes the geometry it applies to full-bleed
descendants (`architecture:container-padding` INV2).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: read alone, this says every region republishes all the padding it applies, but a content-width LayoutContent applies a gutter it does not publish (component:LayoutContent FR2). FR4 below and architecture:container-padding INV2 carry that exception; adding it here keeps FR3 self-contained, for example: "Each region republishes the geometry it applies to full-bleed descendants, except LayoutContent's content-width gutter (architecture:container-padding INV2)."

another region. Slot presence and each region's explicit padding select the
applied edge styles. Exact descendant-variable parity for automatic outer
edges is not guaranteed by this invariant.
applied edge styles, and each region republishes the edge it applies (INV2).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: read alone, INV4 now covers LayoutContent's content-width gutter too, which INV2 excludes. For example: "…and each region republishes the edge it applies, except LayoutContent's content-width gutter (INV2)."

| FR1 | Section/Layout/Toolbar render and slot tests | Caller content renders inside the current region structure; Toolbar exposes its current lanes | Tests do not independently prove that product semantics remain caller-owned |
| FR2 | Logical-property source review plus Layout area-context tests | Start/end slots are identified logically and source selects logical divider/padding properties | No real-browser LTR/RTL geometry matrix covers every region |
| FR3 | `Layout.test.tsx` and `childrenAsContent.test.tsx`; `nestedPadding.test.tsx` and the region audit specs for published geometry | Slot presence/context and content precedence are pinned; omitted slots do not render area providers | These tests do not assert computed outer/inner inset; `nestedPadding.test.tsx` and the region audit specs check each region's published values |
| FR4 | Section padding class-set tests and Layout region source | Section's explicit edge overrides move matching variables; region source has automatic, explicit, and zero-padding branches | Layout tests mostly assert acceptance/rendering, not computed padding or automatic-variable parity |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: FR4 now says an automatic Layout edge republishes the padding it applies, but this row still lists "automatic-variable parity" as missing evidence and names only Section tests and region source. The FR3 row above names the tests that check it (nestedPadding.test.tsx and the region audit specs); naming them here and dropping "automatic-variable parity" from the gap keeps FR4's evidence accurate.

@cixzhang
cixzhang merged commit 78ac0b1 into main Nov 9, 2026
102 of 105 checks passed
@cixzhang
cixzhang deleted the docs/records-close-layoutpanel-lightbox-gaps branch November 9, 2026 19:51

This branch was successfully deployed

1 active deployment
Preview — dab2cea3 Deployed Nov 9, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant