Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

introduce elementGroups and re-organize buckets #461

Merged
merged 21 commits into from
Jun 17, 2014
Merged

Conversation

ansis
Copy link
Contributor

@ansis ansis commented Jun 17, 2014

  • introduces the elementgroup concept
  • split bucket.js and geometry.js into separate files for each bucket type
  • started cleaning up workertile.js
  • made bucket parsing less serial ae34e6a

why:

  • to move closer to -native
  • better organize buckets
  • prepare for fixing geojson and making it less of a special case

todo:

  • add tests for linebucket
  • add tests for fillbucket
  • add tests for textbucket covered by text-placement
  • add tests for pointbucket

ansis and others added 20 commits June 13, 2014 14:23
This starts bringing rendering closer to how its done in -native.

Lines are added to a single vertex and element buffer. If the number of
vertices exceeds the maximum number, instead of creating a new buffer it
creates a new element group, and stores the offset of that group into
the buffer.
break geojson, but fix build
Some buckets may need to download resources (like glyphs) before begin
parsed. These are now all started first so that a previous bucket
doesn't need to be finished before starting to donwnload the next
bucket's glyphs.

Also, placement only matters for buckets with placement. Buckets that
don't have placement (lines, fills) don't need to wait until the
previous bucket finishes.

Basically:
- start downloads stuff as early as possible
- don't enforce order where it isn't necessary
@yhahn
Copy link
Member

yhahn commented Jun 17, 2014

@ansis moved over the assertions from geometry.test.js from master to handle fill/line/point. I'm seeing textbucket as hard to test in this context -- and getting tested via https://github.com/mapbox/mapbox-gl-js/blob/element-groups/test/text-placement.js

@yhahn
Copy link
Member

yhahn commented Jun 17, 2014

Tested with our demo styles as well.

@mourner
Copy link
Member

mourner commented Jun 17, 2014

This is great, much cleaner now.

@ansis
Copy link
Contributor Author

ansis commented Jun 17, 2014

thanks for adding tests

ansis added a commit that referenced this pull request Jun 17, 2014
introduce elementGroups and re-organize buckets
@ansis ansis merged commit 3ebabad into master Jun 17, 2014
@ansis ansis deleted the element-groups branch June 17, 2014 17:03
bensleveritt pushed a commit to bensleveritt/mapbox-gl-js that referenced this pull request Oct 24, 2016
bensleveritt pushed a commit to bensleveritt/mapbox-gl-js that referenced this pull request Oct 24, 2016
Fix out-of-bounds dragging in direct_select; closes mapbox#461
lucaswoj pushed a commit that referenced this pull request Jan 11, 2017
* First pass at icon-text-fit, icon-text-fit-padding properties

* Support specifying padding independently on all 4 sides
karimnaaji pushed a commit that referenced this pull request Mar 14, 2023
… conditionally in fill extrusion, ground shadow, and line fragment shaders (#461)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants