← Commit history

2.6.3 (doc only, module bytes unchanged): a seam is a property of a pair and every check measures one side; report two insets, never assert they match

John Lauer ·255bf48f37 ·1mo ago ·parent 76c5f76
2 files changed +23−1
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-ui-design",-  "version": "2.6.2",+  "version": "2.6.3",   "type": "skill",   "description": "The Adom UI Design System plus a bundle of focused UI skills (tooltips, floating-windows, toasts, responsive-ui, app-shell, ai-driven-apps, clickable-paths, dark-default, input-feedback, settings-layout). One install drops the whole set of skill files onto your container, plus shared icon assets (the settings cog) so every Adom app draws the same glyph.",   "dependencies": {},
skills/newbie-panel/SKILL.md+22
@@ -452,6 +452,28 @@ direct child of `body` with no padding, so it measured exactly `clientWidth`, an line-based CSS deletion, so the page had no horizontal padding anywhere. In both cases a number a few pixels off the pane width was hiding a missing rule rather than a wrong one. +**⛔ A SEAM IS A PROPERTY OF A PAIR, AND EVERY CHECK WE HAVE MEASURES ONE SIDE.**++fusion's framing, and it is the structural limit of `selfCheck`. Where the panel meets the+app's own content, the requirement spans TWO owners: the module owns the panel, the app owns+everything below it. A checker that measures the panel is measuring the half that is already+right. **No single-owner check can hold a two-owner requirement**, so this one is enforced by+looking, not by passing.++fusion's case is the one to remember, because it would have shipped clean: its header and main+were both at 16px, so at John's 744px pane the seam lined up perfectly and it would have+passed the slot and taken a clean crop. But `main` carried `max-width: 1080px; margin: auto`.+Below about 1112px that cap never engages and everything sits at 16. **Above it, the content+centres to `(vw-1080)/2 + 16` while the panel stays at 16, and the seam steps.** Invisible at+his width, invisible to the check, and real.++Its fix is also the right instinct on ownership: **it uncapped `main` rather than capping the+panel.** The module gives the panel no max-width and caps only its inner table at 720px, so+capping the panel would have meant fighting the shared contract to make one page win.++So when you report a seam, **report two numbers, the panel's inset and your content's inset,+rather than asserting they match.**+ **16px IS THE PAGE'S GUTTER, NOT THE PANEL'S.** If your app's own content sits at any other inset, the panel lands 16px inside the pane with your content 22px inside it, and there is a visible step at exactly the seam this rule exists to remove. project-manager found this while