This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
WIP: Viewport collision detection port #10103
Closed
Closed
Conversation
This file contains 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
ChrisLoer
force-pushed
the
start-collision
branch
from
October 18, 2017 18:52
ae3daa9
to
95860dd
Compare
This was referenced Oct 20, 2017
- Adds "placeFirstAndLastGlyph" which can be called from CollisionIndex - Doesn't add JS-specific projection/glyph hiding optimizations - Only testing is a brief exercise of the previously existing line projection logic -- this still needs to be hooked up to more code to actually be useful.
…reground placement is implemented.
…nderer to pause and restart placement.
…ement for `CollisionTile`. No support for line-labels/circles yet. Compiles but not tested. [skip ci]
Boxes are still used instead of circles, but it would be pretty easy (if not necessarily most performant) to add a circle geometry refinement to the tree-querying logic. Compiles but not tested. [skip ci]
Modify FeatureIndex to use new interface.
- Dynamic buffers not hooked up yet - Circles not hooked up yet
- Stops crash on inserting line labels - Breaks queryRenderedSymbols for now. [skip ci]
- Naive copy-pasting of collision box code: should factor out more of the commonalities - "Used circle" logic seems to be working correctly - Rendering seems to break if there are too many circles (probably something to do with segment logic?) [skip ci]
and make `Placement.commit(...)` return whether anything changed.
Move 'circle' type from `mapbox::geometry` to `mbgl::geometry` since it's not a GeoJSON type.
… use in FeatureIndex (which could use ints instead of floats and could use a smaller version of IndexedSubfeature). Add explicit constructors for IndexedSubfeatures to keep the symbol vs. non symbol use case clear.
…nsferred collision data from the background to the foreground, and that pathway has been removed.
Use mapbox::geometry::envelope to calculate query box instead of rolling our own.
…redSymbols. This is necessary for handling the case where the feature is not projected onto the screen for the tile with wrap 0, but is onscreen for a tile with a different wrap.
We may want to address these before merging, but I want to get CI passing so we can start catching regressions.
…port-collision changes.
…re-used, so this commit clears it out for each still frame.
Fixes the native equivalent of gl-js issue #5620.
…t spot yet, and we can always revisit when we do profiling.
… only used for queries, not insertions.
5 tasks
WIP branch closed, final changes are in PR #10436. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Port of mapbox/mapbox-gl-js#5150.
Current plan is to do chunks of porting work as PRs into this branch, with the expectation that test won't pass for a while.
/cc @ansis @mollymerp @nickidlugash