Commit graph

4 commits

Author SHA1 Message Date
Kelsi
961d863f82 fix: shell injection in gitCommit projectDir, test directory cleanup
- gitCommit() now uses double quotes for projectDir consistently with
  gitPush/gitPull/gitStatus (was single quotes, breaking on paths with
  apostrophes like "John's Project")
- Test suite auto-cleans test_output_formats/ directory via Catch2
  event listener after all tests complete (was leaving empty dir)
2026-05-05 15:16:20 -07:00
Kelsi
22fb509416 test: WOT metadata round-trip with doodad/WMO placements
Comprehensive test for WOT JSON metadata parsing: verifies tile coords,
texture list, chunk layers with holes, water data, doodad names and
placements (nameId, uniqueId, position, rotation, scale, flags), and
WMO names and placements (nameId, uniqueId, position, rotation, flags,
doodadSet) all survive the export→load cycle.

31 new assertions. Total: 309 assertions across 81 test cases.
All open format round-trips now have test coverage.
2026-05-05 15:06:39 -07:00
Kelsi
47eff19cb6 feat: WOB material serialization, FORMAT_SPEC v1.1, material tests
- WOB save/load now serializes Material struct fields (flags, shader,
  blendMode, texturePath) per group — was saving only texture paths
- FORMAT_SPEC.md v1.1: documents WOT doodad/WMO placements, WOB
  material fields, doodad rotation, terrain stamps, WCP file list
- Test coverage: 5 new assertions verify material round-trip (flags,
  shader, blendMode all preserved through save→load cycle)
- 260 total assertions across 75 test cases, all passing
2026-05-05 14:53:28 -07:00
Kelsi
9e33ad645c test: add unit tests for WOB and WHM open format round-trips
- WOB save/load round-trip: verifies groups, vertices, indices,
  portals, doodad placements with rotation and scale preservation
- WOB toWMOModel conversion: verifies WOB→WMO geometry bridge works
- WHM heightmap save/load: verifies 256-chunk terrain with per-vertex
  height data round-trips correctly through binary format
- WHM invalid magic rejection: verifies corrupt files are rejected
- WOB missing file rejection: verifies graceful failure
- 29 new assertions across 5 test cases
2026-05-05 14:49:05 -07:00