@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.
Files changed (49) hide show
  1. package/README.md +28 -0
  2. package/dist/formats/ascii-points.d.ts +61 -0
  3. package/dist/formats/ascii-points.d.ts.map +1 -0
  4. package/dist/formats/ascii-points.js +243 -0
  5. package/dist/formats/ascii-points.js.map +1 -0
  6. package/dist/formats/e57-decode.d.ts +28 -0
  7. package/dist/formats/e57-decode.d.ts.map +1 -0
  8. package/dist/formats/e57-decode.js +425 -0
  9. package/dist/formats/e57-decode.js.map +1 -0
  10. package/dist/formats/e57-page.d.ts +42 -0
  11. package/dist/formats/e57-page.d.ts.map +1 -0
  12. package/dist/formats/e57-page.js +107 -0
  13. package/dist/formats/e57-page.js.map +1 -0
  14. package/dist/formats/e57-xml.d.ts +55 -0
  15. package/dist/formats/e57-xml.d.ts.map +1 -0
  16. package/dist/formats/e57-xml.js +127 -0
  17. package/dist/formats/e57-xml.js.map +1 -0
  18. package/dist/formats/e57.d.ts +29 -117
  19. package/dist/formats/e57.d.ts.map +1 -1
  20. package/dist/formats/e57.js +51 -444
  21. package/dist/formats/e57.js.map +1 -1
  22. package/dist/formats/ifcx-points.js +13 -1
  23. package/dist/formats/ifcx-points.js.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/streaming/ascii-points-source.d.ts +31 -0
  29. package/dist/streaming/ascii-points-source.d.ts.map +1 -0
  30. package/dist/streaming/ascii-points-source.js +83 -0
  31. package/dist/streaming/ascii-points-source.js.map +1 -0
  32. package/dist/streaming/decode-worker.js +41 -18
  33. package/dist/streaming/decode-worker.js.map +1 -1
  34. package/dist/streaming/e57-source.js +6 -1
  35. package/dist/streaming/e57-source.js.map +1 -1
  36. package/dist/streaming/inline-worker.d.ts +21 -0
  37. package/dist/streaming/inline-worker.d.ts.map +1 -0
  38. package/dist/streaming/inline-worker.js +5 -0
  39. package/dist/streaming/inline-worker.js.map +1 -0
  40. package/dist/streaming/laz-source.d.ts.map +1 -1
  41. package/dist/streaming/laz-source.js +33 -1
  42. package/dist/streaming/laz-source.js.map +1 -1
  43. package/dist/streaming/protocol.d.ts +1 -1
  44. package/dist/streaming/protocol.d.ts.map +1 -1
  45. package/dist/streaming/worker-client.d.ts +16 -3
  46. package/dist/streaming/worker-client.d.ts.map +1 -1
  47. package/dist/streaming/worker-client.js +77 -23
  48. package/dist/streaming/worker-client.js.map +1 -1
  49. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-worker.js","sourceRoot":"","sources":["../../src/streaming/inline-worker.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAkB,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"laz-source.d.ts","sourceRoot":"","sources":["../../src/streaming/laz-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAsDpB,qBAAa,kBAAmB,YAAW,oBAAoB;IAC7D,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,KAAK,CAAC,CAAS;IAGvB,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAK;gBAET,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,cAAc,CAAA;KAAO;IAM/E,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAwEpD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoCtF,KAAK,IAAI,IAAI;IAsBb,OAAO,CAAC,MAAM;CAWf"}
