Skip to content

fix(arcgis): update arcgis module to use RenderNode instead of externalRenderers#10257

Open
toddrun wants to merge 15 commits into
visgl:masterfrom
toddrun:toddrun/update-arcgis-module-to-work-with-render-node
Open

fix(arcgis): update arcgis module to use RenderNode instead of externalRenderers#10257
toddrun wants to merge 15 commits into
visgl:masterfrom
toddrun:toddrun/update-arcgis-module-to-work-with-render-node

Conversation

@toddrun
Copy link
Copy Markdown

@toddrun toddrun commented Apr 24, 2026

Closes #9497

Background

ArcGIS JS API 4.29 replaced externalRenderers with the new RenderNode API. The existing @deck.gl/arcgis SceneView integration still depended on externalRenderers, so this PR ports the integration to RenderNode and fixes the rendering issues exposed during that migration.

Change List

  • Port the ArcGIS SceneView bridge from externalRenderers to RenderNode.
  • Initialize deck/luma resources lazily on the first render() call, which is the earliest point where ArcGIS guarantees a valid WebGL context.
  • Capture and reuse the ArcGIS output framebuffer correctly so deck renders into the expected target under RenderNode.
  • Fix SceneView alignment under tilt by improving how deck view state, zoom, and altitude are derived from the live ArcGIS camera and focal point.
  • Normalize legacy numeric coordinateSystem values in the core shader path so Tile3DLayer / I3SLoader continue to work with the newer string-based shader code.
  • Patch @luma.gl/webgl@9.3.2 so shared ArcGIS/deck WebGL state is re-read correctly when ArcGIS changes framebuffer bindings.
  • Update the ArcGIS demo apps, tests, and docs to reflect the RenderNode-based integration.

Notes

  • The ArcGIS integration now uses a local SceneView RenderNode rather than the old externalRenderers path.
  • The luma patch is applied with patch-package during postinstall.
  • The core coordinate-system shim is intended to preserve backward compatibility for existing numeric inputs while the rest of deck.gl expects string-valued coordinate systems.

Verification

  • Updated the ArcGIS examples to exercise the RenderNode-based SceneView path.
  • Added coverage for the core coordinate-system normalization path.

@toddrun
Copy link
Copy Markdown
Author

toddrun commented May 4, 2026

The build failing is actually good news: it means the luma patch is no longer needed. Unfortunately, I don't have immediate bandwidth available to update the dependencies and remove the patch, but this is definitely on "the list" now

@toddrun toddrun force-pushed the toddrun/update-arcgis-module-to-work-with-render-node branch from d1b2e02 to 0fc13c7 Compare May 6, 2026 22:17
@coveralls
Copy link
Copy Markdown

coveralls commented May 7, 2026

Coverage Status

coverage: 83.443% (-0.4%) from 83.796% — toddrun:toddrun/update-arcgis-module-to-work-with-render-node into visgl:master

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.

[Bug] @deck.gl/arcgis fails to resolve "@arcgis/core/views/3d/externalRenderers" in v4.32.5

2 participants