- PoseIconStage: permanent editor capture pipeline (context menu 'Capture All Icons') — renders each entry at 4096x4096, alpha-crops, writes Icon_pose_*.png and wires sprites onto matching PlayerPose assets
- PlayerPose: new iconScale property (0.1-2), applied to the icon child in PoseMenu's radial layout
- OverviewMenu: paint-mode special-case removed — Esc/Tab opens the overview menu in every mode
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
With a small pose set (hunter) the pose button and C hotkey advance
to the next pose immediately instead of opening the radial overlay.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- PlayerPose: Icon (Sprite) + Title (string) UI properties
- PoseMenu: modal pause overlay building a radial menu from Icon Button
prefab instances; active pose disabled (hover ring marks it); click
applies pose via SetPoseIndex and closes
- OverviewMenu: pose button wiring with pause hand-off, Esc/Tab chain
extended; hotkeys C (toggle pose menu) and V (paint mode) mirroring
the buttons incl. identical gating
- PlayerPoseController: C cycle hotkey and NextPose() removed
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- OverviewMenu: taunt button (manual ping + close, hider/seek-only), Tab triggers the Escape chain (TypingGuard-gated)
- GameModeManager: LocalPlayerIsHider helper, allow E-ping in free cam (Q/E no longer used for movement)
- FreeCamController: vertical movement only via Space/Ctrl
- Icons: Icon_taunt (wired), Icon_firstperson_paint (unwired, for later)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
MatchResultScreen becomes a self-contained modal (IsOpen/Open/Close,
_panelRoot, pause handling); resolution auto-open moves there from the
session browser. OverviewMenu integrates it into the Esc chain and hides
the Match Results button until results exist (same pattern as the
role-scoped mode buttons).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- New OverviewMenu component: Esc toggles the pause overlay, buttons
switch modes via GameModeManager.TrySwitchTo<T>() and close the panel;
visibility follows the role-scoped mode set, active mode disabled.
- Esc in paint mode exits to camera mode instead (PlayerControlMode,
hunter falls back to FirstPersonMode) rather than opening the menu.
- Centralized all Esc handling in OverviewMenu (browser close included)
to avoid frame races; OnlineSessionBrowserUI gains IsOpen/Open/Close.
- GameModeManager: switchKey Tab-cycle removed, TrySwitchTo<T> added.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>