Render textured aerial maps and support legacy recovery links

This commit is contained in:
2026-10-05 18:11:12 +05:00
parent dcc3779262
commit 2cbaf45340
12 changed files with 226 additions and 35 deletions

View File

@@ -1,15 +1,18 @@
# Surface maps
Plugin exports now produce a flat, north-up map rather than a textured aerial
render. The map uses up to 128 cells along its longest side, chooses the dominant
surface material in each cell, shades slopes and water depth, and retains the
original world bounds. Transparent glass and small vegetation do not hide the
ground. Unknown blocks use stone gray; material colors are approximations.
Plugin exports produce a north-up, textured aerial view of the same Minecraft
terrain used for panoramas. An orthographic camera looks straight down from
Y=320. An angled sun adds shadows that show mountain slopes and structures;
panorama lighting is unchanged. Vanilla block models, textures, biome tints,
buildings, trees and water appear in the map. The image keeps one world block
square, including rectangular exports, so the guessing pin still matches X/Z
coordinates. Exports up to 256 blocks across render at eight pixels per block;
larger exports are capped at 2048 pixels along their longest side.
Uncaptured terrain appears as parchment. The saved WebP uses lossless compression
and nearest-neighbor scaling, with a subtle grid. Fabric maps retain their
client-captured colors and are also compressed losslessly. The web preview,
player guessing map and results share a parchment frame.
Uncaptured terrain appears as parchment. The saved WebP uses high-quality
compression. Fabric maps retain their client-captured colors and are compressed
losslessly. The web preview, player guessing map and results share a parchment
frame.
New plugin uploads automatically use the new renderer. Existing processed images
are not regenerated merely by restarting the web server. For an unpublished
@@ -24,4 +27,6 @@ panoramas or changing stored data:
npm run render:map -- path/to/terrain.json.gz path/to/map.webp
```
The parchment is a local SVG UI asset; no remote textures are required.
The parchment frame is a local SVG UI asset. Textured plugin maps use the
verified vanilla Minecraft asset cache prepared by `npm run setup` or by the
worker on demand.