From 8325bf6cf7826810bb68cf15e5c085244937f3c6 Mon Sep 17 00:00:00 2001 From: funman300 Date: Wed, 13 May 2026 17:04:45 -0700 Subject: [PATCH] chore: rename app from Solitaire Quest to Ferrous Solitaire Replace all display-name occurrences across web pages, Rust source, docs, and Cargo metadata. Update localStorage token key from sq_token to fs_token. Tagline "Klondike Solitaire" retained as genre descriptor. Co-Authored-By: Claude Sonnet 4.6 --- ARCHITECTURE.md | 4 ++-- CHANGELOG.md | 2 +- CREDITS.md | 6 +++--- README.md | 2 +- README_SERVER.md | 2 +- SESSION_HANDOFF.md | 4 ++-- docs/SESSION_HANDOFF.md | 4 ++-- docs/android_investigation.md | 2 +- .../superpowers/plans/2026-04-20-phase1-2-workspace-core.md | 6 +++--- docs/superpowers/plans/2026-04-23-phase4-statistics.md | 2 +- docs/sync_test_runbook.md | 2 +- docs/ui-mockups/desktop-adaptation.md | 2 +- solitaire_app/Cargo.toml | 2 +- solitaire_app/src/lib.rs | 2 +- solitaire_assetgen/src/bin/gen_art.rs | 2 +- solitaire_data/src/settings.rs | 2 +- solitaire_data/src/sync_client.rs | 4 ++-- solitaire_engine/src/assets/icon_svg.rs | 2 +- solitaire_engine/src/lib.rs | 2 +- solitaire_engine/src/onboarding_plugin.rs | 6 +++--- solitaire_engine/src/settings_plugin.rs | 4 ++-- solitaire_engine/src/splash_plugin.rs | 6 +++--- solitaire_engine/src/sync_plugin.rs | 2 +- solitaire_engine/src/theme/manifest.rs | 2 +- solitaire_engine/src/theme/mod.rs | 2 +- solitaire_engine/src/theme/registry.rs | 2 +- solitaire_engine/src/ui_focus.rs | 2 +- solitaire_server/src/lib.rs | 2 +- solitaire_server/src/main.rs | 2 +- solitaire_server/web/game.css | 2 +- solitaire_server/web/game.html | 4 ++-- solitaire_server/web/game.js | 2 +- solitaire_server/web/home.html | 4 ++-- solitaire_server/web/index.html | 4 ++-- solitaire_server/web/leaderboard.html | 4 ++-- solitaire_server/web/replay.css | 2 +- solitaire_server/web/replay.js | 2 +- solitaire_server/web/replays.html | 2 +- solitaire_sync/src/lib.rs | 2 +- 39 files changed, 56 insertions(+), 56 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 56ff2fb..1e1d91c 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1,4 +1,4 @@ -# Solitaire Quest — Architecture Document +# Ferrous Solitaire — Architecture Document > **Version:** 1.3 > **Language:** Rust (Edition 2024) @@ -34,7 +34,7 @@ ## 1. Project Overview -Solitaire Quest is a cross-platform Klondike Solitaire game written in Rust, targeting macOS, Windows, and Linux desktops. It features a full progression system with XP, levels, achievements, daily challenges, and an optional self-hosted sync server so statistics and progress are available across all of a player's devices. +Ferrous Solitaire is a cross-platform Klondike Solitaire game written in Rust, targeting macOS, Windows, and Linux desktops. It features a full progression system with XP, levels, achievements, daily challenges, and an optional self-hosted sync server so statistics and progress are available across all of a player's devices. ### Sync Backend by Platform diff --git a/CHANGELOG.md b/CHANGELOG.md index 19e9968..8141cf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable changes to Solitaire Quest are documented here. The format is +All notable changes to Ferrous Solitaire are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project follows [Semantic Versioning](https://semver.org/). diff --git a/CREDITS.md b/CREDITS.md index 5a3d8d1..5917026 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,6 +1,6 @@ # Credits -Solitaire Quest is MIT-licensed (see [LICENSE](LICENSE)). It is built on top of +Ferrous Solitaire is MIT-licensed (see [LICENSE](LICENSE)). It is built on top of the work of many open-source projects and a small handful of third-party assets. This file lists every component that ships in the binary or in the `assets/` directory. @@ -43,7 +43,7 @@ copyleft code is statically linked into the game binary. | File(s) | Source | License | |---|---|---| | `solitaire_engine/assets/themes/default/{suit}_{rank}.svg` (52 SVGs) | [hayeah/playing-cards-assets](https://github.com/hayeah/playing-cards-assets) | MIT | -| `solitaire_engine/assets/themes/default/back.svg` | Original — Solitaire Quest | MIT (this project) | +| `solitaire_engine/assets/themes/default/back.svg` | Original — Ferrous Solitaire | MIT (this project) | | `assets/cards/faces/{RANK}{SUIT}.png` (52 PNGs) | Pre-rendered from the same `playing-cards-assets` SVGs | MIT (passed through from hayeah) | | `assets/cards/backs/back_0.png` – `back_4.png` | Original — generated by `solitaire_assetgen::gen_art` | MIT (this project) | @@ -107,6 +107,6 @@ Audio files are MIT-licensed alongside the rest of this project. backs, every audio file) are original work covered by this project's MIT license. -If you redistribute Solitaire Quest, you must ship this `CREDITS.md` and the +If you redistribute Ferrous Solitaire, you must ship this `CREDITS.md` and the `LICENSE` file alongside the binary so the MIT (project + hayeah card art) and OFL (FiraMono) notices remain visible to end users. diff --git a/README.md b/README.md index 8a6bb96..3da8ff1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Solitaire Quest +# Ferrous Solitaire A cross-platform Klondike Solitaire game written in Rust, with a card-theme system, full progression (XP / levels / achievements / daily challenges), and diff --git a/README_SERVER.md b/README_SERVER.md index 5f51442..caa0e44 100644 --- a/README_SERVER.md +++ b/README_SERVER.md @@ -1,4 +1,4 @@ -# Solitaire Quest — Self-Hosting Guide +# Ferrous Solitaire — Self-Hosting Guide ## Prerequisites diff --git a/SESSION_HANDOFF.md b/SESSION_HANDOFF.md index a1d9563..c728965 100644 --- a/SESSION_HANDOFF.md +++ b/SESSION_HANDOFF.md @@ -1,4 +1,4 @@ -# Solitaire Quest — Session Handoff +# Ferrous Solitaire — Session Handoff **Last updated:** 2026-05-12 — Leaderboard display name shipped (`03be4fc`). All commits pushed to origin. @@ -150,7 +150,7 @@ Items missing from the doc: ## Resume prompt ``` -You are a senior Rust + Bevy developer working on Solitaire Quest. +You are a senior Rust + Bevy developer working on Ferrous Solitaire. Working directory: . Branch: master. v0.23.0 is the current version (HEAD: 03be4fc). Fully pushed. diff --git a/docs/SESSION_HANDOFF.md b/docs/SESSION_HANDOFF.md index 3f148f9..15304c9 100644 --- a/docs/SESSION_HANDOFF.md +++ b/docs/SESSION_HANDOFF.md @@ -1,4 +1,4 @@ -# Solitaire Quest — Session Handoff (ARCHIVED) +# Ferrous Solitaire — Session Handoff (ARCHIVED) > **This file is from Phase 2 (2026-04-25, 242 tests). It is kept for historical > reference only. The authoritative session handoff is at the repo root: @@ -24,7 +24,7 @@ All seven Cargo crates created and compiling cleanly: | `solitaire_engine` | Stub | Bevy ECS systems — all plugins added in Phase 3 | | `solitaire_server` | Stub | Axum sync server — implemented in Phase 8C | | `solitaire_gpgs` | Compile-time stub | Google Play Games bridge — Android only, JNI in Phase: Android | -| `solitaire_app` | Working | Opens blank Bevy window titled "Solitaire Quest" at 1280×800 | +| `solitaire_app` | Working | Opens blank Bevy window titled "Ferrous Solitaire" at 1280×800 | Fast compile profiles, `assets/` directory structure, and `.env.example` are all in place. diff --git a/docs/android_investigation.md b/docs/android_investigation.md index 8739414..4f8db27 100644 --- a/docs/android_investigation.md +++ b/docs/android_investigation.md @@ -2,7 +2,7 @@ > **Date:** 2026-04-28 > **Author:** Claude Code -> **Scope:** Feasibility analysis for porting Solitaire Quest to Android using cargo-mobile2 +> **Scope:** Feasibility analysis for porting Ferrous Solitaire to Android using cargo-mobile2 --- diff --git a/docs/superpowers/plans/2026-04-20-phase1-2-workspace-core.md b/docs/superpowers/plans/2026-04-20-phase1-2-workspace-core.md index 5dafe5b..7e6f5e5 100644 --- a/docs/superpowers/plans/2026-04-20-phase1-2-workspace-core.md +++ b/docs/superpowers/plans/2026-04-20-phase1-2-workspace-core.md @@ -1,4 +1,4 @@ -# Solitaire Quest — Phase 1 + 2: Workspace & Core Game Engine +# Ferrous Solitaire — Phase 1 + 2: Workspace & Core Game Engine > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. @@ -555,7 +555,7 @@ fn main() { .add_plugins( DefaultPlugins.set(WindowPlugin { primary_window: Some(Window { - title: "Solitaire Quest".into(), + title: "Ferrous Solitaire".into(), resolution: (1280.0, 800.0).into(), ..default() }), @@ -571,7 +571,7 @@ fn main() { ```bash cargo run -p solitaire_app --features bevy/dynamic_linking ``` -Expected: A blank Bevy window titled "Solitaire Quest" opens. Press Escape or close the window to exit. No panics or errors in the terminal. +Expected: A blank Bevy window titled "Ferrous Solitaire" opens. Press Escape or close the window to exit. No panics or errors in the terminal. --- diff --git a/docs/superpowers/plans/2026-04-23-phase4-statistics.md b/docs/superpowers/plans/2026-04-23-phase4-statistics.md index aa2c64c..210b50d 100644 --- a/docs/superpowers/plans/2026-04-23-phase4-statistics.md +++ b/docs/superpowers/plans/2026-04-23-phase4-statistics.md @@ -1210,7 +1210,7 @@ fn main() { .add_plugins( DefaultPlugins.set(WindowPlugin { primary_window: Some(Window { - title: "Solitaire Quest".into(), + title: "Ferrous Solitaire".into(), resolution: (1280.0, 800.0).into(), ..default() }), diff --git a/docs/sync_test_runbook.md b/docs/sync_test_runbook.md index 1d3cbf3..d828568 100644 --- a/docs/sync_test_runbook.md +++ b/docs/sync_test_runbook.md @@ -11,7 +11,7 @@ ### Infrastructure - Two machines (or VMs) referred to as **Machine A** and **Machine B** throughout this runbook. Both must be able to reach the sync server over the network. -- A running Solitaire Quest sync server reachable at a known URL, e.g. `https://solitaire.example.com`. See `README_SERVER.md` for setup. +- A running Ferrous Solitaire sync server reachable at a known URL, e.g. `https://solitaire.example.com`. See `README_SERVER.md` for setup. - Verify the server is live before starting: ```bash diff --git a/docs/ui-mockups/desktop-adaptation.md b/docs/ui-mockups/desktop-adaptation.md index 3127232..9fd2625 100644 --- a/docs/ui-mockups/desktop-adaptation.md +++ b/docs/ui-mockups/desktop-adaptation.md @@ -3,7 +3,7 @@ > **Why this exists.** The 24 mockups in this directory are mobile > (390 × 844 logical, iPhone 14 Pro frame) with one exception > (`home-menu-desktop.html`). The Stitch project that produced them -> is named "Solitaire Quest *Mobile* Redesign" — the mobile-first +> is named "Ferrous Solitaire *Mobile* Redesign" — the mobile-first > framing was deliberate when the new Android target opened, but > desktop is still the primary delivery surface. Porting the mobile > mockups 1:1 would land a 390-px-wide column floating in the middle diff --git a/solitaire_app/Cargo.toml b/solitaire_app/Cargo.toml index 8164607..ed6e2bd 100644 --- a/solitaire_app/Cargo.toml +++ b/solitaire_app/Cargo.toml @@ -87,7 +87,7 @@ required = true name = "android.permission.INTERNET" [package.metadata.android.application] -label = "Solitaire Quest" +label = "Ferrous Solitaire" # Launcher icon — references the density-bucketed mipmap resource above. icon = "@mipmap/ic_launcher" # `debuggable` defaults to false on release builds; cargo-apk flips it diff --git a/solitaire_app/src/lib.rs b/solitaire_app/src/lib.rs index 196a3fb..43385e9 100644 --- a/solitaire_app/src/lib.rs +++ b/solitaire_app/src/lib.rs @@ -106,7 +106,7 @@ pub fn run() { DefaultPlugins .set(WindowPlugin { primary_window: Some(Window { - title: "Solitaire Quest".into(), + title: "Ferrous Solitaire".into(), // X11/Wayland WM_CLASS so taskbar managers group // multiple windows of this app correctly. name: Some("solitaire-quest".into()), diff --git a/solitaire_assetgen/src/bin/gen_art.rs b/solitaire_assetgen/src/bin/gen_art.rs index e4fa3d7..1c63a00 100644 --- a/solitaire_assetgen/src/bin/gen_art.rs +++ b/solitaire_assetgen/src/bin/gen_art.rs @@ -1,4 +1,4 @@ -//! Generates PNG assets for Solitaire Quest. +//! Generates PNG assets for Ferrous Solitaire. //! //! Produces: //! - 52 card face PNGs (120×168) — one per card, with rank, suit symbol, and diff --git a/solitaire_data/src/settings.rs b/solitaire_data/src/settings.rs index 5641314..3ba45f3 100644 --- a/solitaire_data/src/settings.rs +++ b/solitaire_data/src/settings.rs @@ -49,7 +49,7 @@ pub enum SyncBackend { #[default] #[serde(rename = "local")] Local, - /// Sync with a self-hosted Solitaire Quest server. + /// Sync with a self-hosted Ferrous Solitaire server. #[serde(rename = "solitaire_server")] SolitaireServer { /// Base URL of the server, e.g. `"https://solitaire.example.com"`. diff --git a/solitaire_data/src/sync_client.rs b/solitaire_data/src/sync_client.rs index 4fd064a..60dd22f 100644 --- a/solitaire_data/src/sync_client.rs +++ b/solitaire_data/src/sync_client.rs @@ -6,7 +6,7 @@ //! | Struct | Backend | //! |---|---| //! | [`LocalOnlyProvider`] | No-op; used when sync is disabled | -//! | [`SolitaireServerClient`] | Self-hosted Solitaire Quest server (JWT auth) | +//! | [`SolitaireServerClient`] | Self-hosted Ferrous Solitaire server (JWT auth) | //! //! Use [`provider_for_backend`] to obtain a `Box` //! without matching on [`SyncBackend`] anywhere else in the codebase. @@ -55,7 +55,7 @@ impl SyncProvider for LocalOnlyProvider { // SolitaireServerClient // --------------------------------------------------------------------------- -/// HTTP sync client for the self-hosted Solitaire Quest server. +/// HTTP sync client for the self-hosted Ferrous Solitaire server. /// /// Authenticates via JWT stored in the OS keychain. On a 401 response the /// client automatically attempts a token refresh and retries the request once diff --git a/solitaire_engine/src/assets/icon_svg.rs b/solitaire_engine/src/assets/icon_svg.rs index 8cc1f94..fb92b41 100644 --- a/solitaire_engine/src/assets/icon_svg.rs +++ b/solitaire_engine/src/assets/icon_svg.rs @@ -1,4 +1,4 @@ -//! SVG builder for the Solitaire Quest application icon. +//! SVG builder for the Ferrous Solitaire application icon. //! //! Renders the project's signature `▌RS` Terminal mark (the same //! cursor-block + monogram pair used on the splash boot-screen and diff --git a/solitaire_engine/src/lib.rs b/solitaire_engine/src/lib.rs index 5a1bbb8..c2edfd9 100644 --- a/solitaire_engine/src/lib.rs +++ b/solitaire_engine/src/lib.rs @@ -1,4 +1,4 @@ -//! Bevy integration layer for Solitaire Quest. +//! Bevy integration layer for Ferrous Solitaire. #[cfg(target_os = "android")] pub mod android_clipboard; diff --git a/solitaire_engine/src/onboarding_plugin.rs b/solitaire_engine/src/onboarding_plugin.rs index 4ab23c5..616cbf0 100644 --- a/solitaire_engine/src/onboarding_plugin.rs +++ b/solitaire_engine/src/onboarding_plugin.rs @@ -9,7 +9,7 @@ //! //! Slides: //! -//! 1. **Welcome** — brief introduction to Solitaire Quest. +//! 1. **Welcome** — brief introduction to Ferrous Solitaire. //! 2. **How to play** — drag-and-drop, double-click, and right-click hints. //! 3. **Keyboard shortcuts** — a summary pulled from the same canonical list //! used in `HelpScreen`. Accelerators: `Esc` anywhere in the flow skips @@ -292,10 +292,10 @@ fn spawn_slide(commands: &mut Commands, index: u8, font_res: Option<&FontResourc /// Slide 1 — Welcome. fn spawn_slide_welcome(commands: &mut Commands, font_res: Option<&FontResource>) { spawn_modal(commands, OnboardingScreen, Z_ONBOARDING, |card| { - spawn_modal_header(card, "Welcome to Solitaire Quest", font_res); + spawn_modal_header(card, "Welcome to Ferrous Solitaire", font_res); spawn_modal_body_text( card, - "Solitaire Quest is a free, offline-first Klondike Solitaire game. \ + "Ferrous Solitaire is a free, offline-first Klondike Solitaire game. \ Play classic draw-1 or draw-3 Klondike, earn XP, unlock achievements, \ and compete on the leaderboard. Your progress is saved locally — \ optional sync to your own server keeps it in step across all your devices.", diff --git a/solitaire_engine/src/settings_plugin.rs b/solitaire_engine/src/settings_plugin.rs index d92099f..7725744 100644 --- a/solitaire_engine/src/settings_plugin.rs +++ b/solitaire_engine/src/settings_plugin.rs @@ -2343,7 +2343,7 @@ fn sync_row( row, SettingsButton::ConnectSync, "Connect", - "Connect to a self-hosted Solitaire Quest sync server.".to_string(), + "Connect to a self-hosted Ferrous Solitaire sync server.".to_string(), button_font, ); } @@ -2920,7 +2920,7 @@ mod tests { .expect("Connect button should spawn with a Tooltip when backend is Local"); assert_eq!( connect_tip.as_ref(), - "Connect to a self-hosted Solitaire Quest sync server.", + "Connect to a self-hosted Ferrous Solitaire sync server.", "ConnectSync tooltip must use the canonical microcopy" ); } diff --git a/solitaire_engine/src/splash_plugin.rs b/solitaire_engine/src/splash_plugin.rs index b49efaf..7896a6e 100644 --- a/solitaire_engine/src/splash_plugin.rs +++ b/solitaire_engine/src/splash_plugin.rs @@ -2,7 +2,7 @@ //! //! On app start the engine spawns a fullscreen, high-Z overlay that //! reads the Terminal-style "boot screen" — an accent-coloured cursor block, the -//! "Solitaire Quest" wordmark, a short fixture boot log, a progress +//! "Ferrous Solitaire" wordmark, a short fixture boot log, a progress //! bar, and a footer with the design-system palette swatches and the //! build version. The overlay fades in over 300 ms, holds for ~1 s, //! then fades out for 300 ms before despawning. The deal animation @@ -383,7 +383,7 @@ fn spawn_header_section(parent: &mut ChildSpawnerCommands, font_handle: &Handle< )); hdr.spawn(( SplashFadable { base_color: TEXT_PRIMARY }, - Text::new("Solitaire Quest"), + Text::new("Ferrous Solitaire"), title_font, TextColor(transparent(TEXT_PRIMARY)), )); @@ -1170,7 +1170,7 @@ mod tests { "expected the cursor block (▌) on the splash, got: {texts:?}" ); assert!( - texts.iter().any(|t| t == "Solitaire Quest"), + texts.iter().any(|t| t == "Ferrous Solitaire"), "expected the wordmark on the splash, got: {texts:?}" ); assert!( diff --git a/solitaire_engine/src/sync_plugin.rs b/solitaire_engine/src/sync_plugin.rs index 2e42f07..80fc5dd 100644 --- a/solitaire_engine/src/sync_plugin.rs +++ b/solitaire_engine/src/sync_plugin.rs @@ -1,4 +1,4 @@ -//! Backend-agnostic sync plugin for Solitaire Quest. +//! Backend-agnostic sync plugin for Ferrous Solitaire. //! //! On startup, the plugin spawns an async pull task on [`AsyncComputeTaskPool`] //! that fetches the remote payload from the active [`SyncProvider`]. Once the diff --git a/solitaire_engine/src/theme/manifest.rs b/solitaire_engine/src/theme/manifest.rs index c607bd6..1ae5524 100644 --- a/solitaire_engine/src/theme/manifest.rs +++ b/solitaire_engine/src/theme/manifest.rs @@ -84,7 +84,7 @@ mod tests { ThemeMeta { id: "default".into(), name: "Default".into(), - author: "Solitaire Quest".into(), + author: "Ferrous Solitaire".into(), version: "1.0.0".into(), card_aspect: (2, 3), } diff --git a/solitaire_engine/src/theme/mod.rs b/solitaire_engine/src/theme/mod.rs index 520b259..50a77ff 100644 --- a/solitaire_engine/src/theme/mod.rs +++ b/solitaire_engine/src/theme/mod.rs @@ -268,7 +268,7 @@ mod tests { let meta = ThemeMeta { id: "default".into(), name: "Default".into(), - author: "Solitaire Quest".into(), + author: "Ferrous Solitaire".into(), version: "1.0.0".into(), card_aspect: (2, 3), }; diff --git a/solitaire_engine/src/theme/registry.rs b/solitaire_engine/src/theme/registry.rs index cf3266e..fb8814e 100644 --- a/solitaire_engine/src/theme/registry.rs +++ b/solitaire_engine/src/theme/registry.rs @@ -115,7 +115,7 @@ fn default_entry() -> ThemeEntry { meta: ThemeMeta { id: "default".to_string(), name: "Default".to_string(), - author: "Solitaire Quest".to_string(), + author: "Ferrous Solitaire".to_string(), version: "1.0".to_string(), card_aspect: (2, 3), }, diff --git a/solitaire_engine/src/ui_focus.rs b/solitaire_engine/src/ui_focus.rs index 1f24154..8486854 100644 --- a/solitaire_engine/src/ui_focus.rs +++ b/solitaire_engine/src/ui_focus.rs @@ -1,6 +1,6 @@ //! Keyboard focus ring for modal buttons (Phase 1). //! -//! Solitaire Quest's 11 modals (Help, Stats, Achievements, Settings, +//! Ferrous Solitaire's 11 modals (Help, Stats, Achievements, Settings, //! Profile, Leaderboard, Pause, Forfeit confirm, GameOver, Confirm new //! game, Onboarding) ship without any keyboard focus support. Phase 1 //! gives every button spawned via [`crate::ui_modal::spawn_modal_button`] diff --git a/solitaire_server/src/lib.rs b/solitaire_server/src/lib.rs index 07e2462..abbd0aa 100644 --- a/solitaire_server/src/lib.rs +++ b/solitaire_server/src/lib.rs @@ -1,4 +1,4 @@ -//! Solitaire Quest sync server library. +//! Ferrous Solitaire sync server library. //! //! Exposes [`build_router`] so integration tests can construct the full Axum //! application against an in-memory SQLite database without starting a real diff --git a/solitaire_server/src/main.rs b/solitaire_server/src/main.rs index 5888919..e69423b 100644 --- a/solitaire_server/src/main.rs +++ b/solitaire_server/src/main.rs @@ -1,4 +1,4 @@ -//! Solitaire Quest sync server entry point. +//! Ferrous Solitaire sync server entry point. //! //! Reads configuration from environment variables (via `dotenvy`), initialises //! the SQLite database, runs migrations, then starts the Axum HTTP server. diff --git a/solitaire_server/web/game.css b/solitaire_server/web/game.css index d9409c0..239846a 100644 --- a/solitaire_server/web/game.css +++ b/solitaire_server/web/game.css @@ -1,4 +1,4 @@ -/* Solitaire Quest — interactive game page. +/* Ferrous Solitaire — interactive game page. Palette mirrors the Bevy app's Terminal (base16-eighties) design system. Card faces/backs are PNG images served from /assets/cards/. */ diff --git a/solitaire_server/web/game.html b/solitaire_server/web/game.html index 1ecdbb3..3919061 100644 --- a/solitaire_server/web/game.html +++ b/solitaire_server/web/game.html @@ -3,14 +3,14 @@ - Solitaire Quest — Play + Ferrous Solitaire — Play
- +
diff --git a/solitaire_server/web/game.js b/solitaire_server/web/game.js index 97ad17d..1a4856b 100644 --- a/solitaire_server/web/game.js +++ b/solitaire_server/web/game.js @@ -1,4 +1,4 @@ -// Solitaire Quest — interactive browser game. +// Ferrous Solitaire — interactive browser game. // // Architecture: // - `SolitaireGame` (Rust/WASM via solitaire_core) owns all rule logic. diff --git a/solitaire_server/web/home.html b/solitaire_server/web/home.html index 4957597..bf68984 100644 --- a/solitaire_server/web/home.html +++ b/solitaire_server/web/home.html @@ -3,7 +3,7 @@ - Solitaire Quest + Ferrous Solitaire - +
Klondike Solitaire