Clarify Wu Yi unique officer silhouette
33
docs/unique-officer-personality-qa-v1.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Unique Officer Personality QA v1
|
||||
|
||||
## Scope
|
||||
|
||||
Reviewed `unit-gong-zhi`, `unit-li-yan`, `unit-wu-yi`, `unit-wang-ping`, `unit-yan-yan`, and `unit-lu-meng` at 72px and 50px battle scale.
|
||||
|
||||
## Finding
|
||||
|
||||
`unit-wu-yi` was the weakest identity read. The v1 sprite used a teal/red officer palette that blended with the Wu faction board, even though Wu Yi is a Shu/Yizhou officer.
|
||||
|
||||
## Fix
|
||||
|
||||
Reworked `unit-wu-yi` into a Yizhou fortress officer: ochre-brown and dark indigo lamellar armor, tan leather, muted bronze trim, compact square helmet, command cloak, hooked dao, and command tally.
|
||||
|
||||
## Result
|
||||
|
||||
The QA board `unique-officer-personality-qa-v1.png` now separates these reads:
|
||||
|
||||
- Gong Zhi: olive route-guide cloak
|
||||
- Li Yan: heavy gate/supply commander
|
||||
- Wu Yi v2: Yizhou fortress officer
|
||||
- Wang Ping: shielded mountain defender
|
||||
- Yan Yan: elder burgundy defender
|
||||
- Lu Meng: Wu river cloak commander
|
||||
|
||||
## Verification
|
||||
|
||||
- Sprite release gate: passed
|
||||
- Art quality gate: passed
|
||||
- Workflow consistency gate: passed
|
||||
- Build/deploy: passed
|
||||
- Local browser console errors: 0
|
||||
- Deployed browser console errors: 0
|
||||
BIN
docs/unique-officer-personality-qa-v1.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-animation.gif
Normal file
|
After Width: | Height: | Size: 217 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-battle-composite.png
Normal file
|
After Width: | Height: | Size: 888 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-before-after.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-contact.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-prod-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
30
docs/unique-officer-qa-wu-yi-v2-report.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Wu Yi Yizhou Officer v2 report
|
||||
|
||||
- source: `unique-officer-qa-wu-yi-v2-source.png`
|
||||
- base status: ok
|
||||
- action status: ok
|
||||
- base partial alpha: 0, opaque pixels: 2138154
|
||||
- action partial alpha: 0, opaque pixels: 4295358
|
||||
- base frame border hits: 0
|
||||
- action frame border hits: 0
|
||||
- base empty frames: 0
|
||||
- action empty frames: 0
|
||||
- base bbox width range: 167..250
|
||||
- base bbox height range: 286..288
|
||||
- base bottom range: 303..303
|
||||
- action bbox width range: 151..210
|
||||
- action bbox height range: 282..288
|
||||
- action bottom range: 303..303
|
||||
- contact: `unique-officer-qa-wu-yi-v2-contact.png`
|
||||
- animation: `unique-officer-qa-wu-yi-v2-animation.gif`
|
||||
- before/after: `unique-officer-qa-wu-yi-v2-before-after.png`
|
||||
- scale compare: `unique-officer-qa-wu-yi-v2-scale-compare.png`
|
||||
- battle composite: `unique-officer-qa-wu-yi-v2-battle-composite.png`
|
||||
- local browser check: `unique-officer-qa-wu-yi-v2-browser-check.png`
|
||||
- deployed browser check: `unique-officer-qa-wu-yi-v2-prod-browser-check.png`
|
||||
- personality QA board: `unique-officer-personality-qa-v1.png`
|
||||
- identity change: v1 read too close to an Eastern Wu red/blue officer. v2 reframes Wu Yi as a Shu/Yizhou fortress officer with ochre-brown and dark indigo armor, tan leather, muted bronze trim, a compact square helmet, short command cloak, hooked dao, and command tally.
|
||||
- validation: sprite release gate passed, art quality gate passed, workflow consistency gate passed
|
||||
- build/deploy: `pnpm deploy:nas` passed and deployed to `/volume1/web/heros_web`
|
||||
- browser verification: local debug preview console errors 0; deployed debug preview console errors 0
|
||||
- note: battle composite is a scale review image; gameplay roster is unchanged during sample approval
|
||||
BIN
docs/unique-officer-qa-wu-yi-v2-scale-compare.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
docs/unique-officer-qa-wu-yi-v2-source.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
@@ -926,10 +926,10 @@
|
||||
"baseStatus": "ok",
|
||||
"actionStatus": "ok",
|
||||
"battleBasePx": [
|
||||
24.4,
|
||||
33.4,
|
||||
46.0,
|
||||
46.3
|
||||
26.7,
|
||||
39.9,
|
||||
45.7,
|
||||
46.0
|
||||
],
|
||||
"spec": null
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ No next unit is currently defined.
|
||||
| `unit-wu-strategist` | approved reference | approved-baseline | technical ok | 25.7..35.0 x 45.0..46.3 | |
|
||||
| `unit-wu-strategist-fire` | approved reference | approved-baseline | technical ok | 25.9..32.7 x 46.0..47.1 | |
|
||||
| `unit-wu-strategist-river` | approved reference | approved-baseline | technical ok | 24.6..34.8 x 45.4..46.3 | |
|
||||
| `unit-wu-yi` | approved reference | approved-baseline | technical ok | 24.4..33.4 x 46.0..46.3 | |
|
||||
| `unit-wu-yi` | approved reference | approved-baseline | technical ok | 26.7..39.9 x 45.7..46.0 | |
|
||||
|
||||
### Batch 5 remaining rebel/bandit units
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 837 KiB After Width: | Height: | Size: 838 KiB |
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
@@ -4871,22 +4871,22 @@
|
||||
1252
|
||||
],
|
||||
"partial_alpha": 0,
|
||||
"opaque_pixels": 1872382,
|
||||
"opaque_pixels": 2138154,
|
||||
"border_hits": 0,
|
||||
"min_width": 153,
|
||||
"max_width": 209,
|
||||
"min_height": 288,
|
||||
"max_height": 290,
|
||||
"min_width": 167,
|
||||
"max_width": 250,
|
||||
"min_height": 286,
|
||||
"max_height": 288,
|
||||
"min_bottom": 303,
|
||||
"max_bottom": 303,
|
||||
"empty_frames": 0,
|
||||
"width_swing": 56,
|
||||
"width_swing": 83,
|
||||
"height_swing": 2,
|
||||
"bottom_swing": 0,
|
||||
"battle_min_width_px": 24.4,
|
||||
"battle_max_width_px": 33.4,
|
||||
"battle_min_height_px": 46.0,
|
||||
"battle_max_height_px": 46.3,
|
||||
"battle_min_width_px": 26.7,
|
||||
"battle_max_width_px": 39.9,
|
||||
"battle_min_height_px": 45.7,
|
||||
"battle_max_height_px": 46.0,
|
||||
"status": "ok"
|
||||
},
|
||||
"actions": {
|
||||
@@ -4897,20 +4897,20 @@
|
||||
1252
|
||||
],
|
||||
"partial_alpha": 0,
|
||||
"opaque_pixels": 4212852,
|
||||
"opaque_pixels": 4295358,
|
||||
"border_hits": 0,
|
||||
"min_width": 147,
|
||||
"max_width": 238,
|
||||
"min_width": 151,
|
||||
"max_width": 210,
|
||||
"min_height": 282,
|
||||
"max_height": 288,
|
||||
"min_bottom": 303,
|
||||
"max_bottom": 303,
|
||||
"empty_frames": 0,
|
||||
"width_swing": 91,
|
||||
"width_swing": 59,
|
||||
"height_swing": 6,
|
||||
"bottom_swing": 0,
|
||||
"battle_min_width_px": 23.5,
|
||||
"battle_max_width_px": 38.0,
|
||||
"battle_min_width_px": 24.1,
|
||||
"battle_max_width_px": 33.5,
|
||||
"battle_min_height_px": 45.0,
|
||||
"battle_max_height_px": 46.0,
|
||||
"status": "ok"
|
||||
|
||||
@@ -136,7 +136,7 @@ Visual review boards are generated by `scripts/render-unit-sprite-review-boards.
|
||||
| batch4-wu | approved-baseline | `unit-wu-strategist` | ok | ok | 161..219 x 282..290 | 135..221 x 282..295 | 25.7..35.0 x 45.0..46.3 | w58 h8 b0 |
|
||||
| batch4-wu | approved-baseline | `unit-wu-strategist-fire` | ok | ok | 162..205 x 288..295 | 133..218 x 284..295 | 25.9..32.7 x 46.0..47.1 | w43 h7 b0 |
|
||||
| batch4-wu | approved-baseline | `unit-wu-strategist-river` | ok | ok | 154..218 x 284..290 | 133..222 x 284..290 | 24.6..34.8 x 45.4..46.3 | w64 h6 b0 |
|
||||
| batch4-wu | approved-baseline | `unit-wu-yi` | ok | ok | 153..209 x 288..290 | 147..238 x 282..288 | 24.4..33.4 x 46.0..46.3 | w56 h2 b0 |
|
||||
| batch4-wu | approved-baseline | `unit-wu-yi` | ok | ok | 167..250 x 286..288 | 151..210 x 282..288 | 26.7..39.9 x 45.7..46.0 | w83 h2 b0 |
|
||||
| batch7-unique-officer | approved-baseline | `unit-yan-yan` | ok | ok | 190..235 x 286..288 | 170..242 x 271..295 | 30.4..37.5 x 45.7..46.0 | w45 h2 b0 |
|
||||
| batch7-unique-officer | approved-baseline | `unit-yi-ji` | ok | ok | 174..212 x 286..288 | 167..273 x 286..295 | 27.8..33.9 x 45.7..46.0 | w38 h2 b0 |
|
||||
| batch1-approved-core | approved-baseline | `unit-zhang-fei` | ok | ok | 143..306 x 274..289 | 188..286 x 181..290 | 22.8..48.9 x 43.8..46.2 | w163 h15 b14 |
|
||||
|
||||
39
docs/unit-sprite-wu-yi-v2-approval-packet.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Wu Yi v2 Approval Packet
|
||||
|
||||
## Target
|
||||
|
||||
`unit-wu-yi`
|
||||
|
||||
## Reason
|
||||
|
||||
The existing sprite read too much like a generic Eastern Wu officer because of the red/blue color mass and naval/officer silhouette. Wu Yi should read as a Shu/Yizhou fortress and supply-route officer.
|
||||
|
||||
## Delivered Assets
|
||||
|
||||
- Source: `unique-officer-qa-wu-yi-v2-source.png`
|
||||
- Contact sheet: `unique-officer-qa-wu-yi-v2-contact.png`
|
||||
- Animation: `unique-officer-qa-wu-yi-v2-animation.gif`
|
||||
- Before/after: `unique-officer-qa-wu-yi-v2-before-after.png`
|
||||
- Scale compare: `unique-officer-qa-wu-yi-v2-scale-compare.png`
|
||||
- Battle composite: `unique-officer-qa-wu-yi-v2-battle-composite.png`
|
||||
- Local browser check: `unique-officer-qa-wu-yi-v2-browser-check.png`
|
||||
- Deployed browser check: `unique-officer-qa-wu-yi-v2-prod-browser-check.png`
|
||||
- Personality QA board: `unique-officer-personality-qa-v1.png`
|
||||
|
||||
## Visual Direction
|
||||
|
||||
Wu Yi v2 uses ochre-brown and dark indigo armor, tan leather, muted bronze trim, compact square helmet, short command cloak, hooked dao, and command tally. The goal is a practical Yizhou gate commander instead of a Wu-colored river officer.
|
||||
|
||||
## Technical Checks
|
||||
|
||||
- 313x313 frame grid retained
|
||||
- Idle/walk/action sheet structure retained
|
||||
- Partial alpha: 0
|
||||
- Frame border hits: 0
|
||||
- Empty frames: 0
|
||||
- Sprite release gate: passed
|
||||
- Art quality gate: passed
|
||||
- Workflow consistency gate: passed
|
||||
- Build/deploy: passed
|
||||
- Local browser console errors: 0
|
||||
- Deployed browser console errors: 0
|
||||