Add vision-LLM import pipeline for hex terrain classification
Adds a 3-phase pipeline to populate a HexMap from a source image using Claude's vision capabilities instead of naive pixel-color matching: Phase 1 (extract-submaps): crops annotated submap PNGs per hex, including center + 6 neighbours with SVG overlay. Phase 2: Claude classifies submaps in a Code session, writing classifications.json — resumable across sessions. Phase 3 (import-from-json): reads classifications.json into the DB. Also adds assemble-map.ts to reconstruct a full image from a Leaflet tile pyramid (used to recover the Aventurien source map from kiepenkerl). Adds CLAUDE.md documenting the approach, scale constants (PIXELS_PER_MEILE=8, hexSize=40 = 10 Meilen/Hex), and the Nord/Mitte/Süd region split for the Aventurien map. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,7 +11,10 @@
|
||||
"test": "vitest run",
|
||||
"test:watch": "vitest",
|
||||
"server": "tsx server/index.ts",
|
||||
"pipeline:tiles": "tsx pipeline/generate-tiles.ts"
|
||||
"pipeline:tiles": "tsx pipeline/generate-tiles.ts",
|
||||
"pipeline:assemble": "tsx pipeline/assemble-map.ts",
|
||||
"pipeline:extract": "tsx pipeline/extract-submaps.ts",
|
||||
"pipeline:import": "tsx pipeline/import-from-json.ts"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/cors": "^2.8.19",
|
||||
@@ -24,6 +27,7 @@
|
||||
"vitest": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "^0.89.0",
|
||||
"concurrently": "^9.2.1",
|
||||
"cors": "^2.8.6",
|
||||
"express": "^5.2.1",
|
||||
|
||||
Reference in New Issue
Block a user