Skip to content

Commit 40d85b9

Browse files
authored
Merge branch 'master' into chr/mapbox-widget-support
2 parents 67aeed4 + 6149b4c commit 40d85b9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2299
-1093
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
should_build: ${{ steps.permitted.outputs.result }}
1313

1414
steps:
15-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
15+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1616

1717
- name: Fetch remote branches
1818
run: |
@@ -42,10 +42,10 @@ jobs:
4242
NPM_ACCESS_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
4343

4444
steps:
45-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
45+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4646

4747
- name: Setup Node.js
48-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
48+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
4949
with:
5050
node-version-file: '.nvmrc'
5151
cache: 'yarn'

.github/workflows/scorecard.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ jobs:
3333

3434
steps:
3535
- name: "Checkout code"
36-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
36+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3737
with:
3838
persist-credentials: false
3939

4040
- name: "Run analysis"
41-
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
41+
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
4242
with:
4343
results_file: results.sarif
4444
results_format: sarif
@@ -60,14 +60,14 @@ jobs:
6060
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
6161
# format to the repository Actions tab.
6262
- name: "Upload artifact"
63-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
63+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
6464
with:
6565
name: SARIF file
6666
path: results.sarif
6767
retention-days: 5
6868

6969
# Upload the results to GitHub's code scanning dashboard.
7070
- name: "Upload to code-scanning"
71-
uses: github/codeql-action/upload-sarif@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9
71+
uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
7272
with:
7373
sarif_file: results.sarif

.github/workflows/test.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
contents: read
1919

2020
steps:
21-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
21+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2222

2323
- name: Setup Node.js
24-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
24+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
2525
with:
2626
node-version-file: '.nvmrc'
2727
cache: 'yarn'
@@ -52,10 +52,10 @@ jobs:
5252
contents: read
5353

5454
steps:
55-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
55+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
5656

5757
- name: Setup Node.js
58-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
58+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
5959
with:
6060
node-version-file: '.nvmrc'
6161
cache: 'yarn'
@@ -80,10 +80,10 @@ jobs:
8080
python-version: [3.8]
8181

8282
steps:
83-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
83+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
8484

8585
- name: Setup Node.js
86-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
86+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
8787
with:
8888
node-version-file: '.nvmrc'
8989
cache: 'yarn'
@@ -92,7 +92,7 @@ jobs:
9292
run: corepack enable yarn
9393

9494
- name: Use Python ${{ matrix.python-version }}
95-
uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1
95+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
9696
with:
9797
python-version: ${{ matrix.python-version }}
9898

.github/workflows/website.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ jobs:
2828
if: ${{ github.repository_owner == 'visgl' && needs.check_branch.outputs.should_deploy }}
2929

3030
steps:
31-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3232
with:
3333
token: ${{ secrets.WEBSITE_DEPLOY_TOKEN }}
3434

3535
- name: Setup Node.js
36-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
36+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
3737
with:
3838
node-version-file: '.nvmrc'
3939
cache: 'yarn'
@@ -54,7 +54,7 @@ jobs:
5454
run: (cd website && yarn build)
5555

5656
- name: Deploy
57-
uses: JamesIves/github-pages-deploy-action@15de0f09300eea763baee31dff6c6184995c5f6a # 4.7.2
57+
uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # 4.8.0
5858
with:
5959
token: ${{ secrets.WEBSITE_DEPLOY_TOKEN }}
6060
branch: gh-pages

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.19.0
1+
18.20.8

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PRs and bug reports are welcome, and we are actively looking for new maintainers
1010
The **master** branch is the active development branch.
1111

