bread-theme: mark five declared-but-unconsumed schema keys as such in schema and theme.toml
audit-schema-consumption.md's recurring defect: a key that validates but does nothing, five separate instances (css/extra.css overlay, tokens.font_family, tokens.font_fallback, tokens.font_size_base, tokens.accent_to). All five are consumed only by breadbar/breadbox, which this pass doesn't touch, so per the audit's own (a)/(b)/(c) choice this is (b): document the gap at both the schema accessor and every theme.toml site that sets the key, so the manifest states its design intent honestly instead of implying the value has an effect it doesn't. Also documents modules.clock.format/show_date (consumed only by ClockStyle::Plain, silently ignored by Flip/None) and bar.window.margin.bottom (parsed, never applied by breadbar) the same way.
This commit is contained in:
parent
94ab7216c2
commit
0ec20714c5
6 changed files with 116 additions and 3 deletions
|
|
@ -19,6 +19,10 @@ name = "Glass Workbench"
|
|||
id = "glass-workbench"
|
||||
|
||||
[tokens]
|
||||
# Declared-but-not-yet-consumed: see liquid-motion/theme.toml's identical
|
||||
# note next to these three keys — neither breadbar nor breadbox reads them;
|
||||
# the font that actually renders comes from bread_theme::stylesheet()'s own
|
||||
# hardcoded constant instead.
|
||||
font_family = "IBM Plex Sans"
|
||||
font_fallback = "Inter, Noto Sans, sans-serif"
|
||||
font_size_base = 13
|
||||
|
|
@ -36,7 +40,12 @@ bg_alpha = 0.72
|
|||
spring = "cubic-bezier(0.22, 1.2, 0.36, 1)"
|
||||
spring_settle = "cubic-bezier(0.22, 1.2, 0.36, 1)"
|
||||
# Palette token NAMES, not hex — #7a9a88 is this palette's `green`. Equal
|
||||
# from/to because the demo's accent is flat, not a gradient.
|
||||
# from/to because the demo's accent is flat, not a gradient. accent_from IS
|
||||
# read (Pill-style workspace fill, theme.rs); accent_to is declared-but-
|
||||
# not-yet-consumed regardless of style — nothing reads it outside the
|
||||
# breadbar Trail gradient this theme doesn't use, and even Trail hardcodes
|
||||
# its own literal gradient rather than substituting it. See
|
||||
# Tokens::accent_to's doc comment.
|
||||
accent_from = "green"
|
||||
accent_to = "green"
|
||||
# Demo: `.ws button { height: 20px }`. Liquid-motion's chip_height (32) is
|
||||
|
|
|
|||
|
|
@ -17,6 +17,11 @@ name = "Liquid Motion"
|
|||
id = "liquid-motion"
|
||||
|
||||
[tokens]
|
||||
# Declared-but-not-yet-consumed: neither breadbar nor breadbox reads
|
||||
# font_family/font_fallback/font_size_base. Both get the font that actually
|
||||
# renders from bread_theme::stylesheet()'s own hardcoded FONT_FAMILY
|
||||
# constant — a separate, ecosystem-wide system shared by every bread GUI,
|
||||
# not this per-theme manifest. See Tokens::font_family's doc comment.
|
||||
font_family = "Varela Round, sans-serif"
|
||||
font_fallback = "sans-serif"
|
||||
font_size_base = 14
|
||||
|
|
@ -37,6 +42,12 @@ spring = "cubic-bezier(0.22, 1.35, 0.36, 1)"
|
|||
spring_settle = "cubic-bezier(0.22, 1.2, 0.36, 1)"
|
||||
# "accent" flows through as @accent (the workspace-trail gradient's start);
|
||||
# these are palette token NAMES, not hex - pywal still drives colour.
|
||||
# Declared-but-not-yet-consumed (accent_to only): breadbar's Trail-style CSS
|
||||
# hardcodes the literal gradient `linear-gradient(90deg, @accent, @teal)`
|
||||
# instead of substituting these two tokens (it never calls
|
||||
# ShellTheme::css(), the only thing that does the substitution) — this
|
||||
# theme's "teal" is what the demo intends, not what actually renders if a
|
||||
# future theme changed it. See Tokens::accent_to's doc comment.
|
||||
accent_from = "accent"
|
||||
accent_to = "teal"
|
||||
# Not in the plan's §4 schema list, but breadbar::CHIP_HEIGHT / ::ICON_PX
|
||||
|
|
@ -48,6 +59,9 @@ icon_px = 24
|
|||
anchors = ["top", "left", "right"]
|
||||
width = "fill"
|
||||
height = 44
|
||||
# No `bottom` set here (or by either sibling builtin) — it's accepted by the
|
||||
# schema but breadbar never applies it (no set_margin(Edge::Bottom, ...)
|
||||
# call exists). See Margin::bottom's doc comment before relying on it.
|
||||
margin = { top = 12, left = 16, right = 16 }
|
||||
exclusive = "auto"
|
||||
# breadbar never calls gtk4-layer-shell's set_keyboard_mode today, which
|
||||
|
|
@ -77,6 +91,11 @@ show_empty = true
|
|||
|
||||
[modules.clock]
|
||||
style = "flip"
|
||||
# Declared-but-not-yet-consumed under style = "flip": bar::clock::time()
|
||||
# hardcodes a 24h HH:MM layout regardless of `format`; only style = "plain"
|
||||
# ever calls formatted(&format). Set here to state the layout this clock
|
||||
# actually draws, not because anything reads it. Same for show_date — only
|
||||
# ever attached to the Plain style's box.
|
||||
format = "%H:%M"
|
||||
show_date = false
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ name = "Spotlight"
|
|||
id = "spotlight"
|
||||
|
||||
[tokens]
|
||||
# Declared-but-not-yet-consumed: see liquid-motion/theme.toml's identical
|
||||
# note next to these three keys — neither breadbar nor breadbox reads them.
|
||||
font_family = "Outfit"
|
||||
font_fallback = "Varela Round, sans-serif"
|
||||
font_size_base = 13
|
||||
|
|
@ -44,7 +46,9 @@ spring = "cubic-bezier(0.22, 1.35, 0.36, 1)"
|
|||
spring_settle = "cubic-bezier(0.22, 1.35, 0.36, 1)"
|
||||
# Palette token NAMES, not hex — #e87898 is this palette's `pink`. Equal
|
||||
# from/to because the demo's accent here is flat, not liquid-motion's
|
||||
# accent→teal gradient.
|
||||
# accent→teal gradient. accent_from IS read (the dots' active fill,
|
||||
# theme.rs); accent_to is declared-but-not-yet-consumed, same as every
|
||||
# other theme's — see Tokens::accent_to's doc comment.
|
||||
accent_from = "pink"
|
||||
accent_to = "pink"
|
||||
# Demo: `.barrow { height: 36px }` with no separate workspace-chip height —
|
||||
|
|
@ -108,6 +112,10 @@ dot_widths = [6, 10, 14, 18]
|
|||
# (`04-spotlight.html`: `q.placeholder = t` in `clock()`, replaced by the
|
||||
# search prompt only once focused/open).
|
||||
style = "none"
|
||||
# Declared-but-not-yet-consumed under style = "none": no clock module is
|
||||
# built at all, so there's no format/date to apply this to — see
|
||||
# ClockModule::format's doc comment. Kept for the same "state actual design
|
||||
# intent" reason as liquid-motion's Flip-style note.
|
||||
format = "%H:%M"
|
||||
show_date = false
|
||||
placeholder_clock = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue