feat(maps): draw remaining exploration and terrain inside native maps - #442
Merged
Mat4m0 merged 1 commit intoSep 12, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Compass terrain and range rings, Mission Map artwork, and World Map exploration markers now draw inside their native map owners. Native movement and clipping position them, and later game panels and tooltips cover them.
Explored areas stay clear. Remaining exploration keeps the existing marker styles; large cached tiles use bounded clusters instead of losing all markers. Walkable terrain retains its darker outside veil.
Why
Positioned browser drawing surfaces could cover native UI and repeatedly repaint during movement. The native layers reuse textures and meshes, cache map artwork through small pans, quantize raster detail during zoom, and isolate hover updates. The old browser drawing paths are removed.
Invariant
Exact native guards authorize the derived rendering code. Missing support hides only the affected surface. Texture bounds, epoch checks, unsigned wasm32 upload addresses, rollback, and cleanup have executable tests. Saved map styles remain compatible.
Delivery
Targets the test-containment layer and ultimately
main. Recommend one Beta train for the completed native-rendering stack. This changes native rendering and requires gameplay QA on the exact signed candidate before release.Verification
The maps-only layer passes
pnpm check. Actual-client WASM fixtures cover native map/Compass ownership and malformed uploads. Focused tests cover caching, large-map fallback, independent availability, cleanup failures, and allocations above 2 GiB. Electron map controls pass at normal size and 200% zoom. The combined stack passes integration, release checks, packaging, and packaged smoke tests.Matthias accepted the preceding development build's map motion and native UI coverage. That observation does not certify the later signed release. No FPS improvement is claimed from offline tests.