refactor(editor): extract 9 export handlers + sha256 helper into cli_export.cpp

Moves the report-export handlers (md / csv / html / sha256 /
graphviz) for zone & project audits out of main.cpp:
  --export-zone-summary-md       --export-zone-csv
  --export-zone-checksum         --export-project-checksum
  --validate-project-checksum    --export-zone-html
  --export-project-html          --export-project-md
  --export-quest-graph

Also moves the file-scope wowee_sha256 namespace (the SHA-256
implementation that the checksum exporters use) into the new
module's anonymous namespace — it had no other callers in
main.cpp so no cross-TU coupling needed.

main.cpp drops 13,120 → 12,119 lines (-1,001). Build error
during extraction (missing #include <unordered_set>) caught
and fixed.
This commit is contained in:
Kelsi 2026-05-09 05:45:00 -07:00
parent e95dd7692b
commit a4d282b588
4 changed files with 1115 additions and 1005 deletions

View file

@ -1321,6 +1321,7 @@ add_executable(wowee_editor
tools/editor/cli_spawn_audit.cpp
tools/editor/cli_items.cpp
tools/editor/cli_extract_info.cpp
tools/editor/cli_export.cpp
tools/editor/editor_app.cpp
tools/editor/editor_camera.cpp
tools/editor/editor_viewport.cpp

1090
tools/editor/cli_export.cpp Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,20 @@
#pragma once
namespace wowee {
namespace editor {
namespace cli {
// Dispatch the report-export handlers (md / csv / html / sha256 /
// graphviz) for zone & project audits:
// --export-zone-summary-md --export-zone-csv
// --export-zone-checksum --export-project-checksum
// --validate-project-checksum --export-zone-html
// --export-project-html --export-project-md
// --export-quest-graph
//
// Returns true if matched; outRc holds the exit code.
bool handleExport(int& i, int argc, char** argv, int& outRc);
} // namespace cli
} // namespace editor
} // namespace wowee

File diff suppressed because it is too large Load diff