Restore Ma Liang white-eyebrow identity

This commit is contained in:
2026-07-02 10:44:03 +09:00
parent b325b35f4e
commit e28ef20018
19 changed files with 59 additions and 21 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

View File

@@ -0,0 +1,26 @@
# Ma Liang white eyebrow identity v4 report
- identity note: Ma Liang keeps a visible white-eyebrow scholar read, while avoiding Zhuge Liang's white feather fan and white-robed sage silhouette.
- source: `propfix-ma-liang-white-eyebrow-v4-source.png`
- base status: ok
- action status: ok
- base partial alpha: 0, opaque pixels: 2087558
- action partial alpha: 0, opaque pixels: 4261312
- base frame border hits: 0
- action frame border hits: 0
- base empty frames: 0
- action empty frames: 0
- base bbox width range: 166..224
- base bbox height range: 282..290
- base bottom range: 303..303
- action bbox width range: 139..212
- action bbox height range: 282..291
- action bottom range: 303..303
- contact: `propfix-ma-liang-white-eyebrow-v4-contact.png`
- animation: `propfix-ma-liang-white-eyebrow-v4-animation.gif`
- before/after: `propfix-ma-liang-white-eyebrow-v4-before-after.png`
- scale compare: `propfix-ma-liang-white-eyebrow-v4-scale-compare.png`
- battle composite: `propfix-ma-liang-white-eyebrow-v4-battle-composite.png`
- local browser battle check: `propfix-ma-liang-white-eyebrow-v4-battle-browser-check.png`
- manual checks: build and local browser verification passed after generation
- note: battle composite is a scale review image; gameplay roster is unchanged during sample approval

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -1,10 +1,13 @@
# Strategist Prop Audit
This audit keeps Zhuge Liang's large white feather fan as a unique signature prop.
It also keeps character-specific scholar traits intact: Ma Liang should read as the white-eyebrow civil official, not as another white-robed feather-fan strategist.
## Prop Rule
- `unit-zhuge-liang` is the only unit allowed to use a large white feather fan silhouette.
- `unit-zhuge-liang` may keep the white-robed sage read; other strategists should not rely on white robes plus fan shapes for identity.
- `unit-ma-liang` may use bright white only for his famous eyebrows and small paper highlights. His robe silhouette should stay green/olive/tan and document-focused.
- Other strategist, civil-official, and shaman units should use bamboo slips, scrolls, maps, command tablets, brush cases, small folding fans, talismans, ritual staffs, or faction-specific tools.
- A fan is acceptable only when it does not read as Zhuge Liang's large white feather fan at 50px battle scale.
@@ -13,7 +16,7 @@ This audit keeps Zhuge Liang's large white feather fan as a unique signature pro
| unit | current prop read | issue | action |
| --- | --- | --- | --- |
| `unit-zhuge-liang` | large white feather fan | allowed signature prop | keep |
| `unit-ma-liang` | bamboo slips, bound book, scroll case | white feather fan removed | fixed in batch 1 |
| `unit-ma-liang` | white eyebrows, bamboo slips, bound book, scroll case | white robe/fan read removed while preserving Ma Liang's white-eyebrow identity | fixed in follow-up |
| `unit-pang-tong` | dark wood slips, compact dark folded fan, scroll bundles | no white feather fan | fixed in batch 1 |
| `unit-sima-yi` | black command tablet, sealed military order, tally baton | fan removed | fixed in batch 1 |
| `unit-fa-zheng` | campaign map board, command slips, tally baton | fan removed | fixed in batch 1 |

View File

