Skip to content

refactor(figma): derive footer responsive safety from structure, not layer names - #1562

Merged
chubes4 merged 1 commit into
trunkfrom
refactor/1556-responsive-structure
Sep 3, 2026
Merged

refactor(figma): derive footer responsive safety from structure, not layer names#1562
chubes4 merged 1 commit into
trunkfrom
refactor/1556-responsive-structure

Conversation

@chubes4

@chubes4 chubes4 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Closes #1556

What

Replaces responsive footer branches keyed to literal Figma layer names (newsletter signup, frame 19, frame 20) with structural detection: an inset primary panel and a full-width lower band are identified from their geometry relative to the footer box.

Why

Responsive output changed based on mutable presentation-layer names. Renaming a layer silently disabled the behavior, and an unrelated design reusing a name inherited fixture-shaped geometry.

Verification

  • php tests/contract/run.php passes.
  • New contract assertions prove the inset-panel decision is identical under renamed layers and that the name alone, without the structure, does not trigger the policy.
  • No newsletter signup / frame 19 / frame 20 references remain in figma-transformer/src.

Risk

The structural thresholds (inset panel at least half the footer width and inside its box; band at footer width below the panel) are derived from the existing fixture geometry. Designs that express the same intent with materially different geometry may now fall through to generic mobile safety.

AI assistance

OpenAI gpt-5.6-sol running in OpenCode implemented the structural model, repaired a contract regression in an earlier draft, added the name-independence coverage, and ran the contract suite. A human directed the work and reviewed the result.

@chubes4
chubes4 merged commit 5a9e7bb into trunk Sep 3, 2026
4 checks passed
@chubes4
chubes4 deleted the refactor/1556-responsive-structure branch September 3, 2026 19:31
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.

Derive Figma responsive layout without source layer-name special cases

1 participant