Mod ships: the catalog gate decides every file-decidable GLB fact once #22

Merged
nibu merged 4 commits from eureka/aetheria-release-mod-ship-glb-gate into master 2026-11-13 07:28:21 +00:00

2026-11-13

Nibu
ShipRigTests fixture: the shared mesh has a POSITION primitive
The fixture's empty primitives array is a mesh the importer cannot
build, which Bind now refuses.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 06:22:33 +00:00
Nibu
Bind decides every GLB-structure fact of a mod ship once
ReadNodeIds' HasMesh is now BuildsMesh: no skin, mesh index inside meshes,
at least one primitive, POSITION and triangle mode on each. Assemble's
shield-radii throw is deleted (Bind's PositiveScale is the judge). The FBX
thruster emitter takes Hide, with a smoke Require. Unity-only edits are
not compiled in this Body.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 06:08:44 +00:00
Nibu
Red test: a boot catalog must hold no hull the importer cannot build
ABootCatalogHoldsNoHullTheImporterCannotBuild fails at f7fd76857: dangling,
POSITION-less, skinned and primitive-less mesh nodes are all composed
and included (Excluded is empty).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 06:08:02 +00:00