feat(engine): replace docked touch bar with floating glass tab bar
Touch layout only (desktop bar unchanged): a floating glass pill (Undo / Draw / Hint / Pause) plus a detached circular Menu button, margin above the bottom edge on top of the safe-area inset. Draw is the persistently expanded accent pill (icon + label); other buttons are icon-only and slide their label out while pressed, snapping under reduce-motion. Buttons keep the existing marker components so click handlers, tooltips, focus ring, and chrome toggle work unchanged. Icons: None degrades to text-fallback labels (MinimalPlugins tests / SVG regression), keeping the bar fully usable. Toast stack clearance now derives from TAB_BAR_CLEARANCE_PX; the legacy touch bar spawn path and primary-button metrics are removed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -109,12 +109,19 @@ pub(super) fn apply_action_fade(
|
||||
/// Visual feedback for every action button — paints idle / hover / pressed
|
||||
/// states by mutating `BackgroundColor` whenever the interaction state
|
||||
/// changes. One query covers all action buttons via the shared
|
||||
/// `ActionButton` marker.
|
||||
/// `ActionButton` marker. Glass tab-bar buttons are excluded: they carry
|
||||
/// their own per-button colour triple and are painted by
|
||||
/// `paint_glass_tab_buttons` instead (this system's opaque `ACTION_BTN_*`
|
||||
/// fills would destroy the translucent glass look).
|
||||
#[allow(clippy::type_complexity)]
|
||||
pub(super) fn paint_action_buttons(
|
||||
mut buttons: Query<
|
||||
(&Interaction, &mut BackgroundColor),
|
||||
(With<ActionButton>, Changed<Interaction>),
|
||||
(
|
||||
With<ActionButton>,
|
||||
Without<GlassTabButton>,
|
||||
Changed<Interaction>,
|
||||
),
|
||||
>,
|
||||
) {
|
||||
for (interaction, mut bg) in &mut buttons {
|
||||
|
||||
Reference in New Issue
Block a user