Commit a283af1
Globe final PR (#3963)
* Globe - basic infrastructure, raster layer adaptation for globe (#3783)
* Port changes from main globe branch - basics
Fix minor issues so that it compiles.
* Fix PI redefinitions
* Fix stencil shader
* Port adaptation of raster layer for globe from main globe branch
* Add globe.html example from pheonor's repo
Minor changes (remove terrain, set initial zoom 0, change title and description)
* Better map projection parameter doc comment, warn when using unknown projection
* Mercator projectionData handles negative zoom correctly
* Comment clarification
* Fix spelling of "granularity"
* Add missing docs
* Convert ProjectionBase to an interface
* Do not leak GL object in globe projection error measurement, add a destroy method to projection
* Fix chrome performance warning, refactor error measurement
Warning fixed by changing ring buffer size to 1, making ring buffer pointless, so I removed it.
* Fix granularity capitalization
* Fix capitalization
* Fix typo
* Fix stencil mask triangle index order (this was causing failing render tests)
* Cleanup vertex shader projection interface
* Move projection creation function into its own file
* Remove getProjectionName
* Added comment for deduplicateWrapped
* Remove unused vertex-buffer-related code from image source
* Add globe raster layer render test
* More render tests - test transition to mercator
* Remove pointless test, add test descriptions
* Render test for rendering poles on globe
* SubdivisionGranularitySetting constructor takes an object
* Remove "defines" parameter from useProgram
* Refactor useProgram and Program constructor
* Properly format translatePosMatrix comment
* Refactor globe-specific code outside projection classes, remove stencil-specific granularity settings
* Refactor granularity settings to be more readable
* Minor refactor of ProjectionErrorMeasurement
* Refactor draw_raster.ts
* Move globe utility functions to utils.ts, use easeCubicInOut instead of smoothStep
* Simplify imports in globe.ts
* globe.ts refactor
* Move ProjectionErrorMeasurement to a separate file
* Refactor ProjectionErrorMeasurement
Change parseRGBA8float to a private static function, use isWebGL2 function instead of instanceof
* Refactor draw_raster.ts
* Refactor globe projection error measurement to not use Painter
* Painter.clearStencil creates custom ProjectionData instead of calling getProjectionData(null, null)
* Remove "deduplicateWrapped" functionality from source_cache.ts
* Globe projection no longer requires a map instance
* Painter doesn't pass `this` to `updateGPUdependent`
* isRenderingDirty is now a function
* Rename ProjectionBase to Projection
* Replace globeView property with setGlobeViewAllowed
* Add mercator and globe projection unit tests
* Remove tests that test for exact clipping planes
* Update build test with new bundle size
* isRenderingDirty is now a function
* Globe - fill layer (#3882)
* Port changes from main globe branch - basics
Fix minor issues so that it compiles.
* Fix PI redefinitions
* Fix stencil shader
* Port adaptation of raster layer for globe from main globe branch
* Add globe.html example from pheonor's repo
Minor changes (remove terrain, set initial zoom 0, change title and description)
* Better map projection parameter doc comment, warn when using unknown projection
* Mercator projectionData handles negative zoom correctly
* Comment clarification
* Fix spelling of "granularity"
* Add missing docs
* Convert ProjectionBase to an interface
* Do not leak GL object in globe projection error measurement, add a destroy method to projection
* Fix chrome performance warning, refactor error measurement
Warning fixed by changing ring buffer size to 1, making ring buffer pointless, so I removed it.
* Fix granularity capitalization
* Fix capitalization
* Fix typo
* Fix stencil mask triangle index order (this was causing failing render tests)
* Cleanup vertex shader projection interface
* Move projection creation function into its own file
* Remove getProjectionName
* Added comment for deduplicateWrapped
* Remove unused vertex-buffer-related code from image source
* Add globe raster layer render test
* More render tests - test transition to mercator
* Remove pointless test, add test descriptions
* Render test for rendering poles on globe
* SubdivisionGranularitySetting constructor takes an object
* Remove "defines" parameter from useProgram
* Refactor useProgram and Program constructor
* Properly format translatePosMatrix comment
* Refactor globe-specific code outside projection classes, remove stencil-specific granularity settings
* Refactor granularity settings to be more readable
* Minor refactor of ProjectionErrorMeasurement
* Refactor draw_raster.ts
* Move globe utility functions to utils.ts, use easeCubicInOut instead of smoothStep
* Simplify imports in globe.ts
* globe.ts refactor
* Move ProjectionErrorMeasurement to a separate file
* Refactor ProjectionErrorMeasurement
Change parseRGBA8float to a private static function, use isWebGL2 function instead of instanceof
* Refactor draw_raster.ts
* Refactor globe projection error measurement to not use Painter
* Painter.clearStencil creates custom ProjectionData instead of calling getProjectionData(null, null)
* Remove "deduplicateWrapped" functionality from source_cache.ts
* Globe projection no longer requires a map instance
* Painter doesn't pass `this` to `updateGPUdependent`
* isRenderingDirty is now a function
* Rename ProjectionBase to Projection
* Replace globeView property with setGlobeViewAllowed
* Add mercator and globe projection unit tests
* Remove tests that test for exact clipping planes
* Update build test with new bundle size
* isRenderingDirty is now a function
* Fill, fill-extrusion, line layers, subdivision: Import changes from kubapelc/globe-vector branch
* Fix unit tests
* Subdivision: ensure consistent triangle winding order, fix unit tests
* Fix terrain
* Fix fill extrusion not working with terrain
* Fix typos
* Fix line gradient bug
* Subdivision: fix line ring handling
* Subdivision: fix unit test expecting an invalid line segment
* Fix fill-extrusion ring handling
* Fill-extrusion refactor and fix failing test
* Update terrain fill extrusion test expected image
* Render tests for fill, line and fill-extrusion for globe
* Move fillArrays function into a separate file
* Add vector globe example
* Remove changes for line and fill-extrusion layers to make the PR smaller
* Add unit tests for fillArrays()
* fillArrays unit test has better segment size limits
* Update build test build size
* Fix html example description
* Fix missing docs for granularity settings
* Rename globe fill render test tile source layer to "vector_tiles"
* Fix classifyRings comment format
* Move subdivisionGranularitySettingsNoSubdivision constant to a static readonly field, shorten the name
* Use `import type` for SubdivisionGranularitySetting where possible
* Fix typo
* Revert fill_attributes back to default exports
* Improve comment for scanline subdivision
* Subdivision: break up scanline subdivision function into more functions
* Move SubdivisionGranularitySetting into its own file
* Unit tests: use mock of MercatorProjection instead of the full class
* Add SegmentVector unit tests
* Subdivision: unit tests for poles, ring triangulation, fix bug in ring triangulation
* Subdivision: more pole unit tests
* Subdivision: fix wireframe generation, add unit test for wireframe
* Rename subdivisionGranularitySettings.ts to subdivision_granularity_settings.ts
* Move granularity settings registration to subdivision
* Update build size
* Rename `fillArrays` to `fillLargeMeshArrays`
* Move virtual buffers to a test util file
* Better warning for segments.ts vertex overflow
* Better comment for projection subdivision granularity
* Clarify mesh comparison in fill_large_mesh_arrays.test.ts
* Move mesh creating functions into a separate file, add tests for mesh comparison and grid creation
* Refactor and add better doc comment for `fillLargeMeshArrays`
* Refactor fill_large_mesh_arrays by removing duplicated code
* Move debug functions to mesh_utils.ts
* Unit tests: use StructArrays instead of VirtualVertexBuffer, etc.
* Subdivision: refactor
* Subdivision: rename subdivideFill to subdividePolygon, remove wireframe function
* Subdivision: throw when a vertex is outside int16 range
* Subdivision: refactor generatePoleQuad into a proper function
* Subdivision: add subdivision benchmark
* Subdivision: split scanline subdivision into smaller functions
* Remove wireframe generation function
* Subdivision: better doc comments for scanline subdivision
* Fix 'as any' in segment.ts
* Reuse condition in fill_large_arrays
* Deduplicate code in fill_large_arrays
* Subdivision: remove redundant function in tests
* Subdivision: improve scanline subdivision comments
* Subdivision: benchmark is not async
* Rename SegmentVector's invalidateLast to forceNewSegmentOnTextPrepare
* More tests for segment.ts
* Fix typo in forceNewSegmentOnNextPrepare
* Subdivision: more tests for fillLargeMeshArrays
* Subdivision: better comment in fillLargeMeshArrays
* Fix build due to bad merge.
* Globe - line layer (#3961)
* Fix merge
* Import line layer changes from kubapelc/globe-vector
* Lines: shorten line_bucket.test.ts subdivision settings
* Lines: minor refactor
* Lines: update build size
* Lines: minor refactor
* Globe - fill extrusion layer (#3968)
* Import changes for fill-extrusion from main vector globe branch
* Fill extrusion: refactor
* Fill extrusion: indent shader ifdefs
* Fill extrusion: add example
* Fill extrusion: update build size
* Move globe specific projection methods to projection interface
* Fix failing unit test
* Use vec3.clone() instead of manually copying vector components
* Kubapelc/globe pr hillshade (#3979)
* Import background layer changes from main vector globe branch
* Import hillshade layer changes from main vector globe branch
* Subdivision: explicit types
* Fix single-pixel seams in the oceans
* Add render test for background pattern on globe
* Refactor drawBackground
* Refactor drawHillshade
* Update build size
* Update globe background-pattern render test with results from CI
* Hillshade: refactor prepareHillshade
* Add a render test for fill layer seams fix
* Globe - circle and heatmap layers (#4015)
* Import changes for circle and heatmap layers from the main vector globe branch
* Minor refactors
* Update build size
* Use "/ 8.0" in shader instead of "* 0.125"
* Update shader comments
* Use a thin type instead of full Transform in projection
* Only import types in projection.ts
* getPixelScale and getCircleRadiusCorrection only need map center as argument
* Only import types where possible in projection classes
* Smaller refactors
* Fix failing unit test
* Add heatmap render test
* More explicit types in projection interface
* Globe plane equation is a vec4
* Fix wrong args in projection functions
* Improve readibility of build test and fix it.
* Globe - symbols & symbol bugfixes (#4067)
* Import changes from main vector globe branch
* Fix import
* Remove unused code
* Remove unused imports
* Update build size test
* Remove unused function
* Add render test results for Debian
* Add another Debian render test variant
* Add more render test variants
* Hide collision boxes on the backfacing side of the globe
* Fix pitch-aligned texts getting hidden when their anchor is beyond horizon
* Update build size
* Fix merge
* Better comment in draw_collision_debug
* Update build size
The 10 kb size increase seems to come from the main branch
* Minor refactor
* Use explicit types, even for unused parameters
* Refactor screenspace path projection
* Refactor imports for projection.ts and collision_index.ts
* Fix import in collision_index.ts
* Globe - example images (#4140)
* Add example images
* Add "-" into example name
* Remove basic globe example
* Globe - clipping fix (#4146)
* HiSilicon fix: enable face culling whereever possible
(cherry picked from commit fe439a5)
* Improve circle layer performance by discarding empty pixels
(cherry picked from commit 266897d)
* HiSilicon fix: software clipping of polygon outlines
(cherry picked from commit 98167ba)
* HiSilicon fix: software clipping for line layer
(cherry picked from commit d521e95)
* HiSilicon fix: circle software clipping
(cherry picked from commit f2ed744)
* HiSilicon fix: enable backface culling for symbols
(cherry picked from commit 54e3632)
* Update build test
* Fix terrain using a mirrored projection matrix
* Fix typos
* Fix terrain coord textures being flipped vertically
* Update build size
* Fix rendering of images with face culling, fix image rendering near pole regions
* Add render test for images on a globe
* Update comment in circle.vertex.glsl
* Fix bad merge
* Fix lint
* Fix location of old vertex count
* replace expected file for terrain changes
* Fix rename in main merge branch
* Fix build test
* Move projection to style class (#4267)
* Move projection to style class
* Fix lint
* Fix unit tests
* Increase build size
* Update docs, fix test
* Fix lint
* Add test to cover projection change
* Added more tests
* Add an Atmosphere layer for Globe (#3888) (#4020)
* Port of PoC atmosphere layer.
* Fix resize for draw_atmosphere
* Add some options.
* Allow to change sun date and time
* Fix import warning
* Render atmosphere only when a Globe projection is selected
* Add some comments
* Add some comments
* Change key
* Update changelog
* Fix merge with globe branch
* Fix documentation and default background color.
* Use black clear color only when atmosphere is on
* Use atmosphere uniform for globe position, raidus in camera frame and inv projection matrix.
* Remove unused project method
* Update maplibre-gl-style-spec to 20.3.0 and use sky atmosphere parameter
* Fix globe tests and use light position as Sun position.
* Avoid type name collisions.
* Add atmosphere test for globe projection.
* Update expectedBytes for build test.
* Fix PR comments.
* Update Style test.
* Remove unused method on projection
* Add Sky Test.
* Fix style test and add sky unit test.
* Move getSunPos method
* Fix mercator updateProjection
* Remove isGlobe method and fix merge.
* Fix globe atmosphere tests with new projection style.
* Clean-up some projection and light. Fix setSky and add tests.
* Remove sky test during update.
* Clean-up
* missing fix from merge
* Fix lint
* Terrain fix (#4343)
* Fix missing image for globe example
* Update atmosphere (#4345)
* Merge Sky and Atmosphere code.
* Update changelog
* Fix generate-struct-arrays
* Globe - transform+projection changes (#4341)
* Delete unused file
* Rename projection.name to projection.projectionName
Since this interface will be implemented by the transfrom class soon
* Symbols: displayed collision circles now exactly match their computed positions
* Globe: use mercator projection for symbol placement when globe rendering is disabled
* Group all getters/setters in the transform class
* Transform: move transform-related stuff from the projection interface to transform class
(WIP)
* Transform: finish moving parts of projection into mercator_transform.ts
* Transform: remove posMatrix usage from line symbol placement
(WIP)
* Transform: temporarily remove globe stuff
(WIP, compilable)
* Transform: fix line symbols
* Symbols: fix wrong function names
* Fix line point projections
* Fix line rendering
Some things are still broken
* Fix line symbols sometimes being incorrectly oriented
* Fix some failing unit tests
* Fix single glyph orientation
* Add another image to render test
No idea why it is shifted by a few pixels but I assume that the new expected image is also correct
* Add another expected image to textFit-grid-long test
It was only failing on my machine, works fine in github CI windows tests
* Fix some failing unit tests
* Simplify getProjectionData interface and terrain matrix passing
* Change comment at calculatePosMatrix
* Fix symbols not rendering, remove unused shader parameters
* Bring back globe src files
* globe.test.ts is now globe_transform.test.ts
* Move stuff from globe.ts to globe_transform.ts
* Fix showTileBoundaries not working
Fix the three render tests related to showTileBoundaries timing out.
* Remove irrelevant test
* Fix failing unit test
* Transform: move more stuff from globe to globe_transform
* Transform: better comments
* Transfrom: isRenderingDirty cleanup
* Transform: no more errors in globe_transform.ts
* Transform: remove `get point()` from transform class
* Transform: globe_transform.ts is compilable
* Re-enable globe projection
* Fix source_cache.ts sometimes crashing
* Fix globe.ts - globe_transform.ts circular dependency
* Fix and refactor getProjectionData interface
Now it is actually compilable, with many bugs
* Transform: fix failing unit tests
* Transform: fix symbols not rendering on globe
* Transform: minor fixes
* Transform: update globe symbol render tests
* Transform: unify how symbol/projection.ts exports stuff
* Transform: improve comments
* Remove unused function in painter
* Transform: cleanup unneeded abstract functions
* Transform: replace abstract getHorizon function with more generic isPointOnMapSurface function
* Fix useGlobeRendering not being set properly
* Transform: proper implementation of isPointOnMapSurface and screen pixel unprojection for globe
* Transform: adapt more functions for globe
* Transform: fix locationPoint implementation
* Controls: globe panning experiments
* Controls: reasonable globe panning
* Controls: centering zoom for globe experiment
* Transform: fix globe unit tests
* Transform: fix remaining unit tests
* Move mercator_transform.test to src/geo/projection
* Transform: globe bugfixes and more unit tests
* Transform: bugfix globe setLocationAtPoint
* Transform: isolate accesses to globe projection to avoid unintentional transform's state changes
* Transform: move related tests so they are near each other
* Transform: improve globe unprojection accuracy
* Transform: fix globe bugs
* Transform: move globe unit tests
* Transform: another globe setLocationAtPoint implementation
* Transform: fix globe zoom adjustment not working
* Transform: fix setLocationAtPoint
* Transform: setLocationAtPoint and zoom WIP
* Transform: adjust unit test to accept positive longitudes
* Transform: improve globe math precision (fp64)
* Transform: precision improvement, better camera position
* Transform: another test WIP
* Transform: fix setLocationAtPoint condition
* Transform: more reasonable zoom for globe
Still has bugs though
* Transform: globe zoom works well when cursor is outside the globe
* Transform: globe more consistent zoom logic
* Transform: experimental pole edge clamp for globe
* Transform: fix maxLatitudeForZoomLevel math
* Transform: globe constrain experiment
* Transform: minor improvements
* Transform: globe panning 2.0
* Transform: globe panning 2.1
Adjust more constants!
* Transform: some math for globe zoom
* Transform: globe: working zoom controls without glitches
* Transform: globe zoom: fix some more glitching
* Transform: globe zoom: reduce panning when zoom pixel is far from the planet
* Transform: zoom globe: simplify, better behaviour around poles
* Transform: globe zoom: exact zooming
* Transform: globe zoom: better comments
* Transform: temporarily disable camera easeTo and flyTo
* Transform: calling project/unproject on a globe should fail, rename project/unproject to be more descriptive
* Transform: fitBounds: initial implementation for globe_transform
Not working
* Transform: fitBounds: zoom is now correct
* Transform: fitBounds: padding works for north/south
* Transform: fitBounds: just build on top of mercator code
* Transform: fitBounds: the original way
* Transform: fitBounds: back to mercator-buildon + done
* Transform: tighter bounds for zoom heuristic transition
* Transform: easeTo: probably works
* Transform: attempt to handle camera options apparent zoom for globe
* Transform: easeTo fixes WIP
* Transform: easeTo: mostly working implementation (still WIP)
* Transform: easeTo: small fixes
* Transform: easeTo: intertia works for panning
* Transform: globe zoom: add globe radius based slowing factor
* Transform: globe zoom adjustments
* Transform: jumpTo adapted for globe
* Transform: camera flyTo works for globe
* Make (un)projectToWorldCoordinates into standalone functions
* Fix inertia sometimes rotating in the wrong direction
* Fix transform center sometimes not getting wrapped, leading to visual artifacts
* Transform: easeTo: slerp experiment
* Transform: easeTo: revert slerp, add note on why it is not used
* Transform: improve center animation for easeTo and flyTo
* Minor refactor & remove some outdated TODOs
* More refactor and TODOs
* Transform: globe remembers its globeness state after clone, fixes improper collision box when globe gets soft-disabled
* Terrain matrix refactor WIP
* Terrain fixes
* Transform: better comments, rename angularCoordinatesToVector to angularCoordinatesToSurfaceVector, some functions for globe WIP
* Transform: getBounds for globe works
* Transform: remove some comments
* Fix merge
* Remove globe.test.ts (it is now globe_transform.test.ts)
* Rename Transform.updateProjection to newFrameUpdate
* Revert globe.ts to pre-merge state
* Revert mercator.ts to pre-merge state
* New mechanism for creating specialized transforms, more merge fixes
* Rename projectionMatrix to modelViewProjectionMatrix, refactor mercator_transform.ts a bit
* More merge fixes, minor refactor of transforms
* Add transform getters for atmosphere
* Fix forgotten useGlobeControls uses
* Fix cyclical dependency
* Fix tests
* Fix crashes
* Fix manually triggered globe transition animation
* Fix collision boxes not respecting mercator transition
* Blend out atmosphere when transitioning to mercator
* Fix globe transitions when mercator should be constrained
* Reload all tiles upon projection change
* Fix failing style tests
* Fix terrain source cache tests
* Fix map zoom¢er being applied in wrong order, causing zoom to be wrongly constrained under globe
* Update globe pole render tests with correct zoom
* Update globe unit test zooms
* Fix more unit tests
* Fix transform.apply not copying everything, fix globe controls not wrapping longitudes
* Fix some globe tests
* Fix globe setLocationAtPoint
* Fix docs & lint
* Increase globe setLocationAtPoint test desired precision
* Some camera tests for globe
* Fix easeTo test suite name and placing
* Add rotated setLocationAtPoint test for globe, fix failing test
* Fix globe easeTo & flyTo with bearing to follow spec, add tests
* easeTo globe tests
* All relevant camera tests for globe implemented
* Update build size test
* Fix symbols not respecting mercator
* Update build size again
* Terrain fix
* Fix merge
* Fix terrain shaders
* Fix merge
* Revert controls changes
* Fix reverted files
* Fix reverted camera tests
* Revert forgotten file, fix lint
* Update build size
* Feedback comments for unit tests
* Convert setters to functions: runtime code
* Convert setters to functions: test code
* Convert last setter to function
* Fix some tests
* Transform is now an interface
* Rename Transform to ITransform
* Remove abstract functions from transform base class
* TransformHelper wip
* Rename transform files
* Finish transform rewrite
* Fix mercator transform tests
* Fix mercator_transform constructor
* Fix symbol bucket test
* Fix source cache tests
* Fix transform clone bug & tests
* Improve comments
* More comments
* Fix import
* Move helper functions in tests to beginning of file
* Fix collision index test accessing a private field
* Remove unneeded null check
* New utils tests + quadratic solve fix
* Add remapSaturate tests
* Add explicit types to line glyph placement
* Refactor placeGlyphsAlongLine args into an object
* Fix merge, cleanup draw_custom.test, fix missing perspective offset in globe transform
* Fix draw_custom test
* Update build test
* Fix crashes
* Fix transform_helper apply function not setting bearing correctly
* Add test for TransformHelper
* Fix TransformHelper.apply
* Fix flipped text placement
* Add new expected image to render test
* Fix marker tests
* Update build size
* Move functions from mercator_transform.ts to mercator_utils.ts
* Refactor un/projectToWorldCoordinates function args
* Make zoomScale and scaleZoom standalone functions
* Fix unprojectFromWorldCoordinates arg type
* Move globe functions to separate file
* Fix private member access in source_cache.test.ts
* Fix deck.gl missing dot
* Fix missing globe_utils.ts
* Better `angleToRotateBetweenVectors2D` doccomment
* Remove unneeded `protected`
* Cleanup transform interface and remove duplicate comments
* Split mercator_utils tests into a separate file
* Fix tests
* Split globe locationPoint tests a bit
* Add more mercator tests
* More globe tests
* Fix globe getBounds and add tests for it
* Remove unneeded function, update build size
* projectTileCoordinates for globe now covered by test
* Add globe_utils tests
* Split up globe tests more
* Fix missing doccomment
* Rename transform's projection/unprojection functions
* Better ray intersection comment and type
* Reduce indentation
* Improve unproject math readability
* Add point-plane distance util function
* Move tileCoordinatesToMercatorCoordinates to mercator_utils
* Better name for location to mercator coordinate functions
* Move angleToRotateBetweenVectors2D to utils
* Refactor _globeness usage
* Remove _initialized from GlobeTransform
* Remove translatePosition from transform interface
* Add IReadonlyTransform interface
* Update build size
* Remove unneeded comment
* Fix painter test
* Fix lint
* Update test/build/min.test.ts
* Update changelog
* Globe - camera controls (#4408)
* Camera controls changes from dev branch
* Move stuff from globe_control_utils to globe_utils
* Better globe_utils comments
* Fix markers not being updated when globe is toggled
* Fix globe tests
* Update build size
* Better comments for camera helper functions
* Move camera helper functions to beginning of file
* Camera: more and better comments
* Update build size
* Fix globe transform error correction handling
* Better comments for _last* fields in globe transform
* Refactor newFrameUpdate
* Better comments for CoveringTilesOptions type members.
* Refactor globe camera tests to use more describe statements
* Remove isTilePositionOccluded function from transform interface
* Fix camera tests
* Add more mercator_utils test
* Add more globe_transform tests
* Fix failing render tests
* Make camera helper functions static
* Remove `around` from flyTo options.
* Update build size
* CameraHelper: initial implementation, inertia handling
* Move createVec* functions to util.ts
* CameraHelper: panning and zooming
* CameraHelpers: implement cameraForBounds
* CameraHelpers: handle jumpTo
* CameraHelper: easeTo
* CameraHelper: flyTo
* Projection event contains new projection name and is fired by changing style's projection
* Fix lint
* Fix test camera/map not having proper CameraHelper
* Fix easeTo not emitting zoom events
* Fix cameraForBoxAndBearing globe not returning anything, rename camera helter types
* Fix globe easeTo ignoring offset
* Fix one flyTo test not creating camera properly
* Update build size
* Add projection transition event tests
* Add example on how to compensate for how globe size changes with latitude
* Revert scrollzoom delete removal
* Remove apparentZoom parameter
* CameraHelper is set in camera constuctor
* Use spy for projection event unit tests
* Remove unnecessary done() in tests
* Update build size
* Remove more unneeded done() calls
* Do not use map.once callback in projection events tests
* Better zoom delta example title and description
* Rename globe zoom delta and planet size function example
* Add zoom planet size function example image
* Reduce size of some globe example images using compresspng
* Globe: bugfixes: raster layer & projection change (#4546)
* Port bugfix changes
* Update build size
* Fix render tests
* Add render test result for debian
* Increase raster tile granularity some more
* Adjust warped raster tile render test
* Add missing tsdoc param
* Use single checkerboard image for render test
* Globe examples now use setProjection
* Add new raster-pole render test image
* Add another raster-warped expected image
* Use "style.load" event on map instead of on style
* Adapt new heatmap code for globe, update build size
* Fix render tests
Most tests had subpixel shifts
* Globe - custom layers API and examples, globe dev guide (#4577)
* Port custom layer changes and globe docs
* Port transform changes
* Fix custom layer unit test
* Fix failing render tests
* Update build size
* Update globe custom layer example descritions, remove forgotten code
* Remove unused util function
* Incorporate globe docs feedback
* Refactor and expose tile mesh generation
* Refactor custom layers to get smaller args object and access map transform directly
* Simplify more of the custom layer API
* Clean up and adapt more examples
* Fix mercator matrix precision
* Fix 3D model on terrain example
* Rename projectionDataForMercatorCoords to defaultProjectionData
* Document ProjectionData type
* Update build size
* Update developer-guides/globe.md
Co-authored-by: Harel M <[email protected]>
* Decouple ProjectionData from rendering code
Rename fields to camelCase, move it to a separate file
* Rename ProjectionData members
* Fix mercator transform unit tests
* Add an example to createTileMesh
* Rename CustomRenderMethodInput.shader to shaderData
* Add shaderData examples
* Document TileMesh and CreateTileMeshOptions types
* Fix custom layers in render tests
* Update render tests
Fails other than raster-warped were caused by increasing pos matrix precision in mercator_transform to 64 bit floats
* Add render test result from linux
* Update build size
* Update src/render/program/projection_program.ts
Co-authored-by: Harel M <[email protected]>
* Rename createTileMeshInternal to createTileMeshWithBuffers
* Update build size
* Improve doc comments
---------
Co-authored-by: Harel M <[email protected]>
* Globe - Covering tiles (#4615)
* Import coveringTiles changes from dev branch
* Remove duplicated tiles used in render tests
* Remove unused function
* Fix typo
* Properly handle tile wraps and LOD across antimeridian
* Discard previous changes and use custom wrap values instead
* Update build size
* Add render test for LOD at antimeridian
* Convert visibility numbers to enum
* Refactor globe covering tiles into a separate file
* Add yet another raster-warped expected image
* Add unit tests for globe covering tiles
* Refactor globe coveringTiles math to assume worldSize=1 instead of tileSize=1
* Split globe coveringTiles into more functions
* Explain radiusOfMaxLvlLodInTiles value
* Explain why checking 4 tile corners is (mostly) enough to construct an AABB.
* Move mercator coveringTiles into a separate file
* Yet another raster-warped expected image
* Remove ITileVisibilityProvider interface
* Use explicit types
* PR feedback
* Rename coveringTiles stack types
* fix typo
* Remove sky disabling in examples as this is no longer needed.
* Fix spelling
* Fix spelling - unencode
* Fix more spelling
* Fix lint
* Update CHANGELOG.md
---------
Co-authored-by: Jakub Pelc <[email protected]>
Co-authored-by: Larrieu Vivian <[email protected]>
Co-authored-by: Jakub Pelc <[email protected]>1 parent 2a17350 commit a283af1
File tree
385 files changed
+24019
-3240
lines changed- build
- developer-guides
- assets
- docs/assets/examples
- src
- data
- bucket
- geo
- projection
- gl
- render
- program
- shaders
- source
- style
- style_layer
- symbol
- ui
- handler
- map_tests
- util
- test
- test
- bench
- benchmarks
- lib
- versions
- build
- examples
- integration
- assets/tiles
- raster-zoom
- render
- tests
- debug/tile-raster
- icon-text-fit
- text-variable-anchor-overlap
- textFit-grid-long
- projection
- globe
- antimeridian-lod
- atmosphere
- atmosphere-blend
- base
- interpolate-to-0.5
- interpolate-to-0
- interpolate-to-1
- base
- light-position-map
- ligth-position-viewport
- zoom
- background-pattern
- background
- circle-pitch-alignment
- map-scale-map
- map-scale-viewport
- viewport-scale-map
- viewport-scale-viewport
- circle-planet
- collision-icon-text-translate-map
- collision-text-line-pole-to-pole
- collision-text-pitched-rotated
- collision-text-point-pole-to-pole
- collision-text-variable-anchor
- base
- pitched-and-rotated
- pitched
- rotated
- fill-extrusion-translate
- fill-extrusion
- fill-planet-pitched
- fill-planet-pole
- fill-planet-solid
- fill-planet-tiles
- fill-seams
- checkerboard
- ocean
- fill-translate
- heatmap
- hillshade
- icon-text-translate-map
- icon-text-translate-viewport
- image
- line-gradient
- line-spiral
- line-translate
- raster-planet
- raster-pole
- raster-warped
- text-line-pole-to-pole
- text-pitched-rotated
- text-point-pole-to-pole
- text-variable-anchor
- base
- pitched-and-rotated
- pitched
- rotated
- zoom-transition
- mercator/raster-planet
- perspective
- regressions/mapbox-gl-js#2762
- symbol-visibility/visible
- terrain-shading/default
- terrain
- fill-extrusion-multiple
- fill-extrusion-multipolygon
- unit/lib
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
385 files changed
+24019
-3240
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
4 | 7 | | |
5 | 8 | | |
6 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
Loading
Loading
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
Loading
Loading
Loading
Loading
0 commit comments