Kelsidavis-WoWee/tools/editor
Kelsi 1797ffd280 feat(editor): add --info-pack-budget for per-extension WCP byte breakdown
Where --info-wcp shows file counts per category, this drills into
per-extension byte costs so users can spot what's bloating an
archive before shipping:

  wowee_editor --info-pack-budget custom_zones/MyZone.wcp

  WCP budget: custom_zones/MyZone.wcp
    total: 47 file(s), 2.34 MB

    ext           count        bytes      KB    share
    .whm              4      1683456  1644.0   70.3%
    .wob              3       451200   440.6   18.8%
    .wom             12       163840   160.0    6.8%
    .json             8        85120    83.1    3.6%
    .woc              1        12672    12.4    0.5%

Sorted by bytes descending so the heaviest contributors surface
first. Useful for:
- Spotting accidental .glb/.obj inclusion in shipping packs
  (`--pack-wcp` should run after `--strip-zone` to keep
  derived outputs out)
- Capacity budgeting when targeting a max-pack-size
- Comparing pre/post compression ratios

Pairs with --info-wcp (counts), --list-wcp (full file list),
--diff-wcp (compare two packs), --info-pack-budget (this one,
byte costs).

Verified on a freshly-mvp-zone packed WCP: 6 files / 0.17 MB
correctly broken down (whm 84%, wot 14.9%, json 1.1%).
2026-05-06 17:38:28 -07:00
..
adt_writer.cpp fix(adt): scrub NaN/inf floats at write time 2026-05-06 06:49:51 -07:00
adt_writer.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
asset_browser.cpp feat(editor): Find Valid Tile button, improved ADT loading workflow 2026-05-05 06:35:37 -07:00
asset_browser.hpp feat(editor): Find Valid Tile button, improved ADT loading workflow 2026-05-05 06:35:37 -07:00
content_pack.cpp fix(wcp): cap readInfo file-list parse at 1M entries 2026-05-06 09:57:37 -07:00
content_pack.hpp feat(validate): report file counts and per-format invalid totals 2026-05-06 07:12:04 -07:00
dbc_exporter.cpp feat(editor): export creature/faction/item DBCs alongside zone DBCs 2026-05-06 01:41:53 -07:00
dbc_exporter.hpp feat(editor): DBC→JSON export for open format zone data tables 2026-05-05 10:21:14 -07:00
editor_app.cpp fix(editor): NaN-safe baseHeight propagation in addAdjacentTile 2026-05-06 08:37:19 -07:00
editor_app.hpp feat(editor): status bar asterisk also reflects unsaved object/NPC/quest changes 2026-05-06 03:01:09 -07:00
editor_brush.cpp fix(brush): defensive guards in EditorBrush::getInfluence 2026-05-06 07:38:50 -07:00
editor_brush.hpp fix(brush): NaN-guard EditorBrush::setPosition 2026-05-06 10:15:00 -07:00
editor_camera.cpp fix(camera): NaN guards on pivot orbit, setPosition, setYawPitch 2026-05-06 08:03:57 -07:00
editor_camera.hpp fix(camera): validate setSpeed input against wheel-clamp range 2026-05-06 10:12:45 -07:00
editor_history.cpp fix(history): bounds-check chunkIndex in captureChunk/restoreChunk 2026-05-06 10:13:56 -07:00
editor_history.hpp fix(editor): undo now covers texture painting, fix stale buffer bug 2026-05-05 12:58:11 -07:00
editor_markers.cpp fix(markers): skip objects with NaN position/scale on update 2026-05-06 07:56:26 -07:00
editor_markers.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
editor_project.cpp fix(project): cap zones at 1024 on project load 2026-05-06 10:01:36 -07:00
editor_project.hpp feat(editor): git integration for collaborative expansion development 2026-05-05 09:45:00 -07:00
editor_ui.cpp feat(editor): preset selection auto-fills sensible AzerothCore faction 2026-05-06 04:48:30 -07:00
editor_ui.hpp feat(editor): path preview line, transform undo, complete undo coverage 2026-05-05 13:33:28 -07:00
editor_viewport.cpp fix(viewport): clear ghost preview on NaN/non-positive inputs 2026-05-06 08:24:51 -07:00
editor_viewport.hpp feat(editor): viewport WOM/WOB lookups also probe per-zone roots 2026-05-06 04:13:03 -07:00
editor_water.cpp fix(water): skip chunks with NaN water height in mesh build 2026-05-06 08:04:44 -07:00
editor_water.hpp feat(editor): brush radius circle indicator on terrain 2026-05-05 04:10:46 -07:00
FORMAT_SPEC.md docs(formats): document the complete headless CLI surface 2026-05-06 08:53:45 -07:00
main.cpp feat(editor): add --info-pack-budget for per-extension WCP byte breakdown 2026-05-06 17:38:28 -07:00
npc_presets.cpp fix(editor): filter bad M2 models, toast on tile not found, robustness 2026-05-05 07:10:29 -07:00
npc_presets.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
npc_spawner.cpp fix(npc): cap spawn count at 50k on load 2026-05-06 09:56:55 -07:00
npc_spawner.hpp fix(editor): NPC default scale 1.0 (was 3.0) to match AzerothCore defaults 2026-05-06 04:27:22 -07:00
object_placer.cpp fix(editor): cap quest count at 4096 and object count at 100k on load 2026-05-06 09:56:03 -07:00
object_placer.hpp feat(editor): biome vegetation auto-population system 2026-05-05 16:42:41 -07:00
quest_editor.cpp fix(editor): cap quest count at 4096 and object count at 100k on load 2026-05-06 09:56:03 -07:00
quest_editor.hpp fix(editor): harden JSON handling, quest loading, and content validation 2026-05-05 12:48:50 -07:00
server_module_gen.cpp fix(editor): slugify mapName for module dir + conf keys 2026-05-06 06:47:43 -07:00
server_module_gen.hpp feat(editor): AzerothCore server module generator 2026-05-05 16:31:13 -07:00
sql_exporter.cpp fix(sql): downgrade Wander to stationary when wanderRadius == 0 2026-05-06 09:53:07 -07:00
sql_exporter.hpp fix(editor): escape user strings in server module map/zone/tele SQL 2026-05-06 06:46:58 -07:00
stb_image_impl.cpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
terrain_biomes.hpp feat(editor): biome vegetation auto-population system 2026-05-05 16:42:41 -07:00
terrain_editor.cpp fix(terrain): reject NaN rays in raycastTerrain 2026-05-06 07:58:56 -07:00
terrain_editor.hpp feat(editor): PNG/JPG/BMP heightmap image import, undo for all imports 2026-05-05 15:42:35 -07:00
texture_exporter.cpp fix(editor): texture exporter validates BLP image before passing to stbi 2026-05-06 06:29:26 -07:00
texture_exporter.hpp feat(editor): export WMO textures with the zone 2026-05-06 01:40:05 -07:00
texture_painter.cpp fix(painter): reject NaN endpoints and zero-length lines in paintAlongPath 2026-05-06 07:41:58 -07:00
texture_painter.hpp feat(editor): texture eyedropper, WOT/WHM preference loading 2026-05-05 13:39:53 -07:00
transform_gizmo.cpp fix(gizmo): hide on NaN target instead of building NaN geometry 2026-05-06 08:01:23 -07:00
transform_gizmo.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
wowee_terrain.cpp fix(wot): scrub NaN/inf in doodad/WMO placements at save time 2026-05-06 07:03:02 -07:00
wowee_terrain.hpp feat(editor): zone map image export (colored top-down PNG) 2026-05-05 16:01:29 -07:00
zone_manifest.cpp fix(zone): scrub NaN/inf manifest floats at save time 2026-05-06 07:05:13 -07:00
zone_manifest.hpp feat(editor): zone metadata panel with mapId, displayName, gameplay flags 2026-05-05 15:52:59 -07:00