docs(spec): define responsive theme adaptations - #5806
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
0566355 to
00f9597
Compare
bd9359e to
fbd16e3
Compare
fbd16e3 to
6e96207
Compare
There was a problem hiding this comment.
Theme authors who need one coarse-pointer rule across all widths would still have to duplicate it across manufactured width tiers, although the intent promises width or pointer adaptation.
Thanks—fixed tiers, sparse matching, inheritance, pins, and compiler parity are much clearer. Before this draft is ready:
- Make the pointer choice explicit: can pointer rules stand alone, and are conditions nested under width or represented as a flat, closed model?
- The built-theme requirement preselects always-on metadata even though the draft leaves that bundle-cost choice open. State both compatibility outcomes.
- Keep #5543 as evidence, but move branch-specific rollout steps into an implementation plan so this specification survives a replacement implementation.
[Reviewed by Robohands]
|
Visible review summary — suggestions for Ivor to resolve, not a prescribed API rewrite. The full three-option exploration is on the implementation PR: #5543 (comment) Before this draft can become current, it should settle three contract questions:
My exploration leans toward a flat, closed |
6e96207 to
db3fe12
Compare
db3fe12 to
b6a7209
Compare
b6a7209 to
70b33cf
Compare
70b33cf to
21357e2
Compare
21357e2 to
adf1b53
Compare
adf1b53 to
f4c4f07
Compare
Why
Themes need opt-in adaptations for environmental conditions without a second theme, handwritten media-query CSS, or React styling state.
Accepted contract
adaptations, notresponsiveorresponsiveness.widthBreakpoints, not genericbreakpoints.{when, value}rules, not positional tuples.width: {from, below}, not flatminWidth/maxWidth.whenare ANDed.fromis inclusive andbelowis exclusive.extends.Approval
Cindy approved the complete contract at
adf1b531b2. This update records that decision asauthority: current,phase: accepted,approved_by: cixzhang, with no open questions.Because the spec-owner gate binds approval to the exact commit, this metadata-only promotion invalidates the previous head approval and needs one final approval on the promoted head.
Relationship to #5543
#5543's public tier API is superseded by this accepted contract and must not land as-is. Its value resolver, explicit-value preservation, CSS generation/build parity, and extension metadata remain useful implementation evidence.
Risk
Knowledge only. No runtime, package, or consumer behavior changes. The AppShell equality change is identified as breaking for the later implementation.
Validation
pnpm check:knowledge -- --base origin/mainpnpm check:repo