Commit Graph

153 Commits

Author SHA1 Message Date
John Firebaugh
b2fabe5eef [core] Align match behavior with case/==
Makes `["match", ["get", k], label, match, otherwise]` equivalent to `["case", ["==", ["get", k], label], match, otherwise]`. This changes the behavior of match expressions where the runtime type of the input does not match the type of the labels: previously such expressions produced a runtime type error and then fell back to the property default value; now they produce the fallback value from the match expression.
2018-05-18 12:10:31 -07:00
Lauren Budorick
62c875e01b [core] Rework spec function/expression taxonomy
Ports https://github.com/mapbox/mapbox-gl-js/pull/6521, updating codegen scripts to parse new expression taxonomy.
2018-05-14 12:38:14 -07:00
Chris Loer
65a4ee2373 [core] Port is-supported-script to native.
Native port is much simpler because RTL text support is always enabled.
2018-04-27 16:05:14 -07:00
Chris Loer
1a39d7db48 [core] Remove circle-pitch-scale test ignores. 2018-04-26 18:03:17 -04:00
Chris Loer
60cce56d46 Bump GL JS pin to get tests for global symbol querying.
- Pulls over an update to line.vertex.glsl (looks like a no-op?)
 - Add test ignores for collator, is-supported-script, line-gradient
 - Exclude collator, is-supported-script, line-gradient from code generation.
2018-04-25 14:39:03 -07:00
Chris Loer
a62745edf9 Port global symbol query from GL JS:
- Symbol querying is now global instead of per-tile
 - Symbols that bleed over tile boundaries no longer missed in queries
 - Symbol results now sorted based on rendering order (ie overlapping symbols change their sort order when a bearing change causes their render order to change)
 - Placement::retainedQueryData now responsible for maintaining symbol querying data for buckets that may no longer be in the TilePyramid.
