feat: switch to LPC tileset with layered autotiling

Replace the 16x16 tileset with LPC Base Assets (32x32 tiles, 1.5x scale).
Uses a 4-layer rendering approach:
- Layer 0: solid grass base (grass.png)
- Layer 1: water transitions (watergrass.png) with LPC autotile edges
- Layer 2: dirt transitions (dirt.png) with LPC autotile edges
- Layer 3: tree canopy decorations (treetop.png)

LPC autotile format: 3x6 grid with inner/outer corners, edges, and fill
tiles. Edge tiles are selected based on 8-neighbor terrain analysis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
root
2026-03-07 23:40:15 +00:00
parent 4a2819695b
commit 17621fbd59
9 changed files with 101 additions and 79 deletions
+5 -6
View File
@@ -108,12 +108,11 @@ export function generateMap(
}
// --- Trees (decorations on grass tiles) ---
// Tree tile indices in the tileset (17 cols wide):
// Deciduous tree top: row 2, col 9 = 2*17+9 = 43 (but multi-tile)
// Small bush: row 7, col 9 = 7*17+9 = 128
// Pine tree: row 3, col 15 = 3*17+15 = 66
// We'll use a few different tree/bush decoration tiles
const TREE_TILES = [128, 129, 130, 145, 146]; // small plants/bushes from right side of tileset
// Tree tile indices reference treetop.png (6 cols x 7 rows)
// Pick recognizable canopy center tiles from each of the 4 trees:
// Deciduous 1 center: (1,1) = 7 Deciduous 2 center: (4,1) = 10
// Conifer 1 center: (1,5) = 31 Conifer 2 center: (4,5) = 34
const TREE_TILES = [7, 10, 31, 34];
for (let y = 1; y < height - 1; y++) {
for (let x = 1; x < width - 1; x++) {