Port the July 7 gate-extender branch onto current master (the You-hub,
touch action bar, glass tab bar, Phase L, and hint-ghost work all landed
since) and finish batch 3. cluster_app now includes the mode, replay,
input, radial, tooltip, cursor, touch-selection, and safe-area plugins on
top of batches 1-2; the 585 ambiguous pairs the expansion exposed are
annotated down to zero and the gate stays assert_eq!(count, 0).
New ordering machinery:
- ReplayPlayback: playback driver chain on the pre-mutation spine
(PointerInput < ReplayPlayback < overlay chain < GameMutation)
- ModeStart: mode-start handlers between the stats abandon-recorder and
GameMutation; ChallengeCompletion < DailyCompletion < WeeklyGoalsEval
pinned inside ProgressUpdate so `.after(ProgressUpdate)` readers see
settled progress
- PointerInput: public set wrapping the input chain; AbandonRecord on the
stats abandon-recorder; PendingHint around the async hint pipeline;
HintGhostFx for the ghost chain (after the full visual spine)
- Clubs: MoveRequestWriters, WarningToastWriters join the existing
request/toast writer clubs; UiTextFx grows the overlay/tooltip/safe-area
chrome painters; SettingsAccess grows the lag-tolerant settings readers
Gate: cargo test --workspace green (993 engine tests), clippy
--all-targets -D warnings clean, rustfmt applied.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>