-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Conversation
774aa39
to
b611131
Compare
The |
It's failing because |
@@ -91,11 +90,8 @@ void TileWorker::redoPlacement( | |||
// Reset the collision tile so we have a clean slate; we're placing all features anyway. | |||
collisionTile = std::make_unique<CollisionTile>(config); | |||
|
|||
for (auto i = layers.rbegin(); i != layers.rend(); i++) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kkaefer Do you see any issues here with iterating buckets
directly, rather than layers
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, yeah, feature placement is order dependent, of course.
f0d5948
to
8522c1f
Compare
@@ -287,6 +287,6 @@ void TileWorker::createSymbolBucket(const GeometryTileLayer& layer, | |||
|
|||
void TileWorker::insertBucket(const std::string& name, std::unique_ptr<Bucket> bucket) { | |||
if (bucket->hasData()) { | |||
result.buckets.emplace_back(name, std::move(bucket)); | |||
result.buckets.emplace(name, std::move(bucket)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we ever overwriting buckets here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so -- if we are, there's a bug in the bucket de-duping step. The name is the bucket name, which should be unique.
A tile may go from having particular layers, to not having them. (Annotation tiles in particular.)
This fixes adding shape annotations after VectorTileData objects have been created for annotations already, and will also be necessary for the dynamic Style API.
8522c1f
to
8c3b3cb
Compare
Fixes #1688.
👀 @kkaefer