DESIGN: derived interaction-state mix ratios are a placeholder — per-brand colour review pending #75
Labels
No labels
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#75
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?
Splitting the second half of the PROVISIONAL note above
_derived_state_lines(
udg/generators/extract.py, ~line 99) out of #72. #72 is about the naming of thederived vars; this is about their values.
Decision
One global derivation rule does not carry across brands. The current
DERIVED_STATESratios — mix 88% / 78% / 90% / 85% toward#000, plus a 22%focus glow — are accepted as a placeholder default, not as a house rule.
Nothing is blocked on it, so we ship as-is and revisit deliberately.
Why one rule doesn't carry
Compared the current output against alternatives across rituals, spelwork, tctd,
fux-capacity and peterswimm:
#000to a brand-owned dark changes almostnothing. These brands' darkest own colours are already near-black
(
#2B1810,#1A1A1A,#0A0A0A), and tctd'sbg.surfaceis#000000.Distance from the base primary moves from ~26 to ~20 units — invisible. So
"mix toward a brand colour instead of black" is not by itself the fix.
brand dark gives a properly distinguishable hover) or mixing toward the
brand's secondary hue, which shifts hue rather than only darkening.
the wheel. rituals (terracotta → mustard) and peterswimm read well.
fux-capacity (red → blue) lands on
#C9495D, a rosy half-tone that looksrelated to neither brand colour; tctd (yellow → white) just washes out.
hand-authors
primary-hover: #9C90EEagainst a#8275E6base — its hover islighter. The global rule darkens. So "hover darkens" is not currently a house
rule, whatever the emitter assumes.
No new machinery needed
The per-brand mechanism already exists and pardner already uses it: author the
states as real DTCG tokens in the product's
color.jsonand the emitter fillsonly the gaps (
_derived_state_linesskips any derived name already emitted as abase var). pardner ends up with three hand-picked values plus a derived
--error-hoverand--focus-glow. That is the intended shape.So this issue is design work, not refactoring.
Open, for a later pass
(5 brands × 3–5 states).
88/78/90/85-toward-
#000stays, it should be documented as the defaultrather than as the correct answer.
If it should be, pardner's values are wrong; if not, say so explicitly so the
next person doesn't "fix" them.
Related: #72 (naming of the same vars — separate question, answered there).
ville referenced this issue2026-07-30 12:40:17 +00:00
Wish completed — all requirements satisfied.