@sparkjsdev/spark 0.1.8 → 0.1.10
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/README.md +5 -5
- package/dist/assets/worker-BbYVeANL.js.map +1 -0
- package/dist/assets/worker-CaMzlx2k.js.map +1 -0
- package/dist/spark.cjs.js +433 -175
- package/dist/spark.cjs.js.map +1 -1
- package/dist/spark.cjs.min.js +92 -53
- package/dist/spark.cjs.min.js.map +1 -1
- package/dist/spark.module.js +433 -175
- package/dist/spark.module.js.map +1 -1
- package/dist/spark.module.min.js +2503 -2310
- package/dist/spark.module.min.js.map +1 -1
- package/dist/types/SparkRenderer.d.ts +9 -0
- package/dist/types/SplatLoader.d.ts +29 -2
- package/dist/types/defines.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/pcsogs.d.ts +2 -2
- package/dist/types/ply.d.ts +3 -1
- package/dist/types/spz.d.ts +5 -3
- package/dist/types/utils.d.ts +8 -6
- package/package.json +3 -3
- package/dist/assets/worker-C1ojSBY1.js.map +0 -1
- package/dist/assets/worker-DXCsnY0K.js.map +0 -1
|
@@ -48,6 +48,11 @@ export type SparkRendererOptions = {
|
|
|
48
48
|
* @default Math.sqrt(8)
|
|
49
49
|
*/
|
|
50
50
|
maxStdDev?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Minimum pixel radius for splat rendering.
|
|
53
|
+
* @default 0.0
|
|
54
|
+
*/
|
|
55
|
+
minPixelRadius?: number;
|
|
51
56
|
/**
|
|
52
57
|
* Maximum pixel radius for splat rendering.
|
|
53
58
|
* @default 512.0
|
|
@@ -132,6 +137,7 @@ export declare class SparkRenderer extends THREE.Mesh {
|
|
|
132
137
|
needsUpdate: boolean;
|
|
133
138
|
originDistance: number;
|
|
134
139
|
maxStdDev: number;
|
|
140
|
+
minPixelRadius: number;
|
|
135
141
|
maxPixelRadius: number;
|
|
136
142
|
minAlpha: number;
|
|
137
143
|
enable2DGS: boolean;
|
|
@@ -196,6 +202,9 @@ export declare class SparkRenderer extends THREE.Mesh {
|
|
|
196
202
|
maxStdDev: {
|
|
197
203
|
value: number;
|
|
198
204
|
};
|
|
205
|
+
minPixelRadius: {
|
|
206
|
+
value: number;
|
|
207
|
+
};
|
|
199
208
|
maxPixelRadius: {
|
|
200
209
|
value: number;
|
|
201
210
|
};
|
|
@@ -58,11 +58,38 @@ export type PcSogsJson = {
|
|
|
58
58
|
files: string[];
|
|
59
59
|
};
|
|
60
60
|
};
|
|
61
|
+
export type PcSogsV2Json = {
|
|
62
|
+
version: 2;
|
|
63
|
+
count: number;
|
|
64
|
+
antialias?: boolean;
|
|
65
|
+
means: {
|
|
66
|
+
mins: number[];
|
|
67
|
+
maxs: number[];
|
|
68
|
+
files: string[];
|
|
69
|
+
};
|
|
70
|
+
scales: {
|
|
71
|
+
codebook: number[];
|
|
72
|
+
files: string[];
|
|
73
|
+
};
|
|
74
|
+
quats: {
|
|
75
|
+
files: string[];
|
|
76
|
+
};
|
|
77
|
+
sh0: {
|
|
78
|
+
codebook: number[];
|
|
79
|
+
files: string[];
|
|
80
|
+
};
|
|
81
|
+
shN?: {
|
|
82
|
+
count: number;
|
|
83
|
+
bands: number;
|
|
84
|
+
codebook: number[];
|
|
85
|
+
files: string[];
|
|
86
|
+
};
|
|
87
|
+
};
|
|
61
88
|
export declare function isPcSogs(input: ArrayBuffer | Uint8Array | string): boolean;
|
|
62
|
-
export declare function tryPcSogs(input: ArrayBuffer | Uint8Array | string): PcSogsJson | undefined;
|
|
89
|
+
export declare function tryPcSogs(input: ArrayBuffer | Uint8Array | string): PcSogsJson | PcSogsV2Json | undefined;
|
|
63
90
|
export declare function tryPcSogsZip(input: ArrayBuffer | Uint8Array): {
|
|
64
91
|
name: string;
|
|
65
|
-
json: PcSogsJson;
|
|
92
|
+
json: PcSogsJson | PcSogsV2Json;
|
|
66
93
|
} | undefined;
|
|
67
94
|
export declare function unpackSplats({ input, extraFiles, fileType, pathOrUrl, splatEncoding, }: {
|
|
68
95
|
input: Uint8Array | ArrayBuffer;
|
package/dist/types/defines.d.ts
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { SparkRenderer, type SparkRendererOptions } from './SparkRenderer';
|
|
2
2
|
export { SparkViewpoint, type SparkViewpointOptions } from './SparkViewpoint';
|
|
3
3
|
export * as dyno from './dyno';
|
|
4
|
+
export { RgbaArray } from './RgbaArray';
|
|
4
5
|
export { SplatLoader, unpackSplats, SplatFileType, getSplatFileType, isPcSogs, } from './SplatLoader';
|
|
5
6
|
export { PlyReader } from './ply';
|
|
6
7
|
export { SpzReader, SpzWriter, transcodeSpz } from './spz';
|
package/dist/types/pcsogs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SplatEncoding } from './PackedSplats';
|
|
2
|
-
import { PcSogsJson } from './SplatLoader';
|
|
3
|
-
export declare function unpackPcSogs(json: PcSogsJson, extraFiles: Record<string, ArrayBuffer>, splatEncoding: SplatEncoding): Promise<{
|
|
2
|
+
import { PcSogsJson, PcSogsV2Json } from './SplatLoader';
|
|
3
|
+
export declare function unpackPcSogs(json: PcSogsJson | PcSogsV2Json, extraFiles: Record<string, ArrayBuffer>, splatEncoding: SplatEncoding): Promise<{
|
|
4
4
|
packedArray: Uint32Array;
|
|
5
5
|
numSplats: number;
|
|
6
6
|
extra: Record<string, unknown>;
|
package/dist/types/ply.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
declare const PLY_PROPERTY_TYPES: readonly ["char", "uchar", "short", "ushort", "int", "uint", "float", "double"];
|
|
2
|
+
export type PlyPropertyType = (typeof PLY_PROPERTY_TYPES)[number];
|
|
2
3
|
export type PlyElement = {
|
|
3
4
|
name: string;
|
|
4
5
|
count: number;
|
|
@@ -29,3 +30,4 @@ export declare class PlyReader {
|
|
|
29
30
|
injectRgba(rgba: Uint8Array): void;
|
|
30
31
|
}
|
|
31
32
|
export declare const SH_C0 = 0.28209479177387814;
|
|
33
|
+
export {};
|
package/dist/types/spz.d.ts
CHANGED
|
@@ -10,14 +10,16 @@ export declare class SpzReader {
|
|
|
10
10
|
flags: number;
|
|
11
11
|
flagAntiAlias: boolean;
|
|
12
12
|
reserved: number;
|
|
13
|
+
headerParsed: boolean;
|
|
13
14
|
parsed: boolean;
|
|
14
15
|
constructor({ fileBytes }: {
|
|
15
16
|
fileBytes: Uint8Array | ArrayBuffer;
|
|
16
17
|
});
|
|
17
|
-
|
|
18
|
+
parseHeader(): Promise<void>;
|
|
19
|
+
parseSplats(centerCallback?: (index: number, x: number, y: number, z: number) => void, alphaCallback?: (index: number, alpha: number) => void, rgbCallback?: (index: number, r: number, g: number, b: number) => void, scalesCallback?: (index: number, scaleX: number, scaleY: number, scaleZ: number) => void, quatCallback?: (index: number, quatX: number, quatY: number, quatZ: number, quatW: number) => void, shCallback?: (index: number, sh1: Float32Array, sh2?: Float32Array, sh3?: Float32Array) => void): Promise<void>;
|
|
18
20
|
}
|
|
19
21
|
export declare const SPZ_MAGIC = 1347635022;
|
|
20
|
-
export declare const SPZ_VERSION =
|
|
22
|
+
export declare const SPZ_VERSION = 3;
|
|
21
23
|
export declare const FLAG_ANTIALIASED = 1;
|
|
22
24
|
export declare class SpzWriter {
|
|
23
25
|
buffer: ArrayBuffer;
|
|
@@ -39,7 +41,7 @@ export declare class SpzWriter {
|
|
|
39
41
|
static scaleRgb(r: number): number;
|
|
40
42
|
setRgb(index: number, r: number, g: number, b: number): void;
|
|
41
43
|
setScale(index: number, scaleX: number, scaleY: number, scaleZ: number): void;
|
|
42
|
-
setQuat(index: number,
|
|
44
|
+
setQuat(index: number, ...q: [number, number, number, number]): void;
|
|
43
45
|
static quantizeSh(sh: number, bits: number): number;
|
|
44
46
|
setSh(index: number, sh1: Float32Array, sh2?: Float32Array, sh3?: Float32Array): void;
|
|
45
47
|
finalize(): Promise<Uint8Array>;
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Gunzip } from 'fflate';
|
|
2
1
|
import * as THREE from "three";
|
|
2
|
+
export declare function normalize(vec: number[]): number[];
|
|
3
3
|
export declare function floatBitsToUint(f: number): number;
|
|
4
4
|
export declare function uintBitsToFloat(u: number): number;
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
5
|
+
export declare const toHalf: typeof toHalfNative;
|
|
6
|
+
export declare const fromHalf: typeof fromHalfNative;
|
|
7
|
+
declare function toHalfNative(f: number): number;
|
|
8
|
+
declare function fromHalfNative(u: number): number;
|
|
7
9
|
export declare function floatToUint8(v: number): number;
|
|
8
10
|
export declare function floatToSint8(v: number): number;
|
|
9
11
|
export declare function Uint8ToFloat(v: number): number;
|
|
@@ -167,13 +169,13 @@ export declare function decompressPartialGzip(fileBytes: Uint8Array, numBytes: n
|
|
|
167
169
|
export declare class GunzipReader {
|
|
168
170
|
fileBytes: Uint8Array;
|
|
169
171
|
chunkBytes: number;
|
|
170
|
-
offset: number;
|
|
171
172
|
chunks: Uint8Array[];
|
|
172
173
|
totalBytes: number;
|
|
173
|
-
|
|
174
|
+
reader: ReadableStreamDefaultReader;
|
|
174
175
|
constructor({ fileBytes, chunkBytes, }: {
|
|
175
176
|
fileBytes: Uint8Array;
|
|
176
177
|
chunkBytes?: number;
|
|
177
178
|
});
|
|
178
|
-
read(numBytes: number): Uint8Array
|
|
179
|
+
read(numBytes: number): Promise<Uint8Array>;
|
|
179
180
|
}
|
|
181
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sparkjsdev/spark",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "An advanced 3D Gaussian Splatting renderer for THREE.js",
|
|
5
5
|
"homepage": "https://sparkjs.dev/",
|
|
6
6
|
"type": "module",
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
"license": "MIT",
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@biomejs/biome": "1.9.4",
|
|
47
|
-
"@types/three": "0.
|
|
47
|
+
"@types/three": "0.178.0",
|
|
48
48
|
"lefthook": "1.11.12",
|
|
49
49
|
"lil-gui": "^0.20.0",
|
|
50
50
|
"onchange": "7.1.0",
|
|
51
51
|
"stats.js": "^0.17.0",
|
|
52
|
-
"three": "^0.
|
|
52
|
+
"three": "^0.178.0",
|
|
53
53
|
"ts-node": "10.9.2",
|
|
54
54
|
"typescript": "^5.7.3",
|
|
55
55
|
"vite": "^6.0.11",
|