@loaders.gl/splats 5.0.0-alpha.1 → 5.0.0-alpha.2

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.
@@ -16,6 +16,8 @@ export type RADSplatEncoding = {
16
16
  sh3Max?: number;
17
17
  /** Whether opacity is encoded for LoD blending. */
18
18
  lodOpacity?: boolean;
19
+ /** Additional splat-encoding properties are preserved verbatim. */
20
+ [key: string]: unknown;
19
21
  };
20
22
  /** One RAD chunk location in the top-level RAD chunk table. */
21
23
  export type RADChunkRange = {
@@ -29,13 +31,15 @@ export type RADChunkRange = {
29
31
  count?: number;
30
32
  /** Optional sidecar `.radc` filename relative to the RAD file URL. */
31
33
  filename?: string;
34
+ /** Additional chunk-range properties are preserved verbatim. */
35
+ [key: string]: unknown;
32
36
  };
33
- /** Parsed Spark RAD top-level metadata with loader-derived byte offsets. */
34
- export type RADMetadata = {
37
+ /** Handwritten type for the JSON metadata stored in a Spark RAD header. */
38
+ export type RADMetadataJSON = {
35
39
  /** RAD container version. Version 1 is currently supported. */
36
- version: number;
40
+ version: 1;
37
41
  /** RAD payload type. Spark currently writes `gsplat`. */
38
- type: string;
42
+ type: 'gsplat';
39
43
  /** Total splat count represented by the RAD source. */
40
44
  count: number;
41
45
  /** Maximum spherical harmonics degree present in the chunks. */
@@ -54,6 +58,11 @@ export type RADMetadata = {
54
58
  shCodeCount?: number;
55
59
  /** Optional RAD writer comment. */
56
60
  comment?: string;
61
+ /** Additional RAD metadata properties are preserved verbatim. */
62
+ [key: string]: unknown;
63
+ };
64
+ /** Parsed Spark RAD top-level metadata with loader-derived byte offsets. */
65
+ export type RADMetadata = RADMetadataJSON & {
57
66
  /** Byte length of the JSON metadata block. */
58
67
  headerJsonByteLength: number;
59
68
  /** Byte offset where inline RAD chunks begin. */
@@ -81,11 +90,13 @@ export type RADChunkProperty = {
81
90
  min?: number;
82
91
  /** Optional decode maximum for quantized properties. */
83
92
  max?: number;
93
+ /** Additional chunk-property metadata is preserved verbatim. */
94
+ [key: string]: unknown;
84
95
  };
85
- /** Parsed Spark RADC chunk metadata with loader-derived byte offsets. */
86
- export type RADChunkMetadata = {
96
+ /** Handwritten type for the JSON metadata stored in a Spark RADC chunk header. */
97
+ export type RADChunkMetadataJSON = {
87
98
  /** RAD chunk version. Version 1 is currently supported. */
88
- version: number;
99
+ version: 1;
89
100
  /** First global splat index represented by this chunk. */
90
101
  base: number;
91
102
  /** Number of splats represented by this chunk. */
@@ -100,6 +111,11 @@ export type RADChunkMetadata = {
100
111
  splatEncoding?: RADSplatEncoding;
101
112
  /** Property table for the chunk payload. */
102
113
  properties: RADChunkProperty[];
114
+ /** Additional RADC metadata properties are preserved verbatim. */
115
+ [key: string]: unknown;
116
+ };
117
+ /** Parsed Spark RADC chunk metadata with loader-derived byte offsets. */
118
+ export type RADChunkMetadata = RADChunkMetadataJSON & {
103
119
  /** Byte length of the chunk JSON metadata block. */
104
120
  headerJsonByteLength: number;
105
121
  /** Byte offset where the chunk payload begins. */
@@ -1 +1 @@
1
- {"version":3,"file":"parse-rad.d.ts","sourceRoot":"","sources":["../../src/lib/parse-rad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-rad.d.ts","sourceRoot":"","sources":["../../src/lib/parse-rad.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
+ import { RADChunkMetadataJSONSchema, RADMetadataJSONSchema } from "../rad-zod-schema.js";
4
5
  const RAD_MAGIC = 0x30444152;
5
6
  const RAD_CHUNK_MAGIC = 0x43444152;
6
7
  const RAD_HEADER_BYTE_LENGTH = 8;
@@ -38,7 +39,7 @@ export function tryParseRADHeader(data) {
38
39
  if (bytes.byteLength < headerJsonEnd) {
39
40
  return null;
40
41
  }
41
- const rawMetadata = parseJSONRecord(bytes.subarray(RAD_HEADER_BYTE_LENGTH, headerJsonEnd), 'RADLoader: failed to parse RAD metadata JSON.');
42
+ const rawMetadata = RADMetadataJSONSchema.parse(parseJSON(bytes.subarray(RAD_HEADER_BYTE_LENGTH, headerJsonEnd), 'RADLoader: failed to parse RAD metadata JSON.'));
42
43
  return normalizeRADMetadata(rawMetadata, headerJsonByteLength);
43
44
  }
44
45
  /** Parses the metadata header from one Spark `.radc` chunk buffer. */
@@ -59,7 +60,7 @@ export function parseRADChunkHeader(data) {
59
60
  if (bytes.byteLength < payloadByteOffset) {
60
61
  throw new Error('RADLoader: RADC chunk must contain a complete metadata header.');
61
62
  }
62
- const rawMetadata = parseJSONRecord(bytes.subarray(RAD_HEADER_BYTE_LENGTH, headerJsonEnd), 'RADLoader: failed to parse RADC metadata JSON.');
63
+ const rawMetadata = RADChunkMetadataJSONSchema.parse(parseJSON(bytes.subarray(RAD_HEADER_BYTE_LENGTH, headerJsonEnd), 'RADLoader: failed to parse RADC metadata JSON.'));
63
64
  const payloadBytes = readSafeUint64(dataView, payloadByteLengthOffset, 'RADC payload byte length');
64
65
  return normalizeRADChunkMetadata(rawMetadata, headerJsonByteLength, payloadByteOffset, payloadBytes);
65
66
  }
@@ -68,158 +69,32 @@ export function roundUpToEight(byteLength) {
68
69
  return (byteLength + 7) & ~7;
69
70
  }
70
71
  function normalizeRADMetadata(rawMetadata, headerJsonByteLength) {
71
- const version = requireSafeInteger(rawMetadata.version, 'RAD version');
72
- if (version !== 1) {
73
- throw new Error(`RADLoader: version ${version} is not supported.`);
74
- }
75
- const type = requireString(rawMetadata.type, 'RAD type');
76
- if (type !== 'gsplat') {
77
- throw new Error(`RADLoader: RAD type ${type} is not supported.`);
78
- }
79
- const chunks = requireArray(rawMetadata.chunks, 'RAD chunks').map((chunk, chunkIndex) => normalizeRADChunkRange(chunk, chunkIndex));
80
- const metadata = {
81
- version,
82
- type,
83
- count: requireSafeInteger(rawMetadata.count, 'RAD count'),
84
- maxSh: optionalSafeInteger(rawMetadata.maxSh, 'RAD maxSh'),
85
- lodTree: optionalBoolean(rawMetadata.lodTree, 'RAD lodTree'),
86
- chunkSize: optionalSafeInteger(rawMetadata.chunkSize, 'RAD chunkSize'),
87
- allChunkBytes: optionalSafeInteger(rawMetadata.allChunkBytes, 'RAD allChunkBytes'),
88
- chunks,
89
- splatEncoding: optionalSplatEncoding(rawMetadata.splatEncoding, 'RAD splatEncoding'),
90
- shCodeCount: optionalSafeInteger(rawMetadata.shCodeCount, 'RAD shCodeCount'),
91
- comment: optionalString(rawMetadata.comment, 'RAD comment'),
72
+ return {
73
+ ...rawMetadata,
92
74
  headerJsonByteLength,
93
75
  chunksByteOffset: RAD_HEADER_BYTE_LENGTH + roundUpToEight(headerJsonByteLength)
94
76
  };
95
- return metadata;
96
- }
97
- function normalizeRADChunkRange(rawChunk, chunkIndex) {
98
- const chunk = requireRecord(rawChunk, `RAD chunk ${chunkIndex}`);
99
- return {
100
- offset: requireSafeInteger(chunk.offset, `RAD chunk ${chunkIndex} offset`),
101
- bytes: requireSafeInteger(chunk.bytes, `RAD chunk ${chunkIndex} bytes`),
102
- base: optionalSafeInteger(chunk.base, `RAD chunk ${chunkIndex} base`),
103
- count: optionalSafeInteger(chunk.count, `RAD chunk ${chunkIndex} count`),
104
- filename: optionalString(chunk.filename, `RAD chunk ${chunkIndex} filename`)
105
- };
106
77
  }
107
78
  function normalizeRADChunkMetadata(rawMetadata, headerJsonByteLength, payloadByteOffset, payloadBytes) {
108
- const version = requireSafeInteger(rawMetadata.version, 'RADC version');
109
- if (version !== 1) {
110
- throw new Error(`RADLoader: RADC version ${version} is not supported.`);
111
- }
112
- const metadataPayloadBytes = requireSafeInteger(rawMetadata.payloadBytes, 'RADC payloadBytes');
113
- if (metadataPayloadBytes !== payloadBytes) {
79
+ if (rawMetadata.payloadBytes !== payloadBytes) {
114
80
  throw new Error('RADLoader: RADC metadata payload byte length does not match binary header.');
115
81
  }
116
82
  return {
117
- version,
118
- base: requireSafeInteger(rawMetadata.base, 'RADC base'),
119
- count: requireSafeInteger(rawMetadata.count, 'RADC count'),
83
+ ...rawMetadata,
120
84
  payloadBytes,
121
- maxSh: optionalSafeInteger(rawMetadata.maxSh, 'RADC maxSh'),
122
- lodTree: optionalBoolean(rawMetadata.lodTree, 'RADC lodTree'),
123
- splatEncoding: optionalSplatEncoding(rawMetadata.splatEncoding, 'RADC splatEncoding'),
124
- properties: requireArray(rawMetadata.properties, 'RADC properties').map((property, index) => normalizeRADChunkProperty(property, index)),
125
85
  headerJsonByteLength,
126
86
  payloadByteOffset,
127
87
  chunkByteLength: payloadByteOffset + payloadBytes
128
88
  };
129
89
  }
130
- function normalizeRADChunkProperty(rawProperty, propertyIndex) {
131
- const property = requireRecord(rawProperty, `RADC property ${propertyIndex}`);
132
- return {
133
- offset: requireSafeInteger(property.offset, `RADC property ${propertyIndex} offset`),
134
- bytes: requireSafeInteger(property.bytes, `RADC property ${propertyIndex} bytes`),
135
- property: requireString(property.property, `RADC property ${propertyIndex} name`),
136
- encoding: requireString(property.encoding, `RADC property ${propertyIndex} encoding`),
137
- compression: optionalString(property.compression, `RADC property ${propertyIndex} compression`),
138
- min: optionalFiniteNumber(property.min, `RADC property ${propertyIndex} min`),
139
- max: optionalFiniteNumber(property.max, `RADC property ${propertyIndex} max`)
140
- };
141
- }
142
- function optionalSplatEncoding(value, fieldName) {
143
- if (value === undefined) {
144
- return undefined;
145
- }
146
- const encoding = requireRecord(value, fieldName);
147
- return {
148
- rgbMin: optionalFiniteNumber(encoding.rgbMin, `${fieldName}.rgbMin`),
149
- rgbMax: optionalFiniteNumber(encoding.rgbMax, `${fieldName}.rgbMax`),
150
- lnScaleMin: optionalFiniteNumber(encoding.lnScaleMin, `${fieldName}.lnScaleMin`),
151
- lnScaleMax: optionalFiniteNumber(encoding.lnScaleMax, `${fieldName}.lnScaleMax`),
152
- sh1Max: optionalFiniteNumber(encoding.sh1Max, `${fieldName}.sh1Max`),
153
- sh2Max: optionalFiniteNumber(encoding.sh2Max, `${fieldName}.sh2Max`),
154
- sh3Max: optionalFiniteNumber(encoding.sh3Max, `${fieldName}.sh3Max`),
155
- lodOpacity: optionalBoolean(encoding.lodOpacity, `${fieldName}.lodOpacity`)
156
- };
157
- }
158
- function parseJSONRecord(bytes, message) {
90
+ function parseJSON(bytes, message) {
159
91
  try {
160
- return requireRecord(JSON.parse(TEXT_DECODER.decode(bytes)), message);
92
+ return JSON.parse(TEXT_DECODER.decode(bytes));
161
93
  }
162
- catch (error) {
163
- if (error instanceof Error && error.message.startsWith('RADLoader:')) {
164
- throw error;
165
- }
94
+ catch {
166
95
  throw new Error(message);
167
96
  }
168
97
  }
169
- function requireRecord(value, fieldName) {
170
- if (!value || typeof value !== 'object' || Array.isArray(value)) {
171
- throw new Error(`RADLoader: ${fieldName} must be an object.`);
172
- }
173
- return value;
174
- }
175
- function requireArray(value, fieldName) {
176
- if (!Array.isArray(value)) {
177
- throw new Error(`RADLoader: ${fieldName} must be an array.`);
178
- }
179
- return value;
180
- }
181
- function requireString(value, fieldName) {
182
- if (typeof value !== 'string') {
183
- throw new Error(`RADLoader: ${fieldName} must be a string.`);
184
- }
185
- return value;
186
- }
187
- function optionalString(value, fieldName) {
188
- if (value === undefined) {
189
- return undefined;
190
- }
191
- return requireString(value, fieldName);
192
- }
193
- function optionalBoolean(value, fieldName) {
194
- if (value === undefined) {
195
- return undefined;
196
- }
197
- if (typeof value !== 'boolean') {
198
- throw new Error(`RADLoader: ${fieldName} must be a boolean.`);
199
- }
200
- return value;
201
- }
202
- function requireSafeInteger(value, fieldName) {
203
- if (!Number.isSafeInteger(value) || Number(value) < 0) {
204
- throw new Error(`RADLoader: ${fieldName} must be a non-negative safe integer.`);
205
- }
206
- return Number(value);
207
- }
208
- function optionalSafeInteger(value, fieldName) {
209
- if (value === undefined) {
210
- return undefined;
211
- }
212
- return requireSafeInteger(value, fieldName);
213
- }
214
- function optionalFiniteNumber(value, fieldName) {
215
- if (value === undefined) {
216
- return undefined;
217
- }
218
- if (typeof value !== 'number' || !Number.isFinite(value)) {
219
- throw new Error(`RADLoader: ${fieldName} must be a finite number.`);
220
- }
221
- return value;
222
- }
223
98
  function readSafeUint64(dataView, byteOffset, fieldName) {
224
99
  const value = dataView.getBigUint64(byteOffset, true);
225
100
  if (value > BigInt(Number.MAX_SAFE_INTEGER)) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-rad.js","sourceRoot":"","sources":["../../src/lib/parse-rad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-rad.js","sourceRoot":"","sources":["../../src/lib/parse-rad.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-spz.d.ts","sourceRoot":"","sources":["../../src/lib/parse-spz.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAC,cAAc,EAAE,mBAAmB,EAAC,oBAAiB;AA6BlE,2EAA2E;AAC3E,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,sFAAsF;AACtF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAezB"}
1
+ {"version":3,"file":"parse-spz.d.ts","sourceRoot":"","sources":["../../src/lib/parse-spz.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAC,cAAc,EAAE,mBAAmB,EAAC,oBAAiB;AA6BlE,2EAA2E;AAC3E,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,sFAAsF;AACtF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,cAAc,CAAC,CA6BzB"}
@@ -1,7 +1,8 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { ZstdCompression } from '@loaders.gl/compression';
4
+ import { decompressWithNativeDecompressionStream } from '@loaders.gl/compression/native-decompression';
5
+ import { getJSModuleOrNull, registerJSModules } from '@loaders.gl/loader-utils';
5
6
  import { makeGaussianSplatsArrowTable } from "./splats-arrow-table.js";
6
7
  import { normalizeQuaternion } from "./splat-utils.js";
7
8
  const SPZ_HEADER_BYTE_LENGTH = 32;
@@ -20,11 +21,45 @@ export async function parseSPZToGaussianSplats(data, options) {
20
21
  const header = parseSPZHeader(data);
21
22
  const streamInfos = parseSPZStreamInfos(data, header, getSPZStreamByteLengths(header));
22
23
  const compressedStreams = streamInfos.map(streamInfo => data.slice(streamInfo.compressedOffset, streamInfo.compressedOffset + streamInfo.compressedSize));
23
- const compression = new ZstdCompression({ modules: options?.modules });
24
- const streams = await Promise.all(compressedStreams.map((compressedStream, streamIndex) => compression.decompress(compressedStream, streamInfos[streamIndex].uncompressedSize)));
24
+ registerJSModules(options?.modules);
25
+ const useNativeDecompressionStream = !getJSModuleOrNull('zstd-codec');
26
+ let compressionPromise;
27
+ const streams = await Promise.all(compressedStreams.map((compressedStream, streamIndex) => decompressSPZStream(compressedStream, streamInfos[streamIndex].uncompressedSize, useNativeDecompressionStream, () => {
28
+ compressionPromise ||= createZstdCompression(options?.modules);
29
+ return compressionPromise;
30
+ })));
25
31
  validateSPZStreamLengths(streams, streamInfos);
26
32
  return decodeSPZStreams(header, streams, data);
27
33
  }
34
+ /**
35
+ * Decompresses one SPZ stream natively when available, then lazily loads the codec fallback.
36
+ *
37
+ * @param compressedStream Compressed Zstandard stream.
38
+ * @param uncompressedSize Expected uncompressed byte length.
39
+ * @param useNativeDecompressionStream Whether no provided codec should take precedence.
40
+ * @param getCompression Lazily resolves the codec-backed Zstandard implementation.
41
+ * @returns Decompressed stream bytes.
42
+ */
43
+ async function decompressSPZStream(compressedStream, uncompressedSize, useNativeDecompressionStream, getCompression) {
44
+ if (useNativeDecompressionStream) {
45
+ const nativeOutput = await decompressWithNativeDecompressionStream(compressedStream, 'zstd');
46
+ if (nativeOutput) {
47
+ return nativeOutput;
48
+ }
49
+ }
50
+ const compression = await getCompression();
51
+ return await compression.decompress(compressedStream, uncompressedSize);
52
+ }
53
+ /**
54
+ * Dynamically loads the codec-backed Zstandard class for unsupported native runtimes.
55
+ *
56
+ * @param modules Optional registered codec modules.
57
+ * @returns Codec-backed Zstandard implementation.
58
+ */
59
+ async function createZstdCompression(modules) {
60
+ const { ZstdCompression } = await import('@loaders.gl/compression/zstd-compression');
61
+ return new ZstdCompression({ modules });
62
+ }
28
63
  /** Parses and validates the SPZ v4 plaintext header. */
29
64
  function parseSPZHeader(data) {
30
65
  if (data.byteLength < SPZ_HEADER_BYTE_LENGTH) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-spz.js","sourceRoot":"","sources":["../../src/lib/parse-spz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-spz.js","sourceRoot":"","sources":["../../src/lib/parse-spz.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  import { RADFormat } from "./splats-format.js";
5
5
  // __VERSION__ is injected by babel-plugin-version-inline
6
6
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
7
- const VERSION = typeof "5.0.0-alpha.1" !== 'undefined' ? "5.0.0-alpha.1" : 'latest';
7
+ const VERSION = typeof "5.0.0-alpha.2" !== 'undefined' ? "5.0.0-alpha.2" : 'latest';
8
8
  /** Preloads the parser-bearing RAD loader implementation. */
9
9
  async function preload() {
10
10
  const { RADLoaderWithParser } = await import("./rad-loader.js");
@@ -0,0 +1,133 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "version": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "type": {
10
+ "type": "string",
11
+ "const": "gsplat"
12
+ },
13
+ "count": {
14
+ "$ref": "#/definitions/__schema0"
15
+ },
16
+ "maxSh": {
17
+ "allOf": [
18
+ {
19
+ "$ref": "#/definitions/__schema0"
20
+ }
21
+ ]
22
+ },
23
+ "lodTree": {
24
+ "type": "boolean"
25
+ },
26
+ "chunkSize": {
27
+ "allOf": [
28
+ {
29
+ "$ref": "#/definitions/__schema0"
30
+ }
31
+ ]
32
+ },
33
+ "allChunkBytes": {
34
+ "allOf": [
35
+ {
36
+ "$ref": "#/definitions/__schema0"
37
+ }
38
+ ]
39
+ },
40
+ "chunks": {
41
+ "type": "array",
42
+ "items": {
43
+ "type": "object",
44
+ "properties": {
45
+ "offset": {
46
+ "$ref": "#/definitions/__schema0"
47
+ },
48
+ "bytes": {
49
+ "$ref": "#/definitions/__schema0"
50
+ },
51
+ "base": {
52
+ "allOf": [
53
+ {
54
+ "$ref": "#/definitions/__schema0"
55
+ }
56
+ ]
57
+ },
58
+ "count": {
59
+ "allOf": [
60
+ {
61
+ "$ref": "#/definitions/__schema0"
62
+ }
63
+ ]
64
+ },
65
+ "filename": {
66
+ "type": "string"
67
+ }
68
+ },
69
+ "required": [
70
+ "offset",
71
+ "bytes"
72
+ ],
73
+ "additionalProperties": {}
74
+ }
75
+ },
76
+ "splatEncoding": {
77
+ "type": "object",
78
+ "properties": {
79
+ "rgbMin": {
80
+ "type": "number"
81
+ },
82
+ "rgbMax": {
83
+ "type": "number"
84
+ },
85
+ "lnScaleMin": {
86
+ "type": "number"
87
+ },
88
+ "lnScaleMax": {
89
+ "type": "number"
90
+ },
91
+ "sh1Max": {
92
+ "type": "number"
93
+ },
94
+ "sh2Max": {
95
+ "type": "number"
96
+ },
97
+ "sh3Max": {
98
+ "type": "number"
99
+ },
100
+ "lodOpacity": {
101
+ "type": "boolean"
102
+ }
103
+ },
104
+ "additionalProperties": {}
105
+ },
106
+ "shCodeCount": {
107
+ "allOf": [
108
+ {
109
+ "$ref": "#/definitions/__schema0"
110
+ }
111
+ ]
112
+ },
113
+ "comment": {
114
+ "type": "string"
115
+ }
116
+ },
117
+ "required": [
118
+ "version",
119
+ "type",
120
+ "count",
121
+ "chunks"
122
+ ],
123
+ "additionalProperties": {},
124
+ "definitions": {
125
+ "__schema0": {
126
+ "type": "integer",
127
+ "minimum": 0,
128
+ "maximum": 9007199254740991
129
+ }
130
+ },
131
+ "$id": "https://unpkg.com/@loaders.gl/splats/rad-metadata.schema.json",
132
+ "title": "loaders.gl Spark RAD metadata"
133
+ }
@@ -10,7 +10,7 @@ const DEFAULT_RAD_HEADER_BYTE_LENGTHS = [64 * 1024, 256 * 1024, 1024 * 1024];
10
10
  const DEFAULT_RAD_MAX_CONCURRENT_CHUNK_REQUESTS = 4;
11
11
  // __VERSION__ is injected by babel-plugin-version-inline
12
12
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
13
- const VERSION = typeof "5.0.0-alpha.1" !== 'undefined' ? "5.0.0-alpha.1" : 'latest';
13
+ const VERSION = typeof "5.0.0-alpha.2" !== 'undefined' ? "5.0.0-alpha.2" : 'latest';
14
14
  /** Source factory for Spark `.rad` paged LoD Gaussian splat containers. */
15
15
  export const RADSourceLoader = {
16
16
  dataType: null,