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.3.0-beta.1 #13135

Merged
merged 55 commits into from
Apr 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9c71476
expose all stars parameters (internal-1200)
alexey-romanov Feb 28, 2024
4dfcb1b
tracked parameters - mark modified values (internal-1201)
alexey-romanov Feb 29, 2024
592070b
Improve Flow typings (internal-1196)
stepankuzmin Feb 29, 2024
8a1eeed
Allow setting fog configuration through config expression (internal-1…
alexshalamov Mar 4, 2024
793a319
Bump playwright from 1.41.2 to 1.42.1 (internal-1218)
dependabot[bot] Mar 5, 2024
4d1789a
Bump msw from 2.1.7 to 2.2.2 (internal-1217)
dependabot[bot] Mar 5, 2024
b60f3d7
Bump @babel/core from 7.23.9 to 7.24.0 (internal-1215)
dependabot[bot] Mar 5, 2024
6615ca4
Bump vite-plugin-arraybuffer from 0.0.2 to 0.0.6 (internal-1214)
dependabot[bot] Mar 5, 2024
9875b34
Bump address from 1.2.2 to 2.0.2 (internal-1216)
dependabot[bot] Mar 5, 2024
e7b7c4a
Meshopt compression support for landmarks (internal-1204)
jtorresfabra Mar 5, 2024
c48b07b
Bump cssnano from 6.0.3 to 6.0.5 (internal-1187)
dependabot[bot] Mar 5, 2024
c9de626
Update CircleCI config (internal-1037)
stepankuzmin Mar 5, 2024
a3115af
[MAPS3D-700] QRF for Model layer - instanced models (internal-1213)
astojilj Mar 5, 2024
d1e4211
[MAPS3D-1284] ground symbols on visibility set to none render test (i…
astojilj Mar 6, 2024
2719a8b
Limit farZ of globe tiles during globe mercator transition (internal-…
endanke Mar 7, 2024
62f2126
Use depth value from gl_FragCoord instead of separate variable (inter…
endanke Mar 7, 2024
5d520fe
Splitted map.test.js (internal-1223)
underoot Mar 7, 2024
eeb064a
Drop unused layer from test case (internal-1225)
endanke Mar 7, 2024
8d37201
Updated image expression description to explain that in can contain t…
woodroof Mar 8, 2024
4fe3ed8
Improved image expression description (internal-1230)
woodroof Mar 11, 2024
4142bb8
[GLJS-687] Fixed maxZoom with pitch calculation with terrain (interna…
underoot Mar 11, 2024
c11d9e3
Enable raster-elevation for tiled sources (internal-1133)
endanke Mar 11, 2024
ecc91f7
Add check for PROJECTION_GLOBE_VIEW when using v_split_fade (internal…
endanke Mar 12, 2024
4187307
GLJS-624 Init fog properties in constructor (internal-1231)
underoot Mar 12, 2024
6839c57
Transfer raster-array implementation (internal-1046)
rreusser Mar 12, 2024
c2aa91b
Bump puppeteer-core from 22.0.0 to 22.4.1 (internal-1235)
dependabot[bot] Mar 13, 2024
81d3fc9
Bump eslint-plugin-jsdoc from 48.2.0 to 48.2.1 (internal-1236)
dependabot[bot] Mar 13, 2024
6b731ed
Bump msw from 2.2.2 to 2.2.3 (internal-1233)
dependabot[bot] Mar 13, 2024
5cfb070
[MAPS3D-1294] Add frustum culling to batched models at node level (in…
jtorresfabra Mar 14, 2024
2e43605
[GLJS-713] Fix config with format expression that contains text prope…
zmiao Mar 14, 2024
30b15c5
v3.3.0-alpha.1 (internal-1243)
stepankuzmin Mar 14, 2024
cda3bbf
Forbid Nullish coalescing (internal-1245)
stepankuzmin Mar 15, 2024
e878bca
Add showParseStatus debug option (internal-1246)
endanke Mar 15, 2024
cc1f3b5
v3.3.0-alpha.2 (internal-1247)
stepankuzmin Mar 15, 2024
83407bc
Bump postcss from 8.4.35 to 8.4.36 (internal-1250)
dependabot[bot] Mar 19, 2024
249f3e2
Bump puppeteer-core from 22.4.1 to 22.5.0 (internal-1252)
dependabot[bot] Mar 19, 2024
c34cf26
Fix wireframe rendering
lasselammi Mar 19, 2024
ef26e4d
[MAPS3D-700] queryRenderedFeatures implementation for landmarks (3D t…
astojilj Mar 20, 2024
30bd8b9
[MAPS3D-1284] Fix z offset when opacity is evaluated to 0 on zoom cha…
astojilj Mar 20, 2024
a4b1746
Remove invalid trailing semicolon in raster.vertex.glsl
Nelarius Mar 25, 2024
24f3882
Tracked parameters improvements (internal-1226)
alexey-romanov Mar 25, 2024
cc81d89
Add some more debug controls to devtools (internal-1262)
akoylasar Mar 25, 2024
bb2884c
[GLJS-681] Fixed setStyle handling of absent terrain (internal-1263)
underoot Mar 25, 2024
7ad882c
[GLJS-738] Refactor RasterArray Source (internal-1238)
stepankuzmin Mar 26, 2024
40151f0
Bump @babel/eslint-parser from 7.23.10 to 7.24.1 (internal-1264)
dependabot[bot] Mar 26, 2024
1645a9b
Bump cssnano from 6.0.5 to 6.1.2 (internal-1266)
dependabot[bot] Mar 26, 2024
52d2e6e
Bump postcss from 8.4.36 to 8.4.38 (internal-1269)
dependabot[bot] Mar 26, 2024
a3b8ac5
[GLJS-732] Resolved circular dependencies in GL JS (internal-1239)
underoot Mar 26, 2024
9edbaaf
[GLJS-727] Implement raster particle layer (internal-1248)
Nelarius Mar 26, 2024
6bb8a7a
Migrate from Yarn to NPM (internal-1258)
stepankuzmin Mar 27, 2024
9095d8c
Fix failing `verify-codegen` (internal-1273)
stepankuzmin Mar 27, 2024
f5b13f3
[GLJS-519] Added imports and slots API (internal-1271)
underoot Mar 27, 2024
f05b574
Removed optional chaning (internal-1274)
underoot Mar 27, 2024
f01b3af
Ignored model related tests
underoot Mar 27, 2024
fd2045f
v3.3.0-beta.1 (internal-1275)
underoot Mar 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
121 changes: 67 additions & 54 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
version: 2.1
orbs:
aws-cli: circleci/aws-cli@3.1.4
browser-tools: circleci/browser-tools@1.4.2
macos: circleci/macos@2.3.6
aws-cli: circleci/aws-cli@4.1.3
browser-tools: circleci/browser-tools@1.4.8
win: circleci/windows@5.0.0

workflows:
version: 2
default:
jobs:
- prepare-linux:
Expand Down Expand Up @@ -155,14 +153,14 @@ workflows:

linux-defaults: &linux-defaults
docker:
- image: cimg/node:18.16-browsers
- image: cimg/node:18.19-browsers
working_directory: ~/mapbox-gl-js

mac-defaults: &mac-defaults
resource_class: macos.m1.medium.gen1
macos:
# https://circleci.com/docs/using-macos/#supported-xcode-versions
xcode: 14.3.0 # macOS 13.2 (Ventura)
# https://circleci.com/docs/using-macos/#supported-xcode-versions-silicon
xcode: 14.3.1 # macOS 13.2.1 (Ventura)
environment:
HOMEBREW_NO_AUTO_UPDATE: 1
working_directory: ~/mapbox-gl-js
Expand All @@ -181,15 +179,15 @@ jobs:
- checkout
- restore_cache:
keys:
- v0-linux-yarn-{{ .Branch }}-{{ checksum "yarn.lock" }}
- v0-linux-yarn-{{ .Branch }}-
- v0-linux-yarn-
- run: yarn --frozen-lockfile --cache-folder ~/.cache/yarn
- run: yarn run build-dev
- v0-linux-npm-{{ .Branch }}-{{ checksum "package-lock.json" }}
- v0-linux-npm-{{ .Branch }}-
- v0-linux-npm-
- run: npm ci --no-audit --no-fund
- run: npm run build-dev
- save_cache:
key: v0-linux-yarn-{{ .Branch }}-{{ checksum "yarn.lock" }}
key: v0-linux-npm-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ~/.cache/yarn
- ~/.npm
- persist_to_workspace:
root: ~/
paths:
Expand Down Expand Up @@ -222,8 +220,8 @@ jobs:
keys:
- v2-lint-{{ .Branch }}
- v2-lint
- run: yarn run lint
- run: yarn run lint-css
- run: npm run lint
- run: npm run lint-css
- save_cache:
key: v2-lint-{{ .Branch }}-{{ .Revision }}
paths:
Expand All @@ -234,13 +232,13 @@ jobs:
steps:
- attach_workspace:
at: ~/
- run: yarn run build-prod-min
- run: yarn run build-prod
- run: yarn run build-csp
- run: yarn run build-css
- run: yarn run build-style-spec
- run: yarn run build-flow-types
- run: yarn run test-build
- run: npm run build-prod-min
- run: npm run build-prod
- run: npm run build-csp
- run: npm run build-css
- run: npm run build-style-spec
- run: npm run build-flow-types
- run: npm run test-build
- run: while read l; do cp debug/$l test/release/$l; done < test/release/local_release_page_list.txt
- store_artifacts:
path: "dist"
Expand All @@ -258,31 +256,38 @@ jobs:
at: ~/
- run:
name: Check bundle size
command: yarn check-bundle-size
command: npm run check-bundle-size

test-flow:
<<: *linux-defaults
steps:
- attach_workspace:
at: ~/
- run: yarn run test-flow
- run: npm run test-flow

test-unit:
<<: *linux-defaults
steps:
- attach_workspace:
at: ~/
- restore_cache:
keys:
- v0-playwright
- run:
command: yarn run test-unit
command: npm run test-unit
no_output_timeout: 5m
- save_cache:
key: v0-playwright
paths:
- ~/.cache

test-query:
<<: *linux-defaults
steps:
- attach_workspace:
at: ~/
- browser-tools/install-chrome
- run: yarn run test-query
- run: npm run test-query
- store_test_results:
path: test/integration/query-tests
- store_artifacts:
Expand All @@ -297,7 +302,7 @@ jobs:
name: Build Webpack
command: |
cd ./test/build/transpilation &&
yarn &&
npm ci &&
npm run build &&
rm -rf node_modules
- store_artifacts:
Expand All @@ -308,7 +313,7 @@ jobs:
steps:
- attach_workspace:
at: ~/
- run: yarn run test-style-spec
- run: npm run test-style-spec

verify-codegen:
<<: *linux-defaults
Expand All @@ -318,15 +323,17 @@ jobs:
- run:
name: Verify codegen output
command: |
yarn run codegen
npm run codegen
git add -A && git diff --staged --exit-code | tee check.patch
- store_artifacts:
path: "check.patch"

test-expressions:
<<: *linux-defaults
steps:
- attach_workspace:
at: ~/
- run: yarn run test-expressions
- run: npm run test-expressions

deploy-release:
<<: *linux-defaults
Expand Down Expand Up @@ -357,7 +364,7 @@ jobs:
- run:
name: Running tests in parallel
command: |
yarn run test-render
npm run test-render
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand All @@ -369,7 +376,7 @@ jobs:
- attach_workspace:
at: ~/
- browser-tools/install-chrome
- run: yarn run test-render-prod
- run: npm run test-render-prod
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand All @@ -381,7 +388,7 @@ jobs:
- attach_workspace:
at: ~/
- browser-tools/install-chrome
- run: yarn run test-render-csp
- run: npm run test-render-csp
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand All @@ -393,7 +400,7 @@ jobs:
- attach_workspace:
at: ~/
- browser-tools/install-firefox
- run: yarn run test-render-firefox
- run: npm run test-render-firefox
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand All @@ -405,16 +412,16 @@ jobs:
- checkout
- restore_cache:
keys:
- v0-mac-yarn-{{ .Branch }}-{{ checksum "yarn.lock" }}
- v0-mac-yarn-{{ .Branch }}-
- v0-mac-yarn-
- v0-mac-npm-{{ .Branch }}-{{ checksum "package-lock.json" }}
- v0-mac-npm-{{ .Branch }}-
- v0-mac-npm-
- run: nvm install && cat .nvmrc | nvm alias default `xargs`
- run: yarn --frozen-lockfile --cache-folder ~/.cache/yarn
- run: npm ci --no-audit --no-fund
- save_cache:
key: v0-mac-yarn-{{ .Branch }}-{{ checksum "yarn.lock" }}
key: v0-mac-npm-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ~/.cache/yarn
- run: yarn run build-dev
- ~/.npm
- run: npm run build-dev
- persist_to_workspace:
root: ~/
paths:
Expand All @@ -431,7 +438,7 @@ jobs:
name: Creating test list
command: |
circleci tests glob "test/integration/render-tests/**/*.json" | circleci tests split --split-by=timings > tests-to-run.txt
- run: yarn run test-render
- run: npm run test-render
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand All @@ -442,7 +449,7 @@ jobs:
steps:
- attach_workspace:
at: ~/
- run: yarn run test-render-safari
- run: npm run test-render-safari
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand All @@ -452,24 +459,31 @@ jobs:
<<: *windows-defaults
steps:
- checkout
- restore_cache:
keys:
- v2-windows-npm-{{ .Branch }}-{{ checksum "package-lock.json" }}
- v2-windows-npm-{{ .Branch }}-
- v2-windows-npm-
- run:
name: Setup Node.js and Yarn
name: Setup Node.js
command: |
$nodeVersion = Get-Content .nvmrc
nvm install $nodeVersion
nvm use $nodeVersion
npm install -g yarn
- run: yarn --frozen-lockfile
- run: yarn run build-dev
- run: npm ci --no-audit --no-fund --cache ~/.npm
- save_cache:
key: v2-windows-npm-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ~/log.txt
- store_artifacts:
path: "test/integration/render-tests/index.html"
- run: npm run build-dev
- run:
name: Clean up workspace to persist faster
command: |
Remove-Item .git -Recurse -Force;
Remove-Item node_modules/flow-bin -Recurse -Force;
Remove-Item node_modules/tap -Recurse -Force;
Remove-Item node_modules/gl -Recurse -Force;
Remove-Item node_modules/@mapbox/mvt-fixtures/real-world/osm-qa-* -Recurse -Force;
Remove-Item node_modules/react-devtools-core -Recurse -Force;
Remove-Item node_modules/@octokit -Recurse -Force;
Remove-Item node_modules/puppeteer-core -Recurse -Force;
Remove-Item node_modules/lodash -Recurse -Force;
Expand All @@ -485,12 +499,11 @@ jobs:
- attach_workspace:
at: ~/
- run:
name: Setup Node.js and Yarn
name: Setup Node.js
command: |
$nodeVersion = Get-Content .nvmrc
nvm install $nodeVersion
nvm use $nodeVersion
npm install -g yarn
# The browser-tools orb doesn't work on Windows, so we install chrome manually.
- run:
name: Installing Chrome on Windows
Expand All @@ -509,7 +522,7 @@ jobs:
name: Creating test list
command: |
circleci tests glob "test/integration/render-tests/**/*.json" | circleci tests split | Out-File -Encoding utf8 -FilePath tests-to-run.txt
- run: yarn run test-render
- run: npm run test-render
- store_test_results:
path: test/integration/render-tests
- store_artifacts:
Expand Down
9 changes: 8 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@
"src/ui/control/**",
"src/ui/handler/**",
"src/geo/lng_lat.js",
"src/geo/lng_lat_bounds.js",
"src/geo/mercator_coordinate.js",
"src/source/**",
],
Expand Down Expand Up @@ -202,6 +201,14 @@
{
"selector": "ClassProperty[value]",
"message": "ClassProperty values are not allowed."
},
{
"selector": "LogicalExpression[operator='??']",
"message": "Nullish coalescing is not allowed."
},
{
"selector": "ChainExpression",
"message": "Optional chaining is now allowed."
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*.js.map
*.cjs.map
node_modules
package-lock.json
yarn.lock
.vscode/
*.sublime-*
coverage
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.16.0
18.19.0
8 changes: 6 additions & 2 deletions 3d-style/data/bucket/model_bucket.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ import {vec3} from 'gl-matrix';
import {InstanceVertexArray} from '../../../src/data/array_types.js';
import assert from 'assert';
import {warnOnce} from '../../../src/util/util.js';
import ModelStyleLayer from '../../style/style_layer/model_style_layer.js';
import {rotationScaleYZFlipMatrix} from '../../util/model_util.js';
import {tileToMeter} from '../../../src/geo/mercator_coordinate.js';
import {instanceAttributes} from '../model_attributes.js';

import type ModelStyleLayer from '../../style/style_layer/model_style_layer.js';
import type {EvaluationFeature} from '../../../src/data/evaluation_feature.js';
import type {Mat4} from 'gl-matrix';
import type {CanonicalTileID, OverscaledTileID} from '../../../src/source/tile_id.js';
Expand Down Expand Up @@ -155,7 +155,11 @@ class ModelBucket implements Bucket {
const modelId = this.addFeature(bucketFeature, bucketFeature.geometry, evaluationFeature);

if (modelId) {
options.featureIndex.insert(feature, bucketFeature.geometry, index, sourceLayerIndex, this.index, this.instancesPerModel[modelId].instancedDataArray.length);
// Since 3D model geometry extends over footprint or point geometry, it is important
// to add some padding to envelope calculated for grid index lookup, in order to
// prevent false negatives in FeatureIndex's coarse check.
// Envelope padding is a half of featureIndex.grid cell size.
options.featureIndex.insert(feature, bucketFeature.geometry, index, sourceLayerIndex, this.index, this.instancesPerModel[modelId].instancedDataArray.length, EXTENT / 32);
}
}
this.lookup = null;
Expand Down