How vonnekyia/heroic-map-renderer works
Heroic Map Renderer turns Minecraft Java worlds and resource packs into isometric WebP tile pyramids, then displays them in a Leaflet frontend. The main workflow is CLI configuration, world and asset loading, sprite preparation, tile rendering and pyramid generation, followed by browser tile loading. The frontend also supports block picking from renderer-produced height data. The README documents GPU/CPU rendering, biome and lighting fidelity, resume, native zoom levels and live viewing; sampled source confirms only selected wiring, so uncertain internal calls are omitted.
Main entry points: cli.rs CLI orchestration · main.ts Leaflet application · mod.rs World reader · pack.rs Resource pack
Components 22
Inputs and Assets
- CLI orchestration
renderer/src/cli.rs - World reader
renderer/src/world/mod.rs - Chunk decoding
renderer/src/world/chunk.rs - Region reading
renderer/src/world/region.rs - Resource pack
renderer/src/assets/pack.rs - Models and states
renderer/src/assets - Biome colors
renderer/src/assets/colors.rs
Rendering Engine
- Sprite preparation
renderer/src/render/sprites.rs - Metatile rendering
renderer/src/render/metatile.rs - Projection and raster
renderer/src/render - GPU renderer
renderer/src/render/gpu.rs
Tiles and Pyramids
- Tile generation
renderer/src/render/tiles.rs - Zoom pyramid
renderer/src/render/pyramid.rs - WebP tiles
- Map metadata
- Height data
Map Frontend
- Leaflet application
web/src/main.ts - Block picking
web/src/pick.ts
Other components
- Renderer operator
- Minecraft world
- Pack and game data
- Map viewer
Connections 22
- Renderer operator → CLI orchestration: configures render
- Minecraft world → World reader: supplies chunks
- Pack and game data → Resource pack: supplies assets
- CLI orchestration → World reader: opens world
- World reader → Region reading: reads regions
- Region reading → Chunk decoding: decodes chunks
- CLI orchestration → Resource pack: loads packs
- Resource pack → Models and states: resolves assets
- CLI orchestration → Sprite preparation: prepares sprites
- CLI orchestration → Tile generation: renders tiles
- Sprite preparation → Metatile rendering: provides sprites
- Metatile rendering → Projection and raster: draws metatiles
- GPU renderer → Projection and raster: accelerates drawing
- Tile generation → Zoom pyramid: builds zooms
- Zoom pyramid → WebP tiles: writes tiles
- CLI orchestration → Map metadata: writes metadata
- CLI orchestration → Height data: writes heights
- Map viewer → Leaflet application: opens map
- Leaflet application → WebP tiles: loads tiles
- Leaflet application → Map metadata: loads metadata
- Leaflet application → Height data: loads heights
- Leaflet application → Block picking: requests pick