Skip to content

[codex] GPU-culled deck.gl Trace Layer#2736

Draft
ibgreen-openai wants to merge 1 commit into
masterfrom
codex/gpu-culled-deck-trace
Draft

[codex] GPU-culled deck.gl Trace Layer#2736
ibgreen-openai wants to merge 1 commit into
masterfrom
codex/gpu-culled-deck-trace

Conversation

@ibgreen-openai

Copy link
Copy Markdown
Collaborator

Goals

  • Add a WebGPU-only deck.gl trace viewer that demonstrates one GPU command graph culling 25,000 trace blocks and their Arrow-backed glyph records before indirect drawing.
  • Extend the shared text and command-graph paths needed to select row-indexed glyph records without CPU readback.
  • Keep mixed-case Arrow text correctly aligned and clipped in deck.gl views.

Changes

  • Add the GPU-culled deck.gl trace example, website page, navigation entry, device setup, tooltips, culling statistics, and WebGPU indirect block/text layers.
  • Add GPUTextSelection for graph-native glyph visibility, compaction, ordered record gathering, and indirect instance-count output.
  • Add row-indexed storage text support through ArrowTextRenderer and ArrowTextLayer, including optional alignment-buffer specialization for portable WebGPU binding limits.
  • Use float clip rectangles consistently across Arrow conversion and text shaders, add viewport-aware content alignment/cutoffs, and correct deck.gl text Y/baseline handling for mixed-case glyphs.
  • Add unit and headless coverage for graph text selection, font-atlas baselines, source mapping, GPU text inputs, and portable storage-buffer limits.

Verification

  • nvm use — passed with Node 22.22.1.
  • yarn install — passed with existing peer-dependency warnings.
  • yarn lint fix — passed; no fixes required.
  • yarn build — passed after the final formatting and merge-resolution changes.
  • yarn test — node suite passed (178 passed, 2 skipped). Headless suite completed with 1,260 passed and 25 skipped; one existing storage-polygon assertion failed locally: arrow-polygons-storage-test has drawable storage-backed instances. The identical failure and polygonViewportUniforms warning reproduce from a clean origin/master worktree, while the changed Arrow text/headless tests pass.
  • yarn website:build — passed.
  • (cd website && yarn build) — passed.
  • Manually verified the GPU-culled trace in WebGPU at readable zoom, including aligned mixed-case storage parse, network café, and compute μtask labels.

Risks and follow-up

  • The new example is WebGPU-only and intentionally requires storage buffers, compute dispatch, and indirect drawing.
  • The local macOS headless polygon baseline failure above is unrelated to this diff and should be evaluated by normal CI on the PR.

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.

2 participants