Kelsidavis-WoWee/include
Kelsi 884b72bc1c Incremental terrain upload + M2 instance dedup hash for city stutter
Terrain finalization was uploading all 256 chunks (GPU fence waits) in one
atomic advanceFinalization call that couldn't be interrupted by the 5ms time
budget. Now split into incremental batches of 16 chunks per call, allowing
the time budget to yield between batches.

M2 instance creation had O(N) dedup scans iterating ALL instances to check
for duplicates. In cities with 5000+ doodads, this caused O(N²) total work
during tile loading. Replaced with hash-based DedupKey map for O(1) lookups.

Changes:
- TerrainRenderer::loadTerrainIncremental: uploads N chunks per call
- FinalizingTile tracks terrainChunkNext for cross-frame progress
- TERRAIN phase yields after preload and after each chunk batch
- M2Renderer::DedupKey hash map replaces linear scan in createInstance
  and createInstanceWithMatrix
- Dedup map maintained through rebuildSpatialIndex and clear paths
2026-03-07 11:59:19 -08:00
..
audio Fix voice gender using server data and update loading screen UI 2026-02-23 06:22:30 -08:00
auth Vanilla/Turtle WoW support: M2 loading, bone parsing, textures, auth 2026-02-13 16:53:28 -08:00
core Fix city NPC stuttering: async model loading, CharSections cache, frame budgets 2026-03-07 11:44:14 -08:00
game Fix Deeprun Tram: visual movement, direction, and player riding 2026-03-06 23:01:11 -08:00
network Optimize world socket buffer handling and logging 2026-02-22 08:16:54 -08:00
pipeline Filter WMO decorative geometry from collision, fix tram portal trigger IDs 2026-03-06 10:37:32 -08:00
platform Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
rendering Incremental terrain upload + M2 instance dedup hash for city stutter 2026-03-07 11:59:19 -08:00
ui Suppress movement after teleport/portal, add shadow distance slider 2026-03-06 20:38:58 -08:00