feat(editor): add WMNL JSON round-trip (--export/--import-wmnl-json)

Plain-shape JSON sidecar — WMNL has no enum fields to
coerce, just positional + textual data: levelIndex
(uint8), minZ/maxZ (floats), texturePath/displayName
(strings). Float-precise round-trip preserved (the
Stormwind/Dalaran/Undercity Z-range boundaries don't
have any rounding artifacts since they were authored
as integer-multiple values like 80.0, 130.0, 200.0).

All 3 presets (Stormwind/Dalaran/Undercity, 3+4+5 = 12
levels total across the city stack) byte-identical
roundtrip OK. CLI flag count 1196 -> 1198.
This commit is contained in:
Kelsi 2026-05-10 02:04:47 -07:00
parent d49080db92
commit cf886ec94b
3 changed files with 120 additions and 0 deletions

View file

@ -339,6 +339,7 @@ const char* const kArgRequired[] = {
"--export-wrpr-json", "--import-wrpr-json",
"--gen-mnl", "--gen-mnl-dalaran", "--gen-mnl-undercity",
"--info-wmnl", "--validate-wmnl",
"--export-wmnl-json", "--import-wmnl-json",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",