diff --git a/docs/propfix-wu-strategist-river-v2-animation.gif b/docs/propfix-wu-strategist-river-v2-animation.gif new file mode 100644 index 0000000..8455a8e Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-animation.gif differ diff --git a/docs/propfix-wu-strategist-river-v2-battle-composite.png b/docs/propfix-wu-strategist-river-v2-battle-composite.png new file mode 100644 index 0000000..4610cbf Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-battle-composite.png differ diff --git a/docs/propfix-wu-strategist-river-v2-before-after.png b/docs/propfix-wu-strategist-river-v2-before-after.png new file mode 100644 index 0000000..71b5d2e Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-before-after.png differ diff --git a/docs/propfix-wu-strategist-river-v2-browser-check.png b/docs/propfix-wu-strategist-river-v2-browser-check.png new file mode 100644 index 0000000..38abf63 Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-browser-check.png differ diff --git a/docs/propfix-wu-strategist-river-v2-contact.png b/docs/propfix-wu-strategist-river-v2-contact.png new file mode 100644 index 0000000..a571f0d Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-contact.png differ diff --git a/docs/propfix-wu-strategist-river-v2-report.md b/docs/propfix-wu-strategist-river-v2-report.md new file mode 100644 index 0000000..cd8d8ad --- /dev/null +++ b/docs/propfix-wu-strategist-river-v2-report.md @@ -0,0 +1,28 @@ +# Wu River Route Strategist v2 report + +- source: `propfix-wu-strategist-river-v2-source.png` +- base status: ok +- action status: ok +- base partial alpha: 0, opaque pixels: 2086630 +- action partial alpha: 0, opaque pixels: 4597499 +- base frame border hits: 0 +- action frame border hits: 0 +- base empty frames: 0 +- action empty frames: 0 +- base bbox width range: 154..218 +- base bbox height range: 284..290 +- base bottom range: 303..303 +- action bbox width range: 133..222 +- action bbox height range: 284..290 +- action bottom range: 303..303 +- contact: `propfix-wu-strategist-river-v2-contact.png` +- animation: `propfix-wu-strategist-river-v2-animation.gif` +- before/after: `propfix-wu-strategist-river-v2-before-after.png` +- scale compare: `propfix-wu-strategist-river-v2-scale-compare.png` +- battle composite: `propfix-wu-strategist-river-v2-battle-composite.png` +- browser check: `propfix-wu-strategist-river-v2-browser-check.png` +- identity note: replaced the white-fan river strategist read with a blue-green Wu river-route tactician centered on water-route map board, scroll tube, oar-shaped baton, and navigation slips. +- 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-wu-strategist-river&v=wu-river-v2-local` +- note: battle composite is a scale review image; gameplay roster is unchanged during sample approval diff --git a/docs/propfix-wu-strategist-river-v2-scale-compare.png b/docs/propfix-wu-strategist-river-v2-scale-compare.png new file mode 100644 index 0000000..e634d9b Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-scale-compare.png differ diff --git a/docs/propfix-wu-strategist-river-v2-source.png b/docs/propfix-wu-strategist-river-v2-source.png new file mode 100644 index 0000000..7e73af7 Binary files /dev/null and b/docs/propfix-wu-strategist-river-v2-source.png differ diff --git a/docs/strategist-character-direction.md b/docs/strategist-character-direction.md index 87e8cac..5905c70 100644 --- a/docs/strategist-character-direction.md +++ b/docs/strategist-character-direction.md @@ -32,9 +32,9 @@ Zhuge Liang owns the large white feather fan and white-robed sage read. Other st ## Next Representative Fixes -1. `unit-wu-strategist-river`: replace the white-fan read with a water chart, oar-like baton, or scroll tube. -2. `unit-shu-strategist-field`: keep a practical frontline staff read with field map and short baton. -3. `unit-wei-strategist-black`: verify the covert adviser keeps dark props instead of a pale fan read. +1. `unit-shu-strategist-field`: keep a practical frontline staff read with field map and short baton. +2. `unit-wei-strategist-black`: verify the covert adviser keeps dark props instead of a pale fan read. +3. `unit-wei-strategist-blue`: verify the records officer stays map/registry focused instead of fan-focused. Completed representative pass: @@ -42,5 +42,6 @@ Completed representative pass: - `unit-wu-strategist`: changed from white-fan strategist to red-brown Wu river adviser with naval chart, river map board, and lacquer command baton. - `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-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. Every representative fix should include contact sheet, animation GIF, battle preview, before/after, alpha audit, build, and browser check. diff --git a/docs/strategist-prop-audit.md b/docs/strategist-prop-audit.md index 211fcd1..f5f8602 100644 --- a/docs/strategist-prop-audit.md +++ b/docs/strategist-prop-audit.md @@ -31,7 +31,7 @@ Detailed per-unit visual direction lives in `strategist-character-direction.md`. | `unit-wei-strategist-blue` | blue records officer variant | acceptable if props are records/maps | later identity pass | | `unit-wu-strategist` | naval chart, lacquer red baton, river map board | white feather fan removed; Wu river adviser identity restored | fixed in representative pass | | `unit-wu-strategist-fire` | bronze fire tally, oil-map board, red command tablet, talisman strips | white fan read removed; fire-plan tactician identity restored | fixed in representative pass | -| `unit-wu-strategist-river` | white fan in river strategist poses | should become water chart / oar-like baton | later prop cleanup | +| `unit-wu-strategist-river` | water-route map board, scroll tube, oar-shaped baton, navigation slips | white fan read removed; river-route tactician identity restored | fixed in representative pass | | `unit-nanman-shaman` | ritual staff / tribal ornaments | not a white feather fan | keep | | `unit-nanman-shaman-ember` | ritual staff / ember ornaments | not a white feather fan | keep | | `unit-nanman-shaman-storm` | ritual staff / storm ornaments | not a white feather fan | keep | @@ -48,8 +48,8 @@ The first correction batch changes: Next representative cleanup order: -1. `unit-wu-strategist-river` -2. `unit-shu-strategist-field` -3. `unit-wei-strategist-black` +1. `unit-shu-strategist-field` +2. `unit-wei-strategist-black` +3. `unit-wei-strategist-blue` Later cleanup should remove white-feather-fan reads from remaining generic strategist variants after the representative fixes are verified. diff --git a/docs/unit-sprite-batch-queue.json b/docs/unit-sprite-batch-queue.json index ce81580..587f62b 100644 --- a/docs/unit-sprite-batch-queue.json +++ b/docs/unit-sprite-batch-queue.json @@ -912,10 +912,10 @@ "baseStatus": "ok", "actionStatus": "ok", "battleBasePx": [ - 26.2, - 39.8, - 45.7, - 47.0 + 24.6, + 34.8, + 45.4, + 46.3 ], "spec": null }, diff --git a/docs/unit-sprite-batch-queue.md b/docs/unit-sprite-batch-queue.md index 8a74500..8a67a41 100644 --- a/docs/unit-sprite-batch-queue.md +++ b/docs/unit-sprite-batch-queue.md @@ -116,7 +116,7 @@ No next unit is currently defined. | `unit-wu-officer-river` | approved reference | approved-baseline | technical ok | 26.2..42.5 x 43.6..45.7 | | | `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 | 26.2..39.8 x 45.7..47.0 | | +| `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 | | ### Batch 5 remaining rebel/bandit units diff --git a/docs/unit-sprite-review-approved-and-pending.png b/docs/unit-sprite-review-approved-and-pending.png index 9316b35..001f15b 100644 Binary files a/docs/unit-sprite-review-approved-and-pending.png and b/docs/unit-sprite-review-approved-and-pending.png differ diff --git a/docs/unit-sprite-review-batch4-wu.png b/docs/unit-sprite-review-batch4-wu.png index 40ae054..6e9e6fb 100644 Binary files a/docs/unit-sprite-review-batch4-wu.png and b/docs/unit-sprite-review-batch4-wu.png differ diff --git a/docs/unit-sprite-review-index.png b/docs/unit-sprite-review-index.png index 1fdc303..b042072 100644 Binary files a/docs/unit-sprite-review-index.png and b/docs/unit-sprite-review-index.png differ diff --git a/docs/unit-sprite-rework-audit.json b/docs/unit-sprite-rework-audit.json index d3d663a..b4fbafd 100644 --- a/docs/unit-sprite-rework-audit.json +++ b/docs/unit-sprite-rework-audit.json @@ -4814,22 +4814,22 @@ 1252 ], "partial_alpha": 0, - "opaque_pixels": 2154448, + "opaque_pixels": 2086630, "border_hits": 0, - "min_width": 164, - "max_width": 249, - "min_height": 286, - "max_height": 294, + "min_width": 154, + "max_width": 218, + "min_height": 284, + "max_height": 290, "min_bottom": 303, "max_bottom": 303, "empty_frames": 0, - "width_swing": 85, - "height_swing": 8, + "width_swing": 64, + "height_swing": 6, "bottom_swing": 0, - "battle_min_width_px": 26.2, - "battle_max_width_px": 39.8, - "battle_min_height_px": 45.7, - "battle_max_height_px": 47.0, + "battle_min_width_px": 24.6, + "battle_max_width_px": 34.8, + "battle_min_height_px": 45.4, + "battle_max_height_px": 46.3, "status": "ok" }, "actions": { @@ -4840,22 +4840,22 @@ 1252 ], "partial_alpha": 0, - "opaque_pixels": 5059004, + "opaque_pixels": 4597499, "border_hits": 0, - "min_width": 159, - "max_width": 244, - "min_height": 286, - "max_height": 295, + "min_width": 133, + "max_width": 222, + "min_height": 284, + "max_height": 290, "min_bottom": 303, "max_bottom": 303, "empty_frames": 0, - "width_swing": 85, - "height_swing": 9, + "width_swing": 89, + "height_swing": 6, "bottom_swing": 0, - "battle_min_width_px": 25.4, - "battle_max_width_px": 39.0, - "battle_min_height_px": 45.7, - "battle_max_height_px": 47.1, + "battle_min_width_px": 21.2, + "battle_max_width_px": 35.5, + "battle_min_height_px": 45.4, + "battle_max_height_px": 46.3, "status": "ok" } }, diff --git a/docs/unit-sprite-rework-audit.md b/docs/unit-sprite-rework-audit.md index a62c11c..1e17beb 100644 --- a/docs/unit-sprite-rework-audit.md +++ b/docs/unit-sprite-rework-audit.md @@ -135,7 +135,7 @@ Visual review boards are generated by `scripts/render-unit-sprite-review-boards. | batch4-wu | approved-baseline | `unit-wu-officer-river` | ok | ok | 164..266 x 273..286 | 161..286 x 272..293 | 26.2..42.5 x 43.6..45.7 | w102 h13 b0 | | 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 | 164..249 x 286..294 | 159..244 x 286..295 | 26.2..39.8 x 45.7..47.0 | w85 h8 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 | | 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 | diff --git a/src/assets/images/units/unit-wu-strategist-river-actions.png b/src/assets/images/units/unit-wu-strategist-river-actions.png index f4d85ad..c656d2c 100644 Binary files a/src/assets/images/units/unit-wu-strategist-river-actions.png and b/src/assets/images/units/unit-wu-strategist-river-actions.png differ diff --git a/src/assets/images/units/unit-wu-strategist-river.png b/src/assets/images/units/unit-wu-strategist-river.png index db76eaf..fd25900 100644 Binary files a/src/assets/images/units/unit-wu-strategist-river.png and b/src/assets/images/units/unit-wu-strategist-river.png differ