Differentiate Shu field strategist prop identity

This commit is contained in:
2026-07-02 15:33:34 +09:00
parent 9b907a5e76
commit f7da848f17
19 changed files with 59 additions and 30 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

View File

@@ -0,0 +1,28 @@
# Shu Frontline Field Strategist v3 report
- source: `propfix-shu-strategist-field-v3-source.png`
- base status: ok
- action status: ok
- base partial alpha: 0, opaque pixels: 2012058
- action partial alpha: 0, opaque pixels: 4482872
- base frame border hits: 0
- action frame border hits: 0
- base empty frames: 0
- action empty frames: 0
- base bbox width range: 144..202
- base bbox height range: 287..295
- base bottom range: 303..303
- action bbox width range: 130..230
- action bbox height range: 282..295
- action bottom range: 303..303
- contact: `propfix-shu-strategist-field-v3-contact.png`
- animation: `propfix-shu-strategist-field-v3-animation.gif`
- before/after: `propfix-shu-strategist-field-v3-before-after.png`
- scale compare: `propfix-shu-strategist-field-v3-scale-compare.png`
- battle composite: `propfix-shu-strategist-field-v3-battle-composite.png`
- browser check: `propfix-shu-strategist-field-v3-browser-check.png`
- identity note: replaced the white-fan sage-like field strategist read with a rugged Shu frontline staff officer centered on folded field map, short baton, bamboo slips, leather scroll case, and order pouch.
- local build: passed
- local browser console errors: 0
- local browser battle check: passed at `http://127.0.0.1:4173/heros_web/?debug&debugSpritePreview=unit-shu-strategist-field&v=shu-field-v3-local`
- note: battle composite is a scale review image; gameplay roster is unchanged during sample approval

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -32,9 +32,9 @@ Zhuge Liang owns the large white feather fan and white-robed sage read. Other st
## Next Representative Fixes ## Next Representative Fixes
1. `unit-shu-strategist-field`: keep a practical frontline staff read with field map and short baton. 1. `unit-wei-strategist-black`: verify the covert adviser keeps dark props instead of a pale fan read.
2. `unit-wei-strategist-black`: verify the covert adviser keeps dark props instead of a pale fan read. 2. `unit-wei-strategist-blue`: verify the records officer stays map/registry focused instead of fan-focused.
3. `unit-wei-strategist-blue`: verify the records officer stays map/registry focused instead of fan-focused. 3. `unit-sima-yi`: confirm the named Wei conspirator remains darker and more distinctive than generic Wei strategists.
Completed representative pass: Completed representative pass:
@@ -43,5 +43,6 @@ Completed representative pass:
- `unit-shu-strategist-white`: changed from white-fan pale strategist to muted jade Shu civil aide with document bundle, brush case, bamboo-slip ledger, and sealed letters. - `unit-shu-strategist-white`: changed from white-fan pale strategist to muted jade Shu civil aide with document bundle, brush case, bamboo-slip ledger, and sealed letters.
- `unit-wu-strategist-fire`: changed from white-fan fire strategist to ember-red fire tactician with bronze tally, oil-map board, red command tablet, and talisman strips. - `unit-wu-strategist-fire`: changed from white-fan fire strategist to ember-red fire tactician with bronze tally, oil-map board, red command tablet, and talisman strips.
- `unit-wu-strategist-river`: changed from white-fan river strategist to blue-green river-route tactician with water-route map board, scroll tube, oar-shaped baton, and navigation slips. - `unit-wu-strategist-river`: changed from white-fan river strategist to blue-green river-route tactician with water-route map board, scroll tube, oar-shaped baton, and navigation slips.
- `unit-shu-strategist-field`: changed from white-fan sage-like field strategist to rugged Shu frontline staff officer with folded field map, short baton, bamboo slips, leather scroll case, and order pouch.
Every representative fix should include contact sheet, animation GIF, battle preview, before/after, alpha audit, build, and browser check. Every representative fix should include contact sheet, animation GIF, battle preview, before/after, alpha audit, build, and browser check.

View File

