Files
heros_web/docs/unit-sprite-rework-plan.md

4.6 KiB

Hand-Painted Unit Sprite Rework Plan

Current Baseline

  • Approved baseline commit: 3092b295 Improve handpainted battle unit readability
  • Approved batch 1 style references:
    • unit-liu-bei
    • unit-guan-yu
    • unit-zhang-fei
    • unit-rebel
    • unit-rebel-archer
    • unit-rebel-cavalry
  • Pending quality restart sample:
    • unit-shu-infantry
    • Source: handpaint-batch2-shu-infantry-quality-restart-source-v3.png
    • Contact sheet: handpaint-batch2-shu-infantry-quality-restart-v3-contact.png
    • Battle-scale composite: handpaint-batch2-shu-infantry-quality-restart-v3-battle-composite.png
    • Approval packet: unit-sprite-shu-infantry-v3-approval-packet.md

Batch Inventory

Generated by scripts/audit-unit-sprite-sheets.py.

Visual review boards are generated by scripts/render-unit-sprite-review-boards.py.

  • Review index: unit-sprite-review-index.png

  • Approved/pending deliverables only: unit-sprite-review-approved-and-pending.png

  • Current Shu batch board: unit-sprite-review-batch2-shu.png

  • Review manifest: unit-sprite-rework-manifest.json

  • Output checklist: unit-sprite-batch-output-checklist.md

  • Pipeline guide: unit-sprite-handpaint-pipeline-guide.md

  • Progress log: unit-sprite-rework-progress-log.md

  • Next-step report: unit-sprite-next-steps.md

  • Batch 1 approved core: 3 sheets

  • Batch 1 approved rebel: 3 sheets

  • Batch 2 Shu generic: 18 sheets

  • Batch 3 Wei generic: 16 sheets

  • Batch 4 Wu generic: 16 sheets

  • Batch 5 remaining rebel/bandit: 6 sheets

  • Batch 6 Nanman/special: 10 sheets

  • Batch 7 unique officers: 19 sheets

Batch 2 Shu Order

The Shu infantry v3 sample is the quality gate before expanding the rest of batch 2.

  1. unit-shu-infantry - pending approval as the v3 restart sample.
  2. unit-shu-spearman - long spear silhouette, green/bronze Shu armor. Spec: unit-sprite-batch2-shu-spearman-spec.md
  3. unit-shu-archer - bow silhouette readable at 50px. Spec: unit-sprite-batch2-shu-archer-spec.md
  4. unit-shu-cavalry - horse and rider must fit inside tile without lateral drift. Spec: unit-sprite-batch2-shu-cavalry-spec.md
  5. unit-shu-strategist - fan/scroll/robe silhouette. Spec: unit-sprite-batch2-shu-strategist-spec.md
  6. unit-shu-officer - command/officer silhouette. Spec: unit-sprite-batch2-shu-officer-spec.md
  7. Variants after primary classes are approved:
    • unit-shu-infantry-banner
    • unit-shu-infantry-guard
    • unit-shu-spearman-guard
    • unit-shu-spearman-veteran
    • unit-shu-archer-longbow
    • unit-shu-archer-veteran
    • unit-shu-cavalry-scout
    • unit-shu-cavalry-white
    • unit-shu-strategist-field
    • unit-shu-strategist-white
    • unit-shu-officer-council
    • unit-shu-officer-vanguard

Quality Gate

Each unit must pass these checks before batch commit/deploy:

  • New hand-painted raster source, not a filter-only or simple shape pass.
  • Existing 313x313 frame layout preserved.
  • Base sheet size: 5008x1252.
  • Action sheet size: 11268x1252.
  • Partial alpha: 0.
  • Frame border hits: 0 unless a reviewed attack effect intentionally reaches near the border without gameplay clipping.
  • Idle/walk body scale and bottom position stable.
  • No detached sprite fragments in idle/walk frames.
  • 50px battle-scale view reads before the background.
  • Contact sheet, GIF, before/after, and battle-scale verification image generated.
  • pnpm build passes.
  • Local PC browser preview has no console errors.

Approval Gate

  • Do not expand to the next unit until the current sample direction is approved.
  • Do not commit, push, or deploy an unapproved sample batch.
  • Use unit-sprite-review-approved-and-pending.png for quality review of actual deliverables; batch boards still include old queued assets for inventory only.
  • Review stages are controlled by unit-sprite-rework-manifest.json, not by whether a sheet is merely technically ok.
  • When the user approves a unit or batch, move it from pendingApproval to approvedBaseline in the manifest before regenerating audit/review boards.
  • scripts/check-unit-sprite-approval-gate.py --mode sample must pass while a sample is pending.
  • scripts/check-unit-sprite-art-quality.py must pass for the current pending sample before asking for approval.
  • scripts/check-unit-sprite-workflow-consistency.py must pass so manifest, docs, and gate command lists stay aligned.
  • scripts/check-unit-sprite-approval-gate.py --mode release must pass before commit/push/deploy; it blocks pending samples by design.
  • scripts/write-unit-sprite-next-steps.py records the current blocker and the first queued unit after approval.
  • After a batch is approved, run build/browser verification, then commit, push, and deploy.