| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
- CollisionTile
- FrameHistory
- PlacementConfig
|
|
|
|
| |
Brings gl-native shaping closer to gl-js.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Background placement code now just generates static symbol buffers
- Don't render GeometryTiles until their symbols are loaded. This is necessary for the CrossTileSymbolIndex to successfully prevent flicker.
- SymbolInstances are transferred to SymbolBucket for use on foreground during collision detection
- Symbols are sorted on foreground by sorting their index buffer but leaving vertex buffers intact (only works within one segment)
- Vertical glyphs are generated at same time as horizontal glyphs. `reprojectLineLabels` chooses which one to use at render time and hides the other.
- Icons are now always represented with a single collision box, even if they're placed along a line (this means their rotation alignment may be wrong, but the approach of representing them with multiple collision boxes wasn't very accurate either).
- Generate vertices for new debug collision boxes and collision circles
- Only add symbols within tile boundaries (reduces work, avoids double-draw)
- Update symbol_projection.cpp to support line label projection calls from CollisionIndex.
|
| |
|
|
|
|
|
|
|
| |
- Switches from tile to viewport coordinates
- Represents line labels with circle geometries
- Projects line labels at collision detection time to improve accuracy
- Adapts tile-based symbol queries to viewport coordinates
|
|
|
|
| |
Responsible for running global collision detection/symbol placement algorithm and updating symbol opacity buffers accordingly.
|
|
|
|
|
| |
- Adds early exiting "hitTest" query for fast collision detection
- GridIndex now determines cell count separately for x and y axes based on grid dimensions.
|
|
|
|
| |
This class is responsible for tracking which symbols are "the same" between tiles at different zoom levels, so that symbol opacities (fade animations) can be copied smoothly between tiles.
|
|
|
|
| |
Sadly we don't have bots for these two setups.
|
|\ |
|
| |
| |
| |
| | |
- Causes crashes on usage of glBuffer(Sub)Data
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* [ios, macos] Add selection support to MGLMultiPoint annotations.
* [ios, macos] Update changelogs.
|
| |
| |
| |
| | |
filenames
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving).
This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
|
| | |
|
| |
| |
| | |
Ports https://github.com/mapbox/mapbox-gl-js/pull/4777 (and its several follow-ups)
|
| |
| |
| |
| | |
This reverts commit e350ef37fe68312c4b5fb03b289a90c0bdda4f03.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Needed by Qt builds on Android.
|
| | |
|
| |
| |
| |
| | |
- Causes crashes on usage of glBuffer(Sub)Data
|
| | |
|
| |
| |
| |
| |
| | |
Split the headers, so each platform includes the most appropriated
header.
|
| |
| |
| |
| | |
conversion system
|
| | |
|
| |
| |
| |
| | |
filenames
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving).
This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
We don't want to link it into the node bindings, so keep it in a separate target
|
| |
|
|
|
|
|
|
| |
In https://github.com/mapbox/mapbox-gl-native/pull/9670, we implemented support for the Cache-Control: must-revalidate header. While we now respect this header and don't show resources that are stale and have this header set, the optional cache request never completes. This means we're also never going to try to actually get a fresh tile and just never show this tile anymore.
This commit fixes this by responding with a Not Found error when the resource is unusable (= stale and has must-revalidate set). Since we actually still have the data (but can't use it due to caching rules), we're responding with the data as well. To avoid a second cache hit, tile_loader_impl.hpp now passes on the data from the Optional to the Required request so that it can be reused when we get a 304 Not Modified response from the server.
|
|
|
|
| |
- optional callback method that can be used to do cleanup when the context has been lost before re-initialisation
|
|
|
|
| |
- Prevents cleaning up of GL resources that no longer exist, resulting in a crash
|
|
|
|
| |
- This enables the use case where the system already destroyed the underlying GL resources. Otherwise, the cleanup would fail and crash
|