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.5.0-beta.1 #13204

Merged
merged 83 commits into from
Jun 19, 2024
Merged

v3.5.0-beta.1 #13204

merged 83 commits into from
Jun 19, 2024

Conversation

underoot
Copy link
Member

@underoot underoot commented Jun 19, 2024

Breaking changes ⚠️

  • This release marks a significant transition for GL JS, moving from Flow to TypeScript. While we have maintained backward compatibility where possible, the community typings @types/mapbox-gl are not fully compatible with the new first-class typings. Users relying on the community typings may experience breaking changes. Please remove the @types/mapbox-gl dependency and refer to the v3.5.0 migration guide for instructions on upgrading, resolving common issues, and asking questions regarding the migration to the first-class typings. We welcome your feedback and contributions to make Mapbox GL JS better.

Features and improvements ✨

  • Add a color-theme property to enable colorization with a lookup table (LUT) images.
  • Add icon-occlusion-opacity and text-occlusion-opacity properties to fade symbols behind models and landmarks.
  • Add line-occlusion-opacity property to fade lines behind 3D objects.
  • Add experimental clip layer to filter out rendering data.
  • Add experimental line-z-offset property for a non-globe view.
  • Add model-cutoff-fade-range property support to control fade out of faraway 3D buildings.

Bug fixes 🐞

  • Fix icon rotation during globe transition.
  • Fix GeoJSON data loss due to frequent updateData calls.
  • Improve raster-particle layer animation.
  • Fix padding not being applied on flyTo when prefers-reduced-motion is set.

jtorresfabra and others added 30 commits June 18, 2024 16:38
* Convert x, y tilecoords to node coords

* Update the station building with latest tools version and the examples using it
* Add front cutoff opacity calculation

* Add node sorting

* Update front cutoff handling

* Update front cutoff render tests

* Enable front cutoff render tests

* Fix linter issues

* Fix model matrix calculation

* Increase render test tolerances

* Fix fov scale

* Update landmark front cutoff terrain render test

* Increase render test tolerances

* Fix symbol hiding
* Fix line-width expression evaluation in native
* Update line-pattern-trim-offset render tests
* Initialize particle positions using simple esgtsa hash function

- the intention is to make it easier for GL-native to initialize
  using identical positions so that the render test results agree.

