Files
sporel-module-vagrant-skeleton/maps/vagrant_test.map.json
calic 6a48653569 vagrant: migrate map to v3 multi-layer + autotile + overrides
manifest.module
  + new dep on lib-asset.prototype-blob-geom v0.1.0 (companion lib
    for the design paper's reference asset set + Python atlas-packer)
  + asset_aliases entry for blob_testbench (mixed 3-material atlas:
    grass/stone/wood x 14 slots = 42 tiles) and blob_rect_stone
    (single-material atlas for vertex-painted autotile)
  - removed subterrain_tiles asset_alias (no longer used)
  bumped lib-core.maps dep 0.4.0 -> 0.5.0

vagrant_test.map.json rewritten as native schema-v3 with three non-
empty terrain layers, exercising all renderer paths in a single map:
  - surface (tiles[] path, multi-material via blob_testbench):
      grass-solid floor across all 400 cells
      14-wide x 3-tall showcase strip on rows 10-12 columns 2-15
      displays every slot of every material the atlas ships (slot 0
      through 13 x grass/stone/wood, ids 1..42 visible at a glance)
  - topsurface (tiles[] path): 2x4 wood overlay decoration on rows
      3-4 columns 2-5
  - wall (vertex-painted autotile with blob_rect_stone material):
      21x21 vertex grid; 80 vertices painted in a border-ring pattern
      so the renderer's bitmask + 47->14 slot lookup produces the
      visually-correct stone wall around the 18x18 interior; plus
      3 interior pillars (cells 9:7, 7:15, 13:15) authored as
      overrides with slot 0 (isolated), demonstrating that the
      override sublayer can place truly-1-cell-isolated material
      which the any-corner vertex rule alone cannot express

assets/tiles/vagrant_test.tilemap.json removed; under schema v3 the
engine resolves the palette directly from the atlas's tiles.atlas.json,
the standalone tilemap.json was unused (atlas-bootstrap stub path
took over since M.2).

Closure verifies SPOREL_CI=1 ./Sporel.exe --module=vagrant-skeleton
rc=0 with 60 render_frame_ok, both atlases load (no magenta-
placeholders), walkability rule (surface present + wall absent)
correctly treats border + pillars as non-walkable.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 20:49:26 +02:00

7.5 KiB