@ifc-lite/pointcloud 0.7.2 → 0.8.0
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 +15 -0
- package/dist/formats/las.d.ts.map +1 -1
- package/dist/formats/las.js +42 -12
- package/dist/formats/las.js.map +1 -1
- package/dist/streaming/host.d.ts +3 -0
- package/dist/streaming/host.d.ts.map +1 -1
- package/dist/streaming/host.js +25 -10
- package/dist/streaming/host.js.map +1 -1
- package/dist/streaming/inline-worker.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -68,3 +68,18 @@ See the [docs site](https://ifclite.dev/docs/) for guides and the full API refer
|
|
|
68
68
|
## License
|
|
69
69
|
|
|
70
70
|
[MPL-2.0](../../LICENSE)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
## Local origins for large-coordinate scans
|
|
74
|
+
|
|
75
|
+
`streamPointCloud({ ..., autoOrigin: true })` chooses a nearby origin before
|
|
76
|
+
emitting chunks when `originOffset` is absent. Header bounds choose the centre;
|
|
77
|
+
formats without usable bounds probe one point and reopen the original bytes.
|
|
78
|
+
The decoder subtracts that origin in float64 before writing float32 positions.
|
|
79
|
+
`onOpen(info)` receives the chosen `info.originOffset` in native X/Y/Z source
|
|
80
|
+
units, before the first `onChunk`. Compose that offset with your alignment and
|
|
81
|
+
manual translation in double precision before sending a final matrix to the
|
|
82
|
+
GPU. Explicit `originOffset` takes precedence; the default remains unchanged.
|
|
83
|
+
Opening may perform an extra decode pass for formats without header bounds.
|
|
84
|
+
A local origin preserves nearby detail but cannot repair a source whose
|
|
85
|
+
coordinates were already quantized or an extremely large spatial extent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"las.d.ts","sourceRoot":"","sources":["../../src/formats/las.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIrE,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;uDACmD;IACnD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAWD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"las.d.ts","sourceRoot":"","sources":["../../src/formats/las.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIrE,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;uDACmD;IACnD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAWD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CA4F1E;AAED;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC1D,cAAc,CAOhB;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAiC,EACzC,QAAQ,GAAE,MAAU;AACpB;;;;;;;;;;;GAWG;AACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,iBAAiB,CAgFnB;AAED;yEACyE;AACzE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,MAAa,GACrB,MAAM,CAoBR"}
|
package/dist/formats/las.js
CHANGED
|
@@ -49,6 +49,20 @@ export function parseLasHeader(buffer) {
|
|
|
49
49
|
view.getFloat64(163, true),
|
|
50
50
|
view.getFloat64(171, true),
|
|
51
51
|
];
|
|
52
|
+
// `scale`/`offset` feed every point-record read that follows: a zero or
|
|
53
|
+
// non-finite scale collapses every point on that axis to the constant
|
|
54
|
+
// `offset` (or NaN), and decodeLasPoints's bbox fold would silently
|
|
55
|
+
// report success — pointCount unchanged — with no diagnostic. Reject at
|
|
56
|
+
// parse time rather than let a corrupt or truncated header pass through.
|
|
57
|
+
const AXIS_NAME = ['X', 'Y', 'Z'];
|
|
58
|
+
for (let i = 0; i < 3; i++) {
|
|
59
|
+
if (!Number.isFinite(scale[i]) || scale[i] === 0) {
|
|
60
|
+
throw new Error(`LAS: invalid ${AXIS_NAME[i]} scale (${scale[i]})`);
|
|
61
|
+
}
|
|
62
|
+
if (!Number.isFinite(offset[i])) {
|
|
63
|
+
throw new Error(`LAS: invalid ${AXIS_NAME[i]} offset (${offset[i]})`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
52
66
|
const maxX = view.getFloat64(179, true);
|
|
53
67
|
const minX = view.getFloat64(187, true);
|
|
54
68
|
const maxY = view.getFloat64(195, true);
|
|
@@ -159,18 +173,34 @@ originOffset) {
|
|
|
159
173
|
positions[i * 3] = x;
|
|
160
174
|
positions[i * 3 + 1] = y;
|
|
161
175
|
positions[i * 3 + 2] = z;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
176
|
+
// Skip non-finite coords rather than letting them poison the bbox. If
|
|
177
|
+
// EVERY point in the chunk is non-finite (e.g. a finite-but-huge header
|
|
178
|
+
// scale that passes parseLasHeader's validation but sends `raw * scale`
|
|
179
|
+
// to ±Infinity for every record), minX/minY/minZ are left at their
|
|
180
|
+
// ±Infinity seed values below on purpose: unlike e57-decode.ts's /
|
|
181
|
+
// ifcx-points.ts's `computeBBox` (which decode a whole file in one pass
|
|
182
|
+
// with no aggregation above them), this chunk's bbox is unioned by
|
|
183
|
+
// streaming/host.ts's `streamPointCloud` across every chunk with plain
|
|
184
|
+
// min/max comparisons — ±Infinity is an absorbing no-op there, so a bad
|
|
185
|
+
// chunk correctly drops out of the running bbox instead of a finite
|
|
186
|
+
// [0,0,0] dragging it toward the origin. host.ts then falls back to the
|
|
187
|
+
// header's own bbox (`Number.isFinite(bboxMin[0]) ? ... : info.bbox`)
|
|
188
|
+
// when the whole file turns out non-finite, which a finite sentinel here
|
|
189
|
+
// would silently defeat.
|
|
190
|
+
if (Number.isFinite(x) && Number.isFinite(y) && Number.isFinite(z)) {
|
|
191
|
+
if (x < minX)
|
|
192
|
+
minX = x;
|
|
193
|
+
if (x > maxX)
|
|
194
|
+
maxX = x;
|
|
195
|
+
if (y < minY)
|
|
196
|
+
minY = y;
|
|
197
|
+
if (y > maxY)
|
|
198
|
+
maxY = y;
|
|
199
|
+
if (z < minZ)
|
|
200
|
+
minZ = z;
|
|
201
|
+
if (z > maxZ)
|
|
202
|
+
maxZ = z;
|
|
203
|
+
}
|
|
174
204
|
intensities[i] = view.getUint16(base + 12, true);
|
|
175
205
|
// LAS 1.4 (formats 6+) stores classification in a dedicated byte.
|
|
176
206
|
// Older formats pack classification into the low 5 bits of byte 15
|
package/dist/formats/las.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"las.js","sourceRoot":"","sources":["../../src/formats/las.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"las.js","sourceRoot":"","sources":["../../src/formats/las.ts"],"names":[],"mappings":"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"}
|
package/dist/streaming/host.d.ts
CHANGED
|
@@ -36,9 +36,12 @@ export interface StreamPointCloudOptions {
|
|
|
36
36
|
* `computePointCloudAlignment().decodeOriginOffset`.
|
|
37
37
|
*/
|
|
38
38
|
originOffset?: readonly [number, number, number];
|
|
39
|
+
/** Choose a local decode origin when no explicit alignment is supplied (#4226). */
|
|
40
|
+
autoOrigin?: boolean;
|
|
39
41
|
/** Called once after the source's header parses. */
|
|
40
42
|
onOpen?: (info: PointSourceInfo & {
|
|
41
43
|
stride: number;
|
|
44
|
+
originOffset?: readonly [number, number, number];
|
|
42
45
|
}) => void;
|
|
43
46
|
/** Called for each decoded chunk. */
|
|
44
47
|
onChunk: (chunk: DecodedPointChunk) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/streaming/host.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKrE,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/streaming/host.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKrE,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,oDAAoD;IACpD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAChH,qCAAqC;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,wCAAwC;IACxC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACnG,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAE/B,yCAAyC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,+BAA+B,KAAK,oBAAoB,CAAC;CAChF;AAMD,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,MAAM,IAAI,IAAI,CAAC;IACf,sEAAsE;IACtE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,CA8G5E"}
|
package/dist/streaming/host.js
CHANGED
|
@@ -10,6 +10,9 @@ export function streamPointCloud(opts) {
|
|
|
10
10
|
const maxPoints = opts.maxPointsInMemory ?? DEFAULT_MAX_POINTS;
|
|
11
11
|
const maxFile = opts.maxFileSize ?? DEFAULT_MAX_FILE;
|
|
12
12
|
const chunkSize = opts.chunkSize ?? DEFAULT_CHUNK;
|
|
13
|
+
if (!Number.isFinite(maxPoints) || maxPoints <= 0) {
|
|
14
|
+
throw new Error('streamPointCloud: maxPointsInMemory must be a positive finite number');
|
|
15
|
+
}
|
|
13
16
|
// chunkSize <= 0 would let the source.next() loop emit empty chunks
|
|
14
17
|
// forever without advancing its cursor. Fail loudly so callers can't
|
|
15
18
|
// accidentally lock up the worker.
|
|
@@ -43,19 +46,31 @@ export function streamPointCloud(opts) {
|
|
|
43
46
|
originOffset: opts.originOffset,
|
|
44
47
|
});
|
|
45
48
|
info = await source.open(composed);
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
stride = Math.max(1, Math.ceil(info.totalPointCount / maxPoints));
|
|
50
|
+
let originOffset = opts.originOffset;
|
|
51
|
+
let consumedProbe = false;
|
|
52
|
+
if (opts.autoOrigin && !originOffset && info.totalPointCount > 0) {
|
|
53
|
+
const { min, max } = info.bbox;
|
|
54
|
+
if ([...min, ...max].every(Number.isFinite) && [...min, ...max].some((v) => v !== 0)) {
|
|
55
|
+
originOffset = [min[0] / 2 + max[0] / 2, min[1] / 2 + max[1] / 2, min[2] / 2 + max[2] / 2];
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// Formats without header bounds (notably E57) can probe one sample.
|
|
59
|
+
// Its rounded position only CHOOSES a nearby frame. Reopen and decode
|
|
60
|
+
// from the original bytes so this first sample loses no precision.
|
|
61
|
+
const probe = await source.next(1, composed);
|
|
62
|
+
consumedProbe = true;
|
|
63
|
+
if (probe && probe.pointCount > 0 && probe.positions.subarray(0, 3).every(Number.isFinite)) {
|
|
64
|
+
originOffset = [probe.positions[0], probe.positions[1], probe.positions[2]];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (stride > 1 || consumedProbe || originOffset !== opts.originOffset) {
|
|
48
69
|
source.close();
|
|
49
|
-
source = probeFactory({
|
|
50
|
-
format: opts.format,
|
|
51
|
-
blob: opts.blob,
|
|
52
|
-
label: opts.label,
|
|
53
|
-
stride,
|
|
54
|
-
originOffset: opts.originOffset,
|
|
55
|
-
});
|
|
70
|
+
source = probeFactory({ format: opts.format, blob: opts.blob, label: opts.label, stride, originOffset });
|
|
56
71
|
info = await source.open(composed);
|
|
57
72
|
}
|
|
58
|
-
opts.onOpen?.({ ...info, stride });
|
|
73
|
+
opts.onOpen?.({ ...info, stride, originOffset });
|
|
59
74
|
while (true) {
|
|
60
75
|
if (composed.aborted)
|
|
61
76
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/streaming/host.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,GAGzB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/streaming/host.ts"],"names":[],"mappings":"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"}
|