@@ -1,12 +1,13 @@
# Strategist Prop Fix Batch 1
Goal: keep Zhuge Liang's large white feather fan unique, while preserving strategist readability for representative units.
Follow-up note: character-specific traits matter more than removing every white accent. Ma Liang now keeps a white-eyebrow identity while avoiding Zhuge Liang's white robe and feather-fan language.
## Units Updated
| unit | old read | new prop direction | result |
| --- | --- | --- | --- |
| `unit-ma-liang` | white feather fan / soft scholar | bamboo slips, bound book, scroll case, sealed letter | fixed |
| `unit-ma-liang` | white feather fan / soft Zhuge-like scholar | white eyebrows, green civil-official robes, bamboo slips, bound book, scroll case, sealed letter | fixed in follow-up |
| `unit-pang-tong` | strategist fan pattern | dark wood slips, compact dark folded fan, scroll bundles | fixed |
| `unit-sima-yi` | gray fan could echo Zhuge Liang | black command tablet, sealed military order, tally baton | fixed |
| `unit-fa-zheng` | small fan plus command slips | campaign map board, command slips, tally baton | fixed |
@@ -22,6 +23,14 @@ Goal: keep Zhuge Liang's large white feather fan unique, while preserving strate
| `unit-fa-zheng` | `docs/propfix-fa-zheng-v1-contact.png` | `docs/propfix-fa-zheng-v1-animation.gif` | `docs/propfix-fa-zheng-v1-before-after.png` | `docs/propfix-fa-zheng-v1-battle-composite.png` | `docs/propfix-fa-zheng-v1-debug-preview-battle-check.png` |
| `unit-shu-strategist` | `docs/propfix-shu-strategist-v1-contact.png` | `docs/propfix-shu-strategist-v1-animation.gif` | `docs/propfix-shu-strategist-v1-before-after.png` | `docs/propfix-shu-strategist-v1-battle-composite.png` | `docs/propfix-shu-strategist-v1-debug-preview-battle-check.png` |
## Character Identity Follow-Up
| unit | contact | animation | before/after | battle preview | note |
| --- | --- | --- | --- | --- | --- |
| `unit-ma-liang` | `docs/propfix-ma-liang-white-eyebrow-v4-contact.png` | `docs/propfix-ma-liang-white-eyebrow-v4-animation.gif` | `docs/propfix-ma-liang-white-eyebrow-v4-before-after.png` | `docs/propfix-ma-liang-white-eyebrow-v4-battle-composite.png` | Restores Ma Liang's white-eyebrow read without using Zhuge Liang's white feather fan or white-robed sage silhouette. |
Follow-up browser check: `docs/propfix-ma-liang-white-eyebrow-v4-battle-browser-check.png`.
## Technical Verification
- `pnpm build`: passed.

View File

@@ -1348,8 +1348,8 @@
"baseStatus": "ok",
"actionStatus": "ok",
"battleBasePx": [
24.0,
34.7,
26.5,
35.8,
45.0,
46.3
],

View File

@@ -172,7 +172,7 @@ 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-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-liang` | approved reference | approved-baseline | technical ok | 24.0..34.7 x 45.0..46.3 | |
| `unit-ma-liang` | approved reference | approved-baseline | technical ok | 26.5..35.8 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 | 25.4..37.9 x 45.0..47.0 | |
| `unit-wang-ping` | approved reference | approved-baseline | technical ok | 28.0..33.7 x 45.7..46.0 | |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 KiB

After

Width:  |  Height:  |  Size: 844 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

View File

@@ -767,20 +767,20 @@
1252
],
"partial_alpha": 0,
"opaque_pixels": 1934766,
"opaque_pixels": 2087558,
"border_hits": 0,
"min_width": 150,
"max_width": 217,
"min_width": 166,
"max_width": 224,
"min_height": 282,
"max_height": 290,
"min_bottom": 303,
"max_bottom": 303,
"empty_frames": 0,
"width_swing": 67,
"width_swing": 58,
"height_swing": 8,
"bottom_swing": 0,
"battle_min_width_px": 24.0,
"battle_max_width_px": 34.7,
"battle_min_width_px": 26.5,
"battle_max_width_px": 35.8,
"battle_min_height_px": 45.0,
"battle_max_height_px": 46.3,
"status": "ok"
@@ -793,22 +793,22 @@
1252
],
"partial_alpha": 0,
"opaque_pixels": 4224110,
"opaque_pixels": 4261312,
"border_hits": 0,
"min_width": 126,
"max_width": 204,
"min_width": 139,
"max_width": 212,
"min_height": 282,
"max_height": 295,
"max_height": 291,
"min_bottom": 303,
"max_bottom": 303,
"empty_frames": 0,
"width_swing": 78,
"height_swing": 13,
"width_swing": 73,
"height_swing": 9,
"bottom_swing": 0,
"battle_min_width_px": 20.1,
"battle_max_width_px": 32.6,
"battle_min_width_px": 22.2,
"battle_max_width_px": 33.9,
"battle_min_height_px": 45.0,
"battle_max_height_px": 47.1,
"battle_max_height_px": 46.5,
"status": "ok"
}
},

View File

@@ -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-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-liang` | ok | ok | 150..217 x 282..290 | 126..204 x 282..295 | 24.0..34.7 x 45.0..46.3 | w67 h8 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 |
| 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-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 |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 KiB

After

Width:  |  Height:  |  Size: 892 KiB