visual(themes): add Banana, Lava, Beach, Xray themes, scrollable theme picker, remove developer theme - #342
Merged
Conversation
…e picker; remove developer theme - Four new themes with full token blocks, glass-header/sidebar/body-surface styling, per-theme nav icons, and theme-specific button treatments: Banana (creamy yellow, yellow buttons), Lava (crimson fire, black smoldering buttons/inputs, red-hued cards), Beach (tropical sand, sandy buttons, blue underglow), Xray (phosphor-green wireframe grid on black, orange accents) - New generated background textures: banana-slices.png (seamless offset-crossfade tile), lava-cracks.png (mirror tile), beach-sand.png (full-bleed cover), all with wrap-aware soft blur - Theme picker reworked from dropdown into in-place scrollable popover: capped height, scroll-snap, themed scrollbar, auto-scrolls active theme into view - Remove the developer theme entirely (developerMode setting untouched); main-process theme fallbacks now use dark
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds four new app themes — Banana, Lava, Beach, Xray — reworked the theme picker from a dropdown into an in-place scrollable popover (now that there are 10 themes), and removes the developer theme. Renderer-only change; no backend, launch-path, or bottle behavior touched.
Changes
banana-slices.pngbackground tile (offset-crossfade seamless + wrap-aware blur)lava-cracks.pngglowing-cracks tilebeach-sand.pngdune background (background-size: cover, no tile seams)themeNavIconsdeveloperModesettings feature is untouched); the two main-process spots that passedtheme: "developer"to windows now fall back to"dark"PR Readiness (MANDATORY)
/Users/...paths introducedconfigs/mtsp-rules.tomlor DLL maps changedCMakeLists.txt,Cargo.toml,package.json,package-lock.json) in sync if version bumpedLocal toolchain (run before push)
cargo fmt --all -- --checkpasses (Rust) — N/A, no Rust changescargo clippy --all-targets -- -D warningspasses (Rust) — N/Acargo build --releasepasses (Rust backend) — passes (unchanged, verified locally)cargo testpasses (Rust) — N/A, no Rust changesclang-format --dry-run --Werrorpasses — N/Actest --test-dir build-nativepasses if tests changed — N/Acd app && npx tsc --noEmit— passesbiome ci src/passes (3 pre-existing warnings onmainpattern) andprettier --checkpassestools/ci/validate-rules-toml.pypasses — N/Apython3 tools/ci/verify-dmg-workflow.pypasses — N/Anpm run preview:dev, backend built withcargo build --release); all 10 themes cycled via the picker/Users/...pathsapp/,tools/,tests/, etc. — new assets underapp/src/renderer/assets/Test notes
Built the Rust backend (
cargo build --release) and launched the Electron app vianpm run preview:dev. Cycled through all 10 themes with the new scrollable picker: verified token application, per-theme nav icons, button treatments per theme spec (yellow/black/sandy/wireframe), background textures (no seams/kaleidoscope artifacts), picker scroll + snap + active-theme-into-view, and localStorage persistence across relaunch. No game launch testing — this PR does not touch launch, bottle, runtime, or routing code.Risk
Low. Renderer CSS/TS only plus a two-line theme-fallback change in
main/index.ts. Worst case is a visual regression in one theme; rollback is reverting this commit. The removed developer theme falls back todarkautomatically for any stale saved preference.