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,59 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
indices: Uint32Array;
|
|
5
|
-
wantedChunks: Uint32Array;
|
|
6
|
-
touchedChunks: Uint32Array;
|
|
7
|
-
selectionId: number;
|
|
8
|
-
changedChunks: Uint32Array;
|
|
9
|
-
};
|
|
10
|
-
fade: boolean;
|
|
11
|
-
pools: import('../../../data/RadPagedSplats').RadPreparedSelection[];
|
|
12
|
-
};
|
|
13
|
-
initializeRad({ bytes }: {
|
|
14
|
-
bytes: Uint8Array;
|
|
15
|
-
}): import('../../rad/radFormat').RadHeader;
|
|
16
|
-
initializeRadDecoder({ header: value, rootBytes, }: {
|
|
17
|
-
header: import('../../rad/radFormat').RadHeader;
|
|
18
|
-
rootBytes?: Uint8Array;
|
|
19
|
-
}): void;
|
|
20
|
-
loadRadChunk({ index, generation, request, }: {
|
|
21
|
-
index: number;
|
|
22
|
-
generation: number;
|
|
23
|
-
request: import('../../rad/RadSource').RadReadRequest;
|
|
24
|
-
}, { sendStatus }: {
|
|
25
|
-
sendStatus: (data: {
|
|
26
|
-
loaded: number;
|
|
27
|
-
}) => void;
|
|
28
|
-
}): Promise<{
|
|
29
|
-
data: {
|
|
30
|
-
numSplats: number;
|
|
31
|
-
splatArrays: [Uint32Array<ArrayBufferLike>, Uint32Array<ArrayBufferLike>];
|
|
32
|
-
extra: import('../../../data/defines').SplatExtra;
|
|
33
|
-
rootRadius: number | undefined;
|
|
34
|
-
} & import('../../../data/defines').SplatResult & {
|
|
35
|
-
sourceIds: Uint32Array;
|
|
36
|
-
centerOnlyBoundingBox: Float32Array;
|
|
37
|
-
boundingBox: Float32Array;
|
|
38
|
-
spatialBounds: Float32Array;
|
|
39
|
-
};
|
|
40
|
-
tree: import('./radLod').RadLodChunk;
|
|
41
|
-
state: import('../../rad/RadSource').RadResourceState | undefined;
|
|
42
|
-
rootBytes: Uint8Array<ArrayBufferLike> | undefined;
|
|
43
|
-
}>;
|
|
44
|
-
cancelRadLoad({ generation }: {
|
|
45
|
-
generation: number;
|
|
46
|
-
}): void;
|
|
47
|
-
retainRadChunk({ index, generation, tree, }: {
|
|
48
|
-
index: number;
|
|
49
|
-
generation: number;
|
|
50
|
-
tree: import('./radLod').RadLodChunk;
|
|
51
|
-
}): void;
|
|
52
|
-
selectRadLod(request: import('./RadSelectionState').RadSelectionRequest): import('./RadSelectionState').RadSelectionReply;
|
|
53
|
-
releaseRadChunk({ index, generation, }: {
|
|
54
|
-
index: number;
|
|
55
|
-
generation?: number;
|
|
56
|
-
}): void;
|
|
57
|
-
};
|
|
58
|
-
export type RadStreamRpcHandlers = typeof rpcHandlers;
|
|
59
|
-
export {};
|
|
1
|
+
import type { createRadStreamHandlers } from "./workerHandlers.js";
|
|
2
|
+
|
|
3
|
+
export type RadStreamRpcHandlers = ReturnType<typeof createRadStreamHandlers>;
|
|
@@ -1,63 +1,60 @@
|
|
|
1
|
-
import { RadReadRequest } from
|
|
2
|
-
import { RadHeader } from
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import type { RadReadRequest, RadResourceState } from "../../rad/RadSource.cjs";
|
|
2
|
+
import type { RadHeader, RadStreamChunk } from "../../rad/radFormat.cjs";
|
|
3
|
+
import type {
|
|
4
|
+
RadSelectionReply,
|
|
5
|
+
RadSelectionRequest,
|
|
6
|
+
} from "./RadSelectionState.cjs";
|
|
7
|
+
import type {
|
|
8
|
+
RadSelectionChunk,
|
|
9
|
+
RadSelectionPreparation,
|
|
10
|
+
prepareRadSelection,
|
|
11
|
+
} from "./prepareRadSelection.cjs";
|
|
12
|
+
import type { RadLodChunk } from "./radLod.cjs";
|
|
13
|
+
/** Workers own LOD traversal, display preparation, or a persistent page decoder. */
|
|
7
14
|
export declare function createRadStreamHandlers(): {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
retainRadChunk({ index, generation, tree, }: {
|
|
54
|
-
index: number;
|
|
55
|
-
generation: number;
|
|
56
|
-
tree: RadLodChunk;
|
|
57
|
-
}): void;
|
|
58
|
-
selectRadLod(request: RadSelectionRequest): RadSelectionReply;
|
|
59
|
-
releaseRadChunk({ index, generation, }: {
|
|
60
|
-
index: number;
|
|
61
|
-
generation?: number;
|
|
62
|
-
}): void;
|
|
15
|
+
prepareRadSelection(
|
|
16
|
+
request: Parameters<typeof prepareRadSelection>[0],
|
|
17
|
+
): RadSelectionPreparation;
|
|
18
|
+
initializeRad(request: { bytes: Uint8Array }): RadHeader;
|
|
19
|
+
initializeRadDecoder(request: {
|
|
20
|
+
header: RadHeader;
|
|
21
|
+
rootBytes?: Uint8Array;
|
|
22
|
+
}): void;
|
|
23
|
+
loadRadChunk(
|
|
24
|
+
args: {
|
|
25
|
+
index: number;
|
|
26
|
+
generation: number;
|
|
27
|
+
request: RadReadRequest;
|
|
28
|
+
},
|
|
29
|
+
options: {
|
|
30
|
+
sendStatus: (data: {
|
|
31
|
+
loaded: number;
|
|
32
|
+
}) => void;
|
|
33
|
+
},
|
|
34
|
+
): Promise<{
|
|
35
|
+
data: RadStreamChunk;
|
|
36
|
+
tree: RadLodChunk;
|
|
37
|
+
state: RadResourceState | undefined;
|
|
38
|
+
rootBytes: Uint8Array<ArrayBufferLike> | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
cancelRadLoad(request: { generation: number }): void;
|
|
41
|
+
retainRadChunk(request: {
|
|
42
|
+
index: number;
|
|
43
|
+
generation: number;
|
|
44
|
+
tree: Omit<RadLodChunk, keyof RadSelectionChunk>;
|
|
45
|
+
}): void;
|
|
46
|
+
retainRadSelectionChunk(request: {
|
|
47
|
+
index: number;
|
|
48
|
+
generation: number;
|
|
49
|
+
chunk: RadSelectionChunk;
|
|
50
|
+
}): number;
|
|
51
|
+
selectRadLod(request: RadSelectionRequest): RadSelectionReply;
|
|
52
|
+
releaseRadChunk(request: {
|
|
53
|
+
index: number;
|
|
54
|
+
generation?: number;
|
|
55
|
+
}): void;
|
|
56
|
+
releaseRadSelectionChunk(request: {
|
|
57
|
+
index: number;
|
|
58
|
+
generation?: number;
|
|
59
|
+
}): number;
|
|
63
60
|
};
|
|
@@ -1,63 +1,60 @@
|
|
|
1
|
-
import { RadReadRequest } from
|
|
2
|
-
import { RadHeader } from
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import type { RadReadRequest, RadResourceState } from "../../rad/RadSource.js";
|
|
2
|
+
import type { RadHeader, RadStreamChunk } from "../../rad/radFormat.js";
|
|
3
|
+
import type {
|
|
4
|
+
RadSelectionReply,
|
|
5
|
+
RadSelectionRequest,
|
|
6
|
+
} from "./RadSelectionState.js";
|
|
7
|
+
import type {
|
|
8
|
+
RadSelectionChunk,
|
|
9
|
+
RadSelectionPreparation,
|
|
10
|
+
prepareRadSelection,
|
|
11
|
+
} from "./prepareRadSelection.js";
|
|
12
|
+
import type { RadLodChunk } from "./radLod.js";
|
|
13
|
+
/** Workers own LOD traversal, display preparation, or a persistent page decoder. */
|
|
7
14
|
export declare function createRadStreamHandlers(): {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
retainRadChunk({ index, generation, tree, }: {
|
|
54
|
-
index: number;
|
|
55
|
-
generation: number;
|
|
56
|
-
tree: RadLodChunk;
|
|
57
|
-
}): void;
|
|
58
|
-
selectRadLod(request: RadSelectionRequest): RadSelectionReply;
|
|
59
|
-
releaseRadChunk({ index, generation, }: {
|
|
60
|
-
index: number;
|
|
61
|
-
generation?: number;
|
|
62
|
-
}): void;
|
|
15
|
+
prepareRadSelection(
|
|
16
|
+
request: Parameters<typeof prepareRadSelection>[0],
|
|
17
|
+
): RadSelectionPreparation;
|
|
18
|
+
initializeRad(request: { bytes: Uint8Array }): RadHeader;
|
|
19
|
+
initializeRadDecoder(request: {
|
|
20
|
+
header: RadHeader;
|
|
21
|
+
rootBytes?: Uint8Array;
|
|
22
|
+
}): void;
|
|
23
|
+
loadRadChunk(
|
|
24
|
+
args: {
|
|
25
|
+
index: number;
|
|
26
|
+
generation: number;
|
|
27
|
+
request: RadReadRequest;
|
|
28
|
+
},
|
|
29
|
+
options: {
|
|
30
|
+
sendStatus: (data: {
|
|
31
|
+
loaded: number;
|
|
32
|
+
}) => void;
|
|
33
|
+
},
|
|
34
|
+
): Promise<{
|
|
35
|
+
data: RadStreamChunk;
|
|
36
|
+
tree: RadLodChunk;
|
|
37
|
+
state: RadResourceState | undefined;
|
|
38
|
+
rootBytes: Uint8Array<ArrayBufferLike> | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
cancelRadLoad(request: { generation: number }): void;
|
|
41
|
+
retainRadChunk(request: {
|
|
42
|
+
index: number;
|
|
43
|
+
generation: number;
|
|
44
|
+
tree: Omit<RadLodChunk, keyof RadSelectionChunk>;
|
|
45
|
+
}): void;
|
|
46
|
+
retainRadSelectionChunk(request: {
|
|
47
|
+
index: number;
|
|
48
|
+
generation: number;
|
|
49
|
+
chunk: RadSelectionChunk;
|
|
50
|
+
}): number;
|
|
51
|
+
selectRadLod(request: RadSelectionRequest): RadSelectionReply;
|
|
52
|
+
releaseRadChunk(request: {
|
|
53
|
+
index: number;
|
|
54
|
+
generation?: number;
|
|
55
|
+
}): void;
|
|
56
|
+
releaseRadSelectionChunk(request: {
|
|
57
|
+
index: number;
|
|
58
|
+
generation?: number;
|
|
59
|
+
}): number;
|
|
63
60
|
};
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { ReorderedSplatResult } from '../../../data/defines.cjs';
|
|
2
|
-
import { SplatMesh } from '../../../scene/SplatMesh.cjs';
|
|
3
1
|
import type * as THREE from "three";
|
|
2
|
+
import type { ReorderedSplatResult } from "../../../data/defines.cjs";
|
|
3
|
+
import { SplatMesh } from "../../../scene/SplatMesh.cjs";
|
|
4
4
|
/** Regions share one source, one scene node and one accumulator generation call. */
|
|
5
5
|
export declare class SogStreamBatch extends SplatMesh {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
readonly numSh: number;
|
|
7
|
+
private readonly group;
|
|
8
|
+
private readonly onEmpty;
|
|
9
|
+
private readonly source;
|
|
10
|
+
private readonly slots;
|
|
11
|
+
constructor(
|
|
12
|
+
capacity: number,
|
|
13
|
+
numSh: number,
|
|
14
|
+
group: THREE.Group,
|
|
15
|
+
onEmpty: () => void,
|
|
16
|
+
);
|
|
17
|
+
writeRegion(start: number, data: ReorderedSplatResult): void;
|
|
18
|
+
setRegionOpacity(start: number, opacity: number): void;
|
|
19
|
+
releaseRegion(start: number): void;
|
|
16
20
|
}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { ReorderedSplatResult } from '../../../data/defines';
|
|
2
|
-
import { SplatMesh } from '../../../scene/SplatMesh';
|
|
3
1
|
import type * as THREE from "three";
|
|
2
|
+
import type { ReorderedSplatResult } from "../../../data/defines.js";
|
|
3
|
+
import { SplatMesh } from "../../../scene/SplatMesh.js";
|
|
4
4
|
/** Regions share one source, one scene node and one accumulator generation call. */
|
|
5
5
|
export declare class SogStreamBatch extends SplatMesh {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
readonly numSh: number;
|
|
7
|
+
private readonly group;
|
|
8
|
+
private readonly onEmpty;
|
|
9
|
+
private readonly source;
|
|
10
|
+
private readonly slots;
|
|
11
|
+
constructor(
|
|
12
|
+
capacity: number,
|
|
13
|
+
numSh: number,
|
|
14
|
+
group: THREE.Group,
|
|
15
|
+
onEmpty: () => void,
|
|
16
|
+
);
|
|
17
|
+
writeRegion(start: number, data: ReorderedSplatResult): void;
|
|
18
|
+
setRegionOpacity(start: number, opacity: number): void;
|
|
19
|
+
releaseRegion(start: number): void;
|
|
16
20
|
}
|
|
@@ -1,49 +1,64 @@
|
|
|
1
|
-
import { Splats } from
|
|
2
|
-
import { StreamRequestOptions } from
|
|
3
|
-
import { SogStreamWorker } from
|
|
4
|
-
import { SogLodMetadata } from
|
|
5
|
-
import {
|
|
6
|
-
import { SogChunkInfo } from
|
|
1
|
+
import type { Splats } from "../../../data/Splats.cjs";
|
|
2
|
+
import type { StreamRequestOptions } from "../streamOptions.cjs";
|
|
3
|
+
import type { SogStreamWorker } from "./SogStreamWorker.cjs";
|
|
4
|
+
import type { SogLodMetadata } from "./sogLod.cjs";
|
|
5
|
+
import type { SogLodRequest } from "./sogVisibility.cjs";
|
|
6
|
+
import type { SogChunkInfo } from "./workerHandlers.cjs";
|
|
7
7
|
export type SogStreamLoaderOptions = StreamRequestOptions & {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
url: string;
|
|
9
|
+
/** Returns owned data in file order, or with a complete source ID map. */
|
|
10
|
+
loadChunk?: (url: string, signal: AbortSignal) => Promise<Splats>;
|
|
11
11
|
};
|
|
12
12
|
/** A retained worker cache; extraction transfers owned packed arrays to the caller. */
|
|
13
13
|
export declare class SogChunkSource {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
private readonly worker;
|
|
15
|
+
private readonly id;
|
|
16
|
+
readonly info: SogChunkInfo;
|
|
17
|
+
private readonly onRelease;
|
|
18
|
+
private released;
|
|
19
|
+
constructor(
|
|
20
|
+
worker: SogStreamWorker,
|
|
21
|
+
id: number,
|
|
22
|
+
info: SogChunkInfo,
|
|
23
|
+
onRelease: () => void,
|
|
24
|
+
);
|
|
25
|
+
get alive(): boolean;
|
|
26
|
+
extract(
|
|
27
|
+
ranges: {
|
|
28
|
+
start: number;
|
|
29
|
+
count: number;
|
|
30
|
+
}[],
|
|
31
|
+
): Promise<import("../../../data/defines.cjs").ReorderedSplatResult[]>;
|
|
32
|
+
dispose(): void;
|
|
26
33
|
}
|
|
27
34
|
/** Dedicated LOD worker, bounded decoders and retained chunk cache handles. */
|
|
28
35
|
export declare class SogStreamLoader {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
private readonly options;
|
|
37
|
+
private readonly lodWorker;
|
|
38
|
+
private readonly pool;
|
|
39
|
+
private readonly controller;
|
|
40
|
+
private initialization?;
|
|
41
|
+
private baseUrl;
|
|
42
|
+
private downloadedBytes;
|
|
43
|
+
private retainedIndexBytes;
|
|
44
|
+
constructor(
|
|
45
|
+
options: SogStreamLoaderOptions,
|
|
46
|
+
maxConcurrentLoads: number,
|
|
47
|
+
onChange: () => void,
|
|
48
|
+
);
|
|
49
|
+
get stats(): {
|
|
50
|
+
downloadedBytes: number;
|
|
51
|
+
peakWasmMemoryBytes: number;
|
|
52
|
+
retainedIndexBytes: number;
|
|
53
|
+
};
|
|
54
|
+
private assertActive;
|
|
55
|
+
initialize(signal?: AbortSignal): Promise<SogLodMetadata>;
|
|
56
|
+
private readIndex;
|
|
57
|
+
selectLod(request: SogLodRequest): Promise<Uint32Array>;
|
|
58
|
+
load(
|
|
59
|
+
url: string,
|
|
60
|
+
count: number,
|
|
61
|
+
signal: AbortSignal,
|
|
62
|
+
): Promise<SogChunkSource>;
|
|
63
|
+
dispose(): void;
|
|
49
64
|
}
|
|
@@ -1,49 +1,64 @@
|
|
|
1
|
-
import { Splats } from
|
|
2
|
-
import { StreamRequestOptions } from
|
|
3
|
-
import { SogStreamWorker } from
|
|
4
|
-
import { SogLodMetadata } from
|
|
5
|
-
import {
|
|
6
|
-
import { SogChunkInfo } from
|
|
1
|
+
import type { Splats } from "../../../data/Splats.js";
|
|
2
|
+
import type { StreamRequestOptions } from "../streamOptions.js";
|
|
3
|
+
import type { SogStreamWorker } from "./SogStreamWorker.js";
|
|
4
|
+
import type { SogLodMetadata } from "./sogLod.js";
|
|
5
|
+
import type { SogLodRequest } from "./sogVisibility.js";
|
|
6
|
+
import type { SogChunkInfo } from "./workerHandlers.js";
|
|
7
7
|
export type SogStreamLoaderOptions = StreamRequestOptions & {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
url: string;
|
|
9
|
+
/** Returns owned data in file order, or with a complete source ID map. */
|
|
10
|
+
loadChunk?: (url: string, signal: AbortSignal) => Promise<Splats>;
|
|
11
11
|
};
|
|
12
12
|
/** A retained worker cache; extraction transfers owned packed arrays to the caller. */
|
|
13
13
|
export declare class SogChunkSource {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
private readonly worker;
|
|
15
|
+
private readonly id;
|
|
16
|
+
readonly info: SogChunkInfo;
|
|
17
|
+
private readonly onRelease;
|
|
18
|
+
private released;
|
|
19
|
+
constructor(
|
|
20
|
+
worker: SogStreamWorker,
|
|
21
|
+
id: number,
|
|
22
|
+
info: SogChunkInfo,
|
|
23
|
+
onRelease: () => void,
|
|
24
|
+
);
|
|
25
|
+
get alive(): boolean;
|
|
26
|
+
extract(
|
|
27
|
+
ranges: {
|
|
28
|
+
start: number;
|
|
29
|
+
count: number;
|
|
30
|
+
}[],
|
|
31
|
+
): Promise<import("../../../data/defines.js").ReorderedSplatResult[]>;
|
|
32
|
+
dispose(): void;
|
|
26
33
|
}
|
|
27
34
|
/** Dedicated LOD worker, bounded decoders and retained chunk cache handles. */
|
|
28
35
|
export declare class SogStreamLoader {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
private readonly options;
|
|
37
|
+
private readonly lodWorker;
|
|
38
|
+
private readonly pool;
|
|
39
|
+
private readonly controller;
|
|
40
|
+
private initialization?;
|
|
41
|
+
private baseUrl;
|
|
42
|
+
private downloadedBytes;
|
|
43
|
+
private retainedIndexBytes;
|
|
44
|
+
constructor(
|
|
45
|
+
options: SogStreamLoaderOptions,
|
|
46
|
+
maxConcurrentLoads: number,
|
|
47
|
+
onChange: () => void,
|
|
48
|
+
);
|
|
49
|
+
get stats(): {
|
|
50
|
+
downloadedBytes: number;
|
|
51
|
+
peakWasmMemoryBytes: number;
|
|
52
|
+
retainedIndexBytes: number;
|
|
53
|
+
};
|
|
54
|
+
private assertActive;
|
|
55
|
+
initialize(signal?: AbortSignal): Promise<SogLodMetadata>;
|
|
56
|
+
private readIndex;
|
|
57
|
+
selectLod(request: SogLodRequest): Promise<Uint32Array>;
|
|
58
|
+
load(
|
|
59
|
+
url: string,
|
|
60
|
+
count: number,
|
|
61
|
+
signal: AbortSignal,
|
|
62
|
+
): Promise<SogChunkSource>;
|
|
63
|
+
dispose(): void;
|
|
49
64
|
}
|