chore: Upgrade to luma.gl 9.3.0-alpha.10#10123
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 11f29b4278
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| layout(std140) uniform projectUniforms { | ||
| bool wrapLongitude; | ||
| int coordinateSystem; | ||
| vec3 commonUnitsPerMeter; |
There was a problem hiding this comment.
Pad
ProjectUniforms before opting it into std140
Making projectUniforms a layout(std140) block changes every vec3 in this UBO to a 16-byte slot, but the matching WGSL struct in modules/core/src/shaderlib/project/project.wgsl.ts still packs projectionMode, devicePixelRatio, commonOrigin, etc. immediately after the preceding vec3<f32> fields. On WebGPU, any layer that uses the shared project module will therefore read those uniforms from the wrong offsets and produce corrupted transforms. This needs explicit padding on the WGSL side (or the GLSL block must stay out of std140).
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Why? Doesn't luma.gl calculate offsets using the appropriate layout for each device?
vite.config.js
Outdated
| @@ -0,0 +1,14 @@ | |||
| import {defineConfig, mergeConfig} from 'vite'; | |||
There was a problem hiding this comment.
What is the purpose of these root level configs?
Summary
This PR upgrades deck.gl to
@luma.gl/*9.3.0-alpha.10and updates the repo for the latest luma shader/block layout behavior, Node 22/Vite behavior, and website bundling changes.What Changed
luma.gl alpha.10 upgrade
@luma.gl/*dependencies to9.3.0-alpha.10yarn.lockmodules/core/src/lib/attribute/gl-utils.tsto usedataTypeDecoder.getDataType(...)Shader / uniform block compatibility
layout(std140)to deck GLSL uniform blocks across modulesvec4/.xyzproject-uniform workaround after the luma fixes landedDataFilter fixes
modules/extensions/src/data-filter/shader-module.tsso thedataFilterUniformsblock has a fixed layout with paddedvec4numeric ranges and an explicituvec4 categoryBitMaskResource cleanup fixes
ScenegraphLayerteardown to destroy tracked GLTF materials as well as scenegraph nodesTile3DLayertileset destruction duringfinalizeStateNode 22 / Vite compatibility
vite.config.jsandvite.config.mjsto stripwith {type: 'json'}import attributes during Vite/esbuild processingWebsite build fixes
onBrokenMarkdownLinkssetting tomarkdown.hooks.onBrokenMarkdownLinks@luma.gl/webgl/constantsto work around the alpha.10 package resolution issue during docs bundlingValidation
yarn buildpassesyarn testno longer has theDataFilterExtension/GeoJsonLayer#DataFilterExtensionWithBinaryAttributesfailuresyarn testfailures are render snapshot diffs only:arc-lnglatarc-lnglat-wrap-longitudepath-globeicon-lnglat-facing-upNotes
@luma.gl/webgl/constantsresolution error locallywebsite/yarn test-buildend-to-end on this machine because the local Docusaurus build was later killed with exit137