feat: WIP add MVT support via MVTTilesMeshPlugin and MVTTilesPlugin #1440
+1,655
−4
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.
This PR is a first attempt at introducing support for Mapbox Vector Tiles (MVT).
I explored two approaches, rendering either as native Three.js geometry or as rasterized textures.
This addresses the goals outlined in #982 and expands upon the initial work in #990.
This can be used as a start to build on top of / refine.
I have very little knowledge of MVT, most of this have been achieved by imitating the existing plugins and loaders and through LLM assistance.
While it seems to mostly work ( especially the rasterized approach )
It would be better to validate / review everything.
I'm more than happy to assist with that and will commit my own future improvements as I start to use this in my app.
Here is a video of the two added examples.
http://localhost:5173/three/mvt.html to debug loading a single tile and comparing it with the expected result.
http://localhost:5173/three/mvt_globe.html to test the projection of the tiles on a globe.
demoMVT.mp4