@ifc-lite/pointcloud 0.2.0 → 0.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/README.md +28 -0
- package/dist/formats/ascii-points.d.ts +61 -0
- package/dist/formats/ascii-points.d.ts.map +1 -0
- package/dist/formats/ascii-points.js +243 -0
- package/dist/formats/ascii-points.js.map +1 -0
- package/dist/formats/e57-decode.d.ts +28 -0
- package/dist/formats/e57-decode.d.ts.map +1 -0
- package/dist/formats/e57-decode.js +425 -0
- package/dist/formats/e57-decode.js.map +1 -0
- package/dist/formats/e57-page.d.ts +42 -0
- package/dist/formats/e57-page.d.ts.map +1 -0
- package/dist/formats/e57-page.js +107 -0
- package/dist/formats/e57-page.js.map +1 -0
- package/dist/formats/e57-xml.d.ts +55 -0
- package/dist/formats/e57-xml.d.ts.map +1 -0
- package/dist/formats/e57-xml.js +127 -0
- package/dist/formats/e57-xml.js.map +1 -0
- package/dist/formats/e57.d.ts +29 -117
- package/dist/formats/e57.d.ts.map +1 -1
- package/dist/formats/e57.js +51 -444
- package/dist/formats/e57.js.map +1 -1
- package/dist/formats/ifcx-points.js +13 -1
- package/dist/formats/ifcx-points.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/streaming/ascii-points-source.d.ts +31 -0
- package/dist/streaming/ascii-points-source.d.ts.map +1 -0
- package/dist/streaming/ascii-points-source.js +83 -0
- package/dist/streaming/ascii-points-source.js.map +1 -0
- package/dist/streaming/decode-worker.js +41 -18
- package/dist/streaming/decode-worker.js.map +1 -1
- package/dist/streaming/e57-source.js +6 -1
- package/dist/streaming/e57-source.js.map +1 -1
- package/dist/streaming/inline-worker.d.ts +21 -0
- package/dist/streaming/inline-worker.d.ts.map +1 -0
- package/dist/streaming/inline-worker.js +5 -0
- package/dist/streaming/inline-worker.js.map +1 -0
- package/dist/streaming/laz-source.d.ts.map +1 -1
- package/dist/streaming/laz-source.js +33 -1
- package/dist/streaming/laz-source.js.map +1 -1
- package/dist/streaming/protocol.d.ts +1 -1
- package/dist/streaming/protocol.d.ts.map +1 -1
- package/dist/streaming/worker-client.d.ts +16 -3
- package/dist/streaming/worker-client.d.ts.map +1 -1
- package/dist/streaming/worker-client.js +77 -23
- package/dist/streaming/worker-client.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,IAAI,eAAe,EAC/B,SAAS,EACT,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,IAAI,eAAe,EAC/B,SAAS,EACT,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,8 @@ export { LazStreamingSource } from './streaming/laz-source.js';
|
|
|
13
13
|
export { PlyStreamingSource } from './streaming/ply-source.js';
|
|
14
14
|
export { PcdStreamingSource } from './streaming/pcd-source.js';
|
|
15
15
|
export { E57StreamingSource } from './streaming/e57-source.js';
|
|
16
|
+
export { AsciiPointsStreamingSource } from './streaming/ascii-points-source.js';
|
|
17
|
+
export { decodeAsciiPoints, decodeAsciiPointsFromText, probeAsciiPointsLayout, } from './formats/ascii-points.js';
|
|
16
18
|
export { parsePlyHeader } from './formats/ply.js';
|
|
17
19
|
export { parseE57FileHeader, parseE57Xml, stripPageCrc as stripE57PageCrc, decodeE57, decodeE57Scan, } from './formats/e57.js';
|
|
18
20
|
export { BlobByteSource } from './streaming/blob-source.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,mCAAmC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,wBAAwB;AACxB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,GAEpB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,IAAI,eAAe,EAC/B,SAAS,EACT,aAAa,GAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,wBAAwB,GAIzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,mCAAmC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,wBAAwB;AACxB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,GAEpB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,GAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,IAAI,eAAe,EAC/B,SAAS,EACT,aAAa,GAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,wBAAwB,GAIzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PTS / XYZ streaming source — whole-file ASCII decode.
|
|
3
|
+
*
|
|
4
|
+
* ASCII formats don't support random-access seek by point index, so
|
|
5
|
+
* we read the whole blob, decode once, and serve as a single chunk.
|
|
6
|
+
* Memory is still bounded by the host's 25M-point cap via the
|
|
7
|
+
* `stride` downsample applied here.
|
|
8
|
+
*
|
|
9
|
+
* The whole-file approach is simpler and matches PLY's behaviour;
|
|
10
|
+
* for files past the cap we apply stride downsampling on the way
|
|
11
|
+
* out so the GPU upload stays bounded.
|
|
12
|
+
*/
|
|
13
|
+
import type { DecodedPointChunk } from '../types.js';
|
|
14
|
+
import { type AsciiPointsFormat } from '../formats/ascii-points.js';
|
|
15
|
+
import type { DownsampleHint, PointSourceInfo, StreamingPointSource } from './types.js';
|
|
16
|
+
export declare class AsciiPointsStreamingSource implements StreamingPointSource {
|
|
17
|
+
private blob;
|
|
18
|
+
private format;
|
|
19
|
+
private downsample;
|
|
20
|
+
private label?;
|
|
21
|
+
private chunk;
|
|
22
|
+
private served;
|
|
23
|
+
constructor(blob: Blob, format: AsciiPointsFormat, options?: {
|
|
24
|
+
label?: string;
|
|
25
|
+
downsample?: DownsampleHint;
|
|
26
|
+
});
|
|
27
|
+
open(signal?: AbortSignal): Promise<PointSourceInfo>;
|
|
28
|
+
next(maxPoints: number, signal?: AbortSignal): Promise<DecodedPointChunk | null>;
|
|
29
|
+
close(): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ascii-points-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-points-source.d.ts","sourceRoot":"","sources":["../../src/streaming/ascii-points-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,MAAM,CAAS;gBAGrB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,cAAc,CAAA;KAAO;IAQzD,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBpD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQtF,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { decodeAsciiPoints, } from '../formats/ascii-points.js';
|
|
5
|
+
export class AsciiPointsStreamingSource {
|
|
6
|
+
blob;
|
|
7
|
+
format;
|
|
8
|
+
downsample;
|
|
9
|
+
label;
|
|
10
|
+
chunk = null;
|
|
11
|
+
served = false;
|
|
12
|
+
constructor(blob, format, options = {}) {
|
|
13
|
+
this.blob = blob;
|
|
14
|
+
this.format = format;
|
|
15
|
+
this.downsample = options.downsample ?? { stride: 1 };
|
|
16
|
+
this.label = options.label;
|
|
17
|
+
}
|
|
18
|
+
async open(signal) {
|
|
19
|
+
abortIfAborted(signal);
|
|
20
|
+
const buf = await this.blob.arrayBuffer();
|
|
21
|
+
abortIfAborted(signal);
|
|
22
|
+
const bytes = new Uint8Array(buf);
|
|
23
|
+
const fullChunk = decodeAsciiPoints(bytes, this.format);
|
|
24
|
+
this.chunk = applyStride(fullChunk, this.downsample.stride);
|
|
25
|
+
return {
|
|
26
|
+
totalPointCount: this.chunk.pointCount,
|
|
27
|
+
bbox: this.chunk.bbox,
|
|
28
|
+
hasColor: !!this.chunk.colors,
|
|
29
|
+
hasClassification: false,
|
|
30
|
+
hasIntensity: !!this.chunk.intensities,
|
|
31
|
+
label: this.label,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async next(maxPoints, signal) {
|
|
35
|
+
abortIfAborted(signal);
|
|
36
|
+
if (!this.chunk || this.served)
|
|
37
|
+
return null;
|
|
38
|
+
void maxPoints; // Whole-file decode: ignore chunk-size hint.
|
|
39
|
+
this.served = true;
|
|
40
|
+
return this.chunk;
|
|
41
|
+
}
|
|
42
|
+
close() {
|
|
43
|
+
this.chunk = null;
|
|
44
|
+
this.served = false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function applyStride(chunk, stride) {
|
|
48
|
+
const s = Math.max(1, stride | 0);
|
|
49
|
+
if (s === 1)
|
|
50
|
+
return chunk;
|
|
51
|
+
const newCount = Math.ceil(chunk.pointCount / s);
|
|
52
|
+
const positions = new Float32Array(newCount * 3);
|
|
53
|
+
const colors = chunk.colors ? new Float32Array(newCount * 3) : undefined;
|
|
54
|
+
const intensities = chunk.intensities ? new Uint16Array(newCount) : undefined;
|
|
55
|
+
let dst = 0;
|
|
56
|
+
for (let i = 0; i < chunk.pointCount; i += s) {
|
|
57
|
+
positions[dst * 3] = chunk.positions[i * 3];
|
|
58
|
+
positions[dst * 3 + 1] = chunk.positions[i * 3 + 1];
|
|
59
|
+
positions[dst * 3 + 2] = chunk.positions[i * 3 + 2];
|
|
60
|
+
if (colors && chunk.colors) {
|
|
61
|
+
colors[dst * 3] = chunk.colors[i * 3];
|
|
62
|
+
colors[dst * 3 + 1] = chunk.colors[i * 3 + 1];
|
|
63
|
+
colors[dst * 3 + 2] = chunk.colors[i * 3 + 2];
|
|
64
|
+
}
|
|
65
|
+
if (intensities && chunk.intensities) {
|
|
66
|
+
intensities[dst] = chunk.intensities[i];
|
|
67
|
+
}
|
|
68
|
+
dst++;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
positions,
|
|
72
|
+
colors,
|
|
73
|
+
intensities,
|
|
74
|
+
pointCount: newCount,
|
|
75
|
+
bbox: chunk.bbox,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function abortIfAborted(signal) {
|
|
79
|
+
if (signal?.aborted) {
|
|
80
|
+
throw new DOMException('Aborted', 'AbortError');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=ascii-points-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-points-source.js","sourceRoot":"","sources":["../../src/streaming/ascii-points-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { chunkToWire, } from './protocol.js';
|
|
5
|
-
import { LasStreamingSource } from './las-source.js';
|
|
6
|
-
import { LazStreamingSource } from './laz-source.js';
|
|
7
|
-
import { PlyStreamingSource } from './ply-source.js';
|
|
8
|
-
import { PcdStreamingSource } from './pcd-source.js';
|
|
9
|
-
import { E57StreamingSource } from './e57-source.js';
|
|
10
5
|
const sources = new Map();
|
|
11
6
|
let nextSourceId = 1;
|
|
12
7
|
self.onmessage = (event) => {
|
|
@@ -28,7 +23,7 @@ self.onmessage = (event) => {
|
|
|
28
23
|
};
|
|
29
24
|
async function handleOpen(msg) {
|
|
30
25
|
try {
|
|
31
|
-
const source = createSource(msg.format, msg.blob, {
|
|
26
|
+
const source = await createSource(msg.format, msg.blob, {
|
|
32
27
|
label: msg.label,
|
|
33
28
|
downsample: { stride: Math.max(1, msg.stride | 0) },
|
|
34
29
|
});
|
|
@@ -107,18 +102,46 @@ function handleAbort(sourceId) {
|
|
|
107
102
|
return;
|
|
108
103
|
open.abort.abort();
|
|
109
104
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Dispatch to the format-specific streaming source. Each format is dynamically
|
|
107
|
+
* imported so the worker's IIFE bundle (see scripts/build-worker-bundle.mjs)
|
|
108
|
+
* stays small — the published `worker-client.js` only inlines the worker shell
|
|
109
|
+
* + protocol code. The LAZ branch (`laz-perf` ~1 MB) only loads when a .laz
|
|
110
|
+
* file is opened. Format ↔ chunk module is a one-time cost per session.
|
|
111
|
+
*/
|
|
112
|
+
async function createSource(format, blob, opts) {
|
|
113
|
+
switch (format) {
|
|
114
|
+
case 'las': {
|
|
115
|
+
const { LasStreamingSource } = await import('./las-source.js');
|
|
116
|
+
return new LasStreamingSource(blob, opts);
|
|
117
|
+
}
|
|
118
|
+
case 'laz': {
|
|
119
|
+
const { LazStreamingSource } = await import('./laz-source.js');
|
|
120
|
+
return new LazStreamingSource(blob, opts);
|
|
121
|
+
}
|
|
122
|
+
case 'ply': {
|
|
123
|
+
const { PlyStreamingSource } = await import('./ply-source.js');
|
|
124
|
+
return new PlyStreamingSource(blob, opts);
|
|
125
|
+
}
|
|
126
|
+
case 'pcd': {
|
|
127
|
+
const { PcdStreamingSource } = await import('./pcd-source.js');
|
|
128
|
+
return new PcdStreamingSource(blob, opts);
|
|
129
|
+
}
|
|
130
|
+
case 'e57': {
|
|
131
|
+
const { E57StreamingSource } = await import('./e57-source.js');
|
|
132
|
+
return new E57StreamingSource(blob, opts);
|
|
133
|
+
}
|
|
134
|
+
case 'pts': {
|
|
135
|
+
const { AsciiPointsStreamingSource } = await import('./ascii-points-source.js');
|
|
136
|
+
return new AsciiPointsStreamingSource(blob, 'pts', opts);
|
|
137
|
+
}
|
|
138
|
+
case 'xyz': {
|
|
139
|
+
const { AsciiPointsStreamingSource } = await import('./ascii-points-source.js');
|
|
140
|
+
return new AsciiPointsStreamingSource(blob, 'xyz', opts);
|
|
141
|
+
}
|
|
142
|
+
default:
|
|
143
|
+
throw new Error(`decode-worker: unknown format "${format}"`);
|
|
144
|
+
}
|
|
122
145
|
}
|
|
123
146
|
function post(msg, transfer = []) {
|
|
124
147
|
self.postMessage(msg, transfer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-worker.js","sourceRoot":"","sources":["../../src/streaming/decode-worker.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAgB/D,OAAO,EACL,WAAW,GAGZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"decode-worker.js","sourceRoot":"","sources":["../../src/streaming/decode-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export class E57StreamingSource {
|
|
|
26
26
|
totalPointCount: this.chunk.pointCount,
|
|
27
27
|
bbox: this.chunk.bbox,
|
|
28
28
|
hasColor: !!this.chunk.colors,
|
|
29
|
-
hasClassification:
|
|
29
|
+
hasClassification: !!this.chunk.classifications,
|
|
30
30
|
hasIntensity: !!this.chunk.intensities,
|
|
31
31
|
label: this.label,
|
|
32
32
|
};
|
|
@@ -52,6 +52,7 @@ function applyStride(chunk, stride) {
|
|
|
52
52
|
const positions = new Float32Array(newCount * 3);
|
|
53
53
|
const colors = chunk.colors ? new Float32Array(newCount * 3) : undefined;
|
|
54
54
|
const intensities = chunk.intensities ? new Uint16Array(newCount) : undefined;
|
|
55
|
+
const classifications = chunk.classifications ? new Uint8Array(newCount) : undefined;
|
|
55
56
|
let dst = 0;
|
|
56
57
|
for (let i = 0; i < chunk.pointCount; i += s) {
|
|
57
58
|
positions[dst * 3] = chunk.positions[i * 3];
|
|
@@ -65,12 +66,16 @@ function applyStride(chunk, stride) {
|
|
|
65
66
|
if (intensities && chunk.intensities) {
|
|
66
67
|
intensities[dst] = chunk.intensities[i];
|
|
67
68
|
}
|
|
69
|
+
if (classifications && chunk.classifications) {
|
|
70
|
+
classifications[dst] = chunk.classifications[i];
|
|
71
|
+
}
|
|
68
72
|
dst++;
|
|
69
73
|
}
|
|
70
74
|
return {
|
|
71
75
|
positions,
|
|
72
76
|
colors,
|
|
73
77
|
intensities,
|
|
78
|
+
classifications,
|
|
74
79
|
pointCount: newCount,
|
|
75
80
|
bbox: chunk.bbox,
|
|
76
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e57-source.js","sourceRoot":"","sources":["../../src/streaming/e57-source.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAG/D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAO9C,MAAM,OAAO,kBAAkB;IACrB,IAAI,CAAO;IACX,UAAU,CAAiB;IAC3B,KAAK,CAAU;IACf,KAAK,GAA6B,IAAI,CAAC;IACvC,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAU,EAAE,UAA2D,EAAE;QACnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAoB;QAC7B,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YACtC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAC7B,iBAAiB,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"e57-source.js","sourceRoot":"","sources":["../../src/streaming/e57-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Placeholder for the pre-bundled decode worker.
|
|
3
|
+
*
|
|
4
|
+
* In the source tree this file exports `null` — workspace dev (Vite's
|
|
5
|
+
* `worker-import-meta-url` plugin via the viewer alias to `src/`) takes the
|
|
6
|
+
* fallback path in `worker-client.ts` that spawns the worker from
|
|
7
|
+
* `./decode-worker.ts`.
|
|
8
|
+
*
|
|
9
|
+
* At publish time, `scripts/build-worker-bundle.mjs` overwrites this file in
|
|
10
|
+
* `dist/streaming/inline-worker.js` with the IIFE-bundled decode worker
|
|
11
|
+
* source as a string constant. `worker-client.js` then loads it via a
|
|
12
|
+
* dynamic `import()` and spawns the worker from a `Blob` URL — no
|
|
13
|
+
* `type: 'module'`, no `import.meta.url` resolution, no consumer-side
|
|
14
|
+
* `worker.format: 'es'` or `optimizeDeps.exclude` requirement.
|
|
15
|
+
*
|
|
16
|
+
* The dynamic import in `worker-client.ts` means bundlers code-split this
|
|
17
|
+
* module out of the main chunk. Consumers who import the package but never
|
|
18
|
+
* actually instantiate a decode worker don't pay the inline cost.
|
|
19
|
+
*/
|
|
20
|
+
export declare const INLINE_WORKER_CODE: string | null;
|
|
21
|
+
//# sourceMappingURL=inline-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-worker.d.ts","sourceRoot":"","sources":["../../src/streaming/inline-worker.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,kBAAkB,EAAE,MAAM,GAAG,IAAW,CAAC"}
|