refactor(engine): migrate table_plugin chrome to Terminal tokens
- Promote `marker_colour` to module-level const PILE_MARKER_DEFAULT_COLOUR and re-export it. cursor_plugin::MARKER_DEFAULT now imports the const directly, replacing the prior duplicated literal kept in sync only by doc comment. Drift becomes a compile error instead of a stale claim. - Empty-tableau "K" placeholder text now uses TEXT_PRIMARY at 0.35 alpha (was raw `Color::srgba(1.0, 1.0, 1.0, 0.35)`) so it picks up the Terminal off-white foreground. - HINT_PILE_HIGHLIGHT_COLOUR retuned from bright `srgb(1.0, 0.85, 0.1)` to the design-system STATE_WARNING token (`#ddb26f`). Spelled as a literal because Alpha::with_alpha is not yet const on stable; a new test pins the RGB to STATE_WARNING so a palette swap can't drift the two apart silently. - The existing "is gold" character test was hardcoded to the old bright palette (red ≥ 0.9). Loosened to "warmer than cool" + ranges that the Terminal muted gold satisfies, with exact-RGB tracking handled by the new STATE_WARNING test. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -41,14 +41,16 @@ use solitaire_core::rules::{can_place_on_foundation, can_place_on_tableau};
|
||||
use crate::card_plugin::{RightClickHighlight, TABLEAU_FAN_FRAC};
|
||||
use crate::layout::{Layout, LayoutResource};
|
||||
use crate::resources::{DragState, GameStateResource};
|
||||
use crate::table_plugin::PileMarker;
|
||||
use crate::table_plugin::{PileMarker, PILE_MARKER_DEFAULT_COLOUR};
|
||||
use crate::ui_theme::{
|
||||
DROP_TARGET_FILL, DROP_TARGET_OUTLINE, DROP_TARGET_OUTLINE_PX, Z_DROP_OVERLAY,
|
||||
};
|
||||
|
||||
/// Semi-transparent white that `table_plugin` uses for idle pile markers.
|
||||
/// Kept in sync with the `marker_colour` constant there.
|
||||
const MARKER_DEFAULT: Color = Color::srgba(1.0, 1.0, 1.0, 0.08);
|
||||
/// Idle pile-marker tint — re-exported from `table_plugin` so the
|
||||
/// "valid drop" toggle in this plugin and the marker spawn in
|
||||
/// `table_plugin` cannot drift apart. Was previously a duplicated
|
||||
/// literal kept in sync via doc comment.
|
||||
const MARKER_DEFAULT: Color = PILE_MARKER_DEFAULT_COLOUR;
|
||||
|
||||
/// Lime tint applied to pile markers that are valid drop targets during
|
||||
/// a drag. Same RGB as the design-system [`STATE_SUCCESS`] token at 55%
|
||||
|
||||
Reference in New Issue
Block a user