Kelsidavis-WoWee/tools/editor/cli_info_extents.hpp
Kelsi c005396040 refactor(editor): extract --info-{zone,project}-extents into cli_info_extents.cpp
Moves the two spatial-bounds info handlers (--info-zone-extents,
--info-project-extents) out of main.cpp into a new
cli_info_extents.{hpp,cpp} module. Both compute world-space XYZ
bounding boxes from manifest tile coords + per-chunk height
samples; the project variant unions every zone's box into one.

main.cpp shrinks by 232 lines (7,695 to 7,463). Both --json
output modes preserved for camera-framing pipelines.
2026-05-09 07:22:06 -07:00

22 lines
716 B
C++

#pragma once
namespace wowee {
namespace editor {
namespace cli {
// Dispatch the spatial-bounds info handlers — compute world-space
// XYZ bounding boxes from manifest tile coords + per-chunk
// height samples. Useful for sizing camera frustums, planning
// new tile placement, and sanity-checking project layouts.
// --info-zone-extents one zone's bounding box
// --info-project-extents union across every zone in a project
//
// Both support an optional trailing `--json` flag for
// machine-readable reports.
//
// Returns true if matched; outRc holds the exit code.
bool handleInfoExtents(int& i, int argc, char** argv, int& outRc);
} // namespace cli
} // namespace editor
} // namespace wowee