@sparkjsdev/spark 0.1.9 → 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.
@@ -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;
@@ -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';
@@ -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>;
@@ -10,11 +10,13 @@ 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
- 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): void;
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
22
  export declare const SPZ_VERSION = 3;
@@ -1,4 +1,3 @@
1
- import { Gunzip } from 'fflate';
2
1
  import * as THREE from "three";
3
2
  export declare function normalize(vec: number[]): number[];
4
3
  export declare function floatBitsToUint(f: number): number;
@@ -170,14 +169,13 @@ export declare function decompressPartialGzip(fileBytes: Uint8Array, numBytes: n
170
169
  export declare class GunzipReader {
171
170
  fileBytes: Uint8Array;
172
171
  chunkBytes: number;
173
- offset: number;
174
172
  chunks: Uint8Array[];
175
173
  totalBytes: number;
176
- gunzip: Gunzip;
174
+ reader: ReadableStreamDefaultReader;
177
175
  constructor({ fileBytes, chunkBytes, }: {
178
176
  fileBytes: Uint8Array;
179
177
  chunkBytes?: number;
180
178
  });
181
- read(numBytes: number): Uint8Array;
179
+ read(numBytes: number): Promise<Uint8Array>;
182
180
  }
183
181
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparkjsdev/spark",
3
- "version": "0.1.9",
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",