1
+ {"version":3,"file":"laz-source.d.ts","sourceRoot":"","sources":["../../src/streaming/laz-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAyFpB,qBAAa,kBAAmB,YAAW,oBAAoB;IAC7D,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,KAAK,CAAC,CAAS;IAGvB,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAK;gBAET,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,cAAc,CAAA;KAAO;IAM/E,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAwEpD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoCtF,KAAK,IAAI,IAAI;IAsBb,OAAO,CAAC,MAAM;CAWf"}
@@ -6,6 +6,17 @@ let modulePromise = null;
6
6
  async function loadLazPerf() {
7
7
  if (!modulePromise) {
8
8
  modulePromise = (async () => {
9
+ // The shipped `laz-perf.js` shim resolves the wasm via emscripten's
10
+ // `locateFile` and tries `fetch("laz-perf.wasm")` relative to the
11
+ // worker's script directory — which under Vite ends up at
12
+ // `/assets/<chunk>.wasm` (404) or `/laz-perf.wasm` (404 → SPA index
13
+ // HTML served as text/plain, which is what triggered the
14
+ // "MIME type 'text/plain'" failure on autzen-classified.laz).
15
+ //
16
+ // Pre-fetch the wasm via Vite's `?url` asset pipeline (hashed,
17
+ // served with `application/wasm`) and hand the bytes to emscripten
18
+ // as `Module.wasmBinary` so its own fetch is skipped entirely.
19
+ const wasmBinary = await fetchLazPerfWasm();
9
20
  // Dynamic import keeps `laz-perf` out of bundles that don't touch
10
21
  // LAZ. The package is shipped as CommonJS (`lib/{node,web}/index.js`),
11
22
  // and Vite/webpack wrap CJS imports under `.default` — but the way
@@ -28,11 +39,32 @@ async function loadLazPerf() {
28
39
  const keys = Object.keys(ns).join(', ');
29
40
  throw new Error(`laz-perf: could not find createLazPerf factory (saw keys: ${keys || '<empty>'})`);
30
41
  }
31
- return factory();
42
+ return factory({ wasmBinary });
32
43
  })();
33
44
  }
34
45
  return modulePromise;
35
46
  }
47
+ async function fetchLazPerfWasm() {
48
+ // `?url` triggers Vite's asset pipeline so the .wasm ends up in the
49
+ // build output with the right MIME type. Wrapped in a try/catch so
50
+ // non-Vite hosts (e.g. node-side tests) can fall back to the package's
51
+ // own `locateFile` resolution.
52
+ let wasmUrl;
53
+ try {
54
+ const mod = (await import('laz-perf/lib/web/laz-perf.wasm?url'));
55
+ wasmUrl = mod.default;
56
+ }
57
+ catch (err) {
58
+ throw new Error(`laz-perf: could not resolve wasm asset URL (${err instanceof Error ? err.message : String(err)}). `
59
+ + 'Ensure the bundler treats `laz-perf/lib/web/laz-perf.wasm?url` as a static asset.');
60
+ }
61
+ const response = await fetch(wasmUrl);
62
+ if (!response.ok) {
63
+ throw new Error(`laz-perf: wasm fetch failed (${response.status} ${response.statusText}) for ${wasmUrl}`);
64
+ }
65
+ const buffer = await response.arrayBuffer();
66
+ return new Uint8Array(buffer);
67
+ }
36
68
  export class LazStreamingSource {
37
69
  blob;
38
70
  downsample;
@@ -1 +1 @@
1
- {"version":3,"file":"laz-source.js","sourceRoot":"","sources":["../../src/streaming/laz-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"laz-source.js","sourceRoot":"","sources":["../../src/streaming/laz-source.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { DecodedPointChunk, PointCloudBBox } from '../types.js';
8
8
  import type { PointSourceInfo } from './types.js';
9
- export type WorkerSourceFormat = 'las' | 'laz' | 'ply' | 'pcd' | 'e57';
9
+ export type WorkerSourceFormat = 'las' | 'laz' | 'ply' | 'pcd' | 'e57' | 'pts' | 'xyz';
10
10
  /** main → worker */
11
11
  export type WorkerRequest = {
12
12
  kind: 'open';
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/streaming/protocol.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE,oBAAoB;AACpB,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,oBAAoB;AACpB,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;CACvB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG;IACrD,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CA4BA;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CASzE"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/streaming/protocol.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvF,oBAAoB;AACpB,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,oBAAoB;AACpB,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;CACvB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG;IACrD,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CA4BA;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CASzE"}
@@ -1,9 +1,22 @@
1
1
  import type { StreamingPointSource } from './types.js';
2
- export type DecodeWorkerFormat = 'las' | 'laz' | 'ply' | 'pcd' | 'e57';
2
+ export type DecodeWorkerFormat = 'las' | 'laz' | 'ply' | 'pcd' | 'e57' | 'pts' | 'xyz';
3
3
  export interface DecodeWorkerOptions {
4
- /** Override the worker constructor — useful for tests or custom bundlers. */
5
- spawn?: () => Worker;
4
+ /**
5
+ * Override the worker constructor — useful for tests or custom bundlers.
6
+ * May return a Worker synchronously or a Promise resolving to one; the
7
+ * client handles both. Sync callbacks remain the common case and stay
8
+ * type-compatible with the previous signature.
9
+ */
10
+ spawn?: () => Worker | Promise<Worker>;
6
11
  }
12
+ /**
13
+ * Reset hook for the module-level cache. Exported only for tests so the
14
+ * "construction does not trigger spawn" and "rejected cache is cleared"
15
+ * regression tests can start from a known clean slate.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function __resetSharedSessionForTests(): void;
7
20
  export interface CreateDecodeWorkerSourceOptions extends DecodeWorkerOptions {
8
21
  format: DecodeWorkerFormat;
9
22
  blob: Blob;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../../src/streaming/worker-client.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAqFD,MAAM,WAAW,+BAAgC,SAAQ,mBAAmB;IAC1E,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,+BAA+B,GACpC,oBAAoB,CAsEtB"}
1
+ {"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../../src/streaming/worker-client.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvF,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC;AAmFD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AA4BD,MAAM,WAAW,+BAAgC,SAAQ,mBAAmB;IAC1E,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,+BAA+B,GACpC,oBAAoB,CA2FtB"}
@@ -2,26 +2,28 @@
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 { chunkFromWire, } from './protocol.js';
5
- /** Pool a single worker per page; the host can spawn additional workers
6
- * with `createDecodeWorkerSource({ spawn })` when concurrent decoding is
7
- * desirable (e.g. multiple federated scans). */
8
- let sharedWorker = null;
9
- function defaultSpawn() {
10
- // The bare-`.js` form works against the built dist but Vite's
11
- // worker-import-meta-url plugin can't resolve it through the source
12
- // alias used in the viewer dev build. Geometry uses `.worker.ts` for
13
- // the same reason — Vite happily rewrites the suffix on dist builds.
5
+ async function defaultSpawn() {
6
+ // Prefer the published inline bundle. The dynamic import resolves to a
7
+ // non-null `INLINE_WORKER_CODE` only in the published dist; in the
8
+ // workspace src tree (and in unit tests) it resolves to `null` and we
9
+ // fall through to the `new URL(...)` spawn path.
10
+ const { INLINE_WORKER_CODE } = await import('./inline-worker.js');
11
+ if (INLINE_WORKER_CODE) {
12
+ const blob = new Blob([INLINE_WORKER_CODE], { type: 'application/javascript' });
13
+ const url = URL.createObjectURL(blob);
14
+ const worker = new Worker(url, { name: 'ifclite-pointcloud-decode' });
15
+ // The Worker ctor reads the URL synchronously, so revoking right after
16
+ // is safe and avoids leaking ~tens of MB of Blob URLs per spawn over a
17
+ // long-running session.
18
+ queueMicrotask(() => URL.revokeObjectURL(url));
19
+ return worker;
20
+ }
21
+ // Dev fallback — Vite's `worker-import-meta-url` plugin handles this.
14
22
  return new Worker(new URL('./decode-worker.js', import.meta.url), {
15
23
  type: 'module',
16
24
  name: 'ifclite-pointcloud-decode',
17
25
  });
18
26
  }
19
- function getSharedWorker(spawn) {
20
- if (!sharedWorker) {
21
- sharedWorker = spawn();
22
- }
23
- return sharedWorker;
24
- }
25
27
  class WorkerSession {
26
28
  worker;
27
29
  requests = new Map();
@@ -63,12 +65,43 @@ class WorkerSession {
63
65
  this.worker.postMessage(req);
64
66
  }
65
67
  }
66
- let sharedSession = null;
68
+ let sharedSessionPromise = null;
69
+ /**
70
+ * Reset hook for the module-level cache. Exported only for tests so the
71
+ * "construction does not trigger spawn" and "rejected cache is cleared"
72
+ * regression tests can start from a known clean slate.
73
+ *
74
+ * @internal
75
+ */
76
+ export function __resetSharedSessionForTests() {
77
+ sharedSessionPromise = null;
78
+ }
67
79
  function getSharedSession(spawn) {
68
- if (!sharedSession) {
69
- sharedSession = new WorkerSession(getSharedWorker(spawn));
70
- }
71
- return sharedSession;
80
+ if (sharedSessionPromise)
81
+ return sharedSessionPromise;
82
+ // Wrap in an async IIFE so sync throws from a custom `spawn` callback
83
+ // route through the same catch path as async rejections — without this,
84
+ // a synchronous throw would propagate before we attached the
85
+ // cache-reset handler below.
86
+ const p = (async () => {
87
+ const worker = await spawn();
88
+ return new WorkerSession(worker);
89
+ })();
90
+ // Clear the cache on rejection so consumers can recover. Without this,
91
+ // a single failure (CSP blocks `blob:` workers, no `Worker` global at
92
+ // SSR, the inline-worker dynamic import fails) would poison every
93
+ // subsequent `createDecodeWorkerSource()` call — even ones using the
94
+ // documented custom-`spawn` escape hatch.
95
+ //
96
+ // Critical: `.catch` is attached as a side handler (we don't return its
97
+ // result), so the rejection still propagates to whichever `await` is
98
+ // waiting on `p`. We only erase the module-level reference.
99
+ p.catch(() => {
100
+ if (sharedSessionPromise === p)
101
+ sharedSessionPromise = null;
102
+ });
103
+ sharedSessionPromise = p;
104
+ return p;
72
105
  }
73
106
  /**
74
107
  * Build a `StreamingPointSource` that runs decode work in the shared
@@ -76,7 +109,22 @@ function getSharedSession(spawn) {
76
109
  * like the in-process `LasStreamingSource`.
77
110
  */
78
111
  export function createDecodeWorkerSource(opts) {
79
- const session = getSharedSession(opts.spawn ?? defaultSpawn);
112
+ // Truly lazy — no spawn, no inline-worker import, no Worker global
113
+ // touch at construction time. Hosts that build a source speculatively
114
+ // but never open it don't pay for the worker bundle; SSR/test paths
115
+ // that import this file but never call `open()` don't crash on a
116
+ // missing `Worker` constructor.
117
+ //
118
+ // The per-source `sessionPromise` is a captured reference so `close()`
119
+ // doesn't have to reach back into the module-level cache (which the
120
+ // failure-reset above may have cleared by the time close() runs).
121
+ let sessionPromise = null;
122
+ const ensureSession = () => {
123
+ if (!sessionPromise) {
124
+ sessionPromise = getSharedSession(opts.spawn ?? defaultSpawn);
125
+ }
126
+ return sessionPromise;
127
+ };
80
128
  let sourceId = null;
81
129
  let info = null;
82
130
  return {
@@ -84,6 +132,7 @@ export function createDecodeWorkerSource(opts) {
84
132
  if (info)
85
133
  return info;
86
134
  abortIfAborted(signal);
135
+ const session = await ensureSession();
87
136
  const resp = await session.send((requestId) => ({
88
137
  kind: 'open',
89
138
  requestId,
@@ -101,6 +150,7 @@ export function createDecodeWorkerSource(opts) {
101
150
  throw new Error('decode-worker source not opened');
102
151
  }
103
152
  abortIfAborted(signal);
153
+ const session = await ensureSession();
104
154
  const id = sourceId;
105
155
  // Propagate aborts that fire WHILE the worker is decoding —
106
156
  // without this, cancel() returns immediately to the caller but
@@ -132,8 +182,12 @@ export function createDecodeWorkerSource(opts) {
132
182
  }
133
183
  },
134
184
  close() {
135
- if (sourceId !== null) {
136
- session.notify({ kind: 'close', sourceId });
185
+ if (sourceId !== null && sessionPromise) {
186
+ const id = sourceId;
187
+ // Fire-and-forget — close() stays sync for callers. We only enter
188
+ // this branch if `open()` previously assigned `sourceId`, which
189
+ // means `sessionPromise` is already resolved (open awaited it).
190
+ void sessionPromise.then((session) => session.notify({ kind: 'close', sourceId: id }));
137
191
  sourceId = null;
138
192
  }
139
193
  // Clear cached open()-result too so a subsequent open() actually
@@ -1 +1 @@
1
- {"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../../src/streaming/worker-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../../src/streaming/worker-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/pointcloud",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "Point cloud decoders and types for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,6 +15,7 @@
15
15
  "laz-perf": "^0.0.6"
16
16
  },
17
17
  "devDependencies": {
18
+ "esbuild": "^0.21.0",
18
19
  "typescript": "^5.3.0",
19
20
  "vitest": "^1.6.0"
20
21
  },
@@ -44,7 +45,7 @@
44
45
  "README.md"
45
46
  ],
46
47
  "scripts": {
47
- "build": "pnpm exec tsc && node -e \"const f='dist/streaming/worker-client.js';require('fs').writeFileSync(f,require('fs').readFileSync(f,'utf8').replace(/decode-worker\\.ts/g,'decode-worker.js'))\"",
48
+ "build": "pnpm exec tsc && node -e \"const f='dist/streaming/worker-client.js';require('fs').writeFileSync(f,require('fs').readFileSync(f,'utf8').replace(/decode-worker\\.ts/g,'decode-worker.js'))\" && node scripts/build-worker-bundle.mjs",
48
49
  "dev": "pnpm exec tsc --watch",
49
50
  "test": "vitest run"
50
51
  }