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

3.6 KiB

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.