bread-theme: correct [launcher] manifest to match breadbox's actual behaviour

radius (20 -> 8) and icon_px (36 -> 32) were demo-derived aspirations, not
what breadbox implements today (.launcher-bg's actual border-radius and
make_icon's actual set_pixel_size). row_anim/rule/footer/sections/modes are
kept but marked declared-but-not-yet-consumed: breadbox implements none of
row animation, a rule/divider, a footer, sections, or query modes today, so
the manifest should say so rather than imply they're live. Adds a builtin
launcher test mirroring the existing window/tokens fidelity tests.
This commit is contained in:
Breadway 2026-08-24 19:13:36 +08:00
parent ea9758a5d5
commit 53a6c59f2d
2 changed files with 37 additions and 4 deletions

View file

@ -563,6 +563,21 @@ mod tests {
assert!(matches!(theme.modules().clock.style, ClockStyle::Flip));
}
#[test]
fn builtin_launcher_matches_current_breadbox_geometry() {
// breadbox/breadbox/src/main.rs:341-346 (margin/size), :151
// (build_css's .launcher-bg radius), :174-193 (make_icon's
// set_pixel_size calls). radius=8 and icon_px=32 are current CODE
// values, not the demo's 20/36 — see Phase 4b-i's manifest audit.
let theme = resolve_builtin();
let l = theme.launcher();
assert!(matches!(l.mode, LauncherMode::Overlay));
assert_eq!(l.width, 600);
assert_eq!(l.top, "120px");
assert_eq!(l.radius, 8);
assert_eq!(l.icon_px, 32);
}
#[test]
fn builtin_css_substitutes_tokens_and_leaves_palette_names_untouched() {
let theme = resolve_builtin();