Skip to content

fix(experimental): scale visibility workflow dispatches - #2951

Merged
ibgreen-openai merged 1 commit into
masterfrom
codex/ludf-scaled-dispatch
Aug 7, 2026
Merged

fix(experimental): scale visibility workflow dispatches#2951
ibgreen-openai merged 1 commit into
masterfrom
codex/ludf-scaled-dispatch

Conversation

@ibgreen-openai

Copy link
Copy Markdown
Collaborator

Goals

Remove the one-dimensional WebGPU dispatch ceiling from GPU mask composition, stable compaction, and visibility workflows used by large visualization datasets.

Changes

  • Reuse the existing guarded bounded three-dimensional dispatch planner and invocation indexing for GPUMask, GPUCompaction, and GPUVisibilityWorkflow.
  • Propagate one device or internal synthetic dispatch limit through mask composition, source-row identity generation, hierarchical scan, and stable compaction scatter.
  • Preserve public APIs, source batch/chunk topology, stable row identities, ownership, empty-selection count clearing, and the original one-dimensional behavior for smaller workloads.
  • Add Node coverage for exact 65,535-workgroup boundaries, synthetic three-dimensional overflow, limit propagation, and empty inputs.
  • Add a real-WebGPU regression using 1,025 rows and a synthetic dimension limit of two; verify actual [2, 2, 2] dispatches and exact selected rows/counts without allocating a giant browser buffer.

Verification

  • nvm use — Node 22.22.1, matching .nvmrc.
  • yarn install — blocked by enterprise-registry HTTP 403 for the existing upstream alpha development-tool dependency; reused the previously verified ignored workspace dependency tree.
  • yarn lint fix — passed across the complete repository after the final source changes.
  • yarn build — passed across every package after final formatting.
  • Focused Node coverage — synthetic dispatch and LuxFilter checks passed; existing GPU-primitives Node coverage passed.
  • Focused real-WebGPU coverage — three browser files and 35 tests passed, including the synthetic three-dimensional dispatch regression.
  • CI=1 yarn test — Node: 547 passed and one skipped; real Chromium/WebGPU: 1,554 passed and 25 skipped.
  • yarn website:build — passed, including validation of 461 documentation pages.
  • (cd website && yarn build) — passed, including validation of 461 documentation pages.
  • yarn examples:typecheck — passed across all 46 workspaces.
  • yarn bundle-size — passed all seven existing bundle budgets.

Risks and compatibility

  • Public APIs and GPU buffer ownership are unchanged. Dispatches below the device's one-dimensional limit retain their previous shape.
  • Internal synthetic-limit helpers are source-only test hooks; oversized workloads exceeding the complete three-dimensional device capacity still fail explicitly.
  • This prerequisite benefits existing visibility consumers independently of the optional luDF entry point.

@ibgreen-openai
ibgreen-openai merged commit 65fd705 into master Aug 7, 2026
8 checks passed
@ibgreen-openai
ibgreen-openai deleted the codex/ludf-scaled-dispatch branch August 7, 2026 00:52
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