This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
Ensure that LiveTileData can be reparsed #2393
Closed
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.
Annotation tiles may become partially parsed just like regular tiles, for example if a point annotation is added to the map before the style's sprite has been loaded. In such cases, they need to be reparsed or the annotation will not be rendered. Previously, the code path for reparsing would be short-circuited by a
dynamic_cast<VectorTileData*>
followed by a null check. This commit removes that case and adds (back) a virtualreparse
method to the TileData interface.This is the first of several fixes for annotation rendering. I found it in the course of debugging why the existing
PointAnnotation
test was not actually rendering a marker. In addition to these changes, we need to make that test actually fail if the rendering does not match the expected rendering. This again requires some sort of forgiving image similarity test, or exposing annotations in the node bindings so that we can test in JS and use our existing comparison method.👀 @tmpsantos this touches partial parsing, can you give it a look?