Neverblender is installed + enabled in this machine's Blender 4.0.2 config and
confirmed working headless via the flake. Add generator/export_mdl.py:
assembles each tile as a Neverblender-native model (AuroraBase dummy/tile,
trimesh, single aabb walkmesh) in its own scene and calls scene.nvb_mdlexport
to emit real ASCII <resref>.mdl + <resref>.wok for all 40 tiles.
Walkmesh surfacemats via create_wok_materials() slot order (walkable Stone=4,
Nonwalk=7) -> verified correct per tile (CP1 all 4, CN1 all 7, BR_1/CE_S mixed).
flake.nix: add `export` app (nix run .#export -- <blend> <outdir> [CODE...]).
AGENTS.md: record the Neverblender node/surfacemat facts and the kit's tools;
note the slot-index (not material-name) surfacemat gotcha.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
AGENTS.md: NWN:EE tileset construction reference (constraints, .mdl/.wok
walkmesh rules, .set format, Blender->NWN pipeline, prototype->NWN mapping).
wgt01/: Westgate Urban Foundation MVP kit.
- generator/tiles.py: single source of truth (40-tile table, materials,
12x12 test map, pure paint/height/walkmesh/.set derivations).
- generator/build.py: Blender 4.0.2 scene generator (VIS_/WOK_/BLOCK_ per
tile, edge metadata, library grid + 12x12 district previews).
- generator/make_wok.py: ASCII walkmesh emitter (verts+faces+surfacemat+AABB
tree) from the same geometry.
- generator/make_set.py: first-pass twu01.set (CRLF) from the tile grammar.
- flake.nix: build/wok/set apps + dev shell (pinned Blender 4.0.2, NWN tools).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>