# RuneWaker dungeon maps The RuneWaker minimap shows a cropped dungeon map centered on the live player marker. Press **M** or click the minimap to open the full map. The player marker and heading, entrance, and numbered encounters use the same coordinate projection in both views. The full map closes with **M**. The existing map keybind and minimap rotation preference apply to RuneWaker dungeons too. All 30 imported RuneWaker dungeon definitions have maps. Fifteen use calibrated minimap tiles from the extracted RuneWaker client. Fifteen use floorplans rendered from each dungeon's imported navigation mesh because matching client tiles are missing or cannot be aligned confidently. The floorplans still place live markers and encounters at their runtime coordinates. The UI labels a floorplan as such. ## Reimporting Run `python scripts/runewaker-pipeline/import-maps.py` from the HealerMan root with Pillow and NumPy available. `RUNEWAKER_ROOT` can point to the extracted RuneWaker client; the default is `../Runewaker`. The importer reads DDS tiles under `Resource/texture/minimap`, the primary WDB placement in each dungeon's `import-metadata.json`, and the navigation GLB. It measures alignment between the tile artwork and navigation geometry, accepts client artwork at confidence 0.65 or higher, and creates a navigation floorplan otherwise. The generated PNGs live at `public/assets/game/dungeons//maps/runewaker-map.png`. The runtime projection and source checksums live in `src/game/generated/runewakerDungeonMaps.generated.json`. The map loader rejects catalog entries when the dungeon map ID, coordinate transform, or visual checksum no longer matches the runtime definition. Reimport after changing those inputs. Run `npm run content:publish` after reimporting so downloadable dungeon packs contain their map PNGs, then `npm run build` to refresh the bundled app. ## Verification Run `node node_modules/vitest/vitest.mjs run src/game/dungeonArtworkMap.test.ts src/ui/DungeonMapGraphic.test.ts src/ui/MapPanel.test.ts`. `node scripts/playtest-runewaker-maps.cjs` checks Forsaken Abbey in a browser, including its downloaded artwork, minimap, M-key full map, and marker projection. Screenshots are written to `artifacts/playtest/runewaker-maps/`.