* Create particle position image once per layer
* Fix `queryRenderedFeatures` types
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.24.5 to 7.24.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.24.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 [playwright](https://github.com/microsoft/playwright) from 1.44.0 to 1.44.1.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.44.0...v1.44.1)

---
updated-dependencies:
- dependency-name: playwright
  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-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) from 25.0.7 to 25.0.8.
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/commonjs-v25.0.8/packages/commonjs)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-commonjs"
  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 22.9.0 to 22.10.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-v22.9.0...puppeteer-core-v22.10.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 [stylelint](https://github.com/stylelint/stylelint) from 16.5.0 to 16.6.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@16.5.0...16.6.0)

---
updated-dependencies:
- dependency-name: stylelint
  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 [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 48.2.5 to 48.2.6.
- [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@v48.2.5...v48.2.6)

---
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>
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.16 to 10.4.1.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](isaacs/node-glob@v10.3.16...v10.4.1)

---
updated-dependencies:
- dependency-name: glob
  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 [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.24.5 to 7.24.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.24.6/eslint/babel-eslint-parser)

---
updated-dependencies:
- dependency-name: "@babel/eslint-parser"
  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 [stylelint](https://github.com/stylelint/stylelint) from 16.6.0 to 16.6.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@16.6.0...16.6.1)

---
updated-dependencies:
- dependency-name: stylelint
  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 48.2.6 to 48.2.7.
- [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@v48.2.6...v48.2.7)

---
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>
Bumps [testem](https://github.com/testem/testem) from 3.13.0 to 3.14.0.
- [Release notes](https://github.com/testem/testem/releases)
- [Commits](testem/testem@v3.13.0...v3.14.0)

---
updated-dependencies:
- dependency-name: testem
  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>
* Switch to hosted data for raster-particle-layer debug page

* Remove unused local files

* Add raster-particle-layer.html to release page list
* introduce clipe layer to remove 3d data (for now fill extrusions and landmarks)

* add example

* handle instanced trees

* existing behaviour for landmark regions

* unit

* handle symbols

* symbols skip landmark influence

* some optimisation to remove unnecessary array used by instanced model clipping logic

* some refactoring and small fix in preparation to allow control for additional controls via layout properties to clip symbol and instanced model layers

* instanced models skip landmark influence

* support clipping extra layers specified via a list of values as a constant layout property

* small fix

* fix symbols not getting clipped at low zoom level

* opt out early when tile does not overlap with the clip bounding region

* standard extruded buildings handled separately as well

* for now ignore the extruded-buildings case

* support multi layers for instanced models and symbols

* slightly different approach in prep for separating extruded buildings, wip

* add render tests

* test case for two layers one overriding the other

* tiny fix in unit

* missing property default

* fix some remaining issues and update tests

* no clipping in globe mode

* add case for fill-extrusion WIP and somewhat flakey for now

* test case for min max zoom

* doc update

* test for fill-extruion case

* minor

* unit and flow and a fix in debug page

* Fix buld error

* use enum, fix duplicate param in min max calcs, and few other review fixes

* some housekeeping to pass clip masks similar to how order is passed down i.e. during setSources call

* missing field when comparing region equality

* move render tests out of model-layer folder

---------

Co-authored-by: Jordi Torres <jtorresfabra@gmail.com>
…ain (internal-1343)

* Wip: specify line elevation in property array and use line-progress

Incorrect rendering in render test as it still doesn't do clipping and tesselation

* clipping on tile borders

* tesellation, assuming terrain usage always

* line occlusion opacity wip

* render tests for lien occlusion opacity

* render test for opacity and stenciling requirement

* multiline transparency test

* update render test data

* fix elevated line render test

* revert dynamic.js change

* line pattern example with blue and gray circles

* test fixes

mergeLayers on terrain only for new layers, not for paint property changes to avoid flickering

* line-pattern debug page - add terrain and line-z-offset

* fix line-join none issue with elevated line

* rebase render test after fixed line pattern in previous commit

* fix gradient render test

* add the u_alpha_discard_threshold to line pattern, too.

* render testing elevated lines with > 65535 vertices

* Cleanup

* Revert second pass for draw_line - it is not needed to be introduced in this PR

The approach would eventually come later but it is not needed now

* Use proper feature distance when available

* rebase
* Add Texture3D class

* Add color-theme property to style spec

* Add RenderColor class and pass around LUT to color properties

Co-Authored-By: Konstantin Käfer <mail@kkaefer.com>

* Apply LUT on images

* Apply LUT in model fragment shader

* Add render tests for color-theme property

* Add demo page for LUTs

* fixup loadImage

* fixup circular dependencies

* Add render test to load colorTheme value from config

* Load style with incorrect LUT value

* Add test to load style with incorrect lut value

* Get rid of redundant allocations when applying LUT on CPU (internal-1456)

* Add getLut(scope) function to syle

* Catch errors of color theme loading during style load

---------

Co-authored-by: Konstantin Käfer <mail@kkaefer.com>
Co-authored-by: Volodymyr Agafonkin <agafonkin@gmail.com>
alexey-romanov and others added 25 commits June 18, 2024 18:13
#1512

always remove 3d extruded buildings, rename property change to be more conventional, some refactoring and an additional render test, exclude one render test for the separated case of fill-extrusion which will be revisited in future.
* Use `es2022` in production and `esnext` in development

* Use `ecma: 2020` in terser

* Disable code transform with esbuild
* Improve TypeScript types

* drop unused assertions
* Fix rotated icon position during globe transition

* Add render tests for symbol rotation on globe transition
Improve backward compatibility with community typings.

* Overload `Map#once` type
* Export Source implementation types
* Split `MapDataEvent` into `MapStyleDataEvent` and `MapSourceDataEvent`
* Use `GeoJSON.GeoJSON | string` as `GeoJSONSourceSpecification['data']` type instead of `unknown`
* remove legacy gl-stats script & puppeteer deps

* fixup
* upgrade geojson-vt to v4

* explicitly add geojson-vt types

* fixup

* fixup
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.2 to 20.14.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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 [tsx](https://github.com/privatenumber/tsx) from 4.15.2 to 4.15.6.
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](privatenumber/tsx@v4.15.2...v4.15.6)

---
updated-dependencies:
- dependency-name: tsx
  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 [tape](https://github.com/tape-testing/tape) from 5.7.5 to 5.8.1.
- [Changelog](https://github.com/tape-testing/tape/blob/master/CHANGELOG.md)
- [Commits](tape-testing/tape@v5.7.5...v5.8.1)

---
updated-dependencies:
- dependency-name: tape
  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 the eslint-dependencies group with 4 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser), [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@typescript-eslint/eslint-plugin` from 7.13.0 to 7.13.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.13.0 to 7.13.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.1/packages/parser)

Updates `eslint-plugin-jsdoc` from 48.2.9 to 48.2.12
- [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@v48.2.9...v48.2.12)

Updates `typescript-eslint` from 7.13.0 to 7.13.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-dependencies
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-dependencies
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…es (internal-1530)

* Add support for tileJson variants to enable meshopt tiles in new versions

New versions of the sdk will still be pointing to meshopt urls after tileJson parsing whilst old versions will still be pointing to draco urls for downloading tiles

* Override all fields in geojson coming from variant
* Add experimental tag support

* Skip validation for `experimental: true` keys
* Fix Style-Spec expression enum types generation
---------

Co-authored-by: Stepan Kuzmin <stepan.kuzmin@mapbox.com>
@underoot underoot requested a review from a team as a code owner June 19, 2024 14:51
3d-style/render/model_manager.ts Dismissed Show dismissed Hide dismissed
3d-style/render/model_manager.ts Dismissed Show dismissed Hide dismissed
@underoot underoot merged commit 7dec10f into main Jun 19, 2024
30 checks passed
@underoot underoot deleted the release/3.5.0-beta.1 branch June 19, 2024 15:17
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.