@@ -24,7 +24,7 @@ Detailed per-unit visual direction lives in `strategist-character-direction.md`.
| `unit-yi-ji` | letter, bamboo slips, scroll | distinct civil envoy | keep | | `unit-yi-ji` | letter, bamboo slips, scroll | distinct civil envoy | keep |
| `unit-huang-quan` | bamboo slips, map board, baton | distinct quartermaster official | keep | | `unit-huang-quan` | bamboo slips, map board, baton | distinct quartermaster official | keep |
| `unit-shu-strategist` | writing brush, bamboo slips, compact field map | white feather fan removed | fixed in batch 1 | | `unit-shu-strategist` | writing brush, bamboo slips, compact field map | white feather fan removed | fixed in batch 1 |
| `unit-shu-strategist-field` | field map / staff officer variant | must stay practical and green, not sage-white | later identity pass | | `unit-shu-strategist-field` | folded field map, short baton, bamboo slips, leather scroll case, order pouch | white fan and sage-white read removed; frontline staff officer identity restored | fixed in representative pass |
| `unit-shu-strategist-white` | muted jade civil aide, document bundle, brush case, bamboo-slip ledger | white robe/fan pairing removed; Shu administrative aide identity restored | fixed in representative pass | | `unit-shu-strategist-white` | muted jade civil aide, document bundle, brush case, bamboo-slip ledger | white robe/fan pairing removed; Shu administrative aide identity restored | fixed in representative pass |
| `unit-wei-strategist` | bronze command tablet, war ledger, compact map board | white feather fan removed; Wei court analyst identity restored | fixed in representative pass | | `unit-wei-strategist` | bronze command tablet, war ledger, compact map board | white feather fan removed; Wei court analyst identity restored | fixed in representative pass |
| `unit-wei-strategist-black` | dark strategist prop variant | acceptable if fan stays dark and compact | later identity pass | | `unit-wei-strategist-black` | dark strategist prop variant | acceptable if fan stays dark and compact | later identity pass |
@@ -48,8 +48,8 @@ The first correction batch changes:
Next representative cleanup order: Next representative cleanup order:
1. `unit-shu-strategist-field` 1. `unit-wei-strategist-black`
2. `unit-wei-strategist-black` 2. `unit-wei-strategist-blue`
3. `unit-wei-strategist-blue` 3. `unit-sima-yi`
Later cleanup should remove white-feather-fan reads from remaining generic strategist variants after the representative fixes are verified. Later cleanup should remove white-feather-fan reads from remaining generic strategist variants after the representative fixes are verified.

View File

@@ -444,9 +444,9 @@
"baseStatus": "ok", "baseStatus": "ok",
"actionStatus": "ok", "actionStatus": "ok",
"battleBasePx": [ "battleBasePx": [
26.5, 23.0,
32.9, 32.3,
44.2, 45.8,
47.1 47.1
], ],
"spec": null "spec": null

View File

@@ -66,7 +66,7 @@ No next unit is currently defined.
| `unit-shu-spearman-guard` | approved reference | approved-baseline | technical ok | 29.4..32.7 x 44.2..47.1 | | | `unit-shu-spearman-guard` | approved reference | approved-baseline | technical ok | 29.4..32.7 x 44.2..47.1 | |
| `unit-shu-spearman-veteran` | approved reference | approved-baseline | technical ok | 26.0..32.9 x 46.3..47.1 | | | `unit-shu-spearman-veteran` | approved reference | approved-baseline | technical ok | 26.0..32.9 x 46.3..47.1 | |
| `unit-shu-strategist` | approved reference | approved-baseline | technical ok | 23.8..39.8 x 45.0..46.0 | `unit-sprite-batch2-shu-strategist-spec.md` | | `unit-shu-strategist` | approved reference | approved-baseline | technical ok | 23.8..39.8 x 45.0..46.0 | `unit-sprite-batch2-shu-strategist-spec.md` |
| `unit-shu-strategist-field` | approved reference | approved-baseline | technical ok | 26.5..32.9 x 44.2..47.1 | | | `unit-shu-strategist-field` | approved reference | approved-baseline | technical ok | 23.0..32.3 x 45.8..47.1 | |
| `unit-shu-strategist-white` | approved reference | approved-baseline | technical ok | 26.7..35.5 x 45.0..46.3 | | | `unit-shu-strategist-white` | approved reference | approved-baseline | technical ok | 26.7..35.5 x 45.0..46.3 | |
### Batch 3 Wei generic units ### Batch 3 Wei generic units

Binary file not shown.

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 840 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

