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

v3.1.0-beta.1 (bug fixes, performance improvements and new style properties) #13033

Merged
42 commits merged into from
Jan 4, 2024

Conversation

mourner
Copy link
Member

@mourner mourner commented Jan 4, 2024

Features and improvements ✨

  • Improve performance for maps with many textures (such as styles with satellite imagery), fixing excessive memory usage. (h/t @tristan-morris) #12924
  • Add raster-elevation property for elevating raster layers to a constant height (e.g. clouds over globe).
  • Add raster-emissive-strength and fill-extrusion-emissive-strength properties for controlling 3D lighting on buildings and raster layers.
  • Add Map getConfigProperty method for getting current style config values.
  • Add config support in terrain options.
  • Improve performance for pitched views with many fill extrusions on higher zoom levels.

Bug fixes 🐞

  • Fix an issue where center: [0, 0] and zoom: 0 map options were ignored in favor of style settings.
  • Fix an issue with the camera not taking the short route when animating between locations across the anti-meridian.
  • Fix an issue where a style with imports sometimes loaded in incomplete state.
  • Fix an issue with rendering styles with nested imports.
  • Fix an issue with sources not reloading when changing language and worldview.
  • Fix an issue where updating a style fragment URL didn't work correctly.
  • Fix an issue when adding a layer with explicit slot not taking precedence over the before parameter for layer order.
  • Fix an issue where updating an image before initial image is loaded produced an error. (h/t @maciejmatu) #12928
  • Fix an issue with incorrect collisions for elevated symbols.
  • Fix an issue with "camera-projection": "orthographic" not working in styles with imports.
  • Fix an issue with tiles sometimes missing in terrain mode on views from a hill down on a valley.
  • Fix compact attribution style when using global CSS that sets box-sizing: border-box. (h/t @simondriesen) #12982
  • Remove redundant aria-label attribute in attribution control that fails accessibility conformance. (h/t @maggiewachs) #12981

jtorresfabra and others added 30 commits January 4, 2024 14:28
* implementation of raster-emissive-strength

* draped case render test
* implement fill-extrusion-emissive-strength

* spec

* alternative (internal-963)

* render test

* spec
…950)

* Split fillextrusion tiles into subtiles

* Add rendering stats to FillExtrusionLayer and enable partial render tests

* Remove unneeded subsegment destroy

* Fix fill extrusion pattern

* fix FE postmeridian

* Fix undesired centroid data modification
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.23.2 to 7.23.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.5/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.31 to 8.4.32.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.4.31...8.4.32)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 46.8.2 to 46.9.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](gajus/eslint-plugin-jsdoc@v46.8.2...v46.9.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…sion render for elevated symbols (internal-987)

* [MAPS3D-1169] fix ortho collision issues with elevated symbols

The issue is about the Transform.clone not getting ortho flag, resulting with non ortho matrix used in placement.

* rendering elevated collision boxes

* render test exposing issue MAPS3D-1169

* Update style.json

expectation
…al-989)

* Don't reset style changes on the import load

* Recalculate the style's changed state if there are no actual changes

* Encapsulate StyleChanges internals
* Get rid of recursive fragment's style updates

* Get rid of StyleChanges.recalculate

---------

Co-authored-by: Volodymyr Agafonkin <agafonkin@gmail.com>
* [MAPS3D-1198] query tests for elevated symbols

* consolidate a_zoffset and a_z_offset
In #10985 we removed setTimeout in test,
which caused behaviour impacted by workload of host machine
and becomes execution order unpredictable[1], because marker
style modification uses Timers API, but rendering calls setImmediate

[1] https://nodejs.org/en/guides/event-loop-timers-and-nexttick#setimmediate-vs-settimeout
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.23.5 to 7.23.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.6/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer) from 21.5.0 to 21.6.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/release-please-config.json)
- [Commits](puppeteer/puppeteer@puppeteer-core-v21.5.0...puppeteer-core-v21.6.0)

