feat(experimental): add progressive GPU force-directed graph layout - #2952
Merged
Conversation
ibgreen-openai
marked this pull request as ready for review
August 5, 2026 01:51
ibgreen-openai
force-pushed
the
codex/lugraph-pagerank
branch
4 times, most recently
from
August 7, 2026 00:00
1cbe6a3 to
9cb4627
Compare
ibgreen-openai
force-pushed
the
codex/lugraph-force-layout
branch
from
August 7, 2026 00:28
3f7c62a to
15de864
Compare
ibgreen-openai
force-pushed
the
codex/lugraph-force-layout
branch
from
August 7, 2026 00:36
15de864 to
fc6e621
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goals
Changes
LuGraphForceLayoutandLuGraphForceLayoutPropsexclusively to@luma.gl/experimental/lugraph.GPUVector<'float32x2'>positions with both STORAGE and VERTEX usage, plus independent packed float32x2 velocity storage.O(V² + E)all-vertex repulsion, symmetric incoming/outgoing edge attraction, origin gravity, damping, integration timestep, and bounded velocity.[2,2,2]tiled dispatch over 1,025 vertices.Verification
nvm use: passed (Node v22.22.1).yarn install: attempted normally and with escalation; configured registry rejects unavailable dependencies with HTTP 403. Verification uses an isolated APFS-cloned compatible dependency tree and ignored Yarn state; no package/lockfile changes.yarn lint fix: passed (1,552 files).yarn build: passed across every workspace after final WGSL, test, and formatting changes.CI=1 yarn test: 883 Node tests and 1,672 real Chromium/WebGPU tests passed; existing skips only.yarn website:build: passed.(cd website && yarn build): passed.yarn examples:typecheck: all 46 example workspaces passed.yarn bundle-size: all seven bundle-size budgets passed.LuGraphForceLayoutremains absent from the experimental root.Risks and follow-up
codex/lugraph-pagerankuntil prerequisites land.