feat(engine): swap ACCENT_PRIMARY from cyan #6fc2ef to brick red #a54242
Project-wide palette shift at user request. Replaces the cyan primary accent everywhere it surfaces — splash boot screen, home menu glyphs, action chevrons, replay overlay banner + scrub fill + chip border, achievement checkmarks, leaderboard #1 indicator, radial menu fill, focus ring, card-back canonical badge, etc. — with `#a54242` from the same base16-eighties family as the existing pink suit colour. Knock-on changes that all land in this commit per the lockstep rule: - ui_theme.rs: ACCENT_PRIMARY (#a54242), ACCENT_PRIMARY_HOVER (#c25e5e brightened companion), FOCUS_RING (same hue, 0.85 alpha). Module-level palette comment + STOCK_BADGE_FG + CARD_SHADOW_ALPHA_DRAG doc strings updated to match. - card_plugin.rs: card_back_colour(0) now returns the brick-red ACCENT_PRIMARY (was cyan). RED_SUIT_COLOUR_CBM swapped from cyan to lime #acc267 — the CBM alternative needs to stay hue-distinct from the new red-family primary, lime is the next-best non-red base16-eighties accent. text_colour doc + CBM tests renamed cyan→lime in lockstep (text_colour_color_blind_mode_swaps_red_suits_to_lime). - card_face_svg.rs: BACK_ACCENTS[0] now "#a54242" (canonical Terminal back). - splash_plugin.rs / ui_modal.rs / replay_overlay.rs / selection_plugin.rs: descriptive "cyan" comments swapped to "accent" / "primary-accent" wording so the doc strings stay decoupled from any specific hue. Future palette tweaks won't require comment churn. - design-system.md: YAML token frontmatter updated (primary, surface-tint, suit-red-cb, primary-container, on-primary-container, inverse-primary). Palette table gains a project-specific `base08` slot for the new red. CTA / Selection / Card-back badge / Primary button / Bottom-bar active-icon / glow / CBM swap text all retuned. Historical references preserved (e.g. "Was cyan #6fc2ef before the 2026-05-08 swap") so the audit trail stays in the spec. - card_face_svg_pin.rs: rebaselined. Exactly one hash drift (back_0 — the canonical Terminal back's badge changed colour). Other 56 hashes identical (face SVGs don't reference the accent; back_1..4 use unchanged accents). The one-hash-drift signal confirms the change scope was surgical. Workspace clippy + cargo test --workspace clean, 1184 passing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
//! - A "▌ replay" label on the left so the player knows the surface is
|
||||
//! under playback control rather than live input.
|
||||
//! - A "MOVE N/M" progress chip in the centre, recomputed every frame
|
||||
//! the cursor advances and bordered in cyan ACCENT_PRIMARY so it
|
||||
//! the cursor advances and bordered in `ACCENT_PRIMARY` so it
|
||||
//! reads as a discrete callout.
|
||||
//! - A "Stop" button on the right that aborts playback and returns
|
||||
//! control to the player.
|
||||
@@ -105,7 +105,7 @@ pub struct ReplayStopButton;
|
||||
#[derive(Component, Debug)]
|
||||
pub struct ReplayOverlayGameCaption;
|
||||
|
||||
/// Marker on the cyan "fill" of the bottom-edge scrub bar. The
|
||||
/// Marker on the accent "fill" of the bottom-edge scrub bar. The
|
||||
/// `Node`'s `width` is rewritten every frame the cursor advances to
|
||||
/// `cursor / total` of the bar's full width, so the player has a
|
||||
/// continuous visual cue of how far through the replay they are.
|
||||
@@ -250,7 +250,7 @@ fn spawn_overlay(
|
||||
..default()
|
||||
})
|
||||
.with_children(|row| {
|
||||
// Left: column with the cyan "▌ replay" headline
|
||||
// Left: column with the accent "▌ replay" headline
|
||||
// above and a small `GAME #YYYY-DDD` caption below.
|
||||
// The caption mirrors the mockup's right-anchored
|
||||
// game identifier but stays visually grouped with
|
||||
@@ -315,7 +315,7 @@ fn spawn_overlay(
|
||||
|
||||
// Right: Stop button. Tertiary variant — the
|
||||
// action is available but not the loudest element
|
||||
// in the banner; the "Replay" cyan accent owns
|
||||
// in the banner; the "Replay" primary accent owns
|
||||
// that slot. `spawn_modal_button` gives us hover /
|
||||
// press paint and focus rings for free via the
|
||||
// existing `UiModalPlugin` paint system.
|
||||
@@ -425,7 +425,7 @@ fn update_progress_text(
|
||||
}
|
||||
}
|
||||
|
||||
/// Repaints the bottom-edge cyan scrub fill to mirror cursor progress.
|
||||
/// Repaints the bottom-edge accent scrub fill to mirror cursor progress.
|
||||
/// Same change-detection guard as the text updaters — the overlay
|
||||
/// already early-exits when nothing moved, so an idle replay leaves the
|
||||
/// scrub bar's `Node` untouched.
|
||||
|
||||
Reference in New Issue
Block a user