Scene Viewer Gallery
A handful of real, named locations composited exactly as the game (and
the offline asset viewer) build them: a landscape backdrop plus placed
foreground/background objects, run through src/data/scene-compositor.ts’s
compositeScene() — the same function src/engine/Game.ts calls for the
in-game tile-click scene preview and tools/viewer/viewer.ts calls for the
“any named location” browser.
compositeScene() renders onto a live CanvasRenderingContext2D, so it
can’t produce a static image on its own. These six PNGs were generated ahead
of time by tools/wime/render-scene-gallery.ts, a small headless script that
feeds compositeScene() a minimal Node-side canvas shim (this repo has no
canvas/@napi-rs/canvas dependency, so no new one was added — the shim
implements only the handful of 2D calls compositeScene() actually makes)
and the real per-location data from
data/extracted/scene-viewer-locations.json (69 named locations in total;
these six were picked for a mix of visual variety and Lord-of-the-Rings
name recognition).





