mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 02:53:51 +00:00
feat(editor): add --audit-watertight-wob building QA tool
Sibling of --audit-watertight that walks every .wob under <root> and runs the welded watertight check on every group. A WOB passes only if every group is closed — interior rooms in a real building should each be a closed solid even though the building as a whole has intentional portal openings between them. Per-failure detail lists which groups failed and why (boundary edge count + non-manifold edge count). Exit code is the number of failed buildings (capped at 255) — same CI-friendly contract as the WOM audit. Smoke tested against /tmp/migtest cube.wob: PASS, 12 tris, exit code 0.
This commit is contained in:
parent
f1528f2dd7
commit
26f1947c84
3 changed files with 138 additions and 1 deletions
|
|
@ -511,6 +511,8 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Convert a multi-group WOB building into a single WOC collision file (weld is per-group)\n");
|
||||
std::printf(" --audit-watertight <zoneDir|projectDir> [--weld <eps>] [--json]\n");
|
||||
std::printf(" Walk every .wom under root, run welded watertight check; exit code = failure count (CI-friendly)\n");
|
||||
std::printf(" --audit-watertight-wob <zoneDir|projectDir> [--weld <eps>] [--json]\n");
|
||||
std::printf(" Walk every .wob, check that EVERY group is closed (per-group weld) — interior rooms must be solid\n");
|
||||
std::printf(" --import-obj <obj-path> [wom-base]\n");
|
||||
std::printf(" Convert a Wavefront OBJ back into WOM (round-trips with --export-obj)\n");
|
||||
std::printf(" --export-wob-obj <wob-base> [out.obj]\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue