# Counterweight Choir v0.3 — UX Flow

## Experience rule

Every screen reinforces the same promise: swap a visible weight, watch the sculpture move, reveal the
next hook, and match the picture. Mathematics and resonance notation never appear.

## First visit

A three-job FTUE opens from step one on every visit and reload. It states the pictured-pose goal,
requires a real drag or tap swap, and shows the resulting hook reveal plus success/failure recovery.
The shell remains inert while explanation panels are open. Skip enters the same Level 1 and How to
Play replays the flow during the current visit.

## Home and level path

Home is a compact gallery archive, not a large marketing hero. Continue is the dominant
thumb-reachable action. Six chapter tabs expose ten levels each. Available, current, completed, and
locked levels use icon, silhouette, label, and color. There is no login, approval, backend status,
currency, shop, daily reward, or false progress persistence in the factory prototype.

## Gameplay layout

- Top safe band: Back/Pause, level number, moves, and one compact target silhouette card.
- Center: the complete front-elevation sculpture with every hook and target arc visible.
- Bottom reach band: compact staging tray, Undo, Retry, and How to Play; most weights remain suspended in the sculpture.
- Transient feedback sits beside the affected hook, never in a detached log or formula panel.

A selected weight enlarges slightly. Open destinations pulse; occupied destinations show a swap
badge; closed shutters stay physically solid. The exact settled ghost appears while dragging.
Release is the commit. No second confirmation button duplicates the gesture.

## Settle and order feedback

After a swap, affected beams settle leaf-to-root, then shutters visibly open or close. The newly
changed hook receives one short label: Open now or Closed. Target arcs click independently so the
player can read progress without a score calculation. Reduced motion shows the same states as stepped
before/after frames.

## Undo, failure, and recovery

Undo restores the previous atomic state and refunds its move. Unsafe destinations bounce back and
cost nothing. At zero moves the current arrangement remains visible with unmatched arcs highlighted.
Failure offers Undo, Retry, and Home. Retry is immediate and restores authored data. No energy, ad,
currency, or punishment interrupts recovery.

## Success

All matched target arcs lock leaf-to-root, the bell rings once, and a small result sheet shows moves
versus par and shelf progress. Next is primary; Replay and Home are secondary. No invented chest,
currency, star shower, or power upgrade appears.

## Pause, settings, accessibility, and legal

Pause freezes the stable state and offers Resume, Restart, How to Play, Settings, and Home. Settings
contains audio, haptics, text size, reduced motion, tap alternative, consent, restore purchase if
later applicable, support, legal, and reset. Accessibility previews every change against a sample
weight/hook. Legal content is cached and always has a local Back route.

## Back, interruption, orientation, and errors

Back cancels a drag, otherwise opens Pause; submenu Back returns one level. An OS interruption
cancels an uncommitted drag or restores the last atomic settle, then pauses. Landscape rotation
pauses and asks for portrait without reflowing an active decision. Corrupt local level data names the
problem and returns Home; optional network or analytics failure never blocks play.

## Safe areas, reachability, and focus

The target card and tray respect top/bottom insets. The sculpture receives the remaining height and
may scale uniformly but never crop. Gameplay targets are 64x64 minimum and navigation 48x48. Focus
follows target, moves, sculpture, tray, actions, and navigation. Overlays trap and restore focus.
Drag, tap, mouse, Enter/Space, screen reader, reduced motion, 150 percent text, and non-color cues all
reach the same deterministic result.

## Screen Inventory

Nine portrait screens are locked: onboarding, home/level path, gameplay, pause, success, failure, settings, accessibility, and legal. IDs and purposes are authoritative in screen-inventory.json.

## State Inventory

Fresh, selected, dragging, safe preview, blocked preview, settling, hook reveal, target match, paused, success, failure, error, loading, disabled, and interrupted states are explicit and recoverable.

## Transitions and Back Behavior

Onboarding leads to Home; Home chooses Gameplay; gameplay moves through selection, preview, settle, reveal, and target check. Platform back cancels an uncommitted drag, closes the top overlay, or opens Pause; it never silently loses progress.

## Overlays, Loading, and Errors

Pause and outcome sheets retain visible context and trap focus. Loading shows noninteractive sculpture silhouettes. Errors state what remains safe and offer Retry or local Home without login or backend controls.

## Orientation and Safe Areas

Portrait only, 360x800 through 430x932. Safe-area insets move the target and tray inward without cropping beams, hooks, weights, Undo, or Retry.

## Touch and Reachability

Weights and hooks are at least 64x64 logical pixels; navigation is at least 48x48. Drag and tap-select/tap-destination are equivalent and all gameplay remains within the portrait thumb plan.

## Accessibility Matrix

Mass uses volume plus dots; hook state uses geometry, icon, outline, label, and speech; motion can step; type reflows to 150 percent; haptics are optional; screen-reader summaries and Previous/Next Effect controls expose causal changes.

## Realistic Density Rule

FTUE may use four or five weights for instruction. Standard gameplay screens show seven to ten visible counterweights across two to six slender beams, matching the previous generation's rich mobile silhouette while preserving 64x64 interactive hit regions through spacing, invisible hit extensions, and focus navigation. No numeric mass labels, M/H bands, token strip, or calculation panel occupies the screen.