1212
Building deck.gl locally from the source requires node.js `>=18`. Further limitations on the Node version may be imposed by [puppeteer](https://github.com/puppeteer/puppeteer#usage) and [headless-gl](https://github.com/stackgl/headless-gl#supported-platforms-and-nodejs-versions).
13-
We use [yarn](https://yarnpkg.com/en/docs/install) to manage the dependencies of deck.gl. The project's automated builds use Node [corepack](https://github.com/nodejs/corepack) to manage the yarn version. For local development, you can use [volta](https://docs.volta.sh/guide/getting-started), [nvm](https://github.com/nvm-sh/nvm), or any other Node version manager of your choice - configuration files are provided for all major tools (.nvmrc and volta settings in package.json).
13+
We use [yarn](https://yarnpkg.com/en/docs/install) to manage the dependencies of deck.gl. The project's automated builds use Node [corepack](https://github.com/nodejs/corepack) to manage the yarn version. For local development, you can use [nvm](https://github.com/nvm-sh/nvm) or any other Node version manager of your choice - a `.nvmrc` configuration file is provided.
1414

1515
```bash
1616
git checkout master

bindings/pydeck-carto/requirements/requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
black==22.3.0
1+
black==24.3.0
22
carto-auth>=0.2.0
33
flake8==4.0.1
44
ipython>=7.8.0

docs/api-reference/core/layer.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,16 @@ If this callback is supplied and returns `true`, the error is marked as handled
142142

143143
Layers can be interacted with using these properties.
144144

145-
#### `pickable` (boolean, optional) {#pickable}
145+
#### `pickable` (boolean | '3d', optional) {#pickable}
146146

147147
* Default: `false`
148148

149149
Whether the layer responds to mouse pointer picking events.
150150

151+
When set to `true`, the layer can be picked and the picking info will contain 2D coordinates (assuming z=0).
152+
153+
When set to `'3d'`, the layer can be picked with depth picking enabled. The `coordinate` field in the [picking info object](../../developer-guide/interactivity.md#the-pickinginfo-object) will be a 3D point, unprojected onto the actual picked geometry. This is useful for getting accurate 3D coordinates in layers with elevation or 3D models, but comes with a performance overhead.
154+
151155
#### `onHover` (Function, optional) {#onhover}
152156

153157
This callback will be called when the mouse enters/leaves an object of this deck.gl layer with the following parameters:

docs/developer-guide/interactivity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ The picking engine returns "picking info" objects which contains a variety of fi
602602
| `object` | any | The object that was picked. This is typically an element from the layer's `props.data` array, but can vary from layer to layer. This field is usually only present when picking from layers where `props.data` [is an array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray#description), unless indicated otherwise in the layer's documentation.|
603603
| `x` | number | Mouse position x relative to the viewport. |
604604
| `y` | number | Mouse position y relative to the viewport. |
605-
| `coordinate` | number[] | Corresponding point of the mouse position in the coordinate system of the layer. When using the built-in callbacks, this coordinate is 2D, assuming z=0 (i.e. on sea level in a geospatial dataset). You may optionally acquire a 3D position with a performance overhead by [calling the picking engine directly](#calling-the-picking-engine-directly). |
605+
| `coordinate` | number[] | Corresponding point of the mouse position in the coordinate system of the layer. When using the built-in callbacks, this coordinate is 2D, assuming z=0 (i.e. on sea level in a geospatial dataset). You may optionally acquire a 3D position by setting the layer's [`pickable`](../api-reference/core/layer.md#pickable) prop to `'3d'`, or by [calling the picking engine directly](#calling-the-picking-engine-directly) with `unproject3D: true`. Note that 3D picking comes with a performance overhead. |
606606
| `viewport` | Viewport | The viewport that the picked object belongs to. |
607607

608608

examples/basemap-browser/index.html

Lines changed: 91 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,58 +8,126 @@
88
box-sizing: border-box;
99
}
1010
body {
11-
font-family: Helvetica, Arial, sans-serif;
11+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
1212
margin: 0;
1313
overflow: hidden;
1414
display: flex;
1515
height: 100vh;
1616
width: 100vw;
17+
font-size: 13px;
18+
color: #374151;
1719
}
1820
#controls {
19-
width: 320px;
21+
width: 260px;
2022
flex-shrink: 0;
21-
background: #fff;
22-
box-shadow: 2px 0 4px rgba(0,0,0,0.1);
23+
background: #f9fafb;
24+
border-right: 1px solid #e5e7eb;
2325
overflow-y: auto;
2426
}
2527
#control-panel {
26-
padding: 12px 24px;
27-
font-size: 13px;
28-
line-height: 2;
29-
color: #6b6b76;
28+
padding: 12px 16px;
29+
line-height: 1.4;
30+
}
31+
#control-panel > h3:first-of-type {
32+
margin: 0 0 8px 0;
33+
font-size: 15px;
34+
font-weight: 600;
35+
color: #111827;
36+
letter-spacing: -0.01em;
37+
}
38+
#control-panel h3 {
39+
margin: 12px 0 6px 0;
40+
font-size: 11px;
41+
font-weight: 600;
42+
color: #6b7280;
3043
text-transform: uppercase;
31-
outline: none;
44+
letter-spacing: 0.05em;
45+
}
46+
#control-panel h4 {
47+
margin: 0 0 4px 0;
48+
font-size: 11px;
49+
font-weight: 600;
50+
color: #6b7280;
51+
text-transform: uppercase;
52+
letter-spacing: 0.05em;
3253
}
3354
#control-panel label {
34-
display: inline-block;
55+
display: flex;
56+
align-items: center;
57+
gap: 8px;
58+
cursor: pointer;
59+
font-size: 13px;
3560
}
3661
#control-panel input[type="checkbox"] {
37-
margin-left: 10px;
62+
width: 16px;
63+
height: 16px;
64+
margin: 0;
65+
cursor: pointer;
66+
accent-color: #3b82f6;
3867
}
3968
#control-panel select {
40-
margin-left: 10px;
4169
width: 100%;
42-
max-width: 250px;
70+
padding: 6px 8px;
71+
border: 1px solid #d1d5db;
72+
border-radius: 4px;
73+
background: #fff;
74+
font-size: 13px;
75+
color: #374151;
76+
cursor: pointer;
77+
}
78+
#control-panel select:focus {
79+
outline: none;
80+
border-color: #3b82f6;
81+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
4382
}
4483
.section {
45-
border-top: 1px solid #ddd;
46-
padding-top: 10px;
47-
margin-top: 10px;
84+
padding: 8px 0;
85+
border-bottom: 1px solid #e5e7eb;
4886
}
49-
.example-name {
50-
font-weight: bold;
51-
color: #333;
52-
margin-bottom: 5px;
87+
.section:last-child {
88+
border-bottom: none;
5389
}
54-
h3 {
55-
margin: 10px 0 5px;
56-
color: #333;
90+
.label {
91+
font-size: 11px;
92+
font-weight: 500;
93+
color: #6b7280;
94+
margin-bottom: 4px;
95+
text-transform: uppercase;
96+
letter-spacing: 0.03em;
97+
}
98+
.fps-meter {
99+
text-align: center;
100+
padding: 12px 0 !important;
101+
background: #fff;
102+
margin: 0 -16px;
103+
padding-left: 16px !important;
104+
padding-right: 16px !important;
105+
border-bottom: 1px solid #e5e7eb;
57106
}
58107
#map {
59108
flex: 1;
60109
position: relative;
61110
overflow: hidden;
62111
}
112+
/* Debug info styling */
113+
#control-panel .section div {
114+
font-size: 12px;
115+
line-height: 1.6;
116+
}
117+
#control-panel .section div b {
118+
font-weight: 500;
119+
color: #6b7280;
120+
}
121+
/* Testing instructions */
122+
#control-panel .section p {
123+
margin: 0 0 6px 0;
124+
font-size: 11px;
125+
line-height: 1.5;
126+
color: #6b7280;
127+
}
128+
#control-panel .section p b {
129+
color: #374151;
130+
}
63131
</style>
64132
</head>
65133
<body>

0 commit comments

Comments
 (0)