# Current roster and capture revision

## Review the models actually selected by the local game

- /models/current/ displays the 53 species from src/characters/telegramons/catalog.mjs, including their current model and portrait paths. The local game selects V2 for all 53, with no V1 overrides. All 53 model hashes match the V2 build manifest; model files, portraits and applicable stage packs exist. The special Angry Crow quill look also uses its V2 asset.
- /models/#species-id now opens that exact species in the animated production-asset viewer, including its growth stages. /models/v2/#species-id compares V1 and V2. No creature model was replaced or rolled back in this pass.
- Mark Keep / Needs rework and add notes in the overview. Export review notes for Claude. This changes only browser-local review state.
- /models/traveler.html remains the production Traveler asset inspection tool; the old atelier is an authoring showroom, not the source of truth for currently loaded game assets.
- asset-audit.json in /models/current/ records the checked local paths and SHA-256 values. This is a local repository audit, not confirmation of a remote deployment.

## Capture changes

The game already had flick throwing. This pass retains its tuned gesture/physics system and removes the Space shortcut that previously launched a perfectly aimed throw.

- Touch/pen: hold the ball, swipe toward the ring, release while moving.
- Mouse: hold the primary button on the ball, flick toward the ring, release. Secondary buttons and non-primary pointers cannot grab it.
- Direction controls horizontal accuracy; release speed controls whether the throw falls short or goes high. Existing modest aim assistance remains.
- Grading uses accuracy and the shrinking ring at arrival time. A curve gesture upgrades a successful throw by one grade; a curve does not rescue a miss. Fixed-grade override was removed.
- Stopped gestures, incomplete samples, pointer cancellations and lost capture do not spend inventory. Valid misses still spend one capsule under the existing authority rules. Inventory/catch probability formulas were not changed.
- Coalesced move samples are included, capture is released on end/cancel, and the launch origin follows the actual release point rather than the previous animation frame.
- Miss messages tell the player how to adjust direction or power. Help text describes mouse and touch instead of Space. Space still works in unrelated dialogue/minigames.

## Logo balls

src/client/wild/logo-capsule.mjs builds the colored spherical shell and raised white open arc / paper-plane emblem from the existing brand logo. Both sides have the emblem so it remains recognizable while rotating. Curved subdivisions keep the plane above the badge. There are no texture loads in the effect.

Trail is now brand blue (#2a9fee); Bloom remains green, Star purple and Sure gold. The same silhouette appears in HUD/picker icons through public/assets/brand/capsule-mark.svg. All capture effects (holding, curved flight, bounce, shake and return) use the new ball.

/models/capture/ is free practice using the game's createCaptureEffects, classifyRelease and planThrow. It does not call the game authority or consume items. Its targets illustrate accuracy/timing, without simulating the game's random catch outcome.

## Verification

20 targeted checks passed: existing flick/ballistic/grade/curve/effect-playback tests, finite branded geometry and distinct colors, invalid samples, plus real encounter-handler tests with primary mouse and touch events. Space cannot launch/spend; valid flicks launch once; right click, secondary touch, cancellation and stopped gestures spend nothing. Release-point projection was checked on both viewport shapes.

The capture tests were subsequently rerun as native Node tests. npm run test:capture reproduces them; pointer tests are also included in npm test and use linkedom from PEACH_TOOLS (default system-temp/peach-model-tools). Desktop and mobile world controller smokes now pass, including the Space assertion and a forced first-quill encounter-interruption regression. The quill pickup and Corvus arrival/talk/departure sequence now reject encounter starts until finished.

All changed scripts passed syntax checks. Four offline geometry renders were inspected. No browser connection was available, so real mouse/touch WebGL interaction, mobile frame rate and browser layout remain to be checked. validation.json records the precise test scope.

The owner approved capture for the game. The local production bundle has been rebuilt and /world/ serves it; /world/?src remains the source path. A temporary filesystem adapter was needed for esbuild in this restricted session; the shipped build tool was unchanged. No deployment was made. Ten subsequent character corrections are reviewable at /models/current/fixes/. The original validation.json and emblem-validation.json remain snapshots of the earlier focused checks; outputs/handoff-resume/ holds the resumed integration logs.
