2026-09-18 12:36:59 +08:00
..
2026-09-17 19:07:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 15:51:03 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 20:26:15 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 20:26:15 +08:00
2026-09-15 11:40:12 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-17 17:19:02 +08:00
2026-09-15 12:25:11 +08:00
2026-09-15 15:45:41 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
feat(hexmap): port the Catlike Coding hex map as a module and interactive example Adds src/modules/hexmap, an editable pointy-top hex grid with 5x5 chunk dirty tracking, per-chunk mesh generation (terrain fans, blend strips, terraces, cliffs, water, river channels, roads, city walls, decorations and a fog overlay), A* pathfinding, reference-counted fog of war, a unit registry with destination-reserving travel, a versioned save payload and a procedural map generator ported from the reference MapGenerator. Ships the interactive example as a new examples/hex-terrain-3d directory; the unrelated mesh.hexterrain procgen example in examples/hex-terrain is left byte-identical to dev.
2026-09-18 10:09:33 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 16:33:58 +08:00
2026-09-17 19:07:02 +08:00
2026-09-15 17:51:30 +08:00
2026-09-15 15:17:58 +08:00
2026-09-18 11:29:17 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-17 17:19:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 20:26:15 +08:00
2026-09-15 15:17:58 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 15:17:58 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:03 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00
2026-09-15 11:34:02 +08:00