---
updated-dependencies:
- dependency-name: puppeteer-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](SeleniumHQ/selenium@selenium-4.15.0...selenium-4.16.0)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [postcss-cli](https://github.com/postcss/postcss-cli) from 10.1.0 to 11.0.0.
- [Release notes](https://github.com/postcss/postcss-cli/releases)
- [Changelog](https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md)
- [Commits](postcss/postcss-cli@10.1.0...11.0.0)

---
updated-dependencies:
- dependency-name: postcss-cli
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add raster-array-band to style spec

* Add raster-array-band to style properties

* Implement shader code for display raster-array data

Co-authored-by: Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>

* Factor out raster-arary prelude

* Fix raster array prelude docstrings

* Fix raster.fragment.glsl metal compilation

* Fix u_image1 and factor out common parts of ra tex samplers

* Export preludeRasterArray

* Refactor raTexture2D_image()

Split raTexture2D_image() into raTexture2D_image_linear() and
raTexture2D_image_nearest().

Metal generator cannot handle #ifdef inside the prelude.

* Add raster-array-band property type

* [tmp] Ignore the raster-color/categorical results

* Update src/render/draw_raster.js

WebGLRenderingContext -> WebGL2RenderingContext

Co-authored-by: Stepan Kuzmin <stepan.kuzmin@mapbox.com>

---------

Co-authored-by: Ricky Reusser <572717+rreusser@users.noreply.github.com>
Co-authored-by: Stepan Kuzmin <stepan.kuzmin@mapbox.com>
* Fix terrain overrides

* Add unit test
* Recursively find fragments in Style.getFragmentStyle

* Add render tests for nested scopes
* Add raster array source to style spec

* RasterArray: drop "volatile" property and add "rasterLayers" property

1. Yet we never keep MRT tiles in a persistent storage and not sure if
   we should. We can re-add the "volatile" porperty later if needed.
2. "rasterLayers" property gives the client an idea what data layers and
   bands are contained within the tiles, so that it's possible to
   initialize style layers for rendering that data.

* [tests] Update unit tests expectations

---------

Co-authored-by: Ricky Reusser <572717+rreusser@users.noreply.github.com>
* Add raster-elevation property

* Do not drape raster layer with elevation

* Prop

* Add raster elevation example

* Render elevated raster layers

* Add render tests for raster-elevation

* Limit raster elevation to image sources

* Add expanded projection matrices for globe

* Add elevation to raster poles on globe

* Drop expandedMercatorMatrix and only create expandedProjMatrix for globe projection

* Use infinite projection matrix on globe
…nal-1008)

* Support adding and moving layers in slots with `before`

* Add warning when rearranging layers in different slots

* Add unit tests

* Update JSDocs

---------

Co-authored-by: Stepan Kuzmin <stepan.kuzmin@mapbox.com>
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.28.1 to 2.29.1.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](import-js/eslint-plugin-import@v2.28.1...v2.29.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 12 commits January 4, 2024 14:33
Bumps [tap](https://github.com/tapjs/tapjs) from 16.3.9 to 16.3.10.
- [Release notes](https://github.com/tapjs/tapjs/releases)
- [Commits](tapjs/tapjs@v16.3.9...v16.3.10)

---
updated-dependencies:
- dependency-name: tap
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer) from 21.6.0 to 21.6.1.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/release-please-config.json)
- [Commits](puppeteer/puppeteer@puppeteer-core-v21.6.0...puppeteer-core-v21.6.1)

---
updated-dependencies:
- dependency-name: puppeteer-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@rollup/plugin-json](https://github.com/rollup/plugins/tree/HEAD/packages/json) from 6.0.1 to 6.1.0.
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/json/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/url-v6.1.0/packages/json)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-json"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.0.1...cssnano@6.0.2)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 46.9.0 to 46.9.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](gajus/eslint-plugin-jsdoc@v46.9.0...v46.9.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix fragments URL update

* Add `map.getConfigProperty`
…th (internal-1019)

* Use _normalizeCenter on globe to unwrap camera animations on short path

* Update unit test
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 46.9.1 to 47.0.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](gajus/eslint-plugin-jsdoc@v46.9.1...v47.0.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.23.6 to 7.23.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.7/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@mourner mourner requested a review from a team as a code owner January 4, 2024 12:39
@mourner mourner closed this pull request by merging all changes into main in 88468ea Jan 4, 2024
@mourner mourner deleted the v3.1.0-beta.1 branch January 4, 2024 12:58
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.

None yet

10 participants