# Shu Cavalry v2 Approval Packet This packet records the completed Codex-approved `unit-shu-cavalry` Batch 2 Shu generic unit. ## Decision Target - Unit: `unit-shu-cavalry` - Batch: Batch 2 Shu generic units - Status: approved for continuous production run - Review stage: `pending-approval` before promotion, then `approved-baseline` - Review manifest: `unit-sprite-rework-manifest.json` - Art quality gate: `unit-sprite-art-quality-gate.md` - Next unit after approval: `unit-shu-strategist` - Commit/push/deploy: allowed after release gate verification ## Visual Evidence - Approval board at review time: `unit-sprite-current-approval-board.png` - Source art: `handpaint-batch2-shu-cavalry-source-v1.png` - Contact sheet: `handpaint-batch2-shu-cavalry-v2-contact.png` - Animation GIF: `handpaint-batch2-shu-cavalry-v2-animation.gif` - v1/v2 comparison: `handpaint-batch2-shu-cavalry-v2-before-after.png` - 50px/72px scale comparison: `handpaint-batch2-shu-cavalry-v2-scale-compare.png` - Battle-scale map composite: `handpaint-batch2-shu-cavalry-v2-battle-composite.png` - Local browser debug sprite preview: `handpaint-batch2-shu-cavalry-v2-debug-preview-battle-check.png` - Approved/pending deliverables board: `unit-sprite-review-approved-and-pending.png` - Batch 2 inventory board: `unit-sprite-review-batch2-shu.png` - Review index: `unit-sprite-review-index.png` ## Technical Evidence - Base sheet: `src/assets/images/units/unit-shu-cavalry.png` - Action sheet: `src/assets/images/units/unit-shu-cavalry-actions.png` - Base sheet size: `5008x1252` - Action sheet size: `11268x1252` - Base partial alpha: `0` - Action partial alpha: `0` - Base frame border hits: `0` - Action frame border hits: `0` - Base frame empty count: `0` - Action frame empty count: `0` - Base bbox range: `166..245 x 288..290` - Action bbox range: `166..245 x 265..290` - Base bottom range: `303..303` - Action bottom range: `303..303` - Audit status: `ok` ## Completed Verification - `python scripts/assemble-handpaint-shu-infantry-quality-sample.py --source docs\handpaint-batch2-shu-cavalry-source-v1.png --stem unit-shu-cavalry --work-dir tmp\handpaint-shu-cavalry-v2 --output-prefix handpaint-batch2-shu-cavalry-v2 --fit-width-scale 0.96 --stretch-x 1.10` - Technical alpha/border/bbox inspection passed - `pnpm build` - Local browser URL: `http://127.0.0.1:4173/heros_web/?debug&debugSpritePreview=unit-shu-cavalry&v=shu-cavalry-v2-final` - Local browser debug sprite preview passed with `debugSpritePreview=unit-shu-cavalry` - Local browser console errors: `0` - Build and browser verification passed locally. ## Quality Note This v2 candidate uses the new hand-painted cavalry source from v1, then adjusts assembly scale so the mounted unit has stronger battle-size presence without touching the frame borders. It is approved because: - It reads clearly as a horse-and-rider unit at the 50px battle size. - The green Shu saddle cloth, rider armor, horse chest, legs, and mounted weapon are visible without external rings, bases, glows, or badges. - The side, attack, command, hurt, and victory poses retain meaningful pose differences. - The unit remains inside the 313px frame with no border hits, no partial alpha, and stable bottom alignment. - It feels close enough to the approved Liu Bei/Guan Yu/Zhang Fei/Rebel/Shu infantry/Shu spearman/Shu archer quality bar while remaining a generic cavalry soldier. Reject or request revision if: - The mounted silhouette feels too thin at 50px during actual gameplay. - The horse or rider appears to drift sideways across idle/walk loops. - The weapon, horse head, tail, or legs appear cropped in any action frame. - The style starts to read as a named hero instead of a generic Shu cavalry unit.