@ifc-lite/renderer 1.50.0 → 2.0.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 +4 -0
- package/dist/camera-animation.d.ts.map +1 -1
- package/dist/camera-animation.js +37 -27
- package/dist/camera-animation.js.map +1 -1
- package/dist/camera-controls.d.ts +26 -15
- package/dist/camera-controls.d.ts.map +1 -1
- package/dist/camera-controls.js +32 -18
- package/dist/camera-controls.js.map +1 -1
- package/dist/camera-framing.d.ts +60 -21
- package/dist/camera-framing.d.ts.map +1 -1
- package/dist/camera-framing.js +168 -131
- package/dist/camera-framing.js.map +1 -1
- package/dist/camera-preset-view.d.ts +2 -2
- package/dist/camera-preset-view.d.ts.map +1 -1
- package/dist/camera-preset-view.js +52 -42
- package/dist/camera-preset-view.js.map +1 -1
- package/dist/camera.d.ts +26 -6
- package/dist/camera.d.ts.map +1 -1
- package/dist/camera.js +41 -12
- package/dist/camera.js.map +1 -1
- package/dist/federation-registry.d.ts.map +1 -1
- package/dist/federation-registry.js +19 -2
- package/dist/federation-registry.js.map +1 -1
- package/dist/index.d.ts +42 -59
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -73
- package/dist/index.js.map +1 -1
- package/dist/instanced-override-color.d.ts +17 -0
- package/dist/instanced-override-color.d.ts.map +1 -0
- package/dist/instanced-override-color.js +22 -0
- package/dist/instanced-override-color.js.map +1 -0
- package/dist/instanced-render.d.ts +10 -0
- package/dist/instanced-render.d.ts.map +1 -1
- package/dist/instanced-render.js +13 -3
- package/dist/instanced-render.js.map +1 -1
- package/dist/lod-simplify.d.ts.map +1 -1
- package/dist/lod-simplify.js +24 -2
- package/dist/lod-simplify.js.map +1 -1
- package/dist/pick-resolve.d.ts +125 -0
- package/dist/pick-resolve.d.ts.map +1 -0
- package/dist/pick-resolve.js +127 -0
- package/dist/pick-resolve.js.map +1 -0
- package/dist/picker.d.ts.map +1 -1
- package/dist/picker.js +20 -46
- package/dist/picker.js.map +1 -1
- package/dist/picking-manager.d.ts.map +1 -1
- package/dist/picking-manager.js +13 -1
- package/dist/picking-manager.js.map +1 -1
- package/dist/raycast-engine.d.ts +4 -4
- package/dist/raycast-engine.d.ts.map +1 -1
- package/dist/raycast-engine.js.map +1 -1
- package/dist/renderer-overlays.d.ts +3 -21
- package/dist/renderer-overlays.d.ts.map +1 -1
- package/dist/renderer-overlays.js +57 -85
- package/dist/renderer-overlays.js.map +1 -1
- package/dist/renderer-symbolic-overlays.d.ts +29 -2
- package/dist/renderer-symbolic-overlays.d.ts.map +1 -1
- package/dist/renderer-symbolic-overlays.js +61 -16
- package/dist/renderer-symbolic-overlays.js.map +1 -1
- package/dist/scene-contents.d.ts +132 -0
- package/dist/scene-contents.d.ts.map +1 -0
- package/dist/scene-contents.js +5 -0
- package/dist/scene-contents.js.map +1 -0
- package/dist/scene-raycaster.d.ts +14 -8
- package/dist/scene-raycaster.d.ts.map +1 -1
- package/dist/scene-raycaster.js +6 -2
- package/dist/scene-raycaster.js.map +1 -1
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +21 -7
- package/dist/scene.js.map +1 -1
- package/dist/section-2d-overlay.d.ts +52 -63
- package/dist/section-2d-overlay.d.ts.map +1 -1
- package/dist/section-2d-overlay.js +69 -130
- package/dist/section-2d-overlay.js.map +1 -1
- package/dist/shaders/section-2d-overlay.wgsl.d.ts +2 -2
- package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
- package/dist/shaders/section-2d-overlay.wgsl.js +2 -2
- package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
- package/dist/symbolic-overlay-pipelines.d.ts +11 -12
- package/dist/symbolic-overlay-pipelines.d.ts.map +1 -1
- package/dist/symbolic-overlay-pipelines.js +7 -12
- package/dist/symbolic-overlay-pipelines.js.map +1 -1
- package/dist/types.d.ts +5 -19
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/lod-simplify.js
CHANGED
|
@@ -63,7 +63,8 @@ export function simplifyIndicesByClustering(vertexData, strideFloats, indices, c
|
|
|
63
63
|
// same population.
|
|
64
64
|
const vertexCount = strideFloats > 0 ? (vertexData.length / strideFloats) | 0 : 0;
|
|
65
65
|
const cellOf = new Int32Array(vertexCount).fill(-1); // vertexIndex -> representative, -1 = unset
|
|
66
|
-
const repOfCell = new Map(); // cell key -> representative vertexIndex
|
|
66
|
+
const repOfCell = new Map(); // exact cell key -> representative vertexIndex
|
|
67
|
+
let cellOrigin;
|
|
67
68
|
// Clustering is ENTITY-SCOPED: the per-vertex entityId lane (u32 bit-cast
|
|
68
69
|
// at float offset 6 in the batch layout) joins the cell key, so co-located
|
|
69
70
|
// vertices from DIFFERENT entities (a wall face touching a slab face)
|
|
@@ -83,7 +84,28 @@ export function simplifyIndicesByClustering(vertexData, strideFloats, indices, c
|
|
|
83
84
|
const cy = Math.floor(vertexData[base + 1] / cellSize);
|
|
84
85
|
const cz = Math.floor(vertexData[base + 2] / cellSize);
|
|
85
86
|
const entity = idLane ? idLane[base + 6] : 0;
|
|
86
|
-
|
|
87
|
+
// #3991: normal LOD cells fit in a small neighborhood. Pack that exact
|
|
88
|
+
// neighborhood with the FULL u32 entity lane instead of allocating a key
|
|
89
|
+
// string per vertex. Keep generic tiny-cell/huge/nonfinite inputs exact.
|
|
90
|
+
let key;
|
|
91
|
+
if (Number.isSafeInteger(cx) && Number.isSafeInteger(cy) && Number.isSafeInteger(cz)) {
|
|
92
|
+
cellOrigin ??= [cx, cy, cz];
|
|
93
|
+
const dx = cx - cellOrigin[0];
|
|
94
|
+
const dy = cy - cellOrigin[1];
|
|
95
|
+
const dz = cz - cellOrigin[2];
|
|
96
|
+
if (dx >= -64 && dx < 64 && dy >= -64 && dy < 64 && dz >= -64 && dz < 64) {
|
|
97
|
+
// Safe integer coordinates and anchor make these bounded differences
|
|
98
|
+
// exact. 3 * 7 cell bits + 32 entity bits fit in 53 bits: the largest
|
|
99
|
+
// possible key is 2^53 - 1, with no rounding or dropped entity bits.
|
|
100
|
+
key = entity * 0x200000 + (dx + 64) * 0x4000 + (dy + 64) * 0x80 + dz + 64;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
key = `${cx},${cy},${cz},${entity}`;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
key = `${cx},${cy},${cz},${entity}`;
|
|
108
|
+
}
|
|
87
109
|
const existing = repOfCell.get(key);
|
|
88
110
|
let rep;
|
|
89
111
|
if (existing === undefined) {
|
package/dist/lod-simplify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lod-simplify.js","sourceRoot":"","sources":["../src/lod-simplify.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;;;;;GAQG;AACH;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEpC,MAAM,UAAU,2BAA2B,CACzC,UAAwB,EACxB,YAAoB,EACpB,OAAoB,EACpB,QAAgB;IAEhB,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,aAAa,GAAG,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/D,2EAA2E;IAC3E,EAAE;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,iEAAiE;IACjE,0EAA0E;IAC1E,6EAA6E;IAC7E,sEAAsE;IACtE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,8CAA8C;IAC9C,EAAE;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,2EAA2E;IAC3E,mBAAmB;IACnB,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4CAA4C;IACjG,MAAM,SAAS,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"lod-simplify.js","sourceRoot":"","sources":["../src/lod-simplify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a pick resolves to, and how a decoded pick sample becomes one.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `picker.ts` so this half is reachable without a GPU: everything
|
|
5
|
+
* around it (render the pick pass, read back a texel, unproject the depth)
|
|
6
|
+
* needs a device, while deciding WHICH entity — and since #2985 which
|
|
7
|
+
* representation item — a sample landed on is pure table lookup.
|
|
8
|
+
*
|
|
9
|
+
* Every import here is type-only, so nothing is emitted and the `PickResult`
|
|
10
|
+
* re-export in `types.ts` is not a runtime cycle.
|
|
11
|
+
*/
|
|
12
|
+
import type { MeshData } from '@ifc-lite/geometry';
|
|
13
|
+
import type { DecodedPickSample, PointPickNode } from './point-picker.js';
|
|
14
|
+
import type { Mesh } from './types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Result from GPU picking
|
|
17
|
+
* For multi-model support, includes both expressId and modelIndex
|
|
18
|
+
*/
|
|
19
|
+
export interface PickResult {
|
|
20
|
+
expressId: number;
|
|
21
|
+
modelIndex?: number;
|
|
22
|
+
/**
|
|
23
|
+
* World-space XYZ of the picked surface point. Optional because the
|
|
24
|
+
* pick path can skip depth readback for callers that only need the
|
|
25
|
+
* entityId (e.g. selection state). Recovered by sampling the pick
|
|
26
|
+
* pass's depth texture at the click position and unprojecting.
|
|
27
|
+
*/
|
|
28
|
+
worldXYZ?: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
z: number;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The `IfcRepresentationItem` the picked surface was built from (#2985), so
|
|
35
|
+
* a host can drill from a clicked pane or frame down to its own entity
|
|
36
|
+
* instead of stopping at the owning product. Same name and same value as
|
|
37
|
+
* `MeshData.geometryItemId`; it is NEVER a material id — `materialId` carries
|
|
38
|
+
* that case upstream and the two are never both set (#3199).
|
|
39
|
+
*
|
|
40
|
+
* The KEY IS ABSENT, never 0, wherever the renderer has no item identity to
|
|
41
|
+
* report, and those absences do not all mean the same thing:
|
|
42
|
+
* - the single merged-mesh fallback and a cached `IfcMappedItem` genuinely
|
|
43
|
+
* have none, mirroring `MeshData.geometryItemId` itself;
|
|
44
|
+
* - a colour-merged batch holds many entities, so whatever item id it
|
|
45
|
+
* carries belongs to none of them individually and is not reported;
|
|
46
|
+
* - a GPU-instanced occurrence has none on the GPU route ONLY. The
|
|
47
|
+
* instanced pick shader writes the express id straight into the sample,
|
|
48
|
+
* with no per-instance item channel to look one up from. The CPU raycast
|
|
49
|
+
* never runs that shader, and since #2985 carried the id onto instanced
|
|
50
|
+
* occurrences it DOES report one: `Scene.getInstancedMeshDataPieces`
|
|
51
|
+
* stamps `geometryItemId` on each synthetic `MeshData` it materialises.
|
|
52
|
+
* So the two routes disagree here, and only the shader half is open.
|
|
53
|
+
* Rectangle/marquee pick returns bare express ids and never builds a
|
|
54
|
+
* `PickResult` at all, so it cannot report this either.
|
|
55
|
+
*/
|
|
56
|
+
geometryItemId?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The representation item a piece of geometry may report on a pick, or
|
|
60
|
+
* `undefined` when it may not (#2985).
|
|
61
|
+
*
|
|
62
|
+
* A piece carrying per-vertex `entityIds` is registered under every entity it
|
|
63
|
+
* names (`Scene.addMeshData`), so where it genuinely holds more than
|
|
64
|
+
* `expressId` its item id describes none of them individually and is withheld.
|
|
65
|
+
*
|
|
66
|
+
* Carrying `entityIds` is NOT by itself evidence of that, which is why this
|
|
67
|
+
* scans for a FOREIGN id rather than testing the field's presence: an authored
|
|
68
|
+
* single-entity mesh (a slab/space/wall added in-session) tags every vertex
|
|
69
|
+
* with its own id for picking, so all-same-id attributes unambiguously and is
|
|
70
|
+
* reported. `Scene.translateFlatMeshesForEntity` draws the same line the same
|
|
71
|
+
* way, and got there the hard way — a "skip on any entityIds at all" test there
|
|
72
|
+
* froze authored elements under the gizmo. The two must agree about what a
|
|
73
|
+
* shared piece is.
|
|
74
|
+
*
|
|
75
|
+
* Latent, not live: no in-tree producer sets `MeshData.entityIds` at all today
|
|
76
|
+
* (`packages/`, `apps/`, and the Rust crates were all checked), so only
|
|
77
|
+
* hand-built fixtures reach the scan. It is written to match the sibling rule,
|
|
78
|
+
* not to fix an observed misattribution.
|
|
79
|
+
*
|
|
80
|
+
* ONE home, because the two pick routes reach that rule from different sides
|
|
81
|
+
* and must not answer one click two ways:
|
|
82
|
+
* - CPU (`raycastTriangles`, every model over `MAX_PICK_MESH_CREATION`) walks
|
|
83
|
+
* `Scene.meshDataMap` DIRECTLY, so it sees raw merged pieces and the rule
|
|
84
|
+
* is what stops it attributing a batch's id to one entity;
|
|
85
|
+
* - GPU (`Renderer.createMeshFromData`) is fed by `Scene.getMeshDataPieces`,
|
|
86
|
+
* which splits a merged piece per entity first — and its rebuilt literal
|
|
87
|
+
* happens to carry neither `entityIds` nor `geometryItemId` forward, so
|
|
88
|
+
* today it strips the id as a SIDE EFFECT rather than by any stated rule.
|
|
89
|
+
* `createMeshFromData` is public and applies the rule itself instead of
|
|
90
|
+
* inheriting that accident.
|
|
91
|
+
*
|
|
92
|
+
* @param expressId - the entity the pick is about to attribute the piece to.
|
|
93
|
+
* Not `piece.expressId`: a merged piece is looked up under every id it names,
|
|
94
|
+
* so the raycaster's map key is the one that decides, not the piece's own.
|
|
95
|
+
*/
|
|
96
|
+
export declare function reportableItemId(piece: Pick<MeshData, 'entityIds' | 'geometryItemId'>, expressId: number): number | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Which entity a decoded sample landed on, or `null` when it landed on nothing.
|
|
99
|
+
*
|
|
100
|
+
* The sample taxonomy lives here — the three ways a texel can name an entity,
|
|
101
|
+
* and the mesh case's (index + 1) offset via {@link meshForSample} — so single
|
|
102
|
+
* click and marquee cannot answer one texel two ways.
|
|
103
|
+
*
|
|
104
|
+
* Separate from {@link resolvePickSample} because a `PickResult` is the wrong
|
|
105
|
+
* unit for a marquee: `Picker.pickRect` wants nothing but the id, once per
|
|
106
|
+
* non-zero texel. Routing it through a full result allocated one object per
|
|
107
|
+
* texel to read `.expressId` off and drop — millions of them on a
|
|
108
|
+
* full-viewport rect over a HiDPI canvas, and the resulting GC dominated the
|
|
109
|
+
* whole rect. Keep the dispatch shared and the allocation out of the loop.
|
|
110
|
+
*/
|
|
111
|
+
export declare function resolvePickedExpressId(decoded: DecodedPickSample, meshes: readonly Mesh[]): number | null;
|
|
112
|
+
/**
|
|
113
|
+
* Map one decoded pick sample onto the entity behind it, with everything a
|
|
114
|
+
* single click reports about it.
|
|
115
|
+
*
|
|
116
|
+
* `worldXYZ` is the already-unprojected hit position (null when the depth
|
|
117
|
+
* readback found nothing to unproject); `meshes` is the same array, in the same
|
|
118
|
+
* order, that the pick pass drew, because a mesh sample is an index into it.
|
|
119
|
+
*/
|
|
120
|
+
export declare function resolvePickSample(decoded: DecodedPickSample, meshes: readonly Mesh[], pointNodes: ReadonlyArray<PointPickNode> | undefined, worldXYZ: {
|
|
121
|
+
x: number;
|
|
122
|
+
y: number;
|
|
123
|
+
z: number;
|
|
124
|
+
} | null): PickResult | null;
|
|
125
|
+
//# sourceMappingURL=pick-resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pick-resolve.d.ts","sourceRoot":"","sources":["../src/pick-resolve.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAAC,EACrD,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAQpB;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,SAAS,IAAI,EAAE,GACtB,MAAM,GAAG,IAAI,CAOf;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,SAAS,IAAI,EAAE,EACvB,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,EACpD,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACnD,UAAU,GAAG,IAAI,CAkCnB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
/**
|
|
5
|
+
* The representation item a piece of geometry may report on a pick, or
|
|
6
|
+
* `undefined` when it may not (#2985).
|
|
7
|
+
*
|
|
8
|
+
* A piece carrying per-vertex `entityIds` is registered under every entity it
|
|
9
|
+
* names (`Scene.addMeshData`), so where it genuinely holds more than
|
|
10
|
+
* `expressId` its item id describes none of them individually and is withheld.
|
|
11
|
+
*
|
|
12
|
+
* Carrying `entityIds` is NOT by itself evidence of that, which is why this
|
|
13
|
+
* scans for a FOREIGN id rather than testing the field's presence: an authored
|
|
14
|
+
* single-entity mesh (a slab/space/wall added in-session) tags every vertex
|
|
15
|
+
* with its own id for picking, so all-same-id attributes unambiguously and is
|
|
16
|
+
* reported. `Scene.translateFlatMeshesForEntity` draws the same line the same
|
|
17
|
+
* way, and got there the hard way — a "skip on any entityIds at all" test there
|
|
18
|
+
* froze authored elements under the gizmo. The two must agree about what a
|
|
19
|
+
* shared piece is.
|
|
20
|
+
*
|
|
21
|
+
* Latent, not live: no in-tree producer sets `MeshData.entityIds` at all today
|
|
22
|
+
* (`packages/`, `apps/`, and the Rust crates were all checked), so only
|
|
23
|
+
* hand-built fixtures reach the scan. It is written to match the sibling rule,
|
|
24
|
+
* not to fix an observed misattribution.
|
|
25
|
+
*
|
|
26
|
+
* ONE home, because the two pick routes reach that rule from different sides
|
|
27
|
+
* and must not answer one click two ways:
|
|
28
|
+
* - CPU (`raycastTriangles`, every model over `MAX_PICK_MESH_CREATION`) walks
|
|
29
|
+
* `Scene.meshDataMap` DIRECTLY, so it sees raw merged pieces and the rule
|
|
30
|
+
* is what stops it attributing a batch's id to one entity;
|
|
31
|
+
* - GPU (`Renderer.createMeshFromData`) is fed by `Scene.getMeshDataPieces`,
|
|
32
|
+
* which splits a merged piece per entity first — and its rebuilt literal
|
|
33
|
+
* happens to carry neither `entityIds` nor `geometryItemId` forward, so
|
|
34
|
+
* today it strips the id as a SIDE EFFECT rather than by any stated rule.
|
|
35
|
+
* `createMeshFromData` is public and applies the rule itself instead of
|
|
36
|
+
* inheriting that accident.
|
|
37
|
+
*
|
|
38
|
+
* @param expressId - the entity the pick is about to attribute the piece to.
|
|
39
|
+
* Not `piece.expressId`: a merged piece is looked up under every id it names,
|
|
40
|
+
* so the raycaster's map key is the one that decides, not the piece's own.
|
|
41
|
+
*/
|
|
42
|
+
export function reportableItemId(piece, expressId) {
|
|
43
|
+
const ids = piece.entityIds;
|
|
44
|
+
if (ids) {
|
|
45
|
+
for (let i = 0; i < ids.length; i++) {
|
|
46
|
+
if (ids[i] !== expressId)
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return piece.geometryItemId;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The mesh a mesh-kind sample landed on, or `undefined` when the index is out
|
|
54
|
+
* of range. The pick shader writes (actual index + 1), and THIS is the only
|
|
55
|
+
* place that offset is spelled out.
|
|
56
|
+
*/
|
|
57
|
+
function meshForSample(decoded, meshes) {
|
|
58
|
+
return meshes[decoded.meshIndexPlusOne - 1];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Which entity a decoded sample landed on, or `null` when it landed on nothing.
|
|
62
|
+
*
|
|
63
|
+
* The sample taxonomy lives here — the three ways a texel can name an entity,
|
|
64
|
+
* and the mesh case's (index + 1) offset via {@link meshForSample} — so single
|
|
65
|
+
* click and marquee cannot answer one texel two ways.
|
|
66
|
+
*
|
|
67
|
+
* Separate from {@link resolvePickSample} because a `PickResult` is the wrong
|
|
68
|
+
* unit for a marquee: `Picker.pickRect` wants nothing but the id, once per
|
|
69
|
+
* non-zero texel. Routing it through a full result allocated one object per
|
|
70
|
+
* texel to read `.expressId` off and drop — millions of them on a
|
|
71
|
+
* full-viewport rect over a HiDPI canvas, and the resulting GC dominated the
|
|
72
|
+
* whole rect. Keep the dispatch shared and the allocation out of the loop.
|
|
73
|
+
*/
|
|
74
|
+
export function resolvePickedExpressId(decoded, meshes) {
|
|
75
|
+
if (decoded.kind === 'none')
|
|
76
|
+
return null;
|
|
77
|
+
// The point and instanced shaders write the express id straight into the
|
|
78
|
+
// sample (federated globalId for points), so there is no table to look up.
|
|
79
|
+
if (decoded.kind === 'point')
|
|
80
|
+
return decoded.pointExpressId;
|
|
81
|
+
if (decoded.kind === 'instanced')
|
|
82
|
+
return decoded.instanceExpressId;
|
|
83
|
+
return meshForSample(decoded, meshes)?.expressId ?? null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Map one decoded pick sample onto the entity behind it, with everything a
|
|
87
|
+
* single click reports about it.
|
|
88
|
+
*
|
|
89
|
+
* `worldXYZ` is the already-unprojected hit position (null when the depth
|
|
90
|
+
* readback found nothing to unproject); `meshes` is the same array, in the same
|
|
91
|
+
* order, that the pick pass drew, because a mesh sample is an index into it.
|
|
92
|
+
*/
|
|
93
|
+
export function resolvePickSample(decoded, meshes, pointNodes, worldXYZ) {
|
|
94
|
+
const expressId = resolvePickedExpressId(decoded, meshes);
|
|
95
|
+
if (expressId === null)
|
|
96
|
+
return null;
|
|
97
|
+
const world = worldXYZ ?? undefined;
|
|
98
|
+
if (decoded.kind === 'point') {
|
|
99
|
+
// Look up the asset for modelIndex — the only thing the id alone can't say.
|
|
100
|
+
const node = pointNodes?.find((n) => (n.expressId >>> 0) === expressId);
|
|
101
|
+
return { expressId, modelIndex: node?.modelIndex, worldXYZ: world };
|
|
102
|
+
}
|
|
103
|
+
if (decoded.kind === 'instanced') {
|
|
104
|
+
// Instanced occurrence. modelIndex is not tracked per occurrence yet
|
|
105
|
+
// (single-model instancing), and neither is geometryItemId: this shader
|
|
106
|
+
// has no per-occurrence item channel to read one out of. Note the CPU
|
|
107
|
+
// raycast route DOES report it for the same geometry, because
|
|
108
|
+
// Scene.getInstancedMeshDataPieces stamps it onto the pieces it
|
|
109
|
+
// materialises (#2985). This is the remaining half of that gap.
|
|
110
|
+
return { expressId, modelIndex: undefined, worldXYZ: world };
|
|
111
|
+
}
|
|
112
|
+
// Mesh hit. The id above already came off this entry (and range-checked it);
|
|
113
|
+
// re-reading it is what reaches the rest of the identity a bare id can't hold.
|
|
114
|
+
const mesh = meshForSample(decoded, meshes);
|
|
115
|
+
if (!mesh)
|
|
116
|
+
return null;
|
|
117
|
+
return {
|
|
118
|
+
expressId,
|
|
119
|
+
modelIndex: mesh.modelIndex,
|
|
120
|
+
worldXYZ: world,
|
|
121
|
+
// Spread, not `geometryItemId: mesh.geometryItemId`: a mesh with no item
|
|
122
|
+
// identity must leave the key OFF, so a caller can tell "no item here" from
|
|
123
|
+
// "an item whose id is 0" and from a pick that never ran.
|
|
124
|
+
...(mesh.geometryItemId !== undefined ? { geometryItemId: mesh.geometryItemId } : {}),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=pick-resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pick-resolve.js","sourceRoot":"","sources":["../src/pick-resolve.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA2D/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAqD,EACrD,SAAiB;IAEjB,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5B,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,cAAc,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,OAA0B,EAAE,MAAuB;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA0B,EAC1B,MAAuB;IAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACzC,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,cAAc,CAAC;IAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,iBAAiB,CAAC;IACnE,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA0B,EAC1B,MAAuB,EACvB,UAAoD,EACpD,QAAoD;IAEpD,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,IAAI,SAAS,CAAC;IAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,4EAA4E;QAC5E,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACxE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,8DAA8D;QAC9D,gEAAgE;QAChE,gEAAgE;QAChE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,KAAK;QACf,yEAAyE;QACzE,4EAA4E;QAC5E,0DAA0D;QAC1D,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtF,CAAC;AACJ,CAAC"}
|
package/dist/picker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA8EtF,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAkB;IACnC,uFAAuF;IACvF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA4B;IAI/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuD;gBAErE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU;IAiQvE;;;;;;;;;;;;;;;;OAgBG;IACG,IAAI,CACR,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,EAAE,EACd,QAAQ,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,EACzC,WAAW,CAAC,EAAE,eAAe,EAC7B,kBAAkB,CAAC,EAAE,SAAS,oBAAoB,EAAE,EACpD,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAyF7B,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIzE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;;;;;;;;;OAYG;IACG,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,EAAE,EACd,QAAQ,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,EACzC,WAAW,CAAC,EAAE,eAAe,EAC7B,kBAAkB,CAAC,EAAE,SAAS,oBAAoB,EAAE,EACpD,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAsEvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAmGtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAUhB"}
|
package/dist/picker.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
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
|
+
import { resolvePickSample, resolvePickedExpressId } from './pick-resolve.js';
|
|
4
5
|
import { PointPicker, decodePickSample } from './point-picker.js';
|
|
5
6
|
import { packPickUniforms } from './pick-uniforms.js';
|
|
6
7
|
import { MathUtils } from './math.js';
|
|
@@ -426,36 +427,9 @@ export class Picker {
|
|
|
426
427
|
// raycaster, so MathUtils.transformPoint with the inverse viewProj
|
|
427
428
|
// gives the world hit position directly.
|
|
428
429
|
const worldXYZ = unprojectPickSample(viewProj, sampleX, sampleY, width, height, depth);
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
// attribute, no lookup table needed).
|
|
433
|
-
const node = pointNodes?.find((n) => (n.expressId >>> 0) === decoded.pointExpressId);
|
|
434
|
-
return {
|
|
435
|
-
expressId: decoded.pointExpressId,
|
|
436
|
-
modelIndex: node?.modelIndex,
|
|
437
|
-
worldXYZ: worldXYZ ?? undefined,
|
|
438
|
-
};
|
|
439
|
-
}
|
|
440
|
-
if (decoded.kind === 'instanced') {
|
|
441
|
-
// Instanced occurrence — the shader wrote the express id directly into the
|
|
442
|
-
// pick value (no mesh-index lookup). modelIndex is not tracked per
|
|
443
|
-
// occurrence yet (single-model instancing).
|
|
444
|
-
return {
|
|
445
|
-
expressId: decoded.instanceExpressId,
|
|
446
|
-
modelIndex: undefined,
|
|
447
|
-
worldXYZ: worldXYZ ?? undefined,
|
|
448
|
-
};
|
|
449
|
-
}
|
|
450
|
-
// Mesh hit — meshIndex is (actual index + 1), already validated > 0.
|
|
451
|
-
const mesh = meshes[decoded.meshIndexPlusOne - 1];
|
|
452
|
-
if (!mesh)
|
|
453
|
-
return null;
|
|
454
|
-
return {
|
|
455
|
-
expressId: mesh.expressId,
|
|
456
|
-
modelIndex: mesh.modelIndex,
|
|
457
|
-
worldXYZ: worldXYZ ?? undefined,
|
|
458
|
-
};
|
|
430
|
+
// Which entity (and which representation item) the sample landed on is a
|
|
431
|
+
// pure lookup — see resolvePickSample.
|
|
432
|
+
return resolvePickSample(decoded, meshes, pointNodes, worldXYZ);
|
|
459
433
|
}
|
|
460
434
|
updateUniforms(viewProj, clip) {
|
|
461
435
|
this.writePickUniforms(viewProj, clip);
|
|
@@ -528,22 +502,22 @@ export class Picker {
|
|
|
528
502
|
const sample = view[row + x];
|
|
529
503
|
if (sample === 0)
|
|
530
504
|
continue;
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
505
|
+
// Same three-way decode single-click uses — including the instanced
|
|
506
|
+
// case (the shader writes the express id straight into the sample) and
|
|
507
|
+
// the mesh case's (index + 1) offset. Both live in pick-resolve.ts and
|
|
508
|
+
// must not be re-implemented here.
|
|
509
|
+
//
|
|
510
|
+
// The bare id, not a PickResult: this returns a Set<expressId>, which
|
|
511
|
+
// has no room for a per-item result — a marquee that hits three panes
|
|
512
|
+
// of one curtain wall is one entry — and allocating a result per
|
|
513
|
+
// non-zero texel just to read `.expressId` off it dominated the rect.
|
|
514
|
+
// Single-click pick is the per-item surface.
|
|
515
|
+
//
|
|
516
|
+
// modelIndex is dropped for the same reason, which is why a point
|
|
517
|
+
// sample's owning asset (a linear scan, once per texel) is not resolved.
|
|
518
|
+
const expressId = resolvePickedExpressId(decodePickSample(sample), meshes);
|
|
519
|
+
if (expressId !== null)
|
|
520
|
+
ids.add(expressId);
|
|
547
521
|
}
|
|
548
522
|
}
|
|
549
523
|
readBuffer.unmap();
|
package/dist/picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking-manager.d.ts","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAC5B;IAAE,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GAChE,IAAI,CAAC;AAET,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,iBAAiB,CAAkC;gBAGvD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,iBAAiB,EACzB,oBAAoB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IAStD,+EAA+E;IAC/E,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAI9D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAItC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAmF1B;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"picking-manager.d.ts","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAC5B;IAAE,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GAChE,IAAI,CAAC;AAET,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,iBAAiB,CAAkC;gBAGvD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,iBAAiB,EACzB,oBAAoB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IAStD,+EAA+E;IAC/E,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAI9D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAItC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAmF1B;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA0EhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,QAAQ,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,EACrB,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CAiF1B"}
|
package/dist/picking-manager.js
CHANGED
|
@@ -149,10 +149,22 @@ export class PickingManager {
|
|
|
149
149
|
const hit = this.scene.raycast(ray.origin, ray.direction, options?.hiddenIds, options?.isolatedIds, clip);
|
|
150
150
|
if (!hit)
|
|
151
151
|
return null;
|
|
152
|
-
// CPU
|
|
152
|
+
// The CPU fallback is the COMMON path — anything over
|
|
153
|
+
// MAX_PICK_MESH_CREATION lands here — so it must report the picked
|
|
154
|
+
// item, not just its product. Carrying expressId/modelIndex only is
|
|
155
|
+
// how a pick silently degrades to product-level on a big model
|
|
156
|
+
// while looking identical to a genuine "no item here" (#2985).
|
|
157
|
+
//
|
|
158
|
+
// NOT full parity with the GPU path: `worldXYZ` is still omitted,
|
|
159
|
+
// as it was before #2985. `Scene.raycast` returns the hit distance
|
|
160
|
+
// and the world point is rayOrigin + t*rayDir, so it is computable
|
|
161
|
+
// here, but filling it in is a behaviour change (HoverTooltip shows
|
|
162
|
+
// a world coordinate only when the key is set, so today it is blank
|
|
163
|
+
// above the pick-mesh budget) and belongs to its own issue.
|
|
153
164
|
return {
|
|
154
165
|
expressId: hit.expressId,
|
|
155
166
|
modelIndex: hit.modelIndex,
|
|
167
|
+
...(hit.geometryItemId !== undefined ? { geometryItemId: hit.geometryItemId } : {}),
|
|
156
168
|
};
|
|
157
169
|
}
|
|
158
170
|
let meshes = this.scene.getMeshes();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking-manager.js","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"picking-manager.js","sourceRoot":"","sources":["../src/picking-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/raycast-engine.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RaycastEngine -
|
|
3
|
-
*
|
|
2
|
+
* RaycastEngine - raycasting, BVH management and snap detection, composed into `Renderer`.
|
|
3
|
+
* Reads the scene through the published `SceneContents`, not the package-internal `Scene`: it uses six of its members.
|
|
4
4
|
*/
|
|
5
5
|
import { Camera } from './camera.js';
|
|
6
|
-
import {
|
|
6
|
+
import type { SceneContents } from './scene-contents.js';
|
|
7
7
|
import { Raycaster, type Intersection } from './raycaster.js';
|
|
8
8
|
import { SnapDetector, type SnapTarget, type SnapOptions, type EdgeLockInput, type MagneticSnapResult } from './snap-detector.js';
|
|
9
9
|
import type { PickOptions } from './types.js';
|
|
@@ -19,7 +19,7 @@ export declare class RaycastEngine {
|
|
|
19
19
|
private pointCloudProvider;
|
|
20
20
|
private bvhCache;
|
|
21
21
|
private readonly BVH_THRESHOLD;
|
|
22
|
-
constructor(camera: Camera, scene:
|
|
22
|
+
constructor(camera: Camera, scene: SceneContents, canvas: HTMLCanvasElement);
|
|
23
23
|
/**
|
|
24
24
|
* Collect all visible mesh data from the scene, applying visibility filters.
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raycast-engine.d.ts","sourceRoot":"","sources":["../src/raycast-engine.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"raycast-engine.d.ts","sourceRoot":"","sources":["../src/raycast-engine.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAY,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAY,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAKH,KAAK,qBAAqB,EAE7B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAkBjG,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,OAAO,CAAC,QAAQ,CASA;IAGhB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAEzB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;IAS3E;;OAEG;IACH;kCAC8B;IAC9B,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,sBAAsB;IAmF9B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgCrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;;OAMG;IACH,YAAY,CACR,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE,GAC/D;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;IAsD3D;;;;;;OAMG;IACH,oBAAoB,CAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,eAAe,EAAE,aAAa,EAC9B,OAAO,CAAC,EAAE,WAAW,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE,GAC/D,kBAAkB,GAAG;QAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE;IAwH7D;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,YAAY,IAAI,SAAS;IAIzB;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAInE;;OAEG;IACH,WAAW,IAAI,IAAI;CAItB"}
|