gaussian-splat-lite 1.2.2 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -2
- package/CONTRIBUTING.md +4 -2
- package/README.md +4 -3
- package/dist/gaussian-splat-lite.cjs +6782 -1661
- package/dist/gaussian-splat-lite.cjs.map +1 -1
- package/dist/gaussian-splat-lite.min.cjs +991 -15
- package/dist/gaussian-splat-lite.min.cjs.map +1 -1
- package/dist/gaussian-splat-lite.module.js +6328 -1207
- package/dist/gaussian-splat-lite.module.js.map +1 -1
- package/dist/gaussian-splat-lite.module.min.js +8208 -3572
- package/dist/gaussian-splat-lite.module.min.js.map +1 -1
- package/dist/types/addons/NeuralDenoiseNode.d.cts +72 -0
- package/dist/types/addons/NeuralDenoiseNode.d.ts +72 -0
- package/dist/types/addons/NeuralDenoisePass.d.cts +34 -0
- package/dist/types/addons/NeuralDenoisePass.d.ts +34 -0
- package/dist/types/addons/TAANode.d.cts +46 -33
- package/dist/types/addons/TAANode.d.ts +46 -33
- package/dist/types/addons/TAAPass.d.cts +47 -32
- package/dist/types/addons/TAAPass.d.ts +47 -32
- package/dist/types/addons/neuralDenoiseGL.d.cts +25 -0
- package/dist/types/addons/neuralDenoiseGL.d.ts +25 -0
- package/dist/types/addons/neuralDenoiseGLSL.d.cts +8 -0
- package/dist/types/addons/neuralDenoiseGLSL.d.ts +8 -0
- package/dist/types/addons/neuralDenoisePasses.d.cts +26 -0
- package/dist/types/addons/neuralDenoisePasses.d.ts +26 -0
- package/dist/types/addons/neuralDenoiseShaders.d.cts +38 -0
- package/dist/types/addons/neuralDenoiseShaders.d.ts +38 -0
- package/dist/types/addons/neuralDenoiseWeights.d.cts +118 -0
- package/dist/types/addons/neuralDenoiseWeights.d.ts +118 -0
- package/dist/types/addons/stochasticCoverage.d.cts +14 -0
- package/dist/types/addons/stochasticCoverage.d.ts +14 -0
- package/dist/types/addons/taaShared.d.cts +58 -39
- package/dist/types/addons/taaShared.d.ts +58 -39
- package/dist/types/capture/SplatCapture.d.cts +54 -53
- package/dist/types/capture/SplatCapture.d.ts +54 -53
- package/dist/types/capture/WebGLCapture.d.cts +10 -10
- package/dist/types/capture/WebGLCapture.d.ts +10 -10
- package/dist/types/capture/WebGPUCapture.d.cts +14 -14
- package/dist/types/capture/WebGPUCapture.d.ts +14 -14
- package/dist/types/capture/pixels.d.cts +15 -4
- package/dist/types/capture/pixels.d.ts +15 -4
- package/dist/types/capture/rendererState.d.cts +5 -2
- package/dist/types/capture/rendererState.d.ts +5 -2
- package/dist/types/data/IndexedSplats.d.cts +83 -58
- package/dist/types/data/IndexedSplats.d.ts +83 -58
- package/dist/types/data/RadPagedSplats.d.cts +66 -61
- package/dist/types/data/RadPagedSplats.d.ts +66 -61
- package/dist/types/data/SogRegionSplats.d.cts +25 -19
- package/dist/types/data/SogRegionSplats.d.ts +25 -19
- package/dist/types/data/SplatOpacityTable.d.cts +36 -29
- package/dist/types/data/SplatOpacityTable.d.ts +36 -29
- package/dist/types/data/Splats.d.cts +99 -69
- package/dist/types/data/Splats.d.ts +99 -69
- package/dist/types/data/defines.d.cts +24 -24
- package/dist/types/data/defines.d.ts +24 -24
- package/dist/types/data/raycast.d.cts +13 -9
- package/dist/types/data/raycast.d.ts +13 -9
- package/dist/types/data/splatCodec.d.cts +29 -5
- package/dist/types/data/splatCodec.d.ts +29 -5
- package/dist/types/data/splatData.d.cts +18 -11
- package/dist/types/data/splatData.d.ts +18 -11
- package/dist/types/data/splatRange.d.cts +6 -2
- package/dist/types/data/splatRange.d.ts +6 -2
- package/dist/types/data/textureLayout.d.cts +9 -6
- package/dist/types/data/textureLayout.d.ts +9 -6
- package/dist/types/data/unpack.d.cts +16 -9
- package/dist/types/data/unpack.d.ts +16 -9
- package/dist/types/index.d.cts +65 -19
- package/dist/types/index.d.ts +65 -19
- package/dist/types/loaders/SplatLoader.d.cts +27 -14
- package/dist/types/loaders/SplatLoader.d.ts +27 -14
- package/dist/types/loaders/loadSplatData.d.cts +35 -17
- package/dist/types/loaders/loadSplatData.d.ts +35 -17
- package/dist/types/loaders/loadTypes.d.cts +46 -40
- package/dist/types/loaders/loadTypes.d.ts +46 -40
- package/dist/types/loaders/morton.d.cts +9 -3
- package/dist/types/loaders/morton.d.ts +9 -3
- package/dist/types/loaders/postDecode/builder.d.cts +222 -127
- package/dist/types/loaders/postDecode/builder.d.ts +222 -127
- package/dist/types/loaders/postDecode/compiler.d.cts +25 -11
- package/dist/types/loaders/postDecode/compiler.d.ts +25 -11
- package/dist/types/loaders/postDecode/operations.d.cts +22 -3
- package/dist/types/loaders/postDecode/operations.d.ts +22 -3
- package/dist/types/loaders/postDecode/optimizer.d.cts +5 -2
- package/dist/types/loaders/postDecode/optimizer.d.ts +5 -2
- package/dist/types/loaders/postDecode/program.d.cts +13 -6
- package/dist/types/loaders/postDecode/program.d.ts +13 -6
- package/dist/types/loaders/postDecode/protocol.d.cts +136 -111
- package/dist/types/loaders/postDecode/protocol.d.ts +136 -111
- package/dist/types/loaders/postDecode/registers.d.cts +12 -7
- package/dist/types/loaders/postDecode/registers.d.ts +12 -7
- package/dist/types/loaders/postDecode/runtime.d.cts +9 -2
- package/dist/types/loaders/postDecode/runtime.d.ts +9 -2
- package/dist/types/loaders/rad/RadSource.d.cts +81 -66
- package/dist/types/loaders/rad/RadSource.d.ts +81 -66
- package/dist/types/loaders/rad/radFormat.d.cts +41 -36
- package/dist/types/loaders/rad/radFormat.d.ts +41 -36
- package/dist/types/loaders/rad.d.cts +4 -4
- package/dist/types/loaders/rad.d.ts +4 -4
- package/dist/types/loaders/sog/SogSource.d.cts +14 -4
- package/dist/types/loaders/sog/SogSource.d.ts +14 -4
- package/dist/types/loaders/sog/sogZip.d.cts +12 -12
- package/dist/types/loaders/sog/sogZip.d.ts +12 -12
- package/dist/types/loaders/sog.d.cts +3 -3
- package/dist/types/loaders/sog.d.ts +3 -3
- package/dist/types/loaders/source.d.cts +43 -15
- package/dist/types/loaders/source.d.ts +43 -15
- package/dist/types/loaders/stream/StreamCameras.d.cts +27 -18
- package/dist/types/loaders/stream/StreamCameras.d.ts +27 -18
- package/dist/types/loaders/stream/StreamWorkerPool.d.cts +37 -37
- package/dist/types/loaders/stream/StreamWorkerPool.d.ts +37 -37
- package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.cts +20 -13
- package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.ts +20 -13
- package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.cts +13 -9
- package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.ts +13 -9
- package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.cts +69 -51
- package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.ts +69 -51
- package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.cts +126 -102
- package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.ts +126 -102
- package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.cts +4 -4
- package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.ts +4 -4
- package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.cts +20 -17
- package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.ts +20 -17
- package/dist/types/loaders/stream/rad-stream/radFade.d.cts +13 -8
- package/dist/types/loaders/stream/rad-stream/radFade.d.ts +13 -8
- package/dist/types/loaders/stream/rad-stream/radLod.d.cts +29 -27
- package/dist/types/loaders/stream/rad-stream/radLod.d.ts +29 -27
- package/dist/types/loaders/stream/rad-stream/worker.d.cts +3 -59
- package/dist/types/loaders/stream/rad-stream/worker.d.ts +3 -59
- package/dist/types/loaders/stream/rad-stream/workerHandlers.d.cts +58 -61
- package/dist/types/loaders/stream/rad-stream/workerHandlers.d.ts +58 -61
- package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.cts +16 -12
- package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.ts +16 -12
- package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.cts +56 -41
- package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.ts +56 -41
- package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.cts +102 -81
- package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.ts +102 -81
- package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.cts +3 -3
- package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.ts +3 -3
- package/dist/types/loaders/stream/sog-stream/sogLod.d.cts +67 -46
- package/dist/types/loaders/stream/sog-stream/sogLod.d.ts +67 -46
- package/dist/types/loaders/stream/sog-stream/sogVisibility.d.cts +28 -22
- package/dist/types/loaders/stream/sog-stream/sogVisibility.d.ts +28 -22
- package/dist/types/loaders/stream/sog-stream/worker.d.cts +7 -40
- package/dist/types/loaders/stream/sog-stream/worker.d.ts +7 -40
- package/dist/types/loaders/stream/sog-stream/workerHandlers.d.cts +63 -44
- package/dist/types/loaders/stream/sog-stream/workerHandlers.d.ts +63 -44
- package/dist/types/loaders/stream/streamOptions.d.cts +43 -33
- package/dist/types/loaders/stream/streamOptions.d.ts +43 -33
- package/dist/types/loaders/workerDecode.d.cts +30 -12
- package/dist/types/loaders/workerDecode.d.ts +30 -12
- package/dist/types/patches/threeR186.d.cts +3 -0
- package/dist/types/patches/threeR186.d.ts +3 -0
- package/dist/types/rendering/GaussianSplatRenderer.d.cts +393 -376
- package/dist/types/rendering/GaussianSplatRenderer.d.ts +393 -376
- package/dist/types/rendering/MaterialState.d.cts +9 -0
- package/dist/types/rendering/MaterialState.d.ts +9 -0
- package/dist/types/rendering/SortCenterCache.d.cts +17 -17
- package/dist/types/rendering/SortCenterCache.d.ts +17 -17
- package/dist/types/rendering/SplatAccumulator.d.cts +93 -77
- package/dist/types/rendering/SplatAccumulator.d.ts +93 -77
- package/dist/types/rendering/SplatGeometry.d.cts +2 -2
- package/dist/types/rendering/SplatGeometry.d.ts +2 -2
- package/dist/types/rendering/StochasticSplatMaterial.d.cts +14 -0
- package/dist/types/rendering/StochasticSplatMaterial.d.ts +14 -0
- package/dist/types/rendering/backend.d.cts +30 -18
- package/dist/types/rendering/backend.d.ts +30 -18
- package/dist/types/rendering/blueNoise.d.cts +1 -1
- package/dist/types/rendering/blueNoise.d.ts +1 -1
- package/dist/types/rendering/rendererUtils.d.cts +25 -10
- package/dist/types/rendering/rendererUtils.d.ts +25 -10
- package/dist/types/rendering/tsl/GenerateProgram.d.cts +19 -17
- package/dist/types/rendering/tsl/GenerateProgram.d.ts +19 -17
- package/dist/types/rendering/tsl/ProjectionProgram.d.cts +38 -33
- package/dist/types/rendering/tsl/ProjectionProgram.d.ts +38 -33
- package/dist/types/rendering/tsl/SplatBackend.d.cts +22 -10
- package/dist/types/rendering/tsl/SplatBackend.d.ts +22 -10
- package/dist/types/rendering/tsl/SplatMaterial.d.cts +38 -25
- package/dist/types/rendering/tsl/SplatMaterial.d.ts +38 -25
- package/dist/types/rendering/tsl/shaderUtils.d.cts +55 -17
- package/dist/types/rendering/tsl/shaderUtils.d.ts +55 -17
- package/dist/types/rendering/tsl/stochasticCoverage.d.cts +7 -0
- package/dist/types/rendering/tsl/stochasticCoverage.d.ts +7 -0
- package/dist/types/rendering/tsl/viewUniforms.d.cts +19 -9
- package/dist/types/rendering/tsl/viewUniforms.d.ts +19 -9
- package/dist/types/rendering/uniforms.d.cts +83 -83
- package/dist/types/rendering/uniforms.d.ts +83 -83
- package/dist/types/rendering/webgl/AccumulatorGenerator.d.cts +28 -12
- package/dist/types/rendering/webgl/AccumulatorGenerator.d.ts +28 -12
- package/dist/types/rendering/webgl/OrderingTexture.d.cts +10 -7
- package/dist/types/rendering/webgl/OrderingTexture.d.ts +10 -7
- package/dist/types/rendering/webgl/SplatBackend.d.cts +20 -15
- package/dist/types/rendering/webgl/SplatBackend.d.ts +20 -15
- package/dist/types/rendering/webgl/SplatMaterial.d.cts +9 -4
- package/dist/types/rendering/webgl/SplatMaterial.d.ts +9 -4
- package/dist/types/rendering/webgl/textureUtils.d.cts +10 -3
- package/dist/types/rendering/webgl/textureUtils.d.ts +10 -3
- package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.cts +8 -10
- package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.ts +8 -10
- package/dist/types/rendering/webgl-fallback/SplatBackend.d.cts +18 -14
- package/dist/types/rendering/webgl-fallback/SplatBackend.d.ts +18 -14
- package/dist/types/rendering/webgpu/ProjectedSplats.d.cts +76 -66
- package/dist/types/rendering/webgpu/ProjectedSplats.d.ts +76 -66
- package/dist/types/rendering/webgpu/ProjectionCache.d.cts +43 -28
- package/dist/types/rendering/webgpu/ProjectionCache.d.ts +43 -28
- package/dist/types/rendering/webgpu/ProjectionKernel.d.cts +22 -0
- package/dist/types/rendering/webgpu/ProjectionKernel.d.ts +22 -0
- package/dist/types/rendering/webgpu/RadixSort.d.cts +44 -40
- package/dist/types/rendering/webgpu/RadixSort.d.ts +44 -40
- package/dist/types/rendering/webgpu/SplatBackend.d.cts +14 -12
- package/dist/types/rendering/webgpu/SplatBackend.d.ts +14 -12
- package/dist/types/runtime/SplatWorker.d.cts +17 -13
- package/dist/types/runtime/SplatWorker.d.ts +17 -13
- package/dist/types/runtime/WorkerRpc.d.cts +26 -20
- package/dist/types/runtime/WorkerRpc.d.ts +26 -20
- package/dist/types/runtime/abort.d.cts +10 -5
- package/dist/types/runtime/abort.d.ts +10 -5
- package/dist/types/runtime/retry.d.cts +6 -6
- package/dist/types/runtime/retry.d.ts +6 -6
- package/dist/types/runtime/wasmCall.d.cts +3 -3
- package/dist/types/runtime/wasmCall.d.ts +3 -3
- package/dist/types/runtime/worker.d.cts +44 -24
- package/dist/types/runtime/worker.d.ts +44 -24
- package/dist/types/runtime/workerServer.d.cts +3 -1
- package/dist/types/runtime/workerServer.d.ts +3 -1
- package/dist/types/scene/SplatEdit.d.cts +74 -67
- package/dist/types/scene/SplatEdit.d.ts +74 -67
- package/dist/types/scene/SplatMesh.d.cts +92 -70
- package/dist/types/scene/SplatMesh.d.ts +92 -70
- package/dist/types/utils/index.d.cts +15 -7
- package/dist/types/utils/index.d.ts +15 -7
- package/dist/types/utils/three.d.cts +3 -3
- package/dist/types/utils/three.d.ts +3 -3
- package/dist/types/utils/transforms.d.cts +10 -3
- package/dist/types/utils/transforms.d.ts +10 -3
- package/docs/GaussianSplatRenderer.md +3 -1
- package/docs/NeuralDenoiseNode.md +148 -0
- package/docs/RadStreamScheduler.md +14 -5
- package/docs/SogStreamScheduler.md +8 -6
- package/docs/SplatMesh.md +1 -1
- package/docs/StochasticRendering.md +36 -10
- package/docs/TAAPass.md +20 -3
- package/package.json +9 -11
- package/dist/types/capture/sceneView.d.cts +0 -3
- package/dist/types/capture/sceneView.d.ts +0 -3
- package/dist/types/loaders/stream/StreamByteBudget.d.cts +0 -7
- package/dist/types/loaders/stream/StreamByteBudget.d.ts +0 -7
- package/dist/types/rendering/tsl/tslCompat.d.cts +0 -68
- package/dist/types/rendering/tsl/tslCompat.d.ts +0 -68
- package/docs/Architecture.md +0 -200
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
type PromiseRecord = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
resolve: (value: unknown) => void;
|
|
3
|
+
reject: (reason?: unknown) => void;
|
|
4
|
+
onStatus?: (data: unknown) => void | Promise<void>;
|
|
5
|
+
statusQueue: Promise<void>;
|
|
6
6
|
};
|
|
7
7
|
/** Transport/cache loss is recoverable by obtaining a fresh worker. */
|
|
8
8
|
export declare class WorkerTerminatedError extends Error {
|
|
9
|
-
|
|
9
|
+
constructor(reason?: unknown);
|
|
10
10
|
}
|
|
11
11
|
/** Typed main-thread transport shared by ordinary and streaming workers. */
|
|
12
|
-
export declare class WorkerRpc<
|
|
12
|
+
export declare class WorkerRpc<
|
|
13
|
+
Handlers extends {
|
|
13
14
|
[K in keyof Handlers]: (...args: never[]) => unknown;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
},
|
|
16
|
+
> {
|
|
17
|
+
readonly worker: Worker;
|
|
18
|
+
private readonly onDispose?;
|
|
19
|
+
messages: Record<number, PromiseRecord>;
|
|
20
|
+
peakWasmMemoryBytes: number;
|
|
21
|
+
disposed: boolean;
|
|
22
|
+
static currentId: number;
|
|
23
|
+
constructor(worker: Worker, onDispose?: (() => void) | undefined);
|
|
24
|
+
onMessage(event: MessageEvent): void;
|
|
25
|
+
call<Name extends keyof Handlers>(
|
|
26
|
+
name: Name,
|
|
27
|
+
args: Parameters<Handlers[Name]>[0],
|
|
28
|
+
options?: {
|
|
29
|
+
onStatus?: (data: unknown) => void | Promise<void>;
|
|
30
|
+
signal?: AbortSignal;
|
|
31
|
+
},
|
|
32
|
+
): Promise<Awaited<ReturnType<Handlers[Name]>>>;
|
|
33
|
+
dispose(reason?: unknown): void;
|
|
28
34
|
}
|
|
29
35
|
export {};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/** Reject promptly on cancellation while still observing the underlying task. */
|
|
2
|
-
export declare function abortable<T>(
|
|
2
|
+
export declare function abortable<T>(
|
|
3
|
+
task: Promise<T>,
|
|
4
|
+
signal?: AbortSignal,
|
|
5
|
+
): Promise<T>;
|
|
3
6
|
/** Link lifetime and per-request cancellation without retaining completed listeners. */
|
|
4
|
-
export declare function linkedAbortController(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
export declare function linkedAbortController(
|
|
8
|
+
...signals: (AbortSignal | undefined)[]
|
|
9
|
+
): {
|
|
10
|
+
controller: AbortController;
|
|
11
|
+
signal: AbortSignal;
|
|
12
|
+
cleanup(): void;
|
|
8
13
|
};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/** Reject promptly on cancellation while still observing the underlying task. */
|
|
2
|
-
export declare function abortable<T>(
|
|
2
|
+
export declare function abortable<T>(
|
|
3
|
+
task: Promise<T>,
|
|
4
|
+
signal?: AbortSignal,
|
|
5
|
+
): Promise<T>;
|
|
3
6
|
/** Link lifetime and per-request cancellation without retaining completed listeners. */
|
|
4
|
-
export declare function linkedAbortController(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
export declare function linkedAbortController(
|
|
8
|
+
...signals: (AbortSignal | undefined)[]
|
|
9
|
+
): {
|
|
10
|
+
controller: AbortController;
|
|
11
|
+
signal: AbortSignal;
|
|
12
|
+
cleanup(): void;
|
|
8
13
|
};
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
export declare function retryDelay(failures: number): number;
|
|
3
3
|
/** Wake on-demand render loops at the next retry, without polling idle scenes. */
|
|
4
4
|
export declare class RetryTimer {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
private readonly wake;
|
|
6
|
+
private timer?;
|
|
7
|
+
private deadline;
|
|
8
|
+
constructor(wake: () => void);
|
|
9
|
+
update(deadlines: Iterable<number>): void;
|
|
10
|
+
dispose(): void;
|
|
11
11
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
export declare function retryDelay(failures: number): number;
|
|
3
3
|
/** Wake on-demand render loops at the next retry, without polling idle scenes. */
|
|
4
4
|
export declare class RetryTimer {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
private readonly wake;
|
|
6
|
+
private timer?;
|
|
7
|
+
private deadline;
|
|
8
|
+
constructor(wake: () => void);
|
|
9
|
+
update(deadlines: Iterable<number>): void;
|
|
10
|
+
dispose(): void;
|
|
11
11
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/** Known allocation failures; invalid array lengths and bounds traps are not OOM. */
|
|
2
2
|
export declare function isMemoryAllocationError(error: unknown): boolean;
|
|
3
3
|
export declare function wasmFailure(): {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
failed: boolean;
|
|
5
|
+
error: unknown;
|
|
6
6
|
};
|
|
7
7
|
/** Free a WASM object unless a failure left its instance unrecoverable. */
|
|
8
8
|
export declare function wasmFree(value?: {
|
|
9
|
-
|
|
9
|
+
free(): void;
|
|
10
10
|
}): void;
|
|
11
11
|
/** Traps and glue allocation failures can leave Rust borrows unrecoverable. */
|
|
12
12
|
export declare function wasmCall<T>(call: () => T): T;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/** Known allocation failures; invalid array lengths and bounds traps are not OOM. */
|
|
2
2
|
export declare function isMemoryAllocationError(error: unknown): boolean;
|
|
3
3
|
export declare function wasmFailure(): {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
failed: boolean;
|
|
5
|
+
error: unknown;
|
|
6
6
|
};
|
|
7
7
|
/** Free a WASM object unless a failure left its instance unrecoverable. */
|
|
8
8
|
export declare function wasmFree(value?: {
|
|
9
|
-
|
|
9
|
+
free(): void;
|
|
10
10
|
}): void;
|
|
11
11
|
/** Traps and glue allocation failures can leave Rust borrows unrecoverable. */
|
|
12
12
|
export declare function wasmCall<T>(call: () => T): T;
|
|
@@ -1,32 +1,52 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
loadSplats,
|
|
3
|
+
resolveAsset,
|
|
4
|
+
resolveFile,
|
|
5
|
+
} from "../loaders/workerDecode.cjs";
|
|
2
6
|
declare const rpcHandlers: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
setSortCenterState: typeof setSortCenterState;
|
|
8
|
+
sortCenters32: typeof sortCenters32;
|
|
9
|
+
loadSplats: typeof loadSplats;
|
|
10
|
+
resolveAsset: typeof resolveAsset;
|
|
11
|
+
resolveFile: typeof resolveFile;
|
|
8
12
|
};
|
|
9
13
|
export type RpcHandlers = typeof rpcHandlers;
|
|
10
|
-
declare function setSortCenterState({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
declare function setSortCenterState({
|
|
15
|
+
centerUpdateRangeIndices,
|
|
16
|
+
updateCenters,
|
|
17
|
+
matrixUpdateRangeIndices,
|
|
18
|
+
updateMatrices,
|
|
19
|
+
rangeMeshIds,
|
|
20
|
+
rangeBases,
|
|
21
|
+
rangeCounts,
|
|
22
|
+
}: {
|
|
23
|
+
centerUpdateRangeIndices: Uint32Array;
|
|
24
|
+
updateCenters: Float32Array;
|
|
25
|
+
matrixUpdateRangeIndices: Uint32Array;
|
|
26
|
+
updateMatrices: Float64Array;
|
|
27
|
+
rangeMeshIds: Uint32Array;
|
|
28
|
+
rangeBases: Uint32Array;
|
|
29
|
+
rangeCounts: Uint32Array;
|
|
18
30
|
}): void;
|
|
19
31
|
/** Orders the Splats for one viewpoint; returns the active count. */
|
|
20
|
-
declare function sortCenters32({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
declare function sortCenters32({
|
|
33
|
+
numSplats,
|
|
34
|
+
cameraPosition,
|
|
35
|
+
direction,
|
|
36
|
+
radial,
|
|
37
|
+
fastSort,
|
|
38
|
+
frontSort,
|
|
39
|
+
ordering,
|
|
40
|
+
}: {
|
|
41
|
+
numSplats: number;
|
|
42
|
+
cameraPosition: [number, number, number];
|
|
43
|
+
direction: [number, number, number];
|
|
44
|
+
radial: boolean;
|
|
45
|
+
fastSort: boolean;
|
|
46
|
+
frontSort: boolean;
|
|
47
|
+
ordering: Uint32Array;
|
|
28
48
|
}): {
|
|
29
|
-
|
|
30
|
-
|
|
49
|
+
ordering: Uint32Array<ArrayBufferLike>;
|
|
50
|
+
activeSplats: number;
|
|
31
51
|
};
|
|
32
52
|
export {};
|
|
@@ -1,32 +1,52 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
loadSplats,
|
|
3
|
+
resolveAsset,
|
|
4
|
+
resolveFile,
|
|
5
|
+
} from "../loaders/workerDecode.js";
|
|
2
6
|
declare const rpcHandlers: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
setSortCenterState: typeof setSortCenterState;
|
|
8
|
+
sortCenters32: typeof sortCenters32;
|
|
9
|
+
loadSplats: typeof loadSplats;
|
|
10
|
+
resolveAsset: typeof resolveAsset;
|
|
11
|
+
resolveFile: typeof resolveFile;
|
|
8
12
|
};
|
|
9
13
|
export type RpcHandlers = typeof rpcHandlers;
|
|
10
|
-
declare function setSortCenterState({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
declare function setSortCenterState({
|
|
15
|
+
centerUpdateRangeIndices,
|
|
16
|
+
updateCenters,
|
|
17
|
+
matrixUpdateRangeIndices,
|
|
18
|
+
updateMatrices,
|
|
19
|
+
rangeMeshIds,
|
|
20
|
+
rangeBases,
|
|
21
|
+
rangeCounts,
|
|
22
|
+
}: {
|
|
23
|
+
centerUpdateRangeIndices: Uint32Array;
|
|
24
|
+
updateCenters: Float32Array;
|
|
25
|
+
matrixUpdateRangeIndices: Uint32Array;
|
|
26
|
+
updateMatrices: Float64Array;
|
|
27
|
+
rangeMeshIds: Uint32Array;
|
|
28
|
+
rangeBases: Uint32Array;
|
|
29
|
+
rangeCounts: Uint32Array;
|
|
18
30
|
}): void;
|
|
19
31
|
/** Orders the Splats for one viewpoint; returns the active count. */
|
|
20
|
-
declare function sortCenters32({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
declare function sortCenters32({
|
|
33
|
+
numSplats,
|
|
34
|
+
cameraPosition,
|
|
35
|
+
direction,
|
|
36
|
+
radial,
|
|
37
|
+
fastSort,
|
|
38
|
+
frontSort,
|
|
39
|
+
ordering,
|
|
40
|
+
}: {
|
|
41
|
+
numSplats: number;
|
|
42
|
+
cameraPosition: [number, number, number];
|
|
43
|
+
direction: [number, number, number];
|
|
44
|
+
radial: boolean;
|
|
45
|
+
fastSort: boolean;
|
|
46
|
+
frontSort: boolean;
|
|
47
|
+
ordering: Uint32Array;
|
|
28
48
|
}): {
|
|
29
|
-
|
|
30
|
-
|
|
49
|
+
ordering: Uint32Array<ArrayBufferLike>;
|
|
50
|
+
activeSplats: number;
|
|
31
51
|
};
|
|
32
52
|
export {};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
/** Start a worker with its own RPC table and WASM instance. */
|
|
2
|
-
export declare function startWorker(
|
|
2
|
+
export declare function startWorker(
|
|
3
|
+
rpcHandlers: Record<string, (...args: never[]) => unknown>,
|
|
4
|
+
): void;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
/** Start a worker with its own RPC table and WASM instance. */
|
|
2
|
-
export declare function startWorker(
|
|
2
|
+
export declare function startWorker(
|
|
3
|
+
rpcHandlers: Record<string, (...args: never[]) => unknown>,
|
|
4
|
+
): void;
|
|
@@ -1,90 +1,97 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
export declare enum SplatEditSdfType {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
ALL = "all",
|
|
4
|
+
PLANE = "plane",
|
|
5
|
+
SPHERE = "sphere",
|
|
6
|
+
BOX = "box",
|
|
7
|
+
ELLIPSOID = "ellipsoid",
|
|
8
|
+
CYLINDER = "cylinder",
|
|
9
|
+
CAPSULE = "capsule",
|
|
10
|
+
INFINITE_CONE = "infinite_cone",
|
|
11
11
|
}
|
|
12
12
|
/** RGBA-only operations supported by the SDF pipeline. */
|
|
13
13
|
export declare enum SplatEditRgbaBlendMode {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
MULTIPLY_RGBA = "multiply_rgba",
|
|
15
|
+
SET_RGBA = "set_rgba",
|
|
16
|
+
ADD_RGBA = "add_rgba",
|
|
17
17
|
}
|
|
18
18
|
export type SplatEditSdfColor = {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
r?: number;
|
|
20
|
+
g?: number;
|
|
21
|
+
b?: number;
|
|
22
22
|
};
|
|
23
23
|
export type SplatEditSdfOptions = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
type?: SplatEditSdfType;
|
|
25
|
+
invert?: boolean;
|
|
26
|
+
opacity?: number;
|
|
27
|
+
color?: SplatEditSdfColor;
|
|
28
|
+
radius?: number;
|
|
29
29
|
};
|
|
30
30
|
/** A signed-distance shape carrying optional color and opacity channels. */
|
|
31
31
|
export declare class SplatEditSdf extends THREE.Object3D {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
type: SplatEditSdfType;
|
|
33
|
+
invert: boolean;
|
|
34
|
+
opacity?: number;
|
|
35
|
+
color: SplatEditSdfColor;
|
|
36
|
+
radius: number;
|
|
37
|
+
constructor(options?: SplatEditSdfOptions);
|
|
38
38
|
}
|
|
39
39
|
export type SplatEditOptions = {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
name?: string;
|
|
41
|
+
rgbaBlendMode?: SplatEditRgbaBlendMode;
|
|
42
|
+
sdfSmooth?: number;
|
|
43
|
+
softEdge?: number;
|
|
44
|
+
invert?: boolean;
|
|
45
|
+
sdfs?: SplatEditSdf[];
|
|
46
46
|
};
|
|
47
47
|
/** An ordered RGBA operation evaluated over one or more SDF shapes. */
|
|
48
48
|
export declare class SplatEdit extends THREE.Object3D {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
ordering: number;
|
|
50
|
+
rgbaBlendMode: SplatEditRgbaBlendMode;
|
|
51
|
+
sdfSmooth: number;
|
|
52
|
+
softEdge: number;
|
|
53
|
+
invert: boolean;
|
|
54
|
+
sdfs: SplatEditSdf[] | null;
|
|
55
|
+
static nextOrdering: number;
|
|
56
|
+
constructor(options?: SplatEditOptions);
|
|
57
|
+
addSdf(sdf: SplatEditSdf): void;
|
|
58
|
+
removeSdf(sdf: SplatEditSdf): void;
|
|
59
59
|
}
|
|
60
60
|
export type SplatEditGroup = {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
edit: SplatEdit;
|
|
62
|
+
sdfs: SplatEditSdf[];
|
|
63
63
|
};
|
|
64
64
|
/** Encodes SDF geometry/RGBA and edit operations as regular integer textures. */
|
|
65
65
|
export declare class SplatEdits {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
66
|
+
maxSdfs: number;
|
|
67
|
+
numSdfs: number;
|
|
68
|
+
sdfData: Uint32Array;
|
|
69
|
+
sdfTexture: THREE.DataTexture;
|
|
70
|
+
maxEdits: number;
|
|
71
|
+
numEdits: number;
|
|
72
|
+
editData: Uint32Array;
|
|
73
|
+
editTexture: THREE.DataTexture;
|
|
74
|
+
constructor({
|
|
75
|
+
maxSdfs,
|
|
76
|
+
maxEdits,
|
|
77
|
+
}?: {
|
|
78
|
+
maxSdfs?: number | undefined;
|
|
79
|
+
maxEdits?: number | undefined;
|
|
80
|
+
});
|
|
81
|
+
dispose(): void;
|
|
82
|
+
update(
|
|
83
|
+
groups: SplatEditGroup[],
|
|
84
|
+
coordinateOrigin?: THREE.Vector3,
|
|
85
|
+
shrinkResources?: boolean,
|
|
86
|
+
): {
|
|
87
|
+
updated: boolean;
|
|
88
|
+
};
|
|
89
|
+
private ensureCapacity;
|
|
90
|
+
private encodeEdit;
|
|
91
|
+
private encodeSdf;
|
|
92
|
+
private setSdfUint;
|
|
93
|
+
private setSdfFloat;
|
|
94
|
+
private setEditUint;
|
|
95
|
+
private setEditFloat;
|
|
96
|
+
static emptyTexture: THREE.DataTexture;
|
|
90
97
|
}
|