Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/api-reference/experimental/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,18 @@ schemas, GPU-resident spans, process/thread hierarchy, dependency focus, interac
and timeline picking in a dedicated optional submodule. It composes generic command graphs,
visibility, flat scenes, and indirect rendering without adding trace concepts to their APIs.

## GPU-resident Graph Analytics

<p class="badges">
<img src="https://img.shields.io/badge/WebGPU-required-blueviolet.svg?style=flat-square" alt="WebGPU required" />
</p>

[`@luma.gl/experimental/lugraph`](/docs/api-reference/experimental/lugraph) turns existing GPU
edge columns into reusable compressed adjacency, vertex degrees, bounded shortest-path searches,
weakly connected components, and dangling-aware PageRank scores. Social networks, dependency graphs,
transaction investigations, and infrastructure maps can compose those operations into one WebGPU
command graph without copying source batches or reading complete results back to JavaScript.

## GPU-resident Linked Crossfiltering

<p class="badges">
Expand Down
419 changes: 419 additions & 0 deletions docs/api-reference/experimental/lugraph.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions docs/table-of-contents.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@
"api-reference/experimental/pbr-environment",
"api-reference/experimental/geospatial",
"api-reference/experimental/luproj",
"api-reference/experimental/lugraph",
"api-reference/experimental/luxfilter",
"api-reference/experimental/lutrace",
"api-reference/experimental/g-buffer",
Expand Down Expand Up @@ -340,6 +341,7 @@
"api-reference/experimental/pbr-environment",
"api-reference/experimental/geospatial",
"api-reference/experimental/luproj",
"api-reference/experimental/lugraph",
"api-reference/experimental/luxfilter",
"api-reference/experimental/lutrace",
"api-reference/experimental/g-buffer",
Expand Down
15 changes: 11 additions & 4 deletions modules/experimental/src/lugraph/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
# @luma.gl/experimental/lugraph

`@luma.gl/experimental/lugraph` provides an optional, headless graph data model over existing,
caller-owned GPU table vectors. Its current foundation preserves source and target vertex columns,
optional edge weights and stable identifiers, property tables, and original chunk boundaries. It
does not upload or copy source data, submit GPU work, render graphs, or provide a graph application.
`@luma.gl/experimental/lugraph` analyzes connected data directly on a browser WebGPU device. Its
optional, headless graph model preserves existing source and target vertex columns, stable edge
identifiers, optional properties, and original GPU vector chunks without uploading or copying them.

Reusable compressed adjacency supports vertex-degree queries, bounded breadth-first shortest paths,
weakly connected components, and normalized PageRank with dangling-vertex redistribution. Those
operations contribute work to a caller-owned `GPUCommandGraph`; applications retain ownership of
their buffers, rendering, command submission, and any explicitly requested result readback.

See the [luGraph graph analytics guide](/docs/api-reference/experimental/lugraph) for when to use
each operation, complete GPU-resident composition examples, and ownership and capacity contracts.

## Attribution and licensing

Expand Down
2 changes: 2 additions & 0 deletions modules/experimental/src/lugraph/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ export type {
} from './lu-graph-breadth-first-search';
export {LuGraphConnectedComponents} from './lu-graph-connected-components';
export type {LuGraphConnectedComponentsProps} from './lu-graph-connected-components';
export {LuGraphPageRank} from './lu-graph-page-rank';
export type {LuGraphPageRankProps} from './lu-graph-page-rank';
Loading
Loading