Kelsidavis-WoWee/include/rendering
Pavel Okhlopkov fff06fc932 refactor: decompose world map into modular component architecture
Break the monolithic 1360-line world_map.cpp into 16 focused modules
under src/rendering/world_map/:

Architecture:
- world_map_facade: public API composing all components (PIMPL)
- world_map_types: Vulkan-free domain types (Zone, ViewLevel, etc.)
- data_repository: DBC zone loading, ZMP pixel map, POI/overlay storage
- coordinate_projection: UV projection, zone/continent lookups
- composite_renderer: Vulkan tile pipeline + off-screen compositing
- exploration_state: server mask + local exploration tracking
- view_state_machine: COSMIC→WORLD→CONTINENT→ZONE navigation
- input_handler: keyboard/mouse input → InputAction mapping
- overlay_renderer: layer-based ImGui overlay system (OCP)
- map_resolver: cross-map navigation (Outland, Northrend, etc.)
- zone_metadata: level ranges and faction data

Overlay layers (each an IOverlayLayer):
- player_marker, party_dot, taxi_node, poi_marker, quest_poi,
  corpse_marker, zone_highlight, coordinate_display, subzone_tooltip

Fixes:
- Player marker no longer bleeds across continents (only shown when
  player is in a zone belonging to the displayed continent)
- Zone hover uses DBC-projected AABB rectangles (restored from
  original working behavior)
- Exploration overlay rendering for zone view subzones

Tests:
- 6 new test files covering coordinate projection, exploration state,
  map resolver, view state machine, zone metadata, and integration

Signed-off-by: Pavel Okhlopkov <pavel.okhlopkov@flant.com>
2026-04-12 09:52:51 +03:00
..
animation feat(animation): decompose AnimationController into FSM-based architecture 2026-04-05 12:27:35 +03:00
world_map refactor: decompose world map into modular component architecture 2026-04-12 09:52:51 +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(rendering): implement spell visual effects with bone-tracked ribbons and particles 2026-04-07 11:27:59 +03:00
material.hpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
minimap.hpp fix: evict oldest minimap tile textures when cache exceeds 128 entries 2026-03-17 13:38:18 -07: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