Files
heros_web/docs/unit-sprite-batch-output-checklist.md

91 lines
3.6 KiB
Markdown

# Unit Sprite Batch Output Checklist
Use this checklist for every unit and every batch before approval, commit, push, or deploy.
Pipeline reference: `unit-sprite-handpaint-pipeline-guide.md`.
Review state manifest: `unit-sprite-rework-manifest.json`.
## Per-Unit Required Artifacts
- Production spec for the unit, when one exists in `docs/unit-sprite-batch*-*-spec.md`.
- Source image on flat chroma-key background.
- Base sheet in `src/assets/images/units/<unit-key>.png`.
- Action sheet in `src/assets/images/units/<unit-key>-actions.png`.
- Contact sheet in `docs/`.
- Idle/walk/action GIF in `docs/`.
- Previous/new comparison image in `docs/`.
- 50px/72px scale comparison image in `docs/`.
- Battle map composite in `docs/`.
- Debug sprite preview battle screenshot in `docs/` for the current pending sample.
- Per-unit report in `docs/`.
## Per-Unit Technical Checks
- Base sheet size is exactly `5008x1252`.
- Action sheet size is exactly `11268x1252`.
- Frame size remains `313x313`.
- Base partial alpha is `0`.
- Action partial alpha is `0`.
- No idle/walk frame touches the frame border.
- No detached fragments in idle/walk frames.
- Body scale and foot line are stable during idle/walk.
- Action frames may have larger silhouettes, but must not visibly clip in game scale.
- Unit appears as `ok` in `docs/unit-sprite-rework-audit.json`.
- Unit review stage is correct:
- approved units use `approved-baseline`
- current sample uses `pending-approval`
- untouched future units remain `queued-rework`
## Per-Unit Visual Checks
- The unit reads clearly at 50px.
- The 50px/72px comparison is checked against approved units, not only against the old placeholder.
- Weapon/class reads from silhouette:
- sword/infantry
- spear
- bow
- horse/cavalry
- fan/scroll/strategist
- officer/banner
- Faction palette reads clearly.
- The sprite itself solves readability; no rings, base plates, badges, glows, or UI decorations are used to compensate.
- Style remains aligned with approved hand-painted batch 1 and the current `unit-shu-infantry` approval candidate.
## Per-Batch Checks
- `python scripts/audit-unit-sprite-sheets.py`
- `python scripts/render-unit-sprite-review-boards.py`
- `python scripts/check-unit-sprite-art-quality.py`
- `python scripts/check-unit-sprite-approval-gate.py --mode sample`
- `python scripts/write-unit-sprite-next-steps.py`
- `python scripts/check-unit-sprite-workflow-consistency.py`
- Review the relevant `docs/unit-sprite-review-<batch>.png` by eye.
- `pnpm build`
- Local PC browser check.
- For pending samples, local PC browser check with `?debug&debugSpritePreview=<unit-key>`.
- Console errors: `0`.
- Approval received for the batch before commit/push/deploy.
## Commit/Deploy Gate
Do not commit, push, or deploy when:
- The current sample is still awaiting approval.
- Any unit in the batch has failed the technical checks.
- Any newly edited unit is still marked `pending-approval`.
- Any untouched unit is accidentally counted as approved because it is only technically `ok`.
- The review board shows the new unit is not visibly better than the old placeholder.
- The browser check has not been run.
- Console errors are present.
After approval and successful verification:
- Run `python scripts\promote-unit-sprite-approval.py --unit <unit-key> --expected-version <version>` so approved units move from `pendingApproval` to `approvedBaseline`.
- Regenerate audit and review boards after the manifest update.
- Run `python scripts/check-unit-sprite-approval-gate.py --mode release`.
- Commit the batch changes.
- Push to the Gitea remote.
- Deploy to the NAS-hosted URL.
- Provide the deployed URL and representative review images.