@ifc-lite/renderer 1.29.1 → 1.30.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/dist/clip-box.d.ts +19 -0
- package/dist/clip-box.d.ts.map +1 -0
- package/dist/clip-box.js +35 -0
- package/dist/clip-box.js.map +1 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -33
- package/dist/index.js.map +1 -1
- package/dist/pick-uniforms.d.ts +9 -0
- package/dist/pick-uniforms.d.ts.map +1 -0
- package/dist/pick-uniforms.js +49 -0
- package/dist/pick-uniforms.js.map +1 -0
- package/dist/picker.d.ts +11 -4
- package/dist/picker.d.ts.map +1 -1
- package/dist/picker.js +78 -14
- package/dist/picker.js.map +1 -1
- package/dist/picking-manager.d.ts +3 -3
- package/dist/picking-manager.d.ts.map +1 -1
- package/dist/picking-manager.js +6 -6
- package/dist/picking-manager.js.map +1 -1
- package/dist/pipeline.d.ts +6 -5
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +17 -28
- package/dist/pipeline.js.map +1 -1
- package/dist/point-picker.d.ts +5 -1
- package/dist/point-picker.d.ts.map +1 -1
- package/dist/point-picker.js +27 -10
- package/dist/point-picker.js.map +1 -1
- package/dist/scene-raycaster.d.ts +27 -3
- package/dist/scene-raycaster.d.ts.map +1 -1
- package/dist/scene-raycaster.js +146 -3
- package/dist/scene-raycaster.js.map +1 -1
- package/dist/scene.d.ts +2 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +4 -11
- package/dist/scene.js.map +1 -1
- package/dist/shaders/main.wgsl.d.ts +1 -1
- package/dist/shaders/main.wgsl.d.ts.map +1 -1
- package/dist/shaders/main.wgsl.js +11 -1
- package/dist/shaders/main.wgsl.js.map +1 -1
- package/dist/types.d.ts +32 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clip box (section / crop box) uniform packing. The box is an axis-aligned
|
|
3
|
+
* world-space AABB written into the shared per-draw uniform as two vec4 lanes
|
|
4
|
+
* (min.xyz + pad, max.xyz + pad); `main.wgsl` discards fragments outside it when
|
|
5
|
+
* the enabled flag bit is set. Kept as a tiny pure helper so the three write
|
|
6
|
+
* sites (pipeline.updateUniforms + the renderer's per-mesh and instanced
|
|
7
|
+
* template loops) stay in sync and the packing is unit-testable.
|
|
8
|
+
*/
|
|
9
|
+
import type { ClipBox } from './types.js';
|
|
10
|
+
/** flags.y bit marking the clip box active. Must match `main.wgsl` (`& 4u`). */
|
|
11
|
+
export declare const CLIPBOX_ENABLED_BIT = 4;
|
|
12
|
+
/**
|
|
13
|
+
* Write `box` into `out` at float lanes [`minFloatOffset` .. +3] (min.xyz + pad)
|
|
14
|
+
* and [`minFloatOffset + 4` .. +3] (max.xyz + pad). Returns the flags.y bit to OR
|
|
15
|
+
* in: {@link CLIPBOX_ENABLED_BIT} when the box is active, else 0. A disabled or
|
|
16
|
+
* absent box zeroes the region so stale data from a previous draw can't clip.
|
|
17
|
+
*/
|
|
18
|
+
export declare function packClipBox(box: ClipBox | null | undefined, out: Float32Array, minFloatOffset: number): number;
|
|
19
|
+
//# sourceMappingURL=clip-box.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clip-box.d.ts","sourceRoot":"","sources":["../src/clip-box.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAC/B,GAAG,EAAE,YAAY,EACjB,cAAc,EAAE,MAAM,GACrB,MAAM,CAsBR"}
|
package/dist/clip-box.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
/** flags.y bit marking the clip box active. Must match `main.wgsl` (`& 4u`). */
|
|
5
|
+
export const CLIPBOX_ENABLED_BIT = 4;
|
|
6
|
+
/**
|
|
7
|
+
* Write `box` into `out` at float lanes [`minFloatOffset` .. +3] (min.xyz + pad)
|
|
8
|
+
* and [`minFloatOffset + 4` .. +3] (max.xyz + pad). Returns the flags.y bit to OR
|
|
9
|
+
* in: {@link CLIPBOX_ENABLED_BIT} when the box is active, else 0. A disabled or
|
|
10
|
+
* absent box zeroes the region so stale data from a previous draw can't clip.
|
|
11
|
+
*/
|
|
12
|
+
export function packClipBox(box, out, minFloatOffset) {
|
|
13
|
+
const maxOff = minFloatOffset + 4;
|
|
14
|
+
if (box?.enabled) {
|
|
15
|
+
out[minFloatOffset] = box.min[0];
|
|
16
|
+
out[minFloatOffset + 1] = box.min[1];
|
|
17
|
+
out[minFloatOffset + 2] = box.min[2];
|
|
18
|
+
out[minFloatOffset + 3] = 0;
|
|
19
|
+
out[maxOff] = box.max[0];
|
|
20
|
+
out[maxOff + 1] = box.max[1];
|
|
21
|
+
out[maxOff + 2] = box.max[2];
|
|
22
|
+
out[maxOff + 3] = 0;
|
|
23
|
+
return CLIPBOX_ENABLED_BIT;
|
|
24
|
+
}
|
|
25
|
+
out[minFloatOffset] = 0;
|
|
26
|
+
out[minFloatOffset + 1] = 0;
|
|
27
|
+
out[minFloatOffset + 2] = 0;
|
|
28
|
+
out[minFloatOffset + 3] = 0;
|
|
29
|
+
out[maxOff] = 0;
|
|
30
|
+
out[maxOff + 1] = 0;
|
|
31
|
+
out[maxOff + 2] = 0;
|
|
32
|
+
out[maxOff + 3] = 0;
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=clip-box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clip-box.js","sourceRoot":"","sources":["../src/clip-box.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAY/D,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,GAA+B,EAC/B,GAAiB,EACjB,cAAsB;IAEtB,MAAM,MAAM,GAAG,cAAc,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACxB,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -66,7 +66,7 @@ export declare const CAMERA_CONSTANTS: {
|
|
|
66
66
|
};
|
|
67
67
|
export declare const PIPELINE_CONSTANTS: {
|
|
68
68
|
/** Total uniform buffer size */
|
|
69
|
-
readonly UNIFORM_BUFFER_SIZE:
|
|
69
|
+
readonly UNIFORM_BUFFER_SIZE: 224;
|
|
70
70
|
/** Byte offset for flags in uniform buffer */
|
|
71
71
|
readonly FLAGS_BYTE_OFFSET: 176;
|
|
72
72
|
/** Default MSAA sample count */
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,eAAO,MAAM,gBAAgB;IAE3B,0DAA0D;;IAE1D,6CAA6C;;IAI7C,kCAAkC;;IAElC,4CAA4C;;IAE5C,2BAA2B;;IAE3B,uBAAuB;;IAEvB,mCAAmC;;IAEnC,sDAAsD;;;;;;;;;;;;;;;;;;;;IAYtD,iDAAiD;;IAEjD,2CAA2C;;IAE3C,uCAAuC;;IAWvC,2EAA2E;;IAE3E,8EAA8E;;IAE9E,2CAA2C;;IAI3C,uCAAuC;;IAEvC,qCAAqC;;IAIrC,0CAA0C;;IAE1C,6CAA6C;;IAE7C,yCAAyC;;;;;;;CAKjC,CAAC;AAMX,eAAO,MAAM,kBAAkB;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,eAAO,MAAM,gBAAgB;IAE3B,0DAA0D;;IAE1D,6CAA6C;;IAI7C,kCAAkC;;IAElC,4CAA4C;;IAE5C,2BAA2B;;IAE3B,uBAAuB;;IAEvB,mCAAmC;;IAEnC,sDAAsD;;;;;;;;;;;;;;;;;;;;IAYtD,iDAAiD;;IAEjD,2CAA2C;;IAE3C,uCAAuC;;IAWvC,2EAA2E;;IAE3E,8EAA8E;;IAE9E,2CAA2C;;IAI3C,uCAAuC;;IAEvC,qCAAqC;;IAIrC,0CAA0C;;IAE1C,6CAA6C;;IAE7C,yCAAyC;;;;;;;CAKjC,CAAC;AAMX,eAAO,MAAM,kBAAkB;IAI7B,gCAAgC;;IAEhC,8CAA8C;;IAI9C,gCAAgC;;IAIhC;;;;;;OAMG;;CAEK,CAAC;AAMX,eAAO,MAAM,eAAe;IAC1B,oFAAoF;;IAEpF,yEAAyE;;IAEzE,oFAAoF;;IAEpF,+BAA+B;;CAEvB,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -73,9 +73,11 @@ export const CAMERA_CONSTANTS = {
|
|
|
73
73
|
// Pipeline Constants
|
|
74
74
|
// ============================================================================
|
|
75
75
|
export const PIPELINE_CONSTANTS = {
|
|
76
|
-
// Buffer layout (bytes) - must match WGSL shader expectations
|
|
76
|
+
// Buffer layout (bytes) - must match WGSL shader expectations.
|
|
77
|
+
// 56 floats: viewProj(16)+model(16)+baseColor(4)+metallicRoughness/pad(4)+
|
|
78
|
+
// sectionPlane(4)+flags(4)+clipBoxMin(4)+clipBoxMax(4) = 224 bytes.
|
|
77
79
|
/** Total uniform buffer size */
|
|
78
|
-
UNIFORM_BUFFER_SIZE:
|
|
80
|
+
UNIFORM_BUFFER_SIZE: 224,
|
|
79
81
|
/** Byte offset for flags in uniform buffer */
|
|
80
82
|
FLAGS_BYTE_OFFSET: 176,
|
|
81
83
|
// MSAA
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,iBAAiB;IACjB,0DAA0D;IAC1D,cAAc,EAAE,IAAI;IACpB,6CAA6C;IAC7C,sBAAsB,EAAE,KAAK;IAE7B,kBAAkB;IAClB,kCAAkC;IAClC,kBAAkB,EAAE,GAAG;IACvB,4CAA4C;IAC5C,iBAAiB,EAAE,IAAI;IACvB,2BAA2B;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,uBAAuB;IACvB,gBAAgB,EAAE,KAAK;IACvB,mCAAmC;IACnC,cAAc,EAAE,GAAG;IACnB,sDAAsD;IACtD,wBAAwB,EAAE,OAAO;IAEjC,uBAAuB;IACvB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAW;IACnD,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW;IAC7C,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW;IACzC,WAAW,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa;IACvC,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,MAAM;IAEnB,kBAAkB;IAClB,iDAAiD;IACjD,kBAAkB,EAAE,KAAK;IACzB,2CAA2C;IAC3C,oBAAoB,EAAE,KAAK;IAC3B,uCAAuC;IACvC,uBAAuB,EAAE,EAAE;IAE3B,mDAAmD;IACnD,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,gEAAgE;IAChE,EAAE;IACF,+DAA+D;IAC/D,2EAA2E;IAC3E,OAAO,EAAE,IAAI;IACb,8EAA8E;IAC9E,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI;IACvB,2CAA2C;IAC3C,cAAc,EAAE,IAAI;IAEpB,YAAY;IACZ,uCAAuC;IACvC,0BAA0B,EAAE,GAAG;IAC/B,qCAAqC;IACrC,wBAAwB,EAAE,GAAG;IAE7B,gBAAgB;IAChB,0CAA0C;IAC1C,uBAAuB,EAAE,GAAG;IAC5B,6CAA6C;IAC7C,wBAAwB,EAAE,GAAG;IAC7B,yCAAyC;IACzC,mBAAmB,EAAE,GAAG;IAExB,yBAAyB;IACzB,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAW;CACtD,CAAC;AAEX,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,iBAAiB;IACjB,0DAA0D;IAC1D,cAAc,EAAE,IAAI;IACpB,6CAA6C;IAC7C,sBAAsB,EAAE,KAAK;IAE7B,kBAAkB;IAClB,kCAAkC;IAClC,kBAAkB,EAAE,GAAG;IACvB,4CAA4C;IAC5C,iBAAiB,EAAE,IAAI;IACvB,2BAA2B;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,uBAAuB;IACvB,gBAAgB,EAAE,KAAK;IACvB,mCAAmC;IACnC,cAAc,EAAE,GAAG;IACnB,sDAAsD;IACtD,wBAAwB,EAAE,OAAO;IAEjC,uBAAuB;IACvB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAW;IACnD,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW;IAC7C,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW;IACzC,WAAW,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa;IACvC,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,MAAM;IAEnB,kBAAkB;IAClB,iDAAiD;IACjD,kBAAkB,EAAE,KAAK;IACzB,2CAA2C;IAC3C,oBAAoB,EAAE,KAAK;IAC3B,uCAAuC;IACvC,uBAAuB,EAAE,EAAE;IAE3B,mDAAmD;IACnD,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,gEAAgE;IAChE,EAAE;IACF,+DAA+D;IAC/D,2EAA2E;IAC3E,OAAO,EAAE,IAAI;IACb,8EAA8E;IAC9E,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI;IACvB,2CAA2C;IAC3C,cAAc,EAAE,IAAI;IAEpB,YAAY;IACZ,uCAAuC;IACvC,0BAA0B,EAAE,GAAG;IAC/B,qCAAqC;IACrC,wBAAwB,EAAE,GAAG;IAE7B,gBAAgB;IAChB,0CAA0C;IAC1C,uBAAuB,EAAE,GAAG;IAC5B,6CAA6C;IAC7C,wBAAwB,EAAE,GAAG;IAC7B,yCAAyC;IACzC,mBAAmB,EAAE,GAAG;IAExB,yBAAyB;IACzB,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAW;CACtD,CAAC;AAEX,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,+DAA+D;IAC/D,2EAA2E;IAC3E,oEAAoE;IACpE,gCAAgC;IAChC,mBAAmB,EAAE,GAAG;IACxB,8CAA8C;IAC9C,iBAAiB,EAAE,GAAG;IAEtB,OAAO;IACP,gCAAgC;IAChC,oBAAoB,EAAE,CAAC;IAEvB,eAAe;IACf;;;;;;OAMG;IACH,YAAY,EAAE,sBAA+B;CACrC,CAAC;AAEX,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,oFAAoF;IACpF,yBAAyB,EAAE,GAAG;IAC9B,yEAAyE;IACzE,wBAAwB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IAC3C,oFAAoF;IACpF,gBAAgB,EAAE,CAAC,GAAG,CAAC;IACvB,+BAA+B;IAC/B,eAAe,EAAE,CAAC;CACV,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -92,6 +92,8 @@ export declare class Renderer {
|
|
|
92
92
|
private _loggedSectionBounds;
|
|
93
93
|
private readonly uniformScratch;
|
|
94
94
|
private readonly uniformScratchU32;
|
|
95
|
+
private _activePickSection;
|
|
96
|
+
private _activePickClipBox;
|
|
95
97
|
constructor(canvas: HTMLCanvasElement);
|
|
96
98
|
/**
|
|
97
99
|
* Initialize renderer
|
|
@@ -296,6 +298,11 @@ export declare class Renderer {
|
|
|
296
298
|
* These are scaled internally to match the actual canvas pixel dimensions.
|
|
297
299
|
*/
|
|
298
300
|
pick(x: number, y: number, options?: PickOptions): Promise<PickResult | null>;
|
|
301
|
+
/**
|
|
302
|
+
* Section plane + clip box from the last render(), so the picker discards the
|
|
303
|
+
* same fragments and clipped-away geometry can't be selected.
|
|
304
|
+
*/
|
|
305
|
+
private activePickClip;
|
|
299
306
|
/**
|
|
300
307
|
* GPU-based rectangle pick. Drag-select returns the set of
|
|
301
308
|
* `expressId`s touched by any pixel inside `[x0,y0]..[x1,y1]`
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -44,6 +44,7 @@ import { Picker } from './picker.js';
|
|
|
44
44
|
import { MathUtils } from './math.js';
|
|
45
45
|
import { FrustumUtils } from '@ifc-lite/spatial';
|
|
46
46
|
import { SectionPlaneRenderer } from './section-plane.js';
|
|
47
|
+
import { packClipBox } from './clip-box.js';
|
|
47
48
|
import { Section2DOverlayRenderer } from './section-2d-overlay.js';
|
|
48
49
|
import { SymbolicFillPipeline, SymbolicTextPipeline, } from './symbolic-overlay-pipelines.js';
|
|
49
50
|
import { DEFAULT_CAP_STYLE, HATCH_PATTERN_IDS } from './section-cap-style.js';
|
|
@@ -145,9 +146,15 @@ export class Renderer {
|
|
|
145
146
|
// users can confirm the slider is operating on the intended range.
|
|
146
147
|
_loggedSectionBounds = false;
|
|
147
148
|
// Pooled per-frame buffers to avoid GC pressure from per-batch Float32Array allocations
|
|
148
|
-
// A single
|
|
149
|
-
|
|
149
|
+
// A single 224-byte uniform buffer (56 floats) is reused for all batches/meshes within a frame
|
|
150
|
+
// (48 floats viewProj…flags + 8 floats clipBoxMin/clipBoxMax)
|
|
151
|
+
uniformScratch = new Float32Array(56);
|
|
150
152
|
uniformScratchU32 = new Uint32Array(this.uniformScratch.buffer, 176, 4);
|
|
153
|
+
// What the last render() actually clipped, so the GPU picker can mirror it and
|
|
154
|
+
// section/crop-clipped geometry stays unpickable, not just invisible. Updated
|
|
155
|
+
// every render; read by pick()/pickRect(). null = nothing clipped that frame.
|
|
156
|
+
_activePickSection = null;
|
|
157
|
+
_activePickClipBox = null;
|
|
151
158
|
constructor(canvas) {
|
|
152
159
|
this.canvas = canvas;
|
|
153
160
|
this.device = new WebGPUDevice();
|
|
@@ -1238,6 +1245,26 @@ export class Renderer {
|
|
|
1238
1245
|
}
|
|
1239
1246
|
}
|
|
1240
1247
|
}
|
|
1248
|
+
// Stash what we actually clipped this frame so the GPU picker mirrors
|
|
1249
|
+
// it (section/crop-clipped geometry must be unpickable, not just hidden).
|
|
1250
|
+
// `flipped` matches how the mesh flags pack it below. terrainClipY feeds
|
|
1251
|
+
// sectionPlaneData too, so it's covered without special-casing.
|
|
1252
|
+
// Snapshot (don't alias the caller's arrays/object) so an in-place
|
|
1253
|
+
// mutation after render() can't make pick() mirror a different cut.
|
|
1254
|
+
this._activePickSection = sectionPlaneData?.enabled
|
|
1255
|
+
? {
|
|
1256
|
+
normal: [...sectionPlaneData.normal],
|
|
1257
|
+
distance: sectionPlaneData.distance,
|
|
1258
|
+
flipped: !!options.sectionPlane?.flipped,
|
|
1259
|
+
}
|
|
1260
|
+
: null;
|
|
1261
|
+
this._activePickClipBox = options.clipBox?.enabled
|
|
1262
|
+
? {
|
|
1263
|
+
enabled: true,
|
|
1264
|
+
min: [...options.clipBox.min],
|
|
1265
|
+
max: [...options.clipBox.max],
|
|
1266
|
+
}
|
|
1267
|
+
: null;
|
|
1241
1268
|
// Reuse pooled scratch buffer for per-mesh uniform writes
|
|
1242
1269
|
const meshBuf = this.uniformScratch;
|
|
1243
1270
|
const meshFlags = this.uniformScratchU32;
|
|
@@ -1273,12 +1300,15 @@ export class Renderer {
|
|
|
1273
1300
|
meshBuf[42] = 0;
|
|
1274
1301
|
meshBuf[43] = 0;
|
|
1275
1302
|
}
|
|
1303
|
+
// Clip box (offset 48-55: min.xyz + pad, max.xyz + pad) → enable bit
|
|
1304
|
+
const clipBit = packClipBox(options.clipBox, meshBuf, 48);
|
|
1276
1305
|
// Flags (offset 44-47 as u32)
|
|
1277
|
-
// flags.y packs: bit 0 = sectionEnabled, bit 1 = flipped
|
|
1306
|
+
// flags.y packs: bit 0 = sectionEnabled, bit 1 = flipped, bit 2 = clipBoxEnabled
|
|
1278
1307
|
meshFlags[0] = isSelected ? 1 : 0;
|
|
1279
1308
|
meshFlags[1] =
|
|
1280
1309
|
(sectionPlaneData?.enabled ? 1 : 0) |
|
|
1281
|
-
(options.sectionPlane?.flipped ? 2 : 0)
|
|
1310
|
+
(options.sectionPlane?.flipped ? 2 : 0) |
|
|
1311
|
+
clipBit;
|
|
1282
1312
|
meshFlags[2] = edgeEnabledU32;
|
|
1283
1313
|
meshFlags[3] = edgeIntensityMilliU32;
|
|
1284
1314
|
device.queue.writeBuffer(mesh.uniformBuffer, 0, meshBuf);
|
|
@@ -1547,16 +1577,19 @@ export class Renderer {
|
|
|
1547
1577
|
tpl[42] = 0;
|
|
1548
1578
|
tpl[43] = 0;
|
|
1549
1579
|
}
|
|
1580
|
+
// Clip box (offset 48-55: min.xyz + pad, max.xyz + pad) → enable bit
|
|
1581
|
+
const tplClipBit = packClipBox(options.clipBox, tpl, 48);
|
|
1550
1582
|
// flags layout (main shader):
|
|
1551
1583
|
// x = isSelected (0/1)
|
|
1552
|
-
// y =
|
|
1553
|
-
// bit 0 =
|
|
1584
|
+
// y = section/clip bitfield:
|
|
1585
|
+
// bit 0 = sectionEnabled, bit 1 = flipped, bit 2 = clipBoxEnabled
|
|
1554
1586
|
// z = edgeEnabled (0/1)
|
|
1555
1587
|
// w = edgeIntensityMilli
|
|
1556
1588
|
tplFlags[0] = 0;
|
|
1557
1589
|
tplFlags[1] =
|
|
1558
1590
|
(sectionPlaneData?.enabled ? 1 : 0) |
|
|
1559
|
-
(options.sectionPlane?.flipped ? 2 : 0)
|
|
1591
|
+
(options.sectionPlane?.flipped ? 2 : 0) |
|
|
1592
|
+
tplClipBit;
|
|
1560
1593
|
tplFlags[2] = edgeEnabledU32;
|
|
1561
1594
|
tplFlags[3] = edgeIntensityMilliU32;
|
|
1562
1595
|
// Helper function to render a batch — patches color into the shared template
|
|
@@ -1585,25 +1618,19 @@ export class Renderer {
|
|
|
1585
1618
|
pass.setIndexBuffer(batch.indexBuffer, 'uint32');
|
|
1586
1619
|
pass.drawIndexed(batch.indexCount);
|
|
1587
1620
|
};
|
|
1588
|
-
// Render opaque batches
|
|
1589
|
-
// slices
|
|
1590
|
-
//
|
|
1591
|
-
//
|
|
1592
|
-
//
|
|
1621
|
+
// Render opaque batches with the opaque (double-sided) pipeline.
|
|
1622
|
+
// Material-layer slices render double-sided like all other IFC
|
|
1623
|
+
// geometry. They USED to be backface-culled to hide the coincident
|
|
1624
|
+
// interface caps of the old CLOSED per-layer slabs; since #1311 the
|
|
1625
|
+
// slabs are open bands whose UNION is the wall's watertight outer
|
|
1626
|
+
// skin (no caps ⇒ no coincident faces to z-fight). IFC winding is
|
|
1627
|
+
// not reliably outward, so culling those bands dropped inward-wound
|
|
1628
|
+
// faces and punched holes — the wall read HOLLOW even uncut.
|
|
1629
|
+
// Double-siding draws every face of the watertight skin ⇒ solid.
|
|
1593
1630
|
pass.setPipeline(this.pipeline.getPipeline());
|
|
1594
1631
|
for (const batch of opaqueBatches) {
|
|
1595
|
-
if (batch.isLayer)
|
|
1596
|
-
continue;
|
|
1597
1632
|
renderBatch(batch);
|
|
1598
1633
|
}
|
|
1599
|
-
const layerOpaqueBatches = opaqueBatches.filter((b) => b.isLayer);
|
|
1600
|
-
if (layerOpaqueBatches.length > 0) {
|
|
1601
|
-
pass.setPipeline(this.pipeline.getCulledPipeline());
|
|
1602
|
-
for (const batch of layerOpaqueBatches) {
|
|
1603
|
-
renderBatch(batch);
|
|
1604
|
-
}
|
|
1605
|
-
pass.setPipeline(this.pipeline.getPipeline());
|
|
1606
|
-
}
|
|
1607
1634
|
// GPU-instancing pass — repeated geometry collated by the producer
|
|
1608
1635
|
// into one template + a per-occurrence instance buffer (mat4 +
|
|
1609
1636
|
// entityId + rgba), drawn with the instanced pipeline as
|
|
@@ -1703,14 +1730,12 @@ export class Renderer {
|
|
|
1703
1730
|
if (isTransparent) {
|
|
1704
1731
|
pass.setPipeline(this.pipeline.getTransparentPipeline());
|
|
1705
1732
|
}
|
|
1706
|
-
else if (subBatch.isLayer) {
|
|
1707
|
-
// Material-layer slice sub-batch: backface-cull so
|
|
1708
|
-
// the thin coincident caps don't z-fight (see the
|
|
1709
|
-
// full-batch path above).
|
|
1710
|
-
pass.setPipeline(this.pipeline.getCulledPipeline());
|
|
1711
|
-
opaqueSubBatches.push(subBatch);
|
|
1712
|
-
}
|
|
1713
1733
|
else {
|
|
1734
|
+
// Opaque (incl. material-layer slices): double-sided.
|
|
1735
|
+
// Layer slices are NOT culled — since #1311 they are
|
|
1736
|
+
// open watertight-skin bands with unreliable winding,
|
|
1737
|
+
// so culling punched holes (wall read hollow). See the
|
|
1738
|
+
// full-batch path above.
|
|
1714
1739
|
pass.setPipeline(this.pipeline.getPipeline());
|
|
1715
1740
|
opaqueSubBatches.push(subBatch);
|
|
1716
1741
|
}
|
|
@@ -1856,7 +1881,8 @@ export class Renderer {
|
|
|
1856
1881
|
tplFlags[0] = 0;
|
|
1857
1882
|
tplFlags[1] =
|
|
1858
1883
|
(sectionPlaneData?.enabled ? 1 : 0) |
|
|
1859
|
-
(options.sectionPlane?.flipped ? 2 : 0)
|
|
1884
|
+
(options.sectionPlane?.flipped ? 2 : 0) |
|
|
1885
|
+
tplClipBit;
|
|
1860
1886
|
tplFlags[2] = edgeEnabledU32;
|
|
1861
1887
|
tplFlags[3] = edgeIntensityMilliU32;
|
|
1862
1888
|
device.queue.writeBuffer(mesh.uniformBuffer, 0, tpl);
|
|
@@ -1914,7 +1940,8 @@ export class Renderer {
|
|
|
1914
1940
|
tplFlags[0] = 1; // isSelected
|
|
1915
1941
|
tplFlags[1] =
|
|
1916
1942
|
(sectionPlaneData?.enabled ? 1 : 0) |
|
|
1917
|
-
(options.sectionPlane?.flipped ? 2 : 0)
|
|
1943
|
+
(options.sectionPlane?.flipped ? 2 : 0) |
|
|
1944
|
+
tplClipBit;
|
|
1918
1945
|
tplFlags[2] = edgeEnabledU32;
|
|
1919
1946
|
tplFlags[3] = edgeIntensityMilliU32;
|
|
1920
1947
|
device.queue.writeBuffer(mesh.uniformBuffer, 0, tpl);
|
|
@@ -2168,7 +2195,14 @@ export class Renderer {
|
|
|
2168
2195
|
* These are scaled internally to match the actual canvas pixel dimensions.
|
|
2169
2196
|
*/
|
|
2170
2197
|
async pick(x, y, options) {
|
|
2171
|
-
return this.pickingManager.pick(x, y, options);
|
|
2198
|
+
return this.pickingManager.pick(x, y, options, this.activePickClip());
|
|
2199
|
+
}
|
|
2200
|
+
/**
|
|
2201
|
+
* Section plane + clip box from the last render(), so the picker discards the
|
|
2202
|
+
* same fragments and clipped-away geometry can't be selected.
|
|
2203
|
+
*/
|
|
2204
|
+
activePickClip() {
|
|
2205
|
+
return { sectionPlane: this._activePickSection, clipBox: this._activePickClipBox };
|
|
2172
2206
|
}
|
|
2173
2207
|
/**
|
|
2174
2208
|
* GPU-based rectangle pick. Drag-select returns the set of
|
|
@@ -2180,7 +2214,7 @@ export class Renderer {
|
|
|
2180
2214
|
* limitation notes.
|
|
2181
2215
|
*/
|
|
2182
2216
|
async pickRect(x0, y0, x1, y1, options) {
|
|
2183
|
-
return this.pickingManager.pickRect(x0, y0, x1, y1, options);
|
|
2217
|
+
return this.pickingManager.pickRect(x0, y0, x1, y1, options, this.activePickClip());
|
|
2184
2218
|
}
|
|
2185
2219
|
/**
|
|
2186
2220
|
* Raycast into the scene to get precise 3D intersection point
|