hack-house/hh/src
leetcrypt 00c1f1c3c9 feat(theme): add theme randomizer and save-to-disk
Theme::random() conjures a fresh procedural vestment — a coherent HSV
palette (dark tinted surface, one bright accent, legible ink), a random
sigil, and a generated arcane name. Bound to Ctrl+Alt+P and `/theme random`.

Theme::save() persists the vestment you're wearing to themes/<slug>.toml
(via `/theme save [name]`), so a roll you like can be re-donned later with
`/theme <name>`. Theme now derives Serialize and slugify() sanitizes the
filename. Help text and the /theme usage line advertise both verbs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 17:39:37 -07:00
..
app.rs feat(theme): add theme randomizer and save-to-disk 2026-06-02 17:39:37 -07:00
crypto.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
ft.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
main.rs feat(client): prompt for a handle on join when none is given 2026-06-01 22:31:48 -07:00
net.rs feat(ai): /ai start|stop agent control + in-room typing indicator 2026-06-01 11:38:15 -07:00
sbx.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
theme.rs feat(theme): add theme randomizer and save-to-disk 2026-06-02 17:39:37 -07:00
ui.rs feat(theme): add theme randomizer and save-to-disk 2026-06-02 17:39:37 -07:00