diff --git a/tools/editor/FORMAT_SPEC.md b/tools/editor/FORMAT_SPEC.md index ec6ae187..a7805469 100644 --- a/tools/editor/FORMAT_SPEC.md +++ b/tools/editor/FORMAT_SPEC.md @@ -128,3 +128,39 @@ Novel file formats for custom WoW zone content. No Blizzard IP. ## All formats are novel, portable, and open for redistribution. ## No Blizzard intellectual property is used in any format definition. + +## Headless CLI Surface + +The `wowee_editor` binary provides a complete non-GUI workflow over these formats: + +### Inspection +- `--info ` — WOM metadata (vertices/bones/animations/batches) +- `--info-wob ` — WOB groups/portals/doodads +- `--info-woc ` — WOC triangles/walkability counts +- `--info-wot ` — WOT/WHM tile coord, chunks, height range +- `--info-wcp ` — WCP archive metadata (per-category counts) +- `--list-wcp ` — every file in a WCP, sorted by path +- `--info-creatures

` — creatures.json summary +- `--info-objects

` — objects.json summary +- `--info-quests

` — quests.json summary + chain validation + +### Validation +- `--validate ` — open-format completeness score (0/7) with per-format counts +- `--zone-summary ` — one-shot validate + creature/object/quest counts +- `--diff-wcp ` — file-by-file WCP comparison (added/removed/changed) + +### Authoring +- `--scaffold-zone [tx ty]` — create a blank zone in custom_zones// +- `--build-woc ` — generate WOC collision mesh from WHM/WOT +- `--regen-collision ` — rebuild every WOC under a zone dir +- `--export-png ` — render heightmap/normal/zone-map PNG previews +- `--convert-m2 ` — M2 → WOM +- `--convert-wmo ` — WMO → WOB + +### Packaging +- `--pack-wcp [dst]` — pack a zone into a WCP archive +- `--unpack-wcp [dst]` — extract a WCP archive + +### Discovery +- `--list-zones` — list custom_zones/ + output/ contents +- `--version` — version info