2018-04-25 14:39:03 -07:00
Łukasz Paczos
22b4ef1f4b Update layer immediately when changing its max/min zoom level (#11399)
* [android][core] update layer immediately when changing it's max/min zoom

* [core] node bindings for layer zoom range
2018-04-12 10:42:14 +02:00
Anand Thakker
8d26f74091 Fix style parsing bug for constant expressions (#11606)
* Fix style parsing bug for constant expressions

Closes #10849

* Ignore tests for unported GL JS change

Refs https://github.com/mapbox/mapbox-gl-js/pull/6429

* Fuller fix

* Update mapbox-gl-js
2018-04-09 17:59:18 -04:00
John Firebaugh
9499a2bda7 [core] Don't resolve tokens after evaluating a text-field or icon-image expression (#11509) 2018-03-22 16:44:12 -07:00
Ansis Brammanis
ef1dcc0d5b [core] don't hide icons if text is an empty string 2018-03-19 15:31:38 -07:00
John Firebaugh
449c68e329 [core] Update mapbox-gl-js 2018-03-14 15:26:28 -07:00
Anand Thakker
8ed540ea7b Port fix for "at" expression off-by-1 error (#11375)
* Port fix for "at" expression off-by-1 error

Refs https://github.com/mapbox/mapbox-gl-js/pull/6269

* Consistency

* Add ignores for symbol positiong differences in real-world tests
2018-03-02 16:38:46 -05:00
Chris Loer
936d92a411 [test] Native ignore for GL JS issue #6160 2018-02-28 16:09:09 -08:00
Chris Loer
3d591ae2a2 [test] Native expression test support for:
- Round-tripping expressions through serialization and checking that outputs don't change
 - Checking expression serialization against expected value from fixture
2018-02-28 16:09:09 -08:00
Chris Loer
75feda12f1 [core] Implement Expression::serialize()
Issue #10714
- Each expression stores its operator as a string, and default serialization is [operator, serialize(child1), ...]
- Custom implementations of `serialize` for Expression types that don't follow the pattern
- expression::Value -> mbgl::Value converter
- node_expression bindings to expose `serialize`
2018-02-28 16:09:09 -08:00
Vladimir Agafonkin
82de856c94 [core, ios, macos, android, node] Heatmap layer (#11046)
Co-Authored-By: Konstantin Käfer <mail@kkaefer.com>
Co-Authored-By: Anand Thakker <anandthakker@users.noreply.github.com>
Co-Authored-By: Minh Nguyễn <1ec5@users.noreply.github.com>
2018-02-15 17:38:23 +02:00
Molly Lloyd
e03f7a4d1f [core] align raster-dem tiles to pixel grid (#11119)
* align raster-dem tiles to pixel grid

* revert ignored hillshade tests
2018-02-06 10:56:42 -08:00
Chris Loer
f7cae4c3e4 [test] Ignore slightly-different collision circles on native. 2018-02-06 08:46:15 -08:00
Chris Loer
2a05a832b2 [test] Temporarily ignore hillshade tests pending PR #11119. 2018-02-06 08:46:15 -08:00
Konstantin Käfer
d511f74ce4 [node] add setLight support 2018-01-24 16:35:47 -08:00
Konstantin Käfer
2502a3ab2b [core] update mapbox-gl-js submodule pin
* disables transition render test (transitions are not supported with Still image rendering in Node.js)
* removes support for hillshade-illumniation-direction-transition
2018-01-24 15:41:22 -08:00
Molly Lloyd
f3294200c6 [core] add raster-dem source type and hillshade layer type (#10642) 2018-01-23 10:49:23 -08:00
John Firebaugh
7c0e8fd980 [core] Remove two obsolete ignores 2018-01-11 12:25:26 -08:00
John Firebaugh
76ed5079a5 [core, ios, macos, android] Add data-driven-styling support for text-font 2018-01-10 15:31:12 -08:00
John Firebaugh
c9da6e4959 [core] Account for circle-stroke-width in queryRenderedFeatures 2018-01-10 14:22:44 -08:00
John Firebaugh
cedda5ef4f [core] Handle NaN input to interpolate and step 2018-01-10 13:45:00 -08:00
John Firebaugh
0eb4b5cc0e [core] Omit inferred type annotations for 'coalesce' arguments 2018-01-09 17:27:02 -08:00
John Firebaugh
e887cda986 [core] Fix alpha handling in rgba and to-rgba operators 2018-01-09 16:46:52 -08:00
John Firebaugh
a4ab4f68e2 [core] Enable implicit type assertions for array types 2018-01-09 16:13:26 -08:00
John Firebaugh
a13027c1b6 [core] Improve typing for !=, == expressions 2018-01-09 16:10:51 -08:00
Chris Loer
966606a107 [core] Update debug collision circle shader.
Fixes issue #10876.
2018-01-09 13:14:02 -08:00
Asheem Mamoowala
10a44050f4 Support TileJSON bounds property (#10701)
* [core] Parse TileJSON bounds property
* [core] Add TileRange and LatLngBounds::contains(CanonicalTileID)
Move LatLngBounds::contains impl to cpp file
* [core] Skip tile creation outside of tileset bounds
* [core] Fix TileRange for wrapped bounds and use for CustomTileLoader instead of LatLngBounds comparisons for tiles.
2018-01-05 06:35:31 -08:00
Chris Loer
5bfa20d71d Fix distant collision perspective ratios (#10794).
Analog of GL JS issue #5911.
Add native ignore for tilejson-bounds.
2018-01-04 14:24:37 -08:00
Lauren Budorick
c2250e6e53 Update mapbox-gl-js submodule 2017-12-20 16:58:27 -05:00
Lauren Budorick
920057c9d6 [core] Better align fill-extrusion vertex layout 2017-12-20 15:17:11 -05:00
Asheem Mamoowala
f545d21df0 [core] Overzoomed image sources vanish (#10677)
Use z0 tile coordinates instead of screen coordinates to compute ideal zoom for image sources
2017-12-13 12:52:23 -08:00
Anand Thakker
801c47befa Add ignores for new ==, != tests (#10679)
GL JS change: https://github.com/mapbox/mapbox-gl-js/pull/5840
GL Native issue: https://github.com/mapbox/mapbox-gl-native/issues/10678
2017-12-12 15:19:24 -05:00
Chris Loer
3fed2358d6 [core] Include bucket name in queryRenderedSymbols duplicate feature filter
- Port of GL JS PR #5703
 - Fixes issue #10616
2017-12-11 15:05:18 -08:00
John Firebaugh
a623ff13ed Update gl-js submodule 2017-12-01 17:58:14 -08:00
Chris Loer
8cfeae9e45 [core] Remove ignores for passing tests.
Update ignore links to specific issues.
Bump mapbox-gl-js version to get latest text-pitch-spacing test.
2017-11-17 10:05:15 -08:00
Chris Loer
4f0e5374c3 [core] Skip fade animation for placed symbols that are currently offscreen.
Don't mark items that are outside the collision grid range as placed.
Requires new ignore because GL JS issue #5654 allows insertion of symbols outside the CollisionIndex range, and those symbols can cascade in to affect items within the viewport.
2017-11-17 10:05:15 -08:00
Ansis Brammanis
22c07596a0 [core] Split MapMode::Still into Static and Tile
`Tile` makes sure the symbols in the resulting tile are tileable while
symbols in `Still` match rendering in `Continuous` mode.
2017-11-17 10:05:15 -08:00
Chris Loer
3e074390b5 [core] Added ignores for two query tests that return the same set of items but in a different order. 2017-11-17 10:05:15 -08:00
Chris Loer
9fb30dfd52 [core] Removed ignores for fixed issues. 2017-11-17 10:05:15 -08:00
Anand Thakker
f648cfeef6 Implement Expressions (#9439)
Ports https://github.com/mapbox/mapbox-gl-js/pull/4777 (and its several follow-ups)
2017-11-08 12:34:02 -05:00
Anand Thakker
424ba0d9de Add support for 'sleep' operation in render tests (#10282)
Ports 0069349550
2017-10-25 16:36:43 -04:00
Chris Loer
f6c8dcbf39 Enable native test for text-keep-upright with text-offset.
Issue #9271 was fixed as part of PR #9009.
2017-10-24 14:17:30 -07:00
Lauren Budorick
e43e2aa3d7 [core, node] Support axonometric rendering 2017-10-14 03:15:34 +02:00
Lauren Budorick
98bb8613c3 Ignore raster-masking/overlapping-zoom 2017-10-14 01:34:19 +02:00
Lauren Budorick
2166b8577b Skip expression-based runtime styling test 2017-10-13 22:11:30 +02:00