@@ -2876,21 +2876,21 @@
1252 1252
], ],
"partial_alpha": 0, "partial_alpha": 0,
"opaque_pixels": 2059816, "opaque_pixels": 2012058,
"border_hits": 0, "border_hits": 0,
"min_width": 166, "min_width": 144,
"max_width": 206, "max_width": 202,
"min_height": 277, "min_height": 287,
"max_height": 295, "max_height": 295,
"min_bottom": 303, "min_bottom": 303,
"max_bottom": 303, "max_bottom": 303,
"empty_frames": 0, "empty_frames": 0,
"width_swing": 40, "width_swing": 58,
"height_swing": 18, "height_swing": 8,
"bottom_swing": 0, "bottom_swing": 0,
"battle_min_width_px": 26.5, "battle_min_width_px": 23.0,
"battle_max_width_px": 32.9, "battle_max_width_px": 32.3,
"battle_min_height_px": 44.2, "battle_min_height_px": 45.8,
"battle_max_height_px": 47.1, "battle_max_height_px": 47.1,
"status": "ok" "status": "ok"
}, },
@@ -2902,21 +2902,21 @@
1252 1252
], ],
"partial_alpha": 0, "partial_alpha": 0,
"opaque_pixels": 5157870, "opaque_pixels": 4482872,
"border_hits": 0, "border_hits": 0,
"min_width": 166, "min_width": 130,
"max_width": 269, "max_width": 230,
"min_height": 277, "min_height": 282,
"max_height": 295, "max_height": 295,
"min_bottom": 303, "min_bottom": 303,
"max_bottom": 303, "max_bottom": 303,
"empty_frames": 0, "empty_frames": 0,
"width_swing": 103, "width_swing": 100,
"height_swing": 18, "height_swing": 13,
"bottom_swing": 0, "bottom_swing": 0,
"battle_min_width_px": 26.5, "battle_min_width_px": 20.8,
"battle_max_width_px": 43.0, "battle_max_width_px": 36.7,
"battle_min_height_px": 44.2, "battle_min_height_px": 45.0,
"battle_max_height_px": 47.1, "battle_max_height_px": 47.1,
"status": "ok" "status": "ok"
} }

View File

@@ -101,7 +101,7 @@ Visual review boards are generated by `scripts/render-unit-sprite-review-boards.
| batch2-shu | approved-baseline | `unit-shu-spearman-guard` | ok | ok | 184..205 x 277..295 | 176..276 x 232..295 | 29.4..32.7 x 44.2..47.1 | w21 h18 b0 | | batch2-shu | approved-baseline | `unit-shu-spearman-guard` | ok | ok | 184..205 x 277..295 | 176..276 x 232..295 | 29.4..32.7 x 44.2..47.1 | w21 h18 b0 |
| batch2-shu | approved-baseline | `unit-shu-spearman-veteran` | ok | ok | 163..206 x 290..295 | 143..276 x 221..295 | 26.0..32.9 x 46.3..47.1 | w43 h5 b0 | | batch2-shu | approved-baseline | `unit-shu-spearman-veteran` | ok | ok | 163..206 x 290..295 | 143..276 x 221..295 | 26.0..32.9 x 46.3..47.1 | w43 h5 b0 |
| batch2-shu | approved-baseline | `unit-shu-strategist` | ok | ok | 149..249 x 282..288 | 125..237 x 248..288 | 23.8..39.8 x 45.0..46.0 | w100 h6 b0 | | batch2-shu | approved-baseline | `unit-shu-strategist` | ok | ok | 149..249 x 282..288 | 125..237 x 248..288 | 23.8..39.8 x 45.0..46.0 | w100 h6 b0 |
| batch2-shu | approved-baseline | `unit-shu-strategist-field` | ok | ok | 166..206 x 277..295 | 166..269 x 277..295 | 26.5..32.9 x 44.2..47.1 | w40 h18 b0 | | batch2-shu | approved-baseline | `unit-shu-strategist-field` | ok | ok | 144..202 x 287..295 | 130..230 x 282..295 | 23.0..32.3 x 45.8..47.1 | w58 h8 b0 |
| batch2-shu | approved-baseline | `unit-shu-strategist-white` | ok | ok | 167..222 x 282..290 | 140..209 x 282..295 | 26.7..35.5 x 45.0..46.3 | w55 h8 b0 | | batch2-shu | approved-baseline | `unit-shu-strategist-white` | ok | ok | 167..222 x 282..290 | 140..209 x 282..295 | 26.7..35.5 x 45.0..46.3 | w55 h8 b0 |
| batch7-unique-officer | approved-baseline | `unit-sima-yi` | ok | ok | 159..237 x 282..294 | 137..224 x 276..294 | 25.4..37.9 x 45.0..47.0 | w78 h12 b0 | | batch7-unique-officer | approved-baseline | `unit-sima-yi` | ok | ok | 159..237 x 282..294 | 137..224 x 276..294 | 25.4..37.9 x 45.0..47.0 | w78 h12 b0 |
| batch7-unique-officer | approved-baseline | `unit-wang-ping` | ok | ok | 175..211 x 286..288 | 158..256 x 286..295 | 28.0..33.7 x 45.7..46.0 | w36 h2 b0 | | batch7-unique-officer | approved-baseline | `unit-wang-ping` | ok | ok | 175..211 x 286..288 | 158..256 x 286..295 | 28.0..33.7 x 45.7..46.0 | w36 h2 b0 |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 KiB

After

Width:  |  Height:  |  Size: 911 KiB