Kelsidavis-WoWee/include/rendering
Kelsi 2980ca83e7 feat(editor): add standalone world editor (rough/WIP)
Standalone wowee_editor tool for creating custom WoW zones.
This is a rough initial implementation — many features work but
M2/WMO rendering still has issues (frame sync, texture layout
transitions) and needs further polish.

Terrain:
- Create new blank terrain with 10 biome types (Grassland, Forest,
  Jungle, Desert, Barrens, Snow, Swamp, Rocky, Beach, Volcanic)
- Load existing ADT tiles from extracted game data
- Sculpt brushes: Raise, Lower, Smooth, Flatten, Level
- Chunk edge stitching prevents seams between tiles
- Undo/redo (100-deep stack, Ctrl+Z/Ctrl+Shift+Z)
- Save to WoW ADT/WDT format

Texture Painting:
- Paint/Erase/Replace Base modes
- Full tileset texture browser (1285 textures from manifest)
- Per-zone directory filtering and search
- Alpha map editing with 4-layer limit (auto-replaces weakest)

Object Placement:
- M2 and WMO model placement with full manifest browser (11k M2s, 2k WMOs)
- M2Renderer + WMORenderer integrated (loads .skin files for WotLK)
- Ghost preview follows cursor before placing
- Ctrl+click selection, right-click context menu
- Transform gizmo (Move/Rotate/Scale with axis constraints)
- Position/rotation/scale editing in properties panel

NPC/Monster System:
- 631 creature presets scanned from manifest, categorized
  (Critters, Beasts, Humanoids, Undead, Demons, etc.)
- Stats editor: level, health, mana, damage, armor, faction
- Behavior: Stationary, Patrol, Wander, Scripted
- Aggro/leash radius, respawn time, flags (hostile/vendor/etc.)
- Save creature spawns to JSON

Water:
- Place water at configurable height per chunk
- Liquid types: Water, Ocean, Magma, Slime
- Rendered as translucent colored quads
- Saved in ADT MH2O format

Infrastructure:
- Free-fly camera (WASD/QE, right-drag look, scroll speed)
- 5-mode toolbar: Sculpt | Paint | Objects | Water | NPCs
- Asset browser indexes full manifest on startup
- Editor water/marker shaders (pos+color vertex format)
- forceNoCull added to M2Renderer for editor use
- AssetManifest::getEntries() and AssetManager::getManifest() exposed

Known issues:
- M2/WMO rendering may not display on first placement (frame index
  sync between update/render was misaligned — now fixed but untested
  end-to-end)
- Validation layer errors on shutdown (resource cleanup ordering)
- Object placement on steep terrain can miss raycast
- No undo for texture painting or object placement yet
2026-05-05 03:47:03 -07:00
..
animation feat(animation): decompose AnimationController into FSM-based architecture 2026-04-05 12:27:35 +03:00
world_map feat(world-map): remove kVOffset hack, ZMP hover, textured player arrow 2026-04-12 20:02:50 +03:00
amd_fsr3_runtime.hpp Add FSR3 Generic API path and harden runtime diagnostics 2026-03-09 12:51:59 -07:00
animation_controller.hpp feat(animation): decompose AnimationController into FSM-based architecture 2026-04-05 12:27:35 +03:00
camera.hpp feat(rendering): GPU architecture + visual quality fixes 2026-04-04 13:43:16 +03:00
camera_controller.hpp feat(rendering): add HiZ occlusion culling & fix WMO interior shadows 2026-04-06 16:40:59 +03:00
celestial.hpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
character_preview.hpp fix(rendering): per-image semaphores and depth-format shadow placeholder 2026-04-03 17:52:48 -07:00
character_renderer.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
charge_effect.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
clouds.hpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
frustum.hpp Fix Windows frustum enum macro collision 2026-03-09 04:41:04 -07:00
hiz_system.hpp feat(rendering): add HiZ occlusion culling & fix WMO interior shadows 2026-04-06 16:40:59 +03:00
lens_flare.hpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
levelup_effect.hpp Add 3D level-up effect using LevelUp.m2 spell model 2026-02-19 20:36:25 -08:00
lighting_manager.hpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
lightning.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
loading_screen.hpp feat: show zone name on loading screen during world transitions 2026-03-20 18:12:23 -07:00
m2_model_classifier.hpp feat(rendering): implement spell visual effects with bone-tracked ribbons and particles 2026-04-07 11:27:59 +03:00
m2_renderer.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
material.hpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
minimap.hpp feat(world-map): remove kVOffset hack, ZMP hover, textured player arrow 2026-04-12 20:02:50 +03:00
mount_dust.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
overlay_system.hpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
performance_hud.hpp Add gameplay systems: combat, spells, groups, loot, vendors, and UI 2026-02-04 10:31:03 -08:00
post_process_pipeline.hpp fix(rendering): defer model buffer destruction and per-frame FXAA descriptors 2026-04-03 19:17:55 -07:00
quest_marker_renderer.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
render_constants.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
render_graph.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
renderer.hpp refactor: decompose world map into modular component architecture 2026-04-12 09:52:51 +03:00
sky_system.hpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
skybox.hpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
spell_visual_system.hpp feat(rendering): implement spell visual effects with bone-tracked ribbons and particles 2026-04-07 11:27:59 +03:00
starfield.hpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
swim_effects.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
terrain_manager.hpp memory, threading, network hardening 2026-04-06 21:19:37 +03:00
terrain_renderer.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
vk_buffer.hpp fix: return UINT32_MAX from findMemType on failure, add [[nodiscard]] 2026-03-27 14:53:29 -07:00
vk_context.hpp fix(vulkan): MSAA crash on AMD RADV due to vkCreateRenderPass2 null dispatch 2026-04-03 20:58:32 -07:00
vk_frame_data.hpp fix: data race on collision query profiling counters 2026-03-29 21:26:11 -07:00
vk_pipeline.hpp feat(rendering): GPU architecture + visual quality fixes 2026-04-04 13:43:16 +03:00
vk_render_target.hpp fix: add VkSampler cache to prevent sampler exhaustion crash 2026-03-24 11:44:54 -07:00
vk_shader.hpp refactor: add [[nodiscard]] to shader/asset load functions, suppress warnings 2026-03-27 15:17:19 -07:00
vk_texture.hpp fix(rendering): check sampler validity in VkTexture::isValid(), fix Windows build 2026-04-05 01:34:49 -07:00
vk_utils.hpp refactor: consolidate duplicate environment variable utility functions 2026-03-11 11:36:06 -07:00
water_renderer.hpp Add water refraction toggle with per-frame scene history 2026-03-06 19:15:34 -08:00
weather.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
wmo_renderer.hpp fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
world_map.hpp refactor: decompose world map into modular component architecture 2026-04-12 09:52:51 +03:00