Kelsidavis-WoWee/tools/editor
Kelsi 6430a3f554 refactor(editor): extract items.json mutation handlers into cli_items_mutate.cpp
Moves the three items.json mutation handlers (--set-item,
--copy-zone-items, --clone-item) out of main.cpp into a new
cli_items_mutate.{hpp,cpp} module. All three operate on the
same {"items": [...]} schema; --set-item supports both
id-lookup ("123") and index-lookup ("#0") with strict
"only changed fields are written" semantics, --copy-zone-items
has replace and --merge modes, --clone-item auto-assigns the
smallest unused id.

main.cpp shrinks by 316 lines (5,087 to 4,771) and finally
drops below 5K. items.json now has its full mutation surface
in one focused module instead of scattered through the
megafile.
2026-05-09 08:33:59 -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
cli_add.cpp refactor(editor): extract add-* append handlers into cli_add.cpp 2026-05-09 08:16:52 -07:00
cli_add.hpp refactor(editor): extract add-* append handlers into cli_add.cpp 2026-05-09 08:16:52 -07:00
cli_audits.cpp refactor(editor): extract audit family into cli_audits.cpp 2026-05-08 17:12:10 -07:00
cli_audits.hpp refactor(editor): extract audit family into cli_audits.cpp 2026-05-08 17:12:10 -07:00
cli_bake.cpp refactor(editor): extract zone/project mesh-bake handlers into cli_bake.cpp 2026-05-09 05:57:25 -07:00
cli_bake.hpp refactor(editor): extract zone/project mesh-bake handlers into cli_bake.cpp 2026-05-09 05:57:25 -07:00
cli_clone.cpp refactor(editor): extract clone-* duplicate handlers into cli_clone.cpp 2026-05-09 08:06:20 -07:00
cli_clone.hpp refactor(editor): extract clone-* duplicate handlers into cli_clone.cpp 2026-05-09 08:06:20 -07:00
cli_content_info.cpp refactor(editor): move --info-quests and --info-objects into cli_content_info.cpp 2026-05-09 04:50:26 -07:00
cli_content_info.hpp refactor(editor): extract creature/object/quest info into cli_content_info.cpp 2026-05-09 03:33:40 -07:00
cli_convert.cpp refactor(editor): extract batch convert handlers into cli_convert.cpp 2026-05-09 02:25:05 -07:00
cli_convert.hpp refactor(editor): extract batch convert handlers into cli_convert.cpp 2026-05-09 02:25:05 -07:00
cli_convert_single.cpp refactor(editor): extract single-file --convert-* into cli_convert_single.cpp 2026-05-09 06:25:04 -07:00
cli_convert_single.hpp refactor(editor): extract single-file --convert-* into cli_convert_single.cpp 2026-05-09 06:25:04 -07:00
cli_data_tree.cpp refactor(editor): extract data-tree audit/migration into cli_data_tree.cpp 2026-05-09 04:14:32 -07:00
cli_data_tree.hpp refactor(editor): extract data-tree audit/migration into cli_data_tree.cpp 2026-05-09 04:14:32 -07:00
cli_diff.cpp refactor(editor): extract 10 diff handlers into cli_diff.cpp 2026-05-09 04:35:08 -07:00
cli_diff.hpp refactor(editor): extract 10 diff handlers into cli_diff.cpp 2026-05-09 04:35:08 -07:00
cli_export.cpp refactor(editor): extract 9 export handlers + sha256 helper into cli_export.cpp 2026-05-09 05:45:00 -07:00
cli_export.hpp refactor(editor): extract 9 export handlers + sha256 helper into cli_export.cpp 2026-05-09 05:45:00 -07:00
cli_extract_info.cpp refactor(editor): extract data-tree inspection into cli_extract_info.cpp 2026-05-09 05:32:27 -07:00
cli_extract_info.hpp refactor(editor): extract data-tree inspection into cli_extract_info.cpp 2026-05-09 05:32:27 -07:00
cli_format_info.cpp refactor(editor): extract format inspection handlers into cli_format_info.cpp 2026-05-09 02:48:58 -07:00
cli_format_info.hpp refactor(editor): extract format inspection handlers into cli_format_info.cpp 2026-05-09 02:48:58 -07:00
cli_format_validate.cpp refactor(editor): extract format validation into cli_format_validate.cpp 2026-05-09 01:57:37 -07:00
cli_format_validate.hpp refactor(editor): extract format validation into cli_format_validate.cpp 2026-05-09 01:57:37 -07:00
cli_gen_audio.cpp refactor(editor): extract gen-audio-* handlers into cli_gen_audio.cpp 2026-05-08 16:19:30 -07:00
cli_gen_audio.hpp refactor(editor): extract gen-audio-* handlers into cli_gen_audio.cpp 2026-05-08 16:19:30 -07:00
cli_gen_mesh.cpp feat(editor): add --gen-mesh-crate shipping-crate primitive 2026-05-09 08:28:53 -07:00
cli_gen_mesh.hpp refactor(editor): extract 12 composite mesh primitives into cli_gen_mesh.cpp 2026-05-08 22:19:41 -07:00
cli_gen_texture.cpp feat(editor): add --gen-texture-gingham 3-tone fabric pattern 2026-05-09 08:24:12 -07:00
cli_gen_texture.hpp refactor(editor): extract 7 newer texture generators into cli_gen_texture.cpp 2026-05-08 20:59:02 -07:00
cli_glb_inspect.cpp refactor(editor): extract GLB inspectors into cli_glb_inspect.cpp 2026-05-09 06:46:02 -07:00
cli_glb_inspect.hpp refactor(editor): extract GLB inspectors into cli_glb_inspect.cpp 2026-05-09 06:46:02 -07:00
cli_help.cpp feat(editor): add --gen-mesh-crate shipping-crate primitive 2026-05-09 08:28:53 -07:00
cli_help.hpp refactor(editor): extract printUsage into cli_help.cpp 2026-05-08 20:12:15 -07:00
cli_info_audio.cpp refactor(editor): extract --info-{zone,project}-audio into cli_info_audio.cpp 2026-05-09 07:38:36 -07:00
cli_info_audio.hpp refactor(editor): extract --info-{zone,project}-audio into cli_info_audio.cpp 2026-05-09 07:38:36 -07:00
cli_info_bytes.cpp refactor(editor): extract --info-{zone,project}-bytes into cli_info_bytes.cpp 2026-05-09 07:16:27 -07:00
cli_info_bytes.hpp refactor(editor): extract --info-{zone,project}-bytes into cli_info_bytes.cpp 2026-05-09 07:16:27 -07:00
cli_info_density.cpp refactor(editor): extract --info-{zone,project}-density into cli_info_density.cpp 2026-05-09 07:33:40 -07:00
cli_info_density.hpp refactor(editor): extract --info-{zone,project}-density into cli_info_density.cpp 2026-05-09 07:33:40 -07:00
cli_info_extents.cpp refactor(editor): extract --info-{zone,project}-extents into cli_info_extents.cpp 2026-05-09 07:22:06 -07:00
cli_info_extents.hpp refactor(editor): extract --info-{zone,project}-extents into cli_info_extents.cpp 2026-05-09 07:22:06 -07:00
cli_info_tree.cpp refactor(editor): extract --info-{zone,project}-tree into cli_info_tree.cpp 2026-05-09 07:10:12 -07:00
cli_info_tree.hpp refactor(editor): extract --info-{zone,project}-tree into cli_info_tree.cpp 2026-05-09 07:10:12 -07:00
cli_info_water.cpp refactor(editor): extract --info-{zone,project}-water into cli_info_water.cpp 2026-05-09 07:28:15 -07:00
cli_info_water.hpp refactor(editor): extract --info-{zone,project}-water into cli_info_water.cpp 2026-05-09 07:28:15 -07:00
cli_items.cpp refactor(editor): extract 5 item read-only handlers into cli_items.cpp 2026-05-09 05:19:04 -07:00
cli_items.hpp refactor(editor): extract 5 item read-only handlers into cli_items.cpp 2026-05-09 05:19:04 -07:00
cli_items_export.cpp refactor(editor): extract item-export handlers into cli_items_export.cpp 2026-05-09 08:26:52 -07:00
cli_items_export.hpp refactor(editor): extract item-export handlers into cli_items_export.cpp 2026-05-09 08:26:52 -07:00
cli_items_mutate.cpp refactor(editor): extract items.json mutation handlers into cli_items_mutate.cpp 2026-05-09 08:33:59 -07:00
cli_items_mutate.hpp refactor(editor): extract items.json mutation handlers into cli_items_mutate.cpp 2026-05-09 08:33:59 -07:00
cli_mesh_edit.cpp refactor(editor): extract 10 mesh edit ops into cli_mesh_edit.cpp 2026-05-09 00:36:51 -07:00
cli_mesh_edit.hpp refactor(editor): extract 10 mesh edit ops into cli_mesh_edit.cpp 2026-05-09 00:36:51 -07:00
cli_mesh_io.cpp refactor(editor): extract mesh ⇄ heightmap I/O into cli_mesh_io.cpp 2026-05-09 00:04:27 -07:00
cli_mesh_io.hpp refactor(editor): extract mesh ⇄ heightmap I/O into cli_mesh_io.cpp 2026-05-09 00:04:27 -07:00
cli_migrate.cpp refactor(editor): extract --migrate-* handlers into cli_migrate.cpp 2026-05-09 06:13:41 -07:00
cli_migrate.hpp refactor(editor): extract --migrate-* handlers into cli_migrate.cpp 2026-05-09 06:13:41 -07:00
cli_pack.cpp refactor(editor): extract WCP pack handlers into cli_pack.cpp 2026-05-09 03:12:09 -07:00
cli_pack.hpp refactor(editor): extract WCP pack handlers into cli_pack.cpp 2026-05-09 03:12:09 -07:00
cli_project_inventory.cpp refactor(editor): extract project inventory into cli_project_inventory.cpp 2026-05-08 18:47:06 -07:00
cli_project_inventory.hpp refactor(editor): extract project inventory into cli_project_inventory.cpp 2026-05-08 18:47:06 -07:00
cli_quest_objective.cpp refactor(editor): extract quest+objective handlers into cli_quest_objective.cpp 2026-05-09 07:56:16 -07:00
cli_quest_objective.hpp refactor(editor): extract quest+objective handlers into cli_quest_objective.cpp 2026-05-09 07:56:16 -07:00
cli_quest_reward.cpp refactor(editor): extract quest-reward handlers into cli_quest_reward.cpp 2026-05-09 08:01:28 -07:00
cli_quest_reward.hpp refactor(editor): extract quest-reward handlers into cli_quest_reward.cpp 2026-05-09 08:01:28 -07:00
cli_random.cpp refactor(editor): extract random-* / gen-random-* into cli_random.cpp 2026-05-09 08:22:06 -07:00
cli_random.hpp refactor(editor): extract random-* / gen-random-* into cli_random.cpp 2026-05-09 08:22:06 -07:00
cli_readmes.cpp refactor(editor): extract README generators into cli_readmes.cpp 2026-05-08 17:36:10 -07:00
cli_readmes.hpp refactor(editor): extract README generators into cli_readmes.cpp 2026-05-08 17:36:10 -07:00
cli_remove.cpp refactor(editor): extract remove-* by-index handlers into cli_remove.cpp 2026-05-09 08:11:50 -07:00
cli_remove.hpp refactor(editor): extract remove-* by-index handlers into cli_remove.cpp 2026-05-09 08:11:50 -07:00
cli_spawn_audit.cpp refactor(editor): extract 8 spawn/snap handlers into cli_spawn_audit.cpp 2026-05-09 05:05:22 -07:00
cli_spawn_audit.hpp refactor(editor): extract 8 spawn/snap handlers into cli_spawn_audit.cpp 2026-05-09 05:05:22 -07:00
cli_validate_interop.cpp refactor(editor): extract interop --validate-* into cli_validate_interop.cpp 2026-05-09 06:36:02 -07:00
cli_validate_interop.hpp refactor(editor): extract interop --validate-* into cli_validate_interop.cpp 2026-05-09 06:36:02 -07:00
cli_wom_info.cpp refactor(editor): extract WOM info handlers into cli_wom_info.cpp 2026-05-09 01:18:09 -07:00
cli_wom_info.hpp refactor(editor): extract WOM info handlers into cli_wom_info.cpp 2026-05-09 01:18:09 -07:00
cli_wom_io.cpp refactor(editor): move --import-obj into cli_wom_io.cpp 2026-05-09 07:50:02 -07:00
cli_wom_io.hpp refactor(editor): move --import-obj into cli_wom_io.cpp 2026-05-09 07:50:02 -07:00
cli_world_info.cpp refactor(editor): extract WOB/WOT/WOC inspectors into cli_world_info.cpp 2026-05-09 07:44:57 -07:00
cli_world_info.hpp refactor(editor): extract WOB/WOT/WOC inspectors into cli_world_info.cpp 2026-05-09 07:44:57 -07:00
cli_world_io.cpp refactor(editor): extract WOB/WHM/WOC IO into cli_world_io.cpp 2026-05-09 07:03:14 -07:00
cli_world_io.hpp refactor(editor): extract WOB/WHM/WOC IO into cli_world_io.cpp 2026-05-09 07:03:14 -07:00
cli_zone_info.cpp refactor(editor): extract zone/project metadata info into cli_zone_info.cpp 2026-05-09 03:52:44 -07:00
cli_zone_info.hpp refactor(editor): extract zone/project metadata info into cli_zone_info.cpp 2026-05-09 03:52:44 -07:00
cli_zone_inventory.cpp refactor(editor): extract per-zone inventory into cli_zone_inventory.cpp 2026-05-08 18:24:01 -07:00
cli_zone_inventory.hpp refactor(editor): extract per-zone inventory into cli_zone_inventory.cpp 2026-05-08 18:24:01 -07:00
cli_zone_packs.cpp refactor(editor): extract zone-pack orchestrators into cli_zone_packs.cpp 2026-05-08 16:46:14 -07:00
cli_zone_packs.hpp refactor(editor): extract zone-pack orchestrators into cli_zone_packs.cpp 2026-05-08 16:46:14 -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 feat(editor): in-editor "Audit Spawns Against Terrain" menu 2026-05-07 15:47:26 -07:00
editor_app.hpp feat(editor): status bar shows active biome 2026-05-07 18:19:24 -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): status bar shows active biome 2026-05-07 18:19:24 -07:00
editor_ui.hpp feat(editor): river/road tool supports multi-point polylines 2026-05-07 10:32:19 -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 fix(editor): NPC nameplates align with NPC + togglable to selected only 2026-05-07 09:48:59 -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 refactor(editor): extract items.json mutation handlers into cli_items_mutate.cpp 2026-05-09 08:33:59 -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): NPCs default to Wander behavior + UI tooltip 2026-05-07 10:03:17 -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 feat(editor): river tool now fills water along the carved path 2026-05-07 10:17:36 -07:00
terrain_editor.hpp feat(editor): river tool now fills water along the carved path 2026-05-07 10:17:36 -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