fix(android): hide keyboard-hint chips on action buttons
The U / Esc / F1 / N caption chips next to the HUD action buttons are meaningless on a touch device and visibly clutter the narrow-viewport action row (visible as "Esc A [] N" in the v0.22.3 screenshot). `spawn_action_button` now rebinds `hotkey` to `None` under `#[cfg(target_os = "android")]` so the chip-spawn branch is skipped on touch builds. Menu / Modes chevrons are unaffected — they indicate dropdown behaviour and still apply on touch. Other hint surfaces (onboarding, pause modal Esc hint, mode-card chips, replay footer, modal toggle chips, help screen) live behind navigation and are tracked as a P3 sweep in PLAYABILITY_TODO.md. Closes P1 #1 of docs/android/PLAYABILITY_TODO.md. 855 engine tests pass; clippy clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -66,9 +66,16 @@ rewrites required.
|
|||||||
|
|
||||||
## P1 — Touch UX
|
## P1 — Touch UX
|
||||||
|
|
||||||
- [ ] **Suppress keyboard-hint labels on Android.** Gate the `Esc / A /
|
- [x] **Suppress keyboard-hint labels on Android.** *Closed
|
||||||
N / []` accelerator chips behind `#[cfg(not(target_os = "android"))]`
|
2026-05-10.* `spawn_action_button` now nulls the `hotkey`
|
||||||
in the HUD spawn site(s).
|
argument on Android via a `#[cfg(target_os = "android")]` rebind,
|
||||||
|
so the U / Esc / F1 / N chips next to the action row labels
|
||||||
|
disappear on touch builds. Other hint sites (onboarding panel,
|
||||||
|
pause-modal `Esc` hint, mode-card hotkey chips on the home
|
||||||
|
screen, replay overlay footer, modal toggle hints in
|
||||||
|
profile/stats/leaderboard/settings, help screen) survive — they
|
||||||
|
live behind navigation and a touch user reaches them less often.
|
||||||
|
Track as a P3 sweep when more screens are audited on hardware.
|
||||||
- [ ] **Thumb-sized hit targets.** HUD buttons sized for mouse;
|
- [ ] **Thumb-sized hit targets.** HUD buttons sized for mouse;
|
||||||
Material guideline minimum is 44–48 dp. Increase button paddings
|
Material guideline minimum is 44–48 dp. Increase button paddings
|
||||||
on touch builds.
|
on touch builds.
|
||||||
|
|||||||
@@ -730,6 +730,14 @@ fn spawn_action_button<M: Component>(
|
|||||||
font: &TextFont,
|
font: &TextFont,
|
||||||
order: i32,
|
order: i32,
|
||||||
) {
|
) {
|
||||||
|
// Hotkey hint chips ("U", "Esc", "F1", "N") are meaningless on a
|
||||||
|
// touch device — the button itself is the affordance — and they
|
||||||
|
// visibly clutter the narrow-viewport action row. Force the hint
|
||||||
|
// off on Android; the chevrons on Menu/Modes remain because they
|
||||||
|
// indicate dropdown behaviour and still apply on touch.
|
||||||
|
#[cfg(target_os = "android")]
|
||||||
|
let hotkey: Option<&'static str> = None;
|
||||||
|
|
||||||
let hotkey_font = TextFont {
|
let hotkey_font = TextFont {
|
||||||
font: font.font.clone(),
|
font: font.font.clone(),
|
||||||
font_size: TYPE_CAPTION,
|
font_size: TYPE_CAPTION,
|
||||||
|
|||||||
Reference in New Issue
Block a user