Skip to content

feat(geo-layers): port Tile3DLayer mesh content to WebGPU - #10517

Merged
ibgreen-openai merged 1 commit into
codex/webgpu-simple-mesh-layerfrom
codex/webgpu-tile3d-layer
Jul 31, 2026
Merged

feat(geo-layers): port Tile3DLayer mesh content to WebGPU#10517
ibgreen-openai merged 1 commit into
codex/webgpu-simple-mesh-layerfrom
codex/webgpu-tile3d-layer

Conversation

@ibgreen-openai

Copy link
Copy Markdown
Collaborator

Goal

Port Tile3DLayer's remaining private mesh renderer to WebGPU without changing its WebGL shader path.

This PR is stacked on #10485. Point-cloud tile content already inherits the WebGPU-capable PointCloudLayer; scenegraph tile content is covered separately by #10477.

Changes

  • add a focused WGSL shader for Tile3DLayer's internal PBR mesh sublayer
  • support normals, UVs, I3S UV regions, per-feature picking IDs, PBR lighting, highlighting, and premultiplied alpha
  • add a backend-neutral PBR compatibility module; its WGSL source is ignored on WebGL, while the existing GLSL and dependency behavior is preserved
  • avoid isWebGPU branching in shader setup
  • expose the WebGPU device tab on the Melbourne point-cloud Tile3DLayer example
  • add real WebGPU coverage with and without per-feature IDs/UV regions

The global support-table row remains unchanged until the ScenegraphLayer dependency (#10477) lands.

Validation

  • yarn lint (passes; existing repository warnings only)
  • yarn test-headless test/modules/geo-layers/mesh-layer.spec.ts test/modules/geo-layers/tile-3d-layer/tile-3d-layer.spec.ts with Chromium WebGPU enabled (2 tests passed)
  • commit hooks: 21 node tests passed
  • yarn build was attempted and stops in unchanged stacked-base code at modules/core/src/transitions/gpu-interpolation-transition.ts:205 because an existing @ts-expect-error is unused with the local luma 9.4 types

Stack

@ibgreen-openai ibgreen-openai mentioned this pull request Jul 31, 2026
26 tasks
@coveralls

Copy link
Copy Markdown

Coverage Status

Coverage is 83.095%codex/webgpu-tile3d-layer into codex/webgpu-simple-mesh-layer. No base build found for codex/webgpu-simple-mesh-layer.

@ibgreen-openai
ibgreen-openai marked this pull request as ready for review July 31, 2026 19:28
@ibgreen-openai
ibgreen-openai merged commit 3dc3752 into codex/webgpu-simple-mesh-layer Jul 31, 2026
5 checks passed
@ibgreen-openai
ibgreen-openai deleted the codex/webgpu-tile3d-layer branch July 31, 2026 19:28
@chrisgervang chrisgervang added this to the v9.4 milestone Aug 5, 2026
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.

5 participants