diff --git a/DEVLOG.md b/DEVLOG.md index f5103866..e448c1c8 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -10,6 +10,14 @@ Reverse chronological implementation notes. Keep this factual: what changed, why - Checks: `cargo fmt`; `cargo test` passed with 130 tests; `cargo build --bin misaligned`; `cargo build --features bevy_ui --bin misaligned-bevy`; `cargo clippy --all-targets -- -D warnings`; `cargo clippy --all-targets --features bevy_ui -- -D warnings`; terminal pty smoke passed; Bevy launch smoke opened `Misaligned` window with no panic/error grep. - Next: regenerate actual PixelLab assets against the new clinical-gore manifest once the B1 tile vocabulary is settled. +## 2026-07-05 — Visual direction capture + +- Intent: capture Cameron's art/tone direction before it disappears into chat/Fable context. +- Changed: preserved the constitution's new `Visual identity: clinical gore` direction and added matching art-prompting guidance to knowledge/art-pipeline.md. +- Design/spec impact: establishes the aesthetic target as clean, sharp, science-forward, metal/glass/high-modern supervillainy with black-and-white iconography and controlled gore, rather than basement grime or cartoon softness. +- Checks: docs-only change; no code checks run. +- Next: future PixelLab prompts and Bevy art integration should bias toward precise lab/skyscraper surfaces and use gore as contrast, not map-wide noise. + ## 2026-07-05 — Sidebar name cleanup - Intent: remove leftover inspiration-title branding from the terminal UI. diff --git a/src/bin/bevy.rs b/src/bin/bevy.rs index 4aa1c878..540be148 100644 --- a/src/bin/bevy.rs +++ b/src/bin/bevy.rs @@ -828,7 +828,7 @@ fn render_ui( if let Ok((mut text, mut font, mut color, mut node)) = overlay.single_mut() { match game.screen { Screen::Title => { - text.0 = "Press SPACE to start".to_string(); + text.0.clear(); font.font_size = 20.0; color.0 = Color::srgb(1.0, 0.62, 0.08); node.left = Val::Percent(34.0); @@ -862,6 +862,12 @@ fn render_ui( let Ok(mut text) = sidebar.single_mut() else { return; }; + + if game.screen == Screen::Title { + text.0 = "A lair-building simulation\n\nBuild. Scheme. Dominate.\n\nPress SPACE to start\n\n--- Controls ---\nWASD/arrows: move\nb: build r: research\nf: hire m: schemes\nSPACE: pause/start\n+/-: speed q: quit\n".to_string(); + return; + } + let sim = &game.sim; let player = &sim.player;