feat(editor): add WTAX JSON round-trip authoring workflow

Closes the WTAX open-format loop with --export-wtax-json /
--import-wtax-json, mirroring the JSON pairs added for
every other novel binary format. All 18 binary formats
added since WOL now have full JSON round-trip authoring.

Two top-level arrays mirror the binary layout:
  • nodes[] — nodeId / mapId / name / iconPath / position[3] /
    factionAlliance + factionHorde restrictions
  • paths[] — pathId / fromNodeId / toNodeId / moneyCostCopper /
    waypoints[] each with position[3] + delaySec

Vec3 fields become 3-element JSON arrays for natural
hand-edit. The intra-format graph (paths reference nodeIds)
round-trips exactly so the catalog's connectivity is
preserved.

Verified byte-identical round-trip on the continent preset
(6 nodes + 8 paths covering hub-and-spoke + 3 perimeter
shortcuts, 16 total waypoints).

Adds 2 flags (573 documented total now).
This commit is contained in:
Kelsi 2026-05-09 16:35:01 -07:00
parent 99baf2d0c4
commit cc4b9a6fad
3 changed files with 157 additions and 0 deletions

View file

@ -70,6 +70,7 @@ const char* const kArgRequired[] = {
"--export-wgsp-json", "--import-wgsp-json",
"--gen-taxi", "--gen-taxi-region", "--gen-taxi-continent",
"--info-wtax", "--validate-wtax",
"--export-wtax-json", "--import-wtax-json",
"--gen-talents", "--gen-talents-warrior", "--gen-talents-mage",
"--info-wtal", "--validate-wtal",
"--gen-weather-temperate", "--gen-weather-arctic",