-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[WIP] raw buffer passthrough #155
Conversation
What happens if you have |
Good catch. If my memory serves me right the
|
Or publish as 5.x and bring in this change #156 such that we don't force downstream consumers of tilelive-vector into upgrading node-mapnik (when they can't). |
@springmeyer @flippmoke - Could we keep this conditional and use this to update all V1 tiles to V2 tiles? What would the performance hit be to check the version of each tile and update if it's V1? |
@millzpaugh Are you asking if this |
@springmeyer yes, that's exactly what I was asking! This was also before Artem's workarounds in vtcomposite to handle V1 tiles, so now this is less relevant. Thanks for the clarification though. Although - I'm also confused about next steps for this branch.
Does this entail checking all modules that have this listed as a dependency and then looking for
Are we planning to use the dev release of this branch in production via mapbox-maps |
@millzpaugh I retract my idea of removing this option. Rather I think that complicates this effort. Instead I think it is ideal to just leave it in and not worry about trying to remove. So my new answer to this:
Is: lets not support
I think this is ready to merge and tag as an official new release, if you agree. So, please go ahead and do that when you have time and grab @mapsam for consultation on semver version to tag. |
This is now no longer true since after this comment #156 was merged. Originally I put up #156 only as part of testing an upgrade to mapnik 4 in api-maps, but @ingalls needed it for another mapbox api, so this has already merged. What that means is that the next release that is made from this branch does not need to be a dev release and can rather be any semver version and downstream deps that need to stay using a given mapnik version can continue to do so by pinning the node-mapnik version. The npm logic should respect that pin and decide the right node-mapnik version to use, which will allow deduping to work. If deduping does not work, and downstream apps end up with multiple mapnik versions, that would be unexpected - the only thing that would explain it is if some dep other that tilelive-vector started requiring a more recent version than is pinned. |
So, 👍 to tagging this as |
ok, great! I'm merging this in :) thanks @springmeyer & @mapsam |
Adds the ability to request a raw
node.Buffer
from the backend (rather than amapnik.VectorTile
object).Motivation here is - when a raw buffer is needed, we want to avoid the performance overhead of the (slight cost) of creating a
mapnik.VectorTile
object and the (meaningful [benchmark needed]) cost of copying data back out of it when callingvtile.getData()
.