Summary
PathOutlineLayer and PathMarkerLayer in @deck.gl-community/layers were never fully ported from deck.gl/luma.gl v8 to v9. The path-marker-outline example (added in #403) renders plain colored paths with no visible outlines and no directional arrow markers.
#403 added the example, docs, and partial parameter updates, but was generated by Codex and only verified with lint/vitest — never visually tested. It also removed a dummyTexture workaround from an earlier incomplete v9 migration attempt, introducing a WebGL feedback loop.
Broken APIs (pre-existing, predate #403)
These v8 patterns were present before #403 and have never worked with v9:
- model.updateModuleSettings() — removed in luma.gl v9 (replaced by model.shaderInputs.setProps())
- model.draw({uniforms, parameters, framebuffer}) — v8 API; v9 requires model.draw(renderPass)
- GL.UNSIGNED_BYTE for attribute type — v9 expects string types like uint8
- this.state.attributeManager — deprecated, should be this.getAttributeManager()
- Shader: texture2DProj — GLSL ES 1.0; must be textureProj in ES 3.0
- Shader: #version 300 es in module code — should not be in shader modules
- Shader: duplicate out vec4 fragColor — declared in outline module and main shader
- Shader: vec4(color.rgb * 0.5, color.a) — creates value but never assigns it; outline darken effect was always a no-op
- Arrow2DGeometry — texCoords array has 3 components per vertex but declares size 2, causing vertex count mismatch
- depthTest: false in PathMarkerLayer — not a valid luma.gl v9 parameter
Introduced by #403
- Removed the dummyTexture from state and bound shadowmapTexture as both sampler input and framebuffer render target, causing a WebGL feedback loop
Questions
- Should these layers be deprecated? The outline effect uses custom multi-pass rendering with a shadowmap, which is fragile against luma.gl API changes. The arrow markers could be achieved with simpler approaches (e.g. IconLayer placed along paths).
- If kept, they need a proper v9 rewrite — the draw method needs render pass management, shader modules need updating to v9 patterns, and the example needs visual verification.
Summary
PathOutlineLayer and PathMarkerLayer in @deck.gl-community/layers were never fully ported from deck.gl/luma.gl v8 to v9. The path-marker-outline example (added in #403) renders plain colored paths with no visible outlines and no directional arrow markers.
#403 added the example, docs, and partial parameter updates, but was generated by Codex and only verified with lint/vitest — never visually tested. It also removed a dummyTexture workaround from an earlier incomplete v9 migration attempt, introducing a WebGL feedback loop.
Broken APIs (pre-existing, predate #403)
These v8 patterns were present before #403 and have never worked with v9:
Introduced by #403
Questions