Strengthen unique officer battle silhouettes
BIN
docs/unique-officer-50px-identity-qa-v2.png
Normal file
|
After Width: | Height: | Size: 231 KiB |
34
docs/unique-officer-50px-identity-qa-v3-report.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Unique Officer 50px Identity QA v3
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
Reviewed named-officer silhouettes at 72px and 50px battle scale, with extra attention on civil officials, Yizhou officers, and commanders that could visually overlap.
|
||||||
|
|
||||||
|
## Initial Weak Reads
|
||||||
|
|
||||||
|
- `unit-ma-liang`: white-eyebrow identity was too subtle at battle scale.
|
||||||
|
- `unit-yi-ji`: envoy/letter-carrier identity was weaker than the generic civil-official read.
|
||||||
|
- `unit-gong-zhi`: route-guide/local-officer role read too close to a generic armored officer.
|
||||||
|
|
||||||
|
## Rework Results
|
||||||
|
|
||||||
|
- `unit-ma-liang`: olive/sage civil robes, document props, and stronger white eyebrows; no large white feather fan.
|
||||||
|
- `unit-yi-ji`: sealed letter, document tube, scrolls, and travel cloak to emphasize envoy silhouette.
|
||||||
|
- `unit-gong-zhi`: olive route cloak, guide staff, route map, and surrender token to separate him from Li Yan and Wu Yi.
|
||||||
|
|
||||||
|
## QA Boards
|
||||||
|
|
||||||
|
- Before board: `unique-officer-50px-identity-qa-v2.png`
|
||||||
|
- After board: `unique-officer-50px-identity-qa-v3.png`
|
||||||
|
- Batch board: `unit-sprite-review-batch7-unique-officer.png`
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
- Sprite release gate: passed
|
||||||
|
- Art quality gate: passed
|
||||||
|
- Workflow consistency gate: passed
|
||||||
|
- `pnpm build`: passed
|
||||||
|
- `pnpm deploy:nas`: passed
|
||||||
|
- Local browser debug previews: console errors 0 for Ma Liang, Yi Ji, and Gong Zhi
|
||||||
|
- Deployed browser debug previews: console errors 0 for Ma Liang, Yi Ji, and Gong Zhi
|
||||||
|
- NAS deployment target: `/volume1/web/heros_web`
|
||||||
BIN
docs/unique-officer-50px-identity-qa-v3.png
Normal file
|
After Width: | Height: | Size: 226 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-animation.gif
Normal file
|
After Width: | Height: | Size: 175 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-battle-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-battle-composite.png
Normal file
|
After Width: | Height: | Size: 886 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-before-after.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-contact.png
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-prod-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
30
docs/unique-officer-qa-gong-zhi-v3-report.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Gong Zhi Route Guide v3 report
|
||||||
|
|
||||||
|
- source: `unique-officer-qa-gong-zhi-v3-source.png`
|
||||||
|
- base status: ok
|
||||||
|
- action status: ok
|
||||||
|
- base partial alpha: 0, opaque pixels: 1742744
|
||||||
|
- action partial alpha: 0, opaque pixels: 3442299
|
||||||
|
- base frame border hits: 0
|
||||||
|
- action frame border hits: 0
|
||||||
|
- base empty frames: 0
|
||||||
|
- action empty frames: 0
|
||||||
|
- base bbox width range: 148..176
|
||||||
|
- base bbox height range: 290..290
|
||||||
|
- base bottom range: 303..303
|
||||||
|
- action bbox width range: 118..157
|
||||||
|
- action bbox height range: 284..290
|
||||||
|
- action bottom range: 303..303
|
||||||
|
- contact: `unique-officer-qa-gong-zhi-v3-contact.png`
|
||||||
|
- animation: `unique-officer-qa-gong-zhi-v3-animation.gif`
|
||||||
|
- before/after: `unique-officer-qa-gong-zhi-v3-before-after.png`
|
||||||
|
- scale compare: `unique-officer-qa-gong-zhi-v3-scale-compare.png`
|
||||||
|
- battle composite: `unique-officer-qa-gong-zhi-v3-battle-composite.png`
|
||||||
|
- local browser check: `unique-officer-qa-gong-zhi-v3-battle-browser-check.png`
|
||||||
|
- deployed browser check: `unique-officer-qa-gong-zhi-v3-prod-browser-check.png`
|
||||||
|
- identity QA board: `unique-officer-50px-identity-qa-v3.png`
|
||||||
|
- identity change: reframes Gong Zhi as a Yizhou route guide/local officer with map, staff, cloak, and surrender token instead of a generic armored general.
|
||||||
|
- validation: sprite release gate passed, art quality gate passed, workflow consistency gate passed
|
||||||
|
- build/deploy: `pnpm build` passed; `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-gong-zhi-v3-scale-compare.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
docs/unique-officer-qa-gong-zhi-v3-source.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
BIN
docs/unique-officer-qa-ma-liang-v3-battle-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
docs/unique-officer-qa-ma-liang-v3-prod-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
docs/unique-officer-qa-ma-liang-v7-animation.gif
Normal file
|
After Width: | Height: | Size: 186 KiB |
BIN
docs/unique-officer-qa-ma-liang-v7-battle-composite.png
Normal file
|
After Width: | Height: | Size: 885 KiB |
BIN
docs/unique-officer-qa-ma-liang-v7-before-after.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
docs/unique-officer-qa-ma-liang-v7-contact.png
Normal file
|
After Width: | Height: | Size: 165 KiB |
30
docs/unique-officer-qa-ma-liang-v7-report.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Ma Liang White Eyebrow v7 report
|
||||||
|
|
||||||
|
- source: `unique-officer-qa-ma-liang-v7-source.png`
|
||||||
|
- base status: ok
|
||||||
|
- action status: ok
|
||||||
|
- base partial alpha: 0, opaque pixels: 1890712
|
||||||
|
- action partial alpha: 0, opaque pixels: 4010732
|
||||||
|
- base frame border hits: 0
|
||||||
|
- action frame border hits: 0
|
||||||
|
- base empty frames: 0
|
||||||
|
- action empty frames: 0
|
||||||
|
- base bbox width range: 147..206
|
||||||
|
- base bbox height range: 290..290
|
||||||
|
- base bottom range: 303..303
|
||||||
|
- action bbox width range: 126..177
|
||||||
|
- action bbox height range: 284..290
|
||||||
|
- action bottom range: 303..303
|
||||||
|
- contact: `unique-officer-qa-ma-liang-v7-contact.png`
|
||||||
|
- animation: `unique-officer-qa-ma-liang-v7-animation.gif`
|
||||||
|
- before/after: `unique-officer-qa-ma-liang-v7-before-after.png`
|
||||||
|
- scale compare: `unique-officer-qa-ma-liang-v7-scale-compare.png`
|
||||||
|
- battle composite: `unique-officer-qa-ma-liang-v7-battle-composite.png`
|
||||||
|
- local browser check: `unique-officer-qa-ma-liang-v3-battle-browser-check.png`
|
||||||
|
- deployed browser check: `unique-officer-qa-ma-liang-v3-prod-browser-check.png`
|
||||||
|
- identity QA board: `unique-officer-50px-identity-qa-v3.png`
|
||||||
|
- identity change: strengthens Ma Liang's white-eyebrow read while avoiding Zhuge Liang's white-robed sage silhouette and large white feather fan.
|
||||||
|
- validation: sprite release gate passed, art quality gate passed, workflow consistency gate passed
|
||||||
|
- build/deploy: `pnpm build` passed; `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-ma-liang-v7-scale-compare.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
docs/unique-officer-qa-ma-liang-v7-source.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
docs/unique-officer-qa-yi-ji-v3-animation.gif
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
docs/unique-officer-qa-yi-ji-v3-battle-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
docs/unique-officer-qa-yi-ji-v3-battle-composite.png
Normal file
|
After Width: | Height: | Size: 885 KiB |
BIN
docs/unique-officer-qa-yi-ji-v3-before-after.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
docs/unique-officer-qa-yi-ji-v3-contact.png
Normal file
|
After Width: | Height: | Size: 160 KiB |
BIN
docs/unique-officer-qa-yi-ji-v3-prod-browser-check.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
30
docs/unique-officer-qa-yi-ji-v3-report.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Yi Ji Envoy v3 report
|
||||||
|
|
||||||
|
- source: `unique-officer-qa-yi-ji-v3-source.png`
|
||||||
|
- base status: ok
|
||||||
|
- action status: ok
|
||||||
|
- base partial alpha: 0, opaque pixels: 1900560
|
||||||
|
- action partial alpha: 0, opaque pixels: 3873341
|
||||||
|
- base frame border hits: 0
|
||||||
|
- action frame border hits: 0
|
||||||
|
- base empty frames: 0
|
||||||
|
- action empty frames: 0
|
||||||
|
- base bbox width range: 153..193
|
||||||
|
- base bbox height range: 288..290
|
||||||
|
- base bottom range: 303..303
|
||||||
|
- action bbox width range: 122..175
|
||||||
|
- action bbox height range: 282..290
|
||||||
|
- action bottom range: 303..303
|
||||||
|
- contact: `unique-officer-qa-yi-ji-v3-contact.png`
|
||||||
|
- animation: `unique-officer-qa-yi-ji-v3-animation.gif`
|
||||||
|
- before/after: `unique-officer-qa-yi-ji-v3-before-after.png`
|
||||||
|
- scale compare: `unique-officer-qa-yi-ji-v3-scale-compare.png`
|
||||||
|
- battle composite: `unique-officer-qa-yi-ji-v3-battle-composite.png`
|
||||||
|
- local browser check: `unique-officer-qa-yi-ji-v3-battle-browser-check.png`
|
||||||
|
- deployed browser check: `unique-officer-qa-yi-ji-v3-prod-browser-check.png`
|
||||||
|
- identity QA board: `unique-officer-50px-identity-qa-v3.png`
|
||||||
|
- identity change: reframes Yi Ji as a letter-carrying envoy with scrolls, sealed letter, document tube, and travel cloak instead of a generic sage strategist.
|
||||||
|
- validation: sprite release gate passed, art quality gate passed, workflow consistency gate passed
|
||||||
|
- build/deploy: `pnpm build` passed; `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-yi-ji-v3-scale-compare.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
docs/unique-officer-qa-yi-ji-v3-source.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
@@ -1222,8 +1222,8 @@
|
|||||||
"baseStatus": "ok",
|
"baseStatus": "ok",
|
||||||
"actionStatus": "ok",
|
"actionStatus": "ok",
|
||||||
"battleBasePx": [
|
"battleBasePx": [
|
||||||
33.2,
|
23.6,
|
||||||
35.5,
|
28.1,
|
||||||
46.3,
|
46.3,
|
||||||
46.3
|
46.3
|
||||||
],
|
],
|
||||||
@@ -1348,9 +1348,9 @@
|
|||||||
"baseStatus": "ok",
|
"baseStatus": "ok",
|
||||||
"actionStatus": "ok",
|
"actionStatus": "ok",
|
||||||
"battleBasePx": [
|
"battleBasePx": [
|
||||||
26.5,
|
23.5,
|
||||||
35.8,
|
32.9,
|
||||||
45.0,
|
46.3,
|
||||||
46.3
|
46.3
|
||||||
],
|
],
|
||||||
"spec": null
|
"spec": null
|
||||||
@@ -1418,10 +1418,10 @@
|
|||||||
"baseStatus": "ok",
|
"baseStatus": "ok",
|
||||||
"actionStatus": "ok",
|
"actionStatus": "ok",
|
||||||
"battleBasePx": [
|
"battleBasePx": [
|
||||||
27.8,
|
24.4,
|
||||||
33.9,
|
30.8,
|
||||||
45.7,
|
46.0,
|
||||||
46.0
|
46.3
|
||||||
],
|
],
|
||||||
"spec": null
|
"spec": null
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ No next unit is currently defined.
|
|||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| `unit-cao-cao` | approved reference | approved-baseline | technical ok | 32.9..36.4 x 46.3..47.3 | |
|
| `unit-cao-cao` | approved reference | approved-baseline | technical ok | 32.9..36.4 x 46.3..47.3 | |
|
||||||
| `unit-fa-zheng` | approved reference | approved-baseline | technical ok | 24.3..39.9 x 45.0..47.0 | |
|
| `unit-fa-zheng` | approved reference | approved-baseline | technical ok | 24.3..39.9 x 45.0..47.0 | |
|
||||||
| `unit-gong-zhi` | approved reference | approved-baseline | technical ok | 33.2..35.5 x 46.3..46.3 | |
|
| `unit-gong-zhi` | approved reference | approved-baseline | technical ok | 23.6..28.1 x 46.3..46.3 | |
|
||||||
| `unit-huang-quan` | approved reference | approved-baseline | technical ok | 28.6..31.9 x 45.0..46.0 | |
|
| `unit-huang-quan` | approved reference | approved-baseline | technical ok | 28.6..31.9 x 45.0..46.0 | |
|
||||||
| `unit-huang-zhong` | approved reference | approved-baseline | technical ok | 27.2..36.3 x 46.3..47.3 | |
|
| `unit-huang-zhong` | approved reference | approved-baseline | technical ok | 27.2..36.3 x 46.3..47.3 | |
|
||||||
| `unit-jiang-wei` | approved reference | approved-baseline | technical ok | 23.2..42.5 x 45.4..46.5 | |
|
| `unit-jiang-wei` | approved reference | approved-baseline | technical ok | 23.2..42.5 x 45.4..46.5 | |
|
||||||
@@ -172,11 +172,11 @@ No next unit is currently defined.
|
|||||||
| `unit-lu-meng` | approved reference | approved-baseline | technical ok | 27.0..40.4 x 46.0..46.3 | |
|
| `unit-lu-meng` | approved reference | approved-baseline | technical ok | 27.0..40.4 x 46.0..46.3 | |
|
||||||
| `unit-ma-chao` | approved reference | approved-baseline | technical ok | 26.5..42.0 x 46.0..47.3 | |
|
| `unit-ma-chao` | approved reference | approved-baseline | technical ok | 26.5..42.0 x 46.0..47.3 | |
|
||||||
| `unit-ma-dai` | approved reference | approved-baseline | technical ok | 27.0..39.8 x 46.0..46.3 | |
|
| `unit-ma-dai` | approved reference | approved-baseline | technical ok | 27.0..39.8 x 46.0..46.3 | |
|
||||||
| `unit-ma-liang` | approved reference | approved-baseline | technical ok | 26.5..35.8 x 45.0..46.3 | |
|
| `unit-ma-liang` | approved reference | approved-baseline | technical ok | 23.5..32.9 x 46.3..46.3 | |
|
||||||
| `unit-pang-tong` | approved reference | approved-baseline | technical ok | 24.3..32.7 x 45.0..46.3 | |
|
| `unit-pang-tong` | approved reference | approved-baseline | technical ok | 24.3..32.7 x 45.0..46.3 | |
|
||||||
| `unit-sima-yi` | approved reference | approved-baseline | technical ok | 21.7..29.7 x 45.0..46.3 | |
|
| `unit-sima-yi` | approved reference | approved-baseline | technical ok | 21.7..29.7 x 45.0..46.3 | |
|
||||||
| `unit-wang-ping` | approved reference | approved-baseline | technical ok | 28.0..33.7 x 45.7..46.0 | |
|
| `unit-wang-ping` | approved reference | approved-baseline | technical ok | 28.0..33.7 x 45.7..46.0 | |
|
||||||
| `unit-yan-yan` | approved reference | approved-baseline | technical ok | 30.4..37.5 x 45.7..46.0 | |
|
| `unit-yan-yan` | approved reference | approved-baseline | technical ok | 30.4..37.5 x 45.7..46.0 | |
|
||||||
| `unit-yi-ji` | approved reference | approved-baseline | technical ok | 27.8..33.9 x 45.7..46.0 | |
|
| `unit-yi-ji` | approved reference | approved-baseline | technical ok | 24.4..30.8 x 46.0..46.3 | |
|
||||||
| `unit-zhao-yun` | approved reference | approved-baseline | technical ok | 22.5..42.5 x 45.0..46.3 | |
|
| `unit-zhao-yun` | approved reference | approved-baseline | technical ok | 22.5..42.5 x 45.0..46.3 | |
|
||||||
| `unit-zhuge-liang` | approved reference | approved-baseline | technical ok | 24.0..39.9 x 44.2..46.0 | |
|
| `unit-zhuge-liang` | approved reference | approved-baseline | technical ok | 24.0..39.9 x 44.2..46.0 | |
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 838 KiB After Width: | Height: | Size: 835 KiB |
|
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
@@ -140,20 +140,20 @@
|
|||||||
1252
|
1252
|
||||||
],
|
],
|
||||||
"partial_alpha": 0,
|
"partial_alpha": 0,
|
||||||
"opaque_pixels": 2314898,
|
"opaque_pixels": 1742744,
|
||||||
"border_hits": 0,
|
"border_hits": 0,
|
||||||
"min_width": 208,
|
"min_width": 148,
|
||||||
"max_width": 222,
|
"max_width": 176,
|
||||||
"min_height": 290,
|
"min_height": 290,
|
||||||
"max_height": 290,
|
"max_height": 290,
|
||||||
"min_bottom": 303,
|
"min_bottom": 303,
|
||||||
"max_bottom": 303,
|
"max_bottom": 303,
|
||||||
"empty_frames": 0,
|
"empty_frames": 0,
|
||||||
"width_swing": 14,
|
"width_swing": 28,
|
||||||
"height_swing": 0,
|
"height_swing": 0,
|
||||||
"bottom_swing": 0,
|
"bottom_swing": 0,
|
||||||
"battle_min_width_px": 33.2,
|
"battle_min_width_px": 23.6,
|
||||||
"battle_max_width_px": 35.5,
|
"battle_max_width_px": 28.1,
|
||||||
"battle_min_height_px": 46.3,
|
"battle_min_height_px": 46.3,
|
||||||
"battle_max_height_px": 46.3,
|
"battle_max_height_px": 46.3,
|
||||||
"status": "ok"
|
"status": "ok"
|
||||||
@@ -166,21 +166,21 @@
|
|||||||
1252
|
1252
|
||||||
],
|
],
|
||||||
"partial_alpha": 0,
|
"partial_alpha": 0,
|
||||||
"opaque_pixels": 5687163,
|
"opaque_pixels": 3442299,
|
||||||
"border_hits": 0,
|
"border_hits": 0,
|
||||||
"min_width": 196,
|
"min_width": 118,
|
||||||
"max_width": 287,
|
"max_width": 157,
|
||||||
"min_height": 270,
|
"min_height": 284,
|
||||||
"max_height": 290,
|
"max_height": 290,
|
||||||
"min_bottom": 303,
|
"min_bottom": 303,
|
||||||
"max_bottom": 303,
|
"max_bottom": 303,
|
||||||
"empty_frames": 0,
|
"empty_frames": 0,
|
||||||
"width_swing": 91,
|
"width_swing": 39,
|
||||||
"height_swing": 20,
|
"height_swing": 6,
|
||||||
"bottom_swing": 0,
|
"bottom_swing": 0,
|
||||||
"battle_min_width_px": 31.3,
|
"battle_min_width_px": 18.8,
|
||||||
"battle_max_width_px": 45.8,
|
"battle_max_width_px": 25.1,
|
||||||
"battle_min_height_px": 43.1,
|
"battle_min_height_px": 45.4,
|
||||||
"battle_max_height_px": 46.3,
|
"battle_max_height_px": 46.3,
|
||||||
"status": "ok"
|
"status": "ok"
|
||||||
}
|
}
|
||||||
@@ -767,21 +767,21 @@
|
|||||||
1252
|
1252
|
||||||
],
|
],
|
||||||
"partial_alpha": 0,
|
"partial_alpha": 0,
|
||||||
"opaque_pixels": 2087558,
|
"opaque_pixels": 1890712,
|
||||||
"border_hits": 0,
|
"border_hits": 0,
|
||||||
"min_width": 166,
|
"min_width": 147,
|
||||||
"max_width": 224,
|
"max_width": 206,
|
||||||
"min_height": 282,
|
"min_height": 290,
|
||||||
"max_height": 290,
|
"max_height": 290,
|
||||||
"min_bottom": 303,
|
"min_bottom": 303,
|
||||||
"max_bottom": 303,
|
"max_bottom": 303,
|
||||||
"empty_frames": 0,
|
"empty_frames": 0,
|
||||||
"width_swing": 58,
|
"width_swing": 59,
|
||||||
"height_swing": 8,
|
"height_swing": 0,
|
||||||
"bottom_swing": 0,
|
"bottom_swing": 0,
|
||||||
"battle_min_width_px": 26.5,
|
"battle_min_width_px": 23.5,
|
||||||
"battle_max_width_px": 35.8,
|
"battle_max_width_px": 32.9,
|
||||||
"battle_min_height_px": 45.0,
|
"battle_min_height_px": 46.3,
|
||||||
"battle_max_height_px": 46.3,
|
"battle_max_height_px": 46.3,
|
||||||
"status": "ok"
|
"status": "ok"
|
||||||
},
|
},
|
||||||
@@ -793,22 +793,22 @@
|
|||||||
1252
|
1252
|
||||||
],
|
],
|
||||||
"partial_alpha": 0,
|
"partial_alpha": 0,
|
||||||
"opaque_pixels": 4261312,
|
"opaque_pixels": 4010732,
|
||||||
"border_hits": 0,
|
"border_hits": 0,
|
||||||
"min_width": 139,
|
"min_width": 126,
|
||||||
"max_width": 212,
|
"max_width": 177,
|
||||||
"min_height": 282,
|
"min_height": 284,
|
||||||
"max_height": 291,
|
"max_height": 290,
|
||||||
"min_bottom": 303,
|
"min_bottom": 303,
|
||||||
"max_bottom": 303,
|
"max_bottom": 303,
|
||||||
"empty_frames": 0,
|
"empty_frames": 0,
|
||||||
"width_swing": 73,
|
"width_swing": 51,
|
||||||
"height_swing": 9,
|
"height_swing": 6,
|
||||||
"bottom_swing": 0,
|
"bottom_swing": 0,
|
||||||
"battle_min_width_px": 22.2,
|
"battle_min_width_px": 20.1,
|
||||||
"battle_max_width_px": 33.9,
|
"battle_max_width_px": 28.3,
|
||||||
"battle_min_height_px": 45.0,
|
"battle_min_height_px": 45.4,
|
||||||
"battle_max_height_px": 46.5,
|
"battle_max_height_px": 46.3,
|
||||||
"status": "ok"
|
"status": "ok"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -4985,22 +4985,22 @@
|
|||||||
1252
|
1252
|
||||||
],
|
],
|
||||||
"partial_alpha": 0,
|
"partial_alpha": 0,
|
||||||
"opaque_pixels": 2272400,
|
"opaque_pixels": 1900560,
|
||||||
"border_hits": 0,
|
"border_hits": 0,
|
||||||
"min_width": 174,
|
"min_width": 153,
|
||||||
"max_width": 212,
|
"max_width": 193,
|
||||||
"min_height": 286,
|
"min_height": 288,
|
||||||
"max_height": 288,
|
"max_height": 290,
|
||||||
"min_bottom": 303,
|
"min_bottom": 303,
|
||||||
"max_bottom": 303,
|
"max_bottom": 303,
|
||||||
"empty_frames": 0,
|
"empty_frames": 0,
|
||||||
"width_swing": 38,
|
"width_swing": 40,
|
||||||
"height_swing": 2,
|
"height_swing": 2,
|
||||||
"bottom_swing": 0,
|
"bottom_swing": 0,
|
||||||
"battle_min_width_px": 27.8,
|
"battle_min_width_px": 24.4,
|
||||||
"battle_max_width_px": 33.9,
|
"battle_max_width_px": 30.8,
|
||||||
"battle_min_height_px": 45.7,
|
"battle_min_height_px": 46.0,
|
||||||
"battle_max_height_px": 46.0,
|
"battle_max_height_px": 46.3,
|
||||||
"status": "ok"
|
"status": "ok"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
@@ -5011,22 +5011,22 @@
|
|||||||
1252
|
1252
|
||||||
],
|
],
|
||||||
"partial_alpha": 0,
|
"partial_alpha": 0,
|
||||||
"opaque_pixels": 5642111,
|
"opaque_pixels": 3873341,
|
||||||
"border_hits": 0,
|
"border_hits": 0,
|
||||||
"min_width": 167,
|
"min_width": 122,
|
||||||
"max_width": 273,
|
"max_width": 175,
|
||||||
"min_height": 286,
|
"min_height": 282,
|
||||||
"max_height": 295,
|
"max_height": 290,
|
||||||
"min_bottom": 303,
|
"min_bottom": 303,
|
||||||
"max_bottom": 303,
|
"max_bottom": 303,
|
||||||
"empty_frames": 0,
|
"empty_frames": 0,
|
||||||
"width_swing": 106,
|
"width_swing": 53,
|
||||||
"height_swing": 9,
|
"height_swing": 8,
|
||||||
"bottom_swing": 0,
|
"bottom_swing": 0,
|
||||||
"battle_min_width_px": 26.7,
|
"battle_min_width_px": 19.5,
|
||||||
"battle_max_width_px": 43.6,
|
"battle_max_width_px": 28.0,
|
||||||
"battle_min_height_px": 45.7,
|
"battle_min_height_px": 45.0,
|
||||||
"battle_max_height_px": 47.1,
|
"battle_max_height_px": 46.3,
|
||||||
"status": "ok"
|
"status": "ok"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ Visual review boards are generated by `scripts/render-unit-sprite-review-boards.
|
|||||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-cao-cao` | ok | ok | 206..228 x 290..296 | 186..252 x 270..296 | 32.9..36.4 x 46.3..47.3 | w22 h6 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-cao-cao` | ok | ok | 206..228 x 290..296 | 186..252 x 270..296 | 32.9..36.4 x 46.3..47.3 | w22 h6 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-fa-zheng` | ok | ok | 152..250 x 282..294 | 131..231 x 282..294 | 24.3..39.9 x 45.0..47.0 | w98 h12 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-fa-zheng` | ok | ok | 152..250 x 282..294 | 131..231 x 282..294 | 24.3..39.9 x 45.0..47.0 | w98 h12 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-gong-zhi` | ok | ok | 208..222 x 290..290 | 196..287 x 270..290 | 33.2..35.5 x 46.3..46.3 | w14 h0 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-gong-zhi` | ok | ok | 148..176 x 290..290 | 118..157 x 284..290 | 23.6..28.1 x 46.3..46.3 | w28 h0 b0 |
|
||||||
| batch1-approved-core | approved-baseline | `unit-guan-yu` | ok | ok | 190..270 x 276..291 | 172..296 x 171..289 | 30.4..43.1 x 44.1..46.5 | w80 h15 b4 |
|
| batch1-approved-core | approved-baseline | `unit-guan-yu` | ok | ok | 190..270 x 276..291 | 172..296 x 171..289 | 30.4..43.1 x 44.1..46.5 | w80 h15 b4 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-huang-quan` | ok | ok | 179..200 x 282..288 | 147..211 x 282..290 | 28.6..31.9 x 45.0..46.0 | w21 h6 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-huang-quan` | ok | ok | 179..200 x 282..288 | 147..211 x 282..290 | 28.6..31.9 x 45.0..46.0 | w21 h6 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-huang-zhong` | ok | ok | 170..227 x 290..296 | 170..246 x 270..296 | 27.2..36.3 x 46.3..47.3 | w57 h6 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-huang-zhong` | ok | ok | 170..227 x 290..296 | 170..246 x 270..296 | 27.2..36.3 x 46.3..47.3 | w57 h6 b0 |
|
||||||
@@ -64,7 +64,7 @@ Visual review boards are generated by `scripts/render-unit-sprite-review-boards.
|
|||||||
| batch7-unique-officer | approved-baseline | `unit-lu-meng` | ok | ok | 169..253 x 288..290 | 153..238 x 286..290 | 27.0..40.4 x 46.0..46.3 | w84 h2 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-lu-meng` | ok | ok | 169..253 x 288..290 | 153..238 x 286..290 | 27.0..40.4 x 46.0..46.3 | w84 h2 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-ma-chao` | ok | ok | 166..263 x 288..296 | 166..263 x 284..296 | 26.5..42.0 x 46.0..47.3 | w97 h8 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-ma-chao` | ok | ok | 166..263 x 288..296 | 166..263 x 284..296 | 26.5..42.0 x 46.0..47.3 | w97 h8 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-ma-dai` | ok | ok | 169..249 x 288..290 | 162..239 x 284..290 | 27.0..39.8 x 46.0..46.3 | w80 h2 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-ma-dai` | ok | ok | 169..249 x 288..290 | 162..239 x 284..290 | 27.0..39.8 x 46.0..46.3 | w80 h2 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-ma-liang` | ok | ok | 166..224 x 282..290 | 139..212 x 282..291 | 26.5..35.8 x 45.0..46.3 | w58 h8 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-ma-liang` | ok | ok | 147..206 x 290..290 | 126..177 x 284..290 | 23.5..32.9 x 46.3..46.3 | w59 h0 b0 |
|
||||||
| batch6-nanman-special | approved-baseline | `unit-meng-huo` | ok | ok | 174..221 x 286..288 | 149..248 x 275..289 | 27.8..35.3 x 45.7..46.0 | w47 h2 b0 |
|
| batch6-nanman-special | approved-baseline | `unit-meng-huo` | ok | ok | 174..221 x 286..288 | 149..248 x 275..289 | 27.8..35.3 x 45.7..46.0 | w47 h2 b0 |
|
||||||
| batch6-nanman-special | approved-baseline | `unit-nanman-infantry` | ok | ok | 152..219 x 288..288 | 152..243 x 265..288 | 24.3..35.0 x 46.0..46.0 | w67 h0 b0 |
|
| batch6-nanman-special | approved-baseline | `unit-nanman-infantry` | ok | ok | 152..219 x 288..288 | 152..243 x 265..288 | 24.3..35.0 x 46.0..46.0 | w67 h0 b0 |
|
||||||
| batch6-nanman-special | approved-baseline | `unit-nanman-infantry-jungle` | ok | ok | 172..209 x 286..288 | 158..247 x 282..288 | 27.5..33.4 x 45.7..46.0 | w37 h2 b0 |
|
| batch6-nanman-special | approved-baseline | `unit-nanman-infantry-jungle` | ok | ok | 172..209 x 286..288 | 158..247 x 282..288 | 27.5..33.4 x 45.7..46.0 | w37 h2 b0 |
|
||||||
@@ -138,7 +138,7 @@ Visual review boards are generated by `scripts/render-unit-sprite-review-boards.
|
|||||||
| 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-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 | 167..250 x 286..288 | 151..210 x 282..288 | 26.7..39.9 x 45.7..46.0 | w83 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-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 |
|
| batch7-unique-officer | approved-baseline | `unit-yi-ji` | ok | ok | 153..193 x 288..290 | 122..175 x 282..290 | 24.4..30.8 x 46.0..46.3 | w40 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 |
|
| 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 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-zhao-yun` | ok | ok | 141..266 x 282..290 | 118..248 x 277..295 | 22.5..42.5 x 45.0..46.3 | w125 h8 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-zhao-yun` | ok | ok | 141..266 x 282..290 | 118..248 x 277..295 | 22.5..42.5 x 45.0..46.3 | w125 h8 b0 |
|
||||||
| batch7-unique-officer | approved-baseline | `unit-zhuge-liang` | ok | ok | 150..250 x 277..288 | 132..248 x 234..294 | 24.0..39.9 x 44.2..46.0 | w100 h11 b0 |
|
| batch7-unique-officer | approved-baseline | `unit-zhuge-liang` | ok | ok | 150..250 x 277..288 | 132..248 x 234..294 | 24.0..39.9 x 44.2..46.0 | w100 h11 b0 |
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Unique Officer Identity v3 Approval Packet
|
||||||
|
|
||||||
|
## Units
|
||||||
|
|
||||||
|
- `unit-ma-liang`
|
||||||
|
- `unit-yi-ji`
|
||||||
|
- `unit-gong-zhi`
|
||||||
|
|
||||||
|
## Reason
|
||||||
|
|
||||||
|
The 50px identity board showed that these three named officers had weaker character reads than the surrounding unique officers. They were technically valid, but the visible props and silhouettes did not communicate their identities strongly enough during normal battle-scale play.
|
||||||
|
|
||||||
|
## Delivered Assets
|
||||||
|
|
||||||
|
- QA board before: `unique-officer-50px-identity-qa-v2.png`
|
||||||
|
- QA board after: `unique-officer-50px-identity-qa-v3.png`
|
||||||
|
- Ma Liang contact/GIF/before-after/report: `unique-officer-qa-ma-liang-v7-contact.png`, `unique-officer-qa-ma-liang-v7-animation.gif`, `unique-officer-qa-ma-liang-v7-before-after.png`, `unique-officer-qa-ma-liang-v7-report.md`
|
||||||
|
- Yi Ji contact/GIF/before-after/report: `unique-officer-qa-yi-ji-v3-contact.png`, `unique-officer-qa-yi-ji-v3-animation.gif`, `unique-officer-qa-yi-ji-v3-before-after.png`, `unique-officer-qa-yi-ji-v3-report.md`
|
||||||
|
- Gong Zhi contact/GIF/before-after/report: `unique-officer-qa-gong-zhi-v3-contact.png`, `unique-officer-qa-gong-zhi-v3-animation.gif`, `unique-officer-qa-gong-zhi-v3-before-after.png`, `unique-officer-qa-gong-zhi-v3-report.md`
|
||||||
|
|
||||||
|
## Checks
|
||||||
|
|
||||||
|
- 313x313 frame grid retained
|
||||||
|
- Idle/walk/action sheet structure retained
|
||||||
|
- Partial alpha: 0 for all three units
|
||||||
|
- Frame border hits: 0 for all three units
|
||||||
|
- Empty frames: 0 for all three units
|
||||||
|
- Build/deploy: passed
|
||||||
|
- Local and deployed browser console errors: 0
|
||||||
|
Before Width: | Height: | Size: 3.4 MiB After Width: | Height: | Size: 2.2 MiB |
|
Before Width: | Height: | Size: 1013 KiB After Width: | Height: | Size: 812 KiB |
|
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 892 KiB After Width: | Height: | Size: 830 KiB |
|
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 975 KiB After Width: | Height: | Size: 842 KiB |