# V97 RC15 · Pose Curation Controls QA

## Scope

RC15 is a code/workflow update only. No images were generated.

Changes:
- Improved Image Admin pose-position controls.
- Added nudge buttons and live range sliders for pose X/Y/scale.
- Added nudge buttons, presets and live range sliders for app-owned arrows.
- Strengthened arrow rendering so arrows are visibly above pose sprites and backgrounds.
- Kept default arrow policy: no arrows unless explicitly added.
- Switched active theme backgrounds to raster “real” background crops derived from existing approved background assets:
  - `neutral-soft-real.webp`
  - `hockey-window-rink-real.webp`
  - `downhill-alpine-terrace-real.webp`
- Added safer slot positioning so first/last pose slots stay further inside the 16:9 stage.

## What was intentionally not done

- No new image generation.
- No destructive automatic pose cleanup.
- No pass-runtime integration yet.
- No full image-bank batch generation.

## QA

Minimal QA was run because this is a focused admin/prototype package.

Commands run:

```bash
node tests/rc15_pose_curation_controls_smoke.js
node tests/rc14_pose_cleanup_arrows_smoke.js
node tests/rc13_pose_slot_scaling_smoke.js
node --check assets/js/renderers/image-admin-renderer.js
node --check assets/js/actions/image-admin-actions.js
python3 tests/rc15_pose_curation_controls_real_dom_qa.py
php -l api/image-admin/*.php
unzip -t next_v97_rc15_pose_curation_controls.zip
```

## Screenshot

- `qa_screenshots/rc15_pose_curation_controls_desktop_1440x1024.png`

## Notes

The preview screenshot intentionally includes an app-owned arrow injected by QA to verify arrow visibility and controls. Default saved sequences still start with zero arrows unless a sequence explicitly stores arrow overlays.

Some pose sprites remain flagged as `needs-cleanup`. That is expected. RC15 improves selection and placement controls; cleanup/approval of individual pose sprites remains a separate curation pass.
