feat(editor): add WSCH JSON round-trip (export/import sidecar)

Closes the JSON round-trip gap on the spell school catalog
format shipped last batch. WSCH has no enum fields with
name forms — just raw numeric school bits and flag bytes —
so the JSON mapping is a direct dump. --import-wsch-json
defaults canBeImmune/Absorbed/Crit to 1 and canBeReflected
to 0 when omitted, matching the WoW canonical behavior for
most schools (only Holy is non-immune, only Physical isn't
reflectable). Verified byte-identical round-trip on all
three preset emitters (starter / magical / combined). 806
documented CLI flags.
This commit is contained in:
Kelsi 2026-05-09 20:20:55 -07:00
parent a664027f5f
commit 8a4276338c
3 changed files with 132 additions and 0 deletions

View file

@ -171,6 +171,7 @@ const char* const kArgRequired[] = {
"--export-wkbd-json", "--import-wkbd-json",
"--gen-sch", "--gen-sch-magical", "--gen-sch-combined",
"--info-wsch", "--validate-wsch",
"--export-wsch-json", "--import-wsch-json",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",