diff --git a/docs/battle-map-terrain-atlas-pipeline.md b/docs/battle-map-terrain-atlas-pipeline.md
index cea923c..e57c59a 100644
--- a/docs/battle-map-terrain-atlas-pipeline.md
+++ b/docs/battle-map-terrain-atlas-pipeline.md
@@ -2,7 +2,7 @@
## Scope
-The first twenty-five campaign battles now use the same hand-painted tactical map pipeline. The renderer still reads the original scenario tile coordinates and battle logic; only the map texture asset changes from flat/vector map art to low-contrast raster terrain.
+The first thirty campaign battles now use the same hand-painted tactical map pipeline. The renderer still reads the original scenario tile coordinates and battle logic; only the map texture asset changes from flat/vector map art to low-contrast raster terrain.
## Art Direction
@@ -42,6 +42,11 @@ python scripts/generate-handpaint-map-sample.py --map twenty-second --webp-quali
python scripts/generate-handpaint-map-sample.py --map twenty-third --webp-quality 90
python scripts/generate-handpaint-map-sample.py --map twenty-fourth --webp-quality 90
python scripts/generate-handpaint-map-sample.py --map twenty-fifth --webp-quality 90
+python scripts/generate-handpaint-map-sample.py --map twenty-sixth --webp-quality 90
+python scripts/generate-handpaint-map-sample.py --map twenty-seventh --webp-quality 90
+python scripts/generate-handpaint-map-sample.py --map twenty-eighth --webp-quality 90
+python scripts/generate-handpaint-map-sample.py --map twenty-ninth --webp-quality 90
+python scripts/generate-handpaint-map-sample.py --map thirtieth --webp-quality 90
```
## Current Assets
@@ -71,6 +76,11 @@ python scripts/generate-handpaint-map-sample.py --map twenty-fifth --webp-qualit
- `src/assets/images/battle/twenty-third-battle-map.webp`
- `src/assets/images/battle/twenty-fourth-battle-map.webp`
- `src/assets/images/battle/twenty-fifth-battle-map.webp`
+- `src/assets/images/battle/twenty-sixth-battle-map.webp`
+- `src/assets/images/battle/twenty-seventh-battle-map.webp`
+- `src/assets/images/battle/twenty-eighth-battle-map.webp`
+- `src/assets/images/battle/twenty-ninth-battle-map.webp`
+- `src/assets/images/battle/thirtieth-battle-map.webp`
## QA Outputs
@@ -122,5 +132,15 @@ python scripts/generate-handpaint-map-sample.py --map twenty-fifth --webp-qualit
- `docs/twenty-fourth-battle-map-handpaint-preview.png`
- `docs/twenty-fifth-battle-map-handpaint-before-after.png`
- `docs/twenty-fifth-battle-map-handpaint-preview.png`
+- `docs/twenty-sixth-battle-map-handpaint-before-after.png`
+- `docs/twenty-sixth-battle-map-handpaint-preview.png`
+- `docs/twenty-seventh-battle-map-handpaint-before-after.png`
+- `docs/twenty-seventh-battle-map-handpaint-preview.png`
+- `docs/twenty-eighth-battle-map-handpaint-before-after.png`
+- `docs/twenty-eighth-battle-map-handpaint-preview.png`
+- `docs/twenty-ninth-battle-map-handpaint-before-after.png`
+- `docs/twenty-ninth-battle-map-handpaint-preview.png`
+- `docs/thirtieth-battle-map-handpaint-before-after.png`
+- `docs/thirtieth-battle-map-handpaint-preview.png`
Browser screenshots are saved per verification run after build/deploy.
diff --git a/docs/thirtieth-battle-map-handpaint-before-after.png b/docs/thirtieth-battle-map-handpaint-before-after.png
new file mode 100644
index 0000000..e33bc98
Binary files /dev/null and b/docs/thirtieth-battle-map-handpaint-before-after.png differ
diff --git a/docs/thirtieth-battle-map-handpaint-preview.png b/docs/thirtieth-battle-map-handpaint-preview.png
new file mode 100644
index 0000000..c25a341
Binary files /dev/null and b/docs/thirtieth-battle-map-handpaint-preview.png differ
diff --git a/docs/twenty-eighth-battle-map-handpaint-before-after.png b/docs/twenty-eighth-battle-map-handpaint-before-after.png
new file mode 100644
index 0000000..a014eb1
Binary files /dev/null and b/docs/twenty-eighth-battle-map-handpaint-before-after.png differ
diff --git a/docs/twenty-eighth-battle-map-handpaint-preview.png b/docs/twenty-eighth-battle-map-handpaint-preview.png
new file mode 100644
index 0000000..c26011c
Binary files /dev/null and b/docs/twenty-eighth-battle-map-handpaint-preview.png differ
diff --git a/docs/twenty-ninth-battle-map-handpaint-before-after.png b/docs/twenty-ninth-battle-map-handpaint-before-after.png
new file mode 100644
index 0000000..dbf1e2c
Binary files /dev/null and b/docs/twenty-ninth-battle-map-handpaint-before-after.png differ
diff --git a/docs/twenty-ninth-battle-map-handpaint-preview.png b/docs/twenty-ninth-battle-map-handpaint-preview.png
new file mode 100644
index 0000000..490bca6
Binary files /dev/null and b/docs/twenty-ninth-battle-map-handpaint-preview.png differ
diff --git a/docs/twenty-seventh-battle-map-handpaint-before-after.png b/docs/twenty-seventh-battle-map-handpaint-before-after.png
new file mode 100644
index 0000000..0cbc2ae
Binary files /dev/null and b/docs/twenty-seventh-battle-map-handpaint-before-after.png differ
diff --git a/docs/twenty-seventh-battle-map-handpaint-preview.png b/docs/twenty-seventh-battle-map-handpaint-preview.png
new file mode 100644
index 0000000..5c6d230
Binary files /dev/null and b/docs/twenty-seventh-battle-map-handpaint-preview.png differ
diff --git a/docs/twenty-sixth-battle-map-handpaint-before-after.png b/docs/twenty-sixth-battle-map-handpaint-before-after.png
new file mode 100644
index 0000000..6e67b6e
Binary files /dev/null and b/docs/twenty-sixth-battle-map-handpaint-before-after.png differ
diff --git a/docs/twenty-sixth-battle-map-handpaint-preview.png b/docs/twenty-sixth-battle-map-handpaint-preview.png
new file mode 100644
index 0000000..60e69a2
Binary files /dev/null and b/docs/twenty-sixth-battle-map-handpaint-preview.png differ
diff --git a/scripts/generate-handpaint-map-sample.py b/scripts/generate-handpaint-map-sample.py
index 3a84fff..bf6b5b6 100644
--- a/scripts/generate-handpaint-map-sample.py
+++ b/scripts/generate-handpaint-map-sample.py
@@ -244,6 +244,51 @@ MAP_CONFIGS = {
"before": BATTLE_IMAGE_DIR / "twenty-fifth-battle-map.svg",
"seed": 240944,
},
+ "twenty-sixth": {
+ "slug": "twenty-sixth-battle-map",
+ "terrain_export": "twentySixthBattleMap",
+ "units_export": "twentySixthBattleUnits",
+ "ally_positions_export": "twentySixthBattleAllyPositions",
+ "out": BATTLE_IMAGE_DIR / "twenty-sixth-battle-map.webp",
+ "before": BATTLE_IMAGE_DIR / "twenty-sixth-battle-map.svg",
+ "seed": 240954,
+ },
+ "twenty-seventh": {
+ "slug": "twenty-seventh-battle-map",
+ "terrain_export": "twentySeventhBattleMap",
+ "units_export": "twentySeventhBattleUnits",
+ "ally_positions_export": "twentySeventhBattleAllyPositions",
+ "out": BATTLE_IMAGE_DIR / "twenty-seventh-battle-map.webp",
+ "before": BATTLE_IMAGE_DIR / "twenty-seventh-battle-map.svg",
+ "seed": 240964,
+ },
+ "twenty-eighth": {
+ "slug": "twenty-eighth-battle-map",
+ "terrain_export": "twentyEighthBattleMap",
+ "units_export": "twentyEighthBattleUnits",
+ "ally_positions_export": "twentyEighthBattleAllyPositions",
+ "out": BATTLE_IMAGE_DIR / "twenty-eighth-battle-map.webp",
+ "before": BATTLE_IMAGE_DIR / "twenty-eighth-battle-map.svg",
+ "seed": 240974,
+ },
+ "twenty-ninth": {
+ "slug": "twenty-ninth-battle-map",
+ "terrain_export": "twentyNinthBattleMap",
+ "units_export": "twentyNinthBattleUnits",
+ "ally_positions_export": "twentyNinthBattleAllyPositions",
+ "out": BATTLE_IMAGE_DIR / "twenty-ninth-battle-map.webp",
+ "before": BATTLE_IMAGE_DIR / "twenty-ninth-battle-map.svg",
+ "seed": 240984,
+ },
+ "thirtieth": {
+ "slug": "thirtieth-battle-map",
+ "terrain_export": "thirtiethBattleMap",
+ "units_export": "thirtiethBattleUnits",
+ "ally_positions_export": "thirtiethBattleAllyPositions",
+ "out": BATTLE_IMAGE_DIR / "thirtieth-battle-map.webp",
+ "before": BATTLE_IMAGE_DIR / "thirtieth-battle-map.svg",
+ "seed": 240994,
+ },
}
diff --git a/src/assets/images/battle/thirtieth-battle-map.svg b/src/assets/images/battle/thirtieth-battle-map.svg
deleted file mode 100644
index fb7a9b8..0000000
--- a/src/assets/images/battle/thirtieth-battle-map.svg
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/src/assets/images/battle/thirtieth-battle-map.webp b/src/assets/images/battle/thirtieth-battle-map.webp
new file mode 100644
index 0000000..e012c14
Binary files /dev/null and b/src/assets/images/battle/thirtieth-battle-map.webp differ
diff --git a/src/assets/images/battle/twenty-eighth-battle-map.svg b/src/assets/images/battle/twenty-eighth-battle-map.svg
deleted file mode 100644
index 87ae462..0000000
--- a/src/assets/images/battle/twenty-eighth-battle-map.svg
+++ /dev/null
@@ -1,121 +0,0 @@
-
diff --git a/src/assets/images/battle/twenty-eighth-battle-map.webp b/src/assets/images/battle/twenty-eighth-battle-map.webp
new file mode 100644
index 0000000..da16b85
Binary files /dev/null and b/src/assets/images/battle/twenty-eighth-battle-map.webp differ
diff --git a/src/assets/images/battle/twenty-ninth-battle-map.svg b/src/assets/images/battle/twenty-ninth-battle-map.svg
deleted file mode 100644
index 9104673..0000000
--- a/src/assets/images/battle/twenty-ninth-battle-map.svg
+++ /dev/null
@@ -1,121 +0,0 @@
-
diff --git a/src/assets/images/battle/twenty-ninth-battle-map.webp b/src/assets/images/battle/twenty-ninth-battle-map.webp
new file mode 100644
index 0000000..c86768a
Binary files /dev/null and b/src/assets/images/battle/twenty-ninth-battle-map.webp differ
diff --git a/src/assets/images/battle/twenty-seventh-battle-map.svg b/src/assets/images/battle/twenty-seventh-battle-map.svg
deleted file mode 100644
index d936170..0000000
--- a/src/assets/images/battle/twenty-seventh-battle-map.svg
+++ /dev/null
@@ -1,120 +0,0 @@
-
diff --git a/src/assets/images/battle/twenty-seventh-battle-map.webp b/src/assets/images/battle/twenty-seventh-battle-map.webp
new file mode 100644
index 0000000..c039f29
Binary files /dev/null and b/src/assets/images/battle/twenty-seventh-battle-map.webp differ
diff --git a/src/assets/images/battle/twenty-sixth-battle-map.svg b/src/assets/images/battle/twenty-sixth-battle-map.svg
deleted file mode 100644
index 512fc56..0000000
--- a/src/assets/images/battle/twenty-sixth-battle-map.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-
diff --git a/src/assets/images/battle/twenty-sixth-battle-map.webp b/src/assets/images/battle/twenty-sixth-battle-map.webp
new file mode 100644
index 0000000..c908037
Binary files /dev/null and b/src/assets/images/battle/twenty-sixth-battle-map.webp differ
diff --git a/src/game/data/battleMapAssets.ts b/src/game/data/battleMapAssets.ts
index 996ec42..b33a0e3 100644
--- a/src/game/data/battleMapAssets.ts
+++ b/src/game/data/battleMapAssets.ts
@@ -42,7 +42,7 @@ import sixteenthBattleMapUrl from '../../assets/images/battle/sixteenth-battle-m
import sixthBattleMapUrl from '../../assets/images/battle/sixth-battle-map.webp';
import tenthBattleMapUrl from '../../assets/images/battle/tenth-battle-map.webp';
import thirteenthBattleMapUrl from '../../assets/images/battle/thirteenth-battle-map.webp';
-import thirtiethBattleMapUrl from '../../assets/images/battle/thirtieth-battle-map.svg';
+import thirtiethBattleMapUrl from '../../assets/images/battle/thirtieth-battle-map.webp';
import thirtyEighthBattleMapUrl from '../../assets/images/battle/thirty-eighth-battle-map.svg';
import thirtyFifthBattleMapUrl from '../../assets/images/battle/thirty-fifth-battle-map.svg';
import thirtyFirstBattleMapUrl from '../../assets/images/battle/thirty-first-battle-map.svg';
@@ -54,14 +54,14 @@ import thirtySixthBattleMapUrl from '../../assets/images/battle/thirty-sixth-bat
import thirtyThirdBattleMapUrl from '../../assets/images/battle/thirty-third-battle-map.svg';
import thirdBattleMapUrl from '../../assets/images/battle/third-battle-map.webp';
import twentiethBattleMapUrl from '../../assets/images/battle/twentieth-battle-map.webp';
-import twentyEighthBattleMapUrl from '../../assets/images/battle/twenty-eighth-battle-map.svg';
+import twentyEighthBattleMapUrl from '../../assets/images/battle/twenty-eighth-battle-map.webp';
import twentyFifthBattleMapUrl from '../../assets/images/battle/twenty-fifth-battle-map.webp';
import twentyFirstBattleMapUrl from '../../assets/images/battle/twenty-first-battle-map.webp';
import twentyFourthBattleMapUrl from '../../assets/images/battle/twenty-fourth-battle-map.webp';
-import twentyNinthBattleMapUrl from '../../assets/images/battle/twenty-ninth-battle-map.svg';
+import twentyNinthBattleMapUrl from '../../assets/images/battle/twenty-ninth-battle-map.webp';
import twentySecondBattleMapUrl from '../../assets/images/battle/twenty-second-battle-map.webp';
-import twentySeventhBattleMapUrl from '../../assets/images/battle/twenty-seventh-battle-map.svg';
-import twentySixthBattleMapUrl from '../../assets/images/battle/twenty-sixth-battle-map.svg';
+import twentySeventhBattleMapUrl from '../../assets/images/battle/twenty-seventh-battle-map.webp';
+import twentySixthBattleMapUrl from '../../assets/images/battle/twenty-sixth-battle-map.webp';
import twentyThirdBattleMapUrl from '../../assets/images/battle/twenty-third-battle-map.webp';
import twelfthBattleMapUrl from '../../assets/images/battle/twelfth-battle-map.webp';