feat(udg): anchors carry intent — -rule holds weight, -band holds proportion #157
No reviewers
Labels
No labels
build-dist
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design!157
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/udg-anchor-intent"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #156. An anchored pull is one of two things and they want opposite defaults, so the anchor now says which.
extentis unchanged and still overrides either — the suffix only chooses the default. The two knobs stay orthogonal, which is precisely what made a single default arbitrary rather than wrong.Scope
Measured with the same probe that gated #154, not asserted:
bottom-bandtop-ruleA rule's default weight is
var(--border-width-emphasis)— a token, not a number I picked. A hand-drawn rule is an emphasis border, and emitting the var keeps it designer-editable rather than baked, perTOKEN_GAP_PROPOSALS.md. It is also a double var indirection (--pN-h→--border-width-emphasis), which is exactly the shape that has bitten this tier four times — so it was rendered before it was believed.The bare edges (
anchor: bottom) are gone rather than aliased. Keeping one would have left an ambiguous default, which is the thing this change exists to remove — and the tier is days old with no external consumer, so this is the cheapest it will ever be. Both shipped presses migrate and now demonstrate one default each.Testing
just checkgreen, 4 presses · 270 tests · self-check 0 failures · rendered at three real widths with numbers read fromgetComputedStyle.Two bugs caught on the way, both by things written earlier in this effort:
extent: autoonleft-bandsilently stopped being rejected. Its own test caught it — the regression existed for about four minutes.Impact Statement
Breaking, deliberately, and at the cheapest possible moment.
anchor: bottomis no longer valid — it isbottom-ruleorbottom-band. The only presses in existence are the four inspelwork/press.json, all migrated here;udgPressMapis emitted for no consumer (rituals declares no press), so nothing downstream moves. An invalid anchor fails by name with the full list.The vocabulary grows 5 → 9 anchor values, which #156 named as the cost. In exchange the default is right for both uses instead of right for one and surprising for the other.
Interaction with #151: this lands on a vocabulary ville has not signed off yet. If the press terms change, these do too — but
rule/bandare ordinary print words and orthogonal to theplate/pigment/substrateset under review.Reversibility: high. The intent suffix maps to one dict; collapsing back to bare edges is a small change plus a migration of four pulls.