Confirm the press vocabulary (press · pulls · plate · pigment · registration · substrate) #151
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design#151
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
@ville — a confirmation rather than a consultation, and flagged for exactly that reason.
The
presstier shipped in #148 / #149 and its vocabulary is now a live contract across three repos — it appears inforgeblock.yml, the labeling grammar,skin.cssvar names, and the Dart/Swift symbols thatsync.pyinjects intoToilville_Rituals. Renaming any of it now is a cross-repo break, so it is worth you seeing it explicitly rather than discovering it later.What the words name
Top panel:
press.hatched-frame— two pulls of the same plate, one in mustard deliberately off registration (−3, +3) under one in charcoal. The fringe along the top and left edges is that misregistration, and it is the aesthetic rather than a defect. Bottom:press.hatched-hatch, three pulls.presspullsstack—shell_kind: stackis taken insurface_profiles.ymlplatepigmentink—--inkalready means text colour in the wireframe kit, 31 uses insideartifact.py's own stylesheetregistrationsubstratepaper— taken bybg.surfaceWhy
pigmentis a colour token and not a valueIdentical press token; only the two pigment vars are re-pointed. That is mechanically what a
[data-theme]block does, which is why a press needs no per-theme variant of its own. (spelwork ships light-only, so this shows the mechanism rather than a shipped theme — see #152.)And what it degrades to
flattenedis identical toliveby design; onlysubstratevisibly drops the press. That contract is why a press is a token and not a block: every block owes the channel-reduction law a plain-text form, and decoration has none.If any of it should change, now is markedly cheaper than later. Everything above is rendered from the real
dist/spelwork/skin.css— no mockups.scratchpad/press-review.htmlis the same thing interactive, self-contained, no build needed.The rest of the contract, added since this issue was filed
Three PRs merged after I opened this and each widened the vocabulary. You would otherwise be
signing off roughly half of it.
fit— how a plate fills its box (#148, #149)stretchcontain·covertilesliceanchor— which edge a pull occupies, and what for (#154, #157)fill·top-rule·bottom-rule·left-rule·right-rule·top-band·bottom-band·left-band·right-bandThe suffix is the part worth a second look:
-ruleis a divider and holds constantweight (from
--border-width-emphasis);-bandis a decorative strip and holdsconstant proportion (from the plate's own ratio). You chose that split in #156 over a
single default.
extent— thickness along the anchored axis; a number in px, or"auto". Overrideswhatever the anchor's intent defaults to.
Also now part of the contract, though not vocabulary: every press var is registered with
@property(#158), so--press-*names are typed and carry declared fallbacks. Renaming aterm now moves the tokens, the
@propertyregistrations, the Dart/Swift symbols, and thelabeling grammar together.
Confirmed! Here is horrible AI images to illustrate what is what:

@peterswimm