IGAH: Isometric Game Asset Harness

Blueprints in, engine-ready 2:1 isometric pixel-art sprites out.

Describe an object once as JSON primitives (or an imported GLB model) on a tile footprint. The harness renders all four rotations on an exact pixel grid, with pixel-scale textures, a shared 32-colour palette, a 1 px outline and a dithered shadow. It packs a sprite sheet with a manifest (pivots, footprints, occupancy, door anchors) and depth and picking maps, then runs eight quality gates. Characters get their own format: 8 facing directions with an idle frame and a walk cycle, all customizable. Everything runs in the browser and in Node through the same code, with no dependencies.

Coaster station on the tile grid

Try it

Run it locally

npm run serve        # http://localhost:8080: home, sandbox, characters
npm test             # unit tests
npm run gallery      # every prop into gallery/ (fails if any gate fails)
npm run gallery:48   # the same at native 48×24 tiles
npm run characters   # every character sheet
npm run scenes       # scene mock-ups
npm run build:site   # the public website into dist/

Node 20 or newer. Nothing to install.

Pipeline

  1. Blueprint: JSON primitives (box, pyramid, cylinder, cone, gable, wedge, stairs, arch, model) with patterns, groups, repeats, hinged parts and anchors.
  2. Render: 2:1 orthographic, fixed top-left light, hard shadows, posterized shading, 4 × 4 edge sampling, four rotations.
  3. Clean: the IGAH-32 palette, shadow dither, outline, crop around the base diamond.
  4. Pack: sprite sheet, igah.sprite/1 manifest, ground-depth map, part map.
  5. Gate: calibration, tile seam, views, pivot, hard alpha, palette, shadow direction, maps.

Characters follow the same path into igah.character/1 sheets, with a foot-contact gate.

All docs