@ifc-lite/renderer 1.39.0 → 1.41.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.
Files changed (60) hide show
  1. package/dist/deviation/deviation-pipeline.d.ts +8 -0
  2. package/dist/deviation/deviation-pipeline.d.ts.map +1 -1
  3. package/dist/deviation/deviation-pipeline.js +20 -9
  4. package/dist/deviation/deviation-pipeline.js.map +1 -1
  5. package/dist/deviation/deviation-shader.wgsl.d.ts +1 -1
  6. package/dist/deviation/deviation-shader.wgsl.d.ts.map +1 -1
  7. package/dist/deviation/deviation-shader.wgsl.js +11 -3
  8. package/dist/deviation/deviation-shader.wgsl.js.map +1 -1
  9. package/dist/index.d.ts +45 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +78 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/picker.d.ts +9 -0
  14. package/dist/picker.d.ts.map +1 -1
  15. package/dist/picker.js +84 -2
  16. package/dist/picker.js.map +1 -1
  17. package/dist/picking-manager.d.ts +33 -5
  18. package/dist/picking-manager.d.ts.map +1 -1
  19. package/dist/picking-manager.js +162 -101
  20. package/dist/picking-manager.js.map +1 -1
  21. package/dist/pointcloud/point-cloud-node.d.ts +46 -0
  22. package/dist/pointcloud/point-cloud-node.d.ts.map +1 -1
  23. package/dist/pointcloud/point-cloud-node.js +71 -0
  24. package/dist/pointcloud/point-cloud-node.js.map +1 -1
  25. package/dist/pointcloud/point-cloud-ray-transform.d.ts +66 -0
  26. package/dist/pointcloud/point-cloud-ray-transform.d.ts.map +1 -0
  27. package/dist/pointcloud/point-cloud-ray-transform.js +172 -0
  28. package/dist/pointcloud/point-cloud-ray-transform.js.map +1 -0
  29. package/dist/pointcloud/point-cloud-renderer.d.ts +24 -0
  30. package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
  31. package/dist/pointcloud/point-cloud-renderer.js +46 -13
  32. package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
  33. package/dist/pointcloud/point-cloud-spatial-index.d.ts +188 -0
  34. package/dist/pointcloud/point-cloud-spatial-index.d.ts.map +1 -0
  35. package/dist/pointcloud/point-cloud-spatial-index.js +536 -0
  36. package/dist/pointcloud/point-cloud-spatial-index.js.map +1 -0
  37. package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
  38. package/dist/pointcloud/point-cloud-uniforms.js +14 -6
  39. package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
  40. package/dist/raycast-engine.d.ts +8 -0
  41. package/dist/raycast-engine.d.ts.map +1 -1
  42. package/dist/raycast-engine.js +68 -23
  43. package/dist/raycast-engine.js.map +1 -1
  44. package/dist/raycast-point-cloud-query.d.ts +122 -0
  45. package/dist/raycast-point-cloud-query.d.ts.map +1 -0
  46. package/dist/raycast-point-cloud-query.js +145 -0
  47. package/dist/raycast-point-cloud-query.js.map +1 -0
  48. package/dist/scene-rect-select.d.ts +51 -0
  49. package/dist/scene-rect-select.d.ts.map +1 -0
  50. package/dist/scene-rect-select.js +207 -0
  51. package/dist/scene-rect-select.js.map +1 -0
  52. package/dist/scene.d.ts +15 -0
  53. package/dist/scene.d.ts.map +1 -1
  54. package/dist/scene.js +115 -46
  55. package/dist/scene.js.map +1 -1
  56. package/dist/snap-detector.d.ts +12 -1
  57. package/dist/snap-detector.d.ts.map +1 -1
  58. package/dist/snap-detector.js +9 -1
  59. package/dist/snap-detector.js.map +1 -1
  60. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"point-cloud-renderer.js","sourceRoot":"","sources":["../../src/pointcloud/point-cloud-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"point-cloud-renderer.js","sourceRoot":"","sources":["../../src/pointcloud/point-cloud-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * CPU spatial index over one point-cloud asset's positions (issue #1860).
3
+ *
4
+ * The measure tool picks by CPU ray-casting triangle meshes
5
+ * (`scene-raycaster.ts` / `raycast-engine.ts`); point clouds never
6
+ * participate because their positions are packed straight into a GPU
7
+ * vertex buffer and discarded (`point-cloud-node.ts` `appendChunkToNode`
8
+ * never retains the source `Float32Array`). This index is built
9
+ * incrementally as chunks stream in (or on the one-shot IFCx upload
10
+ * path) and keeps just enough CPU-side state to answer "which real scan
11
+ * point is closest to this ray, within a screen-space tolerance".
12
+ *
13
+ * Storage: a coarse uniform voxel grid. Points bucket into
14
+ * `floor(coord / cellSize)` cells, keyed by a single packed integer
15
+ * (`packKey`) so the grid is a plain `Map<number, number[]>` — no
16
+ * string hashing, and no need to know the cloud's final extent up
17
+ * front. Keys are packed relative to the FIRST indexed point's cell so
18
+ * they stay exact f64 integers even for un-rebased georeferenced clouds
19
+ * (LV95 / UTM eastings in the millions of metres); see `CELL_KEY_BIAS`.
20
+ *
21
+ * Memory: each inserted chunk's `Float32Array` is kept BY REFERENCE
22
+ * (never copied) — it would otherwise be garbage immediately after
23
+ * `appendChunkToNode` finishes packing it into the GPU buffer, so
24
+ * retaining it here is the only reason it survives. That is an
25
+ * unavoidable 12 bytes/point (three f32) if snapping is to hit real
26
+ * points rather than an approximation. The grid itself adds roughly
27
+ * 8 bytes/point (one array slot per point, across however many cells)
28
+ * plus a small constant per occupied cell — a few MB per million
29
+ * points at typical scan density. See `DEFAULT_MAX_INDEXED_POINTS` for
30
+ * the safety valve on extreme (tens-of-millions-of-points) clouds.
31
+ *
32
+ * Query: `queryRay` walks cells in ray-marching (Amanatides & Woo DDA)
33
+ * order, so cost is O(cells touched along the ray), not O(points) —
34
+ * a query over a 50M-point cloud still only tests a handful of cells.
35
+ */
36
+ import type { Vec3 } from '../raycaster.js';
37
+ /**
38
+ * Default cell edge, metres. Coarse relative to typical scan spacing
39
+ * (millimetres to a few centimetres) so a query rarely visits more than
40
+ * a handful of cells, while small enough that a query near building
41
+ * scale doesn't degenerate into "search almost everything".
42
+ */
43
+ export declare const DEFAULT_POINTCLOUD_INDEX_CELL_SIZE = 0.5;
44
+ /**
45
+ * Hard cap on how many points a single index will hold. Beyond this,
46
+ * further inserted points still upload to the GPU normally (rendering
47
+ * is unaffected) but are simply not indexed, so the measure tool can't
48
+ * snap to them. This is the "last resort" from the design brief: full,
49
+ * uncapped indexing is strongly preferred (snapping wants real points),
50
+ * so this only bites on genuinely extreme clouds — at ~20 bytes/point
51
+ * of CPU overhead (12 bytes retained positions + ~8 bytes grid), 30M
52
+ * points is already ~600 MB of additional retained memory.
53
+ */
54
+ export declare const DEFAULT_MAX_INDEXED_POINTS = 30000000;
55
+ /**
56
+ * Cap on the per-visited-cell neighborhood dilation radius, in cells
57
+ * (issue #1860 review finding 1). `toleranceAt(t)` GROWS with depth
58
+ * (it's a screen-space pixel tolerance projected to world units), so a
59
+ * fixed +-1 cell dilation (~0.5 * cellSize of perpendicular coverage)
60
+ * silently stops covering the true tolerance once
61
+ * `toleranceAt(t) > cellSize` — which for the measure tool's ~8px
62
+ * tolerance happens around t = 60-130 m depending on canvas/fov, i.e.
63
+ * exactly the zoomed-out site-scale scans where this matters most.
64
+ * `queryRay` instead computes `r = clamp(ceil(toleranceAt(t)/cellSize),
65
+ * 1, MAX_DILATION_RADIUS_CELLS)` at every visited cell and dilates by
66
+ * that many cells. Capped so a single visited cell never tests more
67
+ * than `(2*4+1)^3 = 729` cells worst case; beyond the cap the
68
+ * *effective* snap radius clamps at `MAX_DILATION_RADIUS_CELLS *
69
+ * cellSize` (2 m at the default 0.5 m cell size) instead of growing
70
+ * unbounded with depth.
71
+ */
72
+ export declare const MAX_DILATION_RADIUS_CELLS = 4;
73
+ export interface PointCloudRayHit {
74
+ /** World-space position of the snapped point. */
75
+ position: Vec3;
76
+ /** True distance along the ray (world units) to the snapped point. */
77
+ distance: number;
78
+ }
79
+ /**
80
+ * CPU spatial index for one point-cloud asset. Insert incrementally via
81
+ * `insertRange` as chunks stream in; query via `queryRay`. Not thread
82
+ * safe (single-threaded main-thread structure, matching the renderer).
83
+ */
84
+ export declare class PointCloudSpatialIndex {
85
+ private readonly cellSize;
86
+ private readonly maxIndexedPoints;
87
+ private readonly cells;
88
+ private chunks;
89
+ private total;
90
+ private minX;
91
+ private minY;
92
+ private minZ;
93
+ private maxX;
94
+ private maxY;
95
+ private maxZ;
96
+ /**
97
+ * Cell coordinates of the first indexed point — the origin every packed
98
+ * cell key is relative to (see `CELL_KEY_BIAS`). Rebasing per index keeps
99
+ * keys f64-exact even for un-rebased georeferenced clouds (e.g. Swiss
100
+ * LV95 eastings ~2.6e6 m → absolute cell ~5.2e6, far outside any
101
+ * absolute packing window, but within ±2^16 cells of the cloud's own
102
+ * first point).
103
+ */
104
+ private cellOriginX;
105
+ private cellOriginY;
106
+ private cellOriginZ;
107
+ private hasCellOrigin;
108
+ /** Pack ABSOLUTE cell coordinates into one exact-integer key. */
109
+ private packKey;
110
+ constructor(cellSize?: number, maxIndexedPoints?: number);
111
+ /** Total number of points currently indexed (may be less than the
112
+ * asset's true point count once `maxIndexedPoints` is hit). */
113
+ get pointCount(): number;
114
+ /** True once further inserts are silently dropped (memory safety valve). */
115
+ get isCapped(): boolean;
116
+ /**
117
+ * Insert the first `count` xyz triples of `positions` (renderer/world
118
+ * space — the same frame `queryRay` expects). Keeps `positions` (and
119
+ * `classifications`, when given) BY REFERENCE; the caller must not
120
+ * mutate them afterwards. A no-op past `maxIndexedPoints` (see class
121
+ * docs) — points beyond the cap render normally but are not indexed
122
+ * for picking. When a chunk CROSSES the cap, only the accepted prefix
123
+ * is retained (copied) so the cap genuinely bounds retained memory —
124
+ * keeping the whole source array by reference would retain e.g. a
125
+ * 100M-point one-shot chunk's full 1.2 GB for a 30M-point cap.
126
+ */
127
+ insertRange(positions: Float32Array, count: number, classifications?: Uint8Array | null): void;
128
+ /** World-space bounds of every indexed point, or null when empty. */
129
+ getBounds(): {
130
+ min: Vec3;
131
+ max: Vec3;
132
+ } | null;
133
+ /** Resolve a global point id to its owning chunk, or null. */
134
+ private chunkFor;
135
+ private testPoint;
136
+ /**
137
+ * Test points in the dilated cell block around (cx,cy,cz), skipping
138
+ * cells already visited by an earlier step of the same query.
139
+ * `radiusCells` must cover `toleranceAt(t)` at the depth this cell is
140
+ * visited at — see `queryRay`'s per-step radius computation (#1860
141
+ * review finding 1: a fixed +-1 dilation under-covers tolerance at
142
+ * long range).
143
+ *
144
+ * When `slabAxis` is 0/1/2 the scan is restricted to the LEADING SLAB
145
+ * of the block along that axis (offset `slabDir * radiusCells`, the
146
+ * `(2r+1)^2` cells newly uncovered by a one-cell DDA advance) instead
147
+ * of the full `(2r+1)^3` block (hosted CodeRabbit review, PR #1875):
148
+ * consecutive DDA steps overlap ~90% of their blocks, and while the
149
+ * `visited` set kept the overlap from re-scanning buckets, every probe
150
+ * still paid `packKey` + `Set.has` — ~6M map operations for a capped
151
+ * worst-case march at radius 4. Since the DDA advances exactly one
152
+ * axis by exactly one cell per step, `block(new) \ block(old)` IS that
153
+ * leading slab whenever the radius is unchanged; `queryRay` passes
154
+ * `slabAxis: -1` (full block) for the first cell and whenever the
155
+ * radius changed between steps.
156
+ */
157
+ private testCellNeighborhood;
158
+ /**
159
+ * Nearest indexed point to `ray` (origin + unit `dir`) within
160
+ * `toleranceAt(t)` world units of the ray axis at depth `t`,
161
+ * restricted to `[0, maxDistance]`. Returns the candidate with the
162
+ * SMALLEST `t` (nearest along the ray) among everything within
163
+ * tolerance — not necessarily the one closest to the ray's infinite
164
+ * line — matching how a real surface point would occlude anything
165
+ * behind it.
166
+ *
167
+ * O(cells touched) via an Amanatides & Woo DDA march from the ray's
168
+ * entry into the index's bounding box. `toleranceAt(t)` grows with
169
+ * depth, so each visited cell's neighborhood dilation radius is
170
+ * recomputed from `toleranceAt` at that cell's ray parameter —
171
+ * `clamp(ceil(toleranceAt(t)/cellSize), 1, MAX_DILATION_RADIUS_CELLS)`
172
+ * — instead of a fixed +-1 cell, so a point within the true
173
+ * screen-space tolerance is never missed just because it's more than
174
+ * half a cell off the ray's exact cell path at long range (#1860
175
+ * review finding 1). Marching stops one cell past the first
176
+ * tolerance hit (using the largest radius seen so far, conservative),
177
+ * since DDA visits cells in non-decreasing ray-parameter order.
178
+ */
179
+ queryRay(origin: Vec3, dir: Vec3, maxDistance: number, toleranceAt: (t: number) => number,
180
+ /** Normalized 8-word LAS class visibility bitmask (#1783); points of
181
+ * hidden classes are skipped. Omit/null for "everything visible". */
182
+ classMask?: Uint32Array | null): PointCloudRayHit | null;
183
+ /** Drop every retained position array and grid bucket. Call when the
184
+ * owning PointCloudNode is destroyed so nothing outlives its GPU
185
+ * resources (see `destroyNode` in point-cloud-node.ts). */
186
+ dispose(): void;
187
+ }
188
+ //# sourceMappingURL=point-cloud-spatial-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point-cloud-spatial-index.d.ts","sourceRoot":"","sources":["../../src/pointcloud/point-cloud-spatial-index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,WAAa,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AA4E3C,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,QAAQ,EAAE,IAAI,CAAC;IACf,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiCD;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IACrD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAK;IAElB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IAEzB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAS;IAE9B,iEAAiE;IACjE,OAAO,CAAC,OAAO;gBAQb,QAAQ,GAAE,MAA2C,EACrD,gBAAgB,GAAE,MAAmC;IASvD;oEACgE;IAChE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,4EAA4E;IAC5E,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;;;;;OAUG;IACH,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAyC9F,qEAAqE;IACrE,SAAS,IAAI;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI;IAQ5C,8DAA8D;IAC9D,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,SAAS;IA0BjB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CACN,MAAM,EAAE,IAAI,EACZ,GAAG,EAAE,IAAI,EACT,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM;IAClC;0EACsE;IACtE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAC7B,gBAAgB,GAAG,IAAI;IAmJ1B;;gEAE4D;IAC5D,OAAO,IAAI,IAAI;CAShB"}