# v97 RC14 · Pose cleanup and app-owned arrows

## Direction

Pose sprites should be clean athlete/body poses. Embedded arrows, extra feet from neighboring panels, hard keying artifacts and over-cleaned holes are treated as cleanup work, not as runtime features.

The app now supports arrows as an overlay in the sequence builder. Default sequence state is **no arrows**. Add arrows only when the movement needs extra explanation.

## What changed

- Theme backgrounds now use raster WebP files from `assets/img/themes/exercise-backgrounds/`.
- Pose metadata has a `cleanup` object with automated flags.
- Bildadmin pose bank has filters for:
  - all poses
  - clean / OK
  - needs cleanup
- Sequence preview can render app-owned arrows.
- Arrow controls are per exercise sequence and stored with pose sequence data in localStorage.
- Existing runtime/pass player is not switched to pose runtime yet.

## Cleanup flags

The automated scan is intentionally conservative. Human visual review is still the authority.

Common flags:

- `embedded-blue-arrow-remnant`
- `extra-separated-parts`
- `touches-canvas-edge`
- `keyed-edge-review`
- `keying-color-artifact`

## Tools

- `python3 tools/audit-pose-sprites.py`
- `python3 tools/clean-pose-sprites.py --dry-run`
- `python3 tools/clean-pose-sprites.py`

The cleaner writes review candidates to `incoming/pose-cleanup/cleaned-candidates/` by default and does not overwrite active pose sprites.
