@ifc-lite/renderer 6.4.0 → 6.5.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/camera-animation.d.ts +7 -1
- package/dist/camera-animation.d.ts.map +1 -1
- package/dist/camera-animation.js +19 -3
- package/dist/camera-animation.js.map +1 -1
- package/dist/camera-fit-geometry.d.ts +47 -0
- package/dist/camera-fit-geometry.d.ts.map +1 -0
- package/dist/camera-fit-geometry.js +44 -0
- package/dist/camera-fit-geometry.js.map +1 -0
- package/dist/camera-framing.d.ts +27 -21
- package/dist/camera-framing.d.ts.map +1 -1
- package/dist/camera-framing.js +47 -44
- package/dist/camera-framing.js.map +1 -1
- package/dist/camera-preset-view.d.ts +18 -0
- package/dist/camera-preset-view.d.ts.map +1 -1
- package/dist/camera-preset-view.js +42 -0
- package/dist/camera-preset-view.js.map +1 -1
- package/dist/camera.d.ts +14 -1
- package/dist/camera.d.ts.map +1 -1
- package/dist/camera.js +14 -2
- package/dist/camera.js.map +1 -1
- package/dist/clip-types.d.ts +35 -0
- package/dist/clip-types.d.ts.map +1 -0
- package/dist/clip-types.js +5 -0
- package/dist/clip-types.js.map +1 -0
- package/dist/device-recovery.js +11 -1
- package/dist/device-recovery.js.map +1 -1
- package/dist/device.d.ts +4 -4
- package/dist/device.js +9 -9
- package/dist/device.js.map +1 -1
- package/dist/extra-clip-planes.d.ts +57 -0
- package/dist/extra-clip-planes.d.ts.map +1 -0
- package/dist/extra-clip-planes.js +161 -0
- package/dist/extra-clip-planes.js.map +1 -0
- package/dist/gpu-counters.d.ts +4 -2
- package/dist/gpu-counters.d.ts.map +1 -1
- package/dist/gpu-counters.js +9 -6
- package/dist/gpu-counters.js.map +1 -1
- package/dist/index.d.ts +18 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -90
- package/dist/index.js.map +1 -1
- package/dist/mesh-rte-uniforms.d.ts +7 -3
- package/dist/mesh-rte-uniforms.d.ts.map +1 -1
- package/dist/mesh-rte-uniforms.js +16 -2
- package/dist/mesh-rte-uniforms.js.map +1 -1
- package/dist/opaque-visibility-commands.d.ts +3 -0
- package/dist/opaque-visibility-commands.d.ts.map +1 -0
- package/dist/opaque-visibility-commands.js +11 -0
- package/dist/opaque-visibility-commands.js.map +1 -0
- package/dist/opaque-visibility-pass.d.ts +37 -0
- package/dist/opaque-visibility-pass.d.ts.map +1 -0
- package/dist/opaque-visibility-pass.js +230 -0
- package/dist/opaque-visibility-pass.js.map +1 -0
- package/dist/pick-types.d.ts +5 -1
- package/dist/pick-types.d.ts.map +1 -1
- package/dist/picker-rte-uniforms.d.ts +1 -1
- package/dist/picker-rte-uniforms.d.ts.map +1 -1
- package/dist/picker-rte-uniforms.js +4 -2
- package/dist/picker-rte-uniforms.js.map +1 -1
- package/dist/picker-shaders.d.ts +5 -0
- package/dist/picker-shaders.d.ts.map +1 -0
- package/dist/picker-shaders.js +157 -0
- package/dist/picker-shaders.js.map +1 -0
- package/dist/picker.d.ts +3 -0
- package/dist/picker.d.ts.map +1 -1
- package/dist/picker.js +43 -133
- package/dist/picker.js.map +1 -1
- package/dist/pipeline.d.ts +5 -9
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +34 -29
- package/dist/pipeline.js.map +1 -1
- package/dist/point-picker.d.ts +2 -1
- package/dist/point-picker.d.ts.map +1 -1
- package/dist/point-picker.js +12 -4
- package/dist/point-picker.js.map +1 -1
- package/dist/pointcloud/point-cloud-renderer.d.ts +4 -4
- package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-renderer.js +1 -1
- package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
- package/dist/pointcloud/point-cloud-uniforms.d.ts +3 -1
- package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-uniforms.js +3 -1
- package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
- package/dist/pointcloud/point-pipeline.d.ts +3 -1
- package/dist/pointcloud/point-pipeline.d.ts.map +1 -1
- package/dist/pointcloud/point-pipeline.js +4 -1
- package/dist/pointcloud/point-pipeline.js.map +1 -1
- package/dist/pointcloud/point-shader.wgsl.d.ts +1 -1
- package/dist/pointcloud/point-shader.wgsl.d.ts.map +1 -1
- package/dist/pointcloud/point-shader.wgsl.js +8 -0
- package/dist/pointcloud/point-shader.wgsl.js.map +1 -1
- package/dist/post-pass-chain.d.ts +1 -0
- package/dist/post-pass-chain.d.ts.map +1 -1
- package/dist/post-pass-chain.js +1 -0
- package/dist/post-pass-chain.js.map +1 -1
- package/dist/quantized-lifecycle.d.ts +6 -0
- package/dist/quantized-lifecycle.d.ts.map +1 -0
- package/dist/quantized-lifecycle.js +19 -0
- package/dist/quantized-lifecycle.js.map +1 -0
- package/dist/raycast-engine.d.ts.map +1 -1
- package/dist/raycast-engine.js +3 -2
- package/dist/raycast-engine.js.map +1 -1
- package/dist/render-section-draw.d.ts +5 -0
- package/dist/render-section-draw.d.ts.map +1 -1
- package/dist/render-section-draw.js +59 -25
- package/dist/render-section-draw.js.map +1 -1
- package/dist/render-section-plane.d.ts +5 -33
- package/dist/render-section-plane.d.ts.map +1 -1
- package/dist/render-section-plane.js +8 -175
- package/dist/render-section-plane.js.map +1 -1
- package/dist/renderer-frame-timing.d.ts +1 -0
- package/dist/renderer-frame-timing.d.ts.map +1 -1
- package/dist/renderer-frame-timing.js +8 -1
- package/dist/renderer-frame-timing.js.map +1 -1
- package/dist/renderer-overlays.d.ts +8 -2
- package/dist/renderer-overlays.d.ts.map +1 -1
- package/dist/renderer-overlays.js +22 -45
- package/dist/renderer-overlays.js.map +1 -1
- package/dist/scene-raycaster.d.ts +1 -1
- package/dist/scene-raycaster.d.ts.map +1 -1
- package/dist/scene-raycaster.js +18 -44
- package/dist/scene-raycaster.js.map +1 -1
- package/dist/scene-rect-select.d.ts.map +1 -1
- package/dist/scene-rect-select.js +2 -1
- package/dist/scene-rect-select.js.map +1 -1
- package/dist/section-2d-lift.d.ts +25 -0
- package/dist/section-2d-lift.d.ts.map +1 -1
- package/dist/section-2d-lift.js +35 -0
- package/dist/section-2d-lift.js.map +1 -1
- package/dist/section-2d-overlay.d.ts +41 -12
- package/dist/section-2d-overlay.d.ts.map +1 -1
- package/dist/section-2d-overlay.js +121 -179
- package/dist/section-2d-overlay.js.map +1 -1
- package/dist/section-2d-types.d.ts +2 -0
- package/dist/section-2d-types.d.ts.map +1 -1
- package/dist/section-cap-geometry.d.ts +33 -0
- package/dist/section-cap-geometry.d.ts.map +1 -0
- package/dist/section-cap-geometry.js +137 -0
- package/dist/section-cap-geometry.js.map +1 -0
- package/dist/section-cap-set.d.ts +60 -0
- package/dist/section-cap-set.d.ts.map +1 -0
- package/dist/section-cap-set.js +212 -0
- package/dist/section-cap-set.js.map +1 -0
- package/dist/section-cap-style.d.ts +3 -0
- package/dist/section-cap-style.d.ts.map +1 -1
- package/dist/section-cap-style.js.map +1 -1
- package/dist/section-cap-upload.d.ts +16 -0
- package/dist/section-cap-upload.d.ts.map +1 -0
- package/dist/section-cap-upload.js +52 -0
- package/dist/section-cap-upload.js.map +1 -0
- package/dist/section-exclusions.d.ts +26 -0
- package/dist/section-exclusions.d.ts.map +1 -0
- package/dist/section-exclusions.js +95 -0
- package/dist/section-exclusions.js.map +1 -0
- package/dist/section-plane-frames.d.ts +48 -0
- package/dist/section-plane-frames.d.ts.map +1 -0
- package/dist/section-plane-frames.js +49 -0
- package/dist/section-plane-frames.js.map +1 -0
- package/dist/section-plane-resolve.d.ts +63 -0
- package/dist/section-plane-resolve.d.ts.map +1 -0
- package/dist/section-plane-resolve.js +200 -0
- package/dist/section-plane-resolve.js.map +1 -0
- package/dist/selection-mask-pass.d.ts +2 -0
- package/dist/selection-mask-pass.d.ts.map +1 -1
- package/dist/selection-mask-pass.js +16 -4
- package/dist/selection-mask-pass.js.map +1 -1
- package/dist/selection-mask-pipelines.d.ts +5 -1
- package/dist/selection-mask-pipelines.d.ts.map +1 -1
- package/dist/selection-mask-pipelines.js +27 -3
- package/dist/selection-mask-pipelines.js.map +1 -1
- package/dist/selection-outline-frame.d.ts +3 -1
- package/dist/selection-outline-frame.d.ts.map +1 -1
- package/dist/selection-outline-frame.js +2 -1
- package/dist/selection-outline-frame.js.map +1 -1
- package/dist/shaders/depth-nudge.wgsl.d.ts +2 -2
- package/dist/shaders/depth-nudge.wgsl.d.ts.map +1 -1
- package/dist/shaders/depth-nudge.wgsl.js +1 -18
- package/dist/shaders/depth-nudge.wgsl.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 +9 -1
- package/dist/shaders/main.wgsl.js.map +1 -1
- package/dist/shaders/mesh-uniforms.wgsl.d.ts +1 -1
- package/dist/shaders/mesh-uniforms.wgsl.d.ts.map +1 -1
- package/dist/shaders/mesh-uniforms.wgsl.js +11 -3
- package/dist/shaders/mesh-uniforms.wgsl.js.map +1 -1
- package/dist/shaders/opaque-visibility.wgsl.d.ts +11 -0
- package/dist/shaders/opaque-visibility.wgsl.d.ts.map +1 -0
- package/dist/shaders/opaque-visibility.wgsl.js +55 -0
- package/dist/shaders/opaque-visibility.wgsl.js.map +1 -0
- package/dist/shaders/section-2d-overlay.wgsl.d.ts +11 -5
- package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
- package/dist/shaders/section-2d-overlay.wgsl.js +31 -5
- package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
- package/dist/shaders/selection-mask.wgsl.d.ts +1 -1
- package/dist/shaders/selection-mask.wgsl.d.ts.map +1 -1
- package/dist/shaders/selection-mask.wgsl.js +10 -4
- package/dist/shaders/selection-mask.wgsl.js.map +1 -1
- package/dist/shaders/shadow.wgsl.d.ts +1 -1
- package/dist/shaders/shadow.wgsl.d.ts.map +1 -1
- package/dist/shaders/shadow.wgsl.js +22 -7
- package/dist/shaders/shadow.wgsl.js.map +1 -1
- package/dist/shaders/symbolic-overlay.wgsl.d.ts +1 -1
- package/dist/shaders/symbolic-overlay.wgsl.d.ts.map +1 -1
- package/dist/shadow-occluders.d.ts.map +1 -1
- package/dist/shadow-occluders.js +4 -0
- package/dist/shadow-occluders.js.map +1 -1
- package/dist/shadow-pass.d.ts +2 -5
- package/dist/shadow-pass.d.ts.map +1 -1
- package/dist/shadow-pass.js +17 -17
- package/dist/shadow-pass.js.map +1 -1
- package/dist/shadow-types.d.ts +7 -0
- package/dist/shadow-types.d.ts.map +1 -1
- package/dist/shadow-types.js.map +1 -1
- package/dist/source-curve-clipping.d.ts.map +1 -1
- package/dist/source-curve-clipping.js +7 -1
- package/dist/source-curve-clipping.js.map +1 -1
- package/dist/source-curve-snap.d.ts.map +1 -1
- package/dist/source-curve-snap.js +2 -1
- package/dist/source-curve-snap.js.map +1 -1
- package/dist/types.d.ts +12 -16
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -22,8 +22,10 @@
|
|
|
22
22
|
* splats render as circles (not squares) at any size > ~3 px.
|
|
23
23
|
*/
|
|
24
24
|
import { relativeToEyeWgsl } from '../shaders/relative-to-eye.wgsl.js';
|
|
25
|
+
import { extraClipWgsl } from '../extra-clip-planes.js';
|
|
25
26
|
export const pointShaderSource = `
|
|
26
27
|
${relativeToEyeWgsl}
|
|
28
|
+
${extraClipWgsl}
|
|
27
29
|
struct PointUniforms {
|
|
28
30
|
viewProj: mat4x4<f32>,
|
|
29
31
|
model: mat4x4<f32>,
|
|
@@ -52,6 +54,8 @@ export const pointShaderSource = `
|
|
|
52
54
|
// Eye-relative crop bounds; flags.w enables this branch.
|
|
53
55
|
cropBoxMin: vec4<f32>,
|
|
54
56
|
cropBoxMax: vec4<f32>,
|
|
57
|
+
// Cutting planes beyond sectionPlane (#7545), eye-relative like it.
|
|
58
|
+
extraClip: ExtraClip,
|
|
55
59
|
}
|
|
56
60
|
@binding(0) @group(0) var<uniform> uniforms: PointUniforms;
|
|
57
61
|
|
|
@@ -285,6 +289,10 @@ export const pointShaderSource = `
|
|
|
285
289
|
}
|
|
286
290
|
}
|
|
287
291
|
|
|
292
|
+
if (extraClipClipped(uniforms.extraClip, input.worldPos)) {
|
|
293
|
+
discard;
|
|
294
|
+
}
|
|
295
|
+
|
|
288
296
|
if (uniforms.flags.w == 1u) {
|
|
289
297
|
if (any(input.worldPos < uniforms.cropBoxMin.xyz) || any(input.worldPos > uniforms.cropBoxMax.xyz)) {
|
|
290
298
|
discard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"point-shader.wgsl.js","sourceRoot":"","sources":["../../src/pointcloud/point-shader.wgsl.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"point-shader.wgsl.js","sourceRoot":"","sources":["../../src/pointcloud/point-shader.wgsl.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG;MAC3B,iBAAiB;MACjB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkSlB,CAAC"}
|
|
@@ -34,6 +34,7 @@ export interface PostPassFrame {
|
|
|
34
34
|
edl: Required<EdlPassOptions> | null;
|
|
35
35
|
/** Selection/hover outline (#5390), or null while nothing is selected or hovered. */
|
|
36
36
|
selectionOutline: SelectionOutlineFrame | null;
|
|
37
|
+
geometricVisibility?: GPUBindGroup;
|
|
37
38
|
}
|
|
38
39
|
export declare class PostPassChain {
|
|
39
40
|
private readonly device;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-pass-chain.d.ts","sourceRoot":"","sources":["../src/post-pass-chain.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,+FAA+F;IAC/F,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,cAAc,CAAC;IAC3B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,cAAc,CAAC;IAC7B,gEAAgE;IAChE,aAAa,EAAE,cAAc,CAAC;IAC9B,kDAAkD;IAClD,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,EAAE,yBAAyB,CAAC;IACvC,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACrC,qFAAqF;IACrF,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"post-pass-chain.d.ts","sourceRoot":"","sources":["../src/post-pass-chain.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,+FAA+F;IAC/F,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,cAAc,CAAC;IAC3B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,cAAc,CAAC;IAC7B,gEAAgE;IAChE,aAAa,EAAE,cAAc,CAAC;IAC9B,kDAAkD;IAClD,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,EAAE,yBAAyB,CAAC;IACvC,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACrC,qFAAqF;IACrF,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC;AAID,qBAAa,aAAa;IAQtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAG3B,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,kBAAkB;IAG1D,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAkFlC,OAAO,CAAC,KAAK;IAWb,sCAAsC;IACtC,OAAO,IAAI,IAAI;CAUhB"}
|
package/dist/post-pass-chain.js
CHANGED
|
@@ -91,6 +91,7 @@ export class PostPassChain {
|
|
|
91
91
|
selected: frame.selectionOutline.selected,
|
|
92
92
|
hovered: frame.selectionOutline.hovered,
|
|
93
93
|
instanced: frame.selectionOutline.instanced,
|
|
94
|
+
geometricVisibility: frame.geometricVisibility,
|
|
94
95
|
});
|
|
95
96
|
if (mask) {
|
|
96
97
|
this.edges?.encodeOutline({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-pass-chain.js","sourceRoot":"","sources":["../src/post-pass-chain.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAyC,MAAM,0BAA0B,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAkC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"post-pass-chain.js","sourceRoot":"","sources":["../src/post-pass-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RendererRecoveryHost } from './device-recovery.js';
|
|
2
|
+
/** Requested policy survives replacement; successful device admission does not.
|
|
3
|
+
* #7655: the pipeline can finish before teardown but publish after a new init or
|
|
4
|
+
* loss has already revoked its ownership. Keep that fence at the caller too. */
|
|
5
|
+
export declare function enableRendererQuantizedBatches(host: RendererRecoveryHost): Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=quantized-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quantized-lifecycle.d.ts","sourceRoot":"","sources":["../src/quantized-lifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;gFAEgF;AAChF,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAWjG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Requested policy survives replacement; successful device admission does not.
|
|
2
|
+
* #7655: the pipeline can finish before teardown but publish after a new init or
|
|
3
|
+
* loss has already revoked its ownership. Keep that fence at the caller too. */
|
|
4
|
+
export async function enableRendererQuantizedBatches(host) {
|
|
5
|
+
host.recovery.quantizedBatchesRequested = true;
|
|
6
|
+
const pipeline = host.pipeline;
|
|
7
|
+
const generation = host.initGeneration;
|
|
8
|
+
const lossSequence = host.deviceLossSequence;
|
|
9
|
+
if (!pipeline || host.destroyed || host.deviceLost)
|
|
10
|
+
return false;
|
|
11
|
+
const ok = await pipeline.ensureQuantizedPipelines();
|
|
12
|
+
if (host.pipeline !== pipeline || host.initGeneration !== generation
|
|
13
|
+
|| host.deviceLossSequence !== lossSequence || host.destroyed || host.deviceLost)
|
|
14
|
+
return false;
|
|
15
|
+
if (ok)
|
|
16
|
+
host.scene.setQuantizedBatches(true);
|
|
17
|
+
return ok;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=quantized-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quantized-lifecycle.js","sourceRoot":"","sources":["../src/quantized-lifecycle.ts"],"names":[],"mappings":"AAKA;;gFAEgF;AAChF,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAA0B;IAC7E,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC7C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACjE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC;IACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU;WAC/D,IAAI,CAAC,kBAAkB,KAAK,YAAY,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACjG,IAAI,EAAE;QAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raycast-engine.d.ts","sourceRoot":"","sources":["../src/raycast-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"raycast-engine.d.ts","sourceRoot":"","sources":["../src/raycast-engine.ts"],"names":[],"mappings":"AAKA;;;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;AAE5I,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAMH,KAAK,qBAAqB,EAE7B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACjG,oFAAoF;AACpF,KAAK,YAAY,GAAG,aAAa,GAAG;IAChC,iBAAiB,CAAC,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;CAC/E,CAAC;AAEF,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,kBAAkB,CAAsC;IAChE,OAAO,CAAC,gBAAgB,CAAkC;IAG1D,OAAO,CAAC,QAAQ,CAMA;IAGhB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAEzB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB;IAS1E;kCAC8B;IAC9B,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,sBAAsB;IA6E9B;;;OAGG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;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,EAC9D,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAC5B;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;IAuD3D;;;;;;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,EAC9D,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAC5B,kBAAkB,GAAG;QAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE;IAiI7D;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B,4CAA4C;IAC5C,YAAY,IAAI,SAAS;IAIzB,gDAAgD;IAChD,eAAe,IAAI,YAAY;IAI/B;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAInE,mFAAmF;IACnF,mBAAmB,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IAC7D;;OAEG;IACH,WAAW,IAAI,IAAI;CAItB"}
|
package/dist/raycast-engine.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 { entityClip } from './section-exclusions.js';
|
|
4
5
|
import { isEntityVisible } from './entity-visibility.js';
|
|
5
6
|
import { Raycaster } from './raycaster.js';
|
|
6
7
|
import { SnapDetector, SnapType } from './snap-detector.js';
|
|
@@ -202,7 +203,7 @@ export class RaycastEngine {
|
|
|
202
203
|
// Use BVH for performance if we have many meshes
|
|
203
204
|
const meshesToTest = this.filterWithBVH(allMeshData, ray);
|
|
204
205
|
// Perform raycasting
|
|
205
|
-
const intersection = this.raycaster.raycast(ray, meshesToTest, hit => !pointClipped(clip, hit.point.x, hit.point.y, hit.point.z));
|
|
206
|
+
const intersection = this.raycaster.raycast(ray, meshesToTest, hit => !pointClipped(entityClip(clip, hit.expressId), hit.point.x, hit.point.y, hit.point.z));
|
|
206
207
|
if (!intersection) {
|
|
207
208
|
return null;
|
|
208
209
|
}
|
|
@@ -215,7 +216,7 @@ export class RaycastEngine {
|
|
|
215
216
|
// Pass meshes that are near the ray (from BVH or all meshes if BVH not used)
|
|
216
217
|
// This allows detecting edges even when they're behind other objects
|
|
217
218
|
snapTarget = this.snapDetector.detectSnapTarget(ray, meshesToTest, // Pass all meshes near the ray
|
|
218
|
-
intersection, { position: cameraPos, fov: cameraFov }, viewport.height, options.snapOptions, target => !pointClipped(clip, target.position.x, target.position.y, target.position.z)) || undefined;
|
|
219
|
+
intersection, { position: cameraPos, fov: cameraFov }, viewport.height, options.snapOptions, target => !pointClipped(entityClip(clip, target.expressId), target.position.x, target.position.y, target.position.z)) || undefined;
|
|
219
220
|
}
|
|
220
221
|
return {
|
|
221
222
|
intersection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raycast-engine.js","sourceRoot":"","sources":["../src/raycast-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"raycast-engine.js","sourceRoot":"","sources":["../src/raycast-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ import type { SectionPlaneRenderer } from './section-plane.js';
|
|
|
22
22
|
import type { Section2DOverlayRenderer } from './section-2d-overlay.js';
|
|
23
23
|
import type { RelativeToEyeFrame } from './relative-to-eye.js';
|
|
24
24
|
import type { RenderOptions } from './types.js';
|
|
25
|
+
import type { ExtraClipPlane } from './clip-types.js';
|
|
25
26
|
/** World-space AABB in the renderer's Y-up frame. */
|
|
26
27
|
export type ModelBounds = {
|
|
27
28
|
min: {
|
|
@@ -51,6 +52,10 @@ export interface SectionDrawContext {
|
|
|
51
52
|
* look the same on a HiDPI buffer (#5383).
|
|
52
53
|
*/
|
|
53
54
|
pixelRatio?: number;
|
|
55
|
+
/** The cutting planes beyond the first, resolved (#7545): each clips every cap but its own. */
|
|
56
|
+
extraPlanes?: readonly ExtraClipPlane[];
|
|
57
|
+
/** The primary plane as a clip, while it is cutting: it clips the extra planes' caps. */
|
|
58
|
+
primaryPlane?: ExtraClipPlane | null;
|
|
54
59
|
}
|
|
55
60
|
/**
|
|
56
61
|
* Draw the section-plane gizmo and, when the section is active, the cut cap.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-section-draw.d.ts","sourceRoot":"","sources":["../src/render-section-draw.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"render-section-draw.d.ts","sourceRoot":"","sources":["../src/render-section-draw.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG;IACtB,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AAEF,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,iEAAiE;IACjE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACxC,yFAAyF;IACzF,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAClC,GAAG,EAAE,wBAAwB,GAAG,IAAI,EACpC,GAAG,EAAE,kBAAkB,GACxB,IAAI,CA8FN"}
|
|
@@ -10,24 +10,30 @@ import { DEFAULT_CAP_STYLE, HATCH_PATTERN_IDS } from './section-cap-style.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export function drawSectionOverlays(pass, gizmo, cap, ctx) {
|
|
12
12
|
const { options, viewProj, modelBounds } = ctx;
|
|
13
|
+
const extras = ctx.extraPlanes ?? [];
|
|
14
|
+
// The selected / hovered elements' cap polygons take their highlight colour (a
|
|
15
|
+
// no-op while unchanged), so the cut face reads as part of the element.
|
|
16
|
+
cap?.setCapHighlight(options.capHighlight ?? null);
|
|
13
17
|
// Draw section plane visual BEFORE pass.end() (within same MSAA render pass)
|
|
14
18
|
// Always show plane when sectionPlane options are provided (as preview or active)
|
|
15
19
|
if (options.sectionPlane && gizmo && modelBounds) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
// `showGizmo: false` hides only the preview quad: the plane still clips and caps (#7545).
|
|
21
|
+
if (options.sectionPlane.showGizmo !== false)
|
|
22
|
+
gizmo.draw(pass, {
|
|
23
|
+
axis: options.sectionPlane.axis,
|
|
24
|
+
position: options.sectionPlane.position,
|
|
25
|
+
bounds: modelBounds,
|
|
26
|
+
relativeToEyeFrame: ctx.relativeToEyeFrame,
|
|
27
|
+
viewProj,
|
|
28
|
+
isPreview: !options.sectionPlane.enabled, // Preview mode when not enabled
|
|
29
|
+
min: options.sectionPlane.min,
|
|
30
|
+
max: options.sectionPlane.max,
|
|
31
|
+
// Custom-plane gizmo override (issue #243). When both
|
|
32
|
+
// are set the gizmo bypasses the cardinal path; see
|
|
33
|
+
// SectionPlaneRenderer.calculatePlaneVerticesFromNormal.
|
|
34
|
+
normal: options.sectionPlane.normal,
|
|
35
|
+
distance: options.sectionPlane.distance,
|
|
36
|
+
});
|
|
31
37
|
// Draw 2D section overlay on the section plane (when section is
|
|
32
38
|
// active, not preview). The overlay is also the 3D SECTION CAP:
|
|
33
39
|
// its polygon fills come from `SectionCutter` (exact triangle-
|
|
@@ -51,19 +57,47 @@ export function drawSectionOverlays(pass, gizmo, cap, ctx) {
|
|
|
51
57
|
rteCamera: ctx.rteCamera,
|
|
52
58
|
min: o.min,
|
|
53
59
|
max: o.max,
|
|
60
|
+
sectionExcludedIds: options.sectionExcludedIds,
|
|
54
61
|
showFills,
|
|
55
62
|
showOutlines,
|
|
56
|
-
capStyle: showFills ?
|
|
57
|
-
|
|
58
|
-
strokeColor: style.strokeColor,
|
|
59
|
-
patternId: HATCH_PATTERN_IDS[style.pattern],
|
|
60
|
-
spacingPx: style.spacingPx * (ctx.pixelRatio ?? 1),
|
|
61
|
-
angleRad: style.angleRad,
|
|
62
|
-
widthPx: style.widthPx * (ctx.pixelRatio ?? 1),
|
|
63
|
-
secondaryAngleRad: style.secondaryAngleRad,
|
|
64
|
-
} : undefined,
|
|
65
|
-
});
|
|
63
|
+
capStyle: showFills ? capDrawStyle(style, ctx.pixelRatio) : undefined,
|
|
64
|
+
}, extras);
|
|
66
65
|
}
|
|
67
66
|
}
|
|
67
|
+
// The caps of the cutting planes beyond the first (#7545). They share the primary
|
|
68
|
+
// plane's cap style (one user preference), and each is clipped by every OTHER plane.
|
|
69
|
+
if (cap?.hasExtraGeometry() && modelBounds) {
|
|
70
|
+
const o = options.sectionPlane;
|
|
71
|
+
const showFills = o?.showCap !== false;
|
|
72
|
+
const style = { ...DEFAULT_CAP_STYLE, ...o?.capStyle };
|
|
73
|
+
const primary = ctx.primaryPlane ?? null;
|
|
74
|
+
cap.drawExtras(pass, {
|
|
75
|
+
axis: o?.axis ?? 'down',
|
|
76
|
+
position: o?.position ?? 0,
|
|
77
|
+
bounds: modelBounds,
|
|
78
|
+
viewProj,
|
|
79
|
+
rteViewProj: ctx.rteViewProj,
|
|
80
|
+
rteCamera: ctx.rteCamera,
|
|
81
|
+
sectionExcludedIds: options.sectionExcludedIds,
|
|
82
|
+
showFills,
|
|
83
|
+
showOutlines: o?.showOutlines !== false,
|
|
84
|
+
capStyle: showFills ? capDrawStyle(style, ctx.pixelRatio) : undefined,
|
|
85
|
+
}, extras.flatMap((plane) => plane.id === undefined ? [] : [{
|
|
86
|
+
key: plane.id,
|
|
87
|
+
clippedBy: [...(primary ? [primary] : []), ...extras.filter((other) => other !== plane)],
|
|
88
|
+
}]));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/** The cap style as the overlay shader takes it: pattern id and pixel sizes scaled to the buffer. */
|
|
92
|
+
function capDrawStyle(style, pixelRatio = 1) {
|
|
93
|
+
return {
|
|
94
|
+
fillColor: style.fillColor,
|
|
95
|
+
strokeColor: style.strokeColor,
|
|
96
|
+
patternId: HATCH_PATTERN_IDS[style.pattern],
|
|
97
|
+
spacingPx: style.spacingPx * pixelRatio,
|
|
98
|
+
angleRad: style.angleRad,
|
|
99
|
+
widthPx: style.widthPx * pixelRatio,
|
|
100
|
+
secondaryAngleRad: style.secondaryAngleRad,
|
|
101
|
+
};
|
|
68
102
|
}
|
|
69
103
|
//# sourceMappingURL=render-section-draw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-section-draw.js","sourceRoot":"","sources":["../src/render-section-draw.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyB/D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"render-section-draw.js","sourceRoot":"","sources":["../src/render-section-draw.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
* still lands BEFORE the log, exactly as it did inline.
|
|
14
14
|
*/
|
|
15
15
|
import type { BatchedMesh, Mesh, RenderOptions } from './types.js';
|
|
16
|
+
import type { ExtraClipPlane } from './clip-types.js';
|
|
17
|
+
import { projectedBoundsRange } from './section-plane-resolve.js';
|
|
16
18
|
/** World-space AABB in the renderer's Y-up frame. */
|
|
17
19
|
interface SectionFrameBounds {
|
|
18
20
|
min: {
|
|
@@ -26,38 +28,7 @@ interface SectionFrameBounds {
|
|
|
26
28
|
z: number;
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
* The distance range an AABB spans along `normal`: the min and max of
|
|
31
|
-
* `dot(corner, normal)` over the eight corners (issue #2447).
|
|
32
|
-
*
|
|
33
|
-
* This is the quantity a section slider has to travel over, because the plane
|
|
34
|
-
* the shader clips against is `dot(worldPos, normal) = distance`. Reading the
|
|
35
|
-
* range off one axis of the AABB instead is only the same quantity when
|
|
36
|
-
* `normal` IS that unit axis; on a rotated building it is short by up to
|
|
37
|
-
* `(1 - cos45) * extent` at each end, so the slider's 0-100% cannot reach the
|
|
38
|
-
* model's extremes (a 40 x 20 footprint cut on `side` at 45 degrees spans 40
|
|
39
|
-
* units where the true extent along the normal is 42.426).
|
|
40
|
-
*
|
|
41
|
-
* When `normal` IS a unit axis the loop collapses to that axis's extent
|
|
42
|
-
* bit-for-bit (`x * 1 + y * 0 + z * 0 === x` for finite inputs), so unrotated
|
|
43
|
-
* models are unaffected.
|
|
44
|
-
*
|
|
45
|
-
* Exported so the 2D cap upload can share the one formula instead of carrying
|
|
46
|
-
* a second copy — see `RendererOverlays.uploadSection2DOverlay`, which passes
|
|
47
|
-
* the un-rotated axis normal on purpose.
|
|
48
|
-
*/
|
|
49
|
-
export declare function projectedBoundsRange(boundsMin: {
|
|
50
|
-
x: number;
|
|
51
|
-
y: number;
|
|
52
|
-
z: number;
|
|
53
|
-
}, boundsMax: {
|
|
54
|
-
x: number;
|
|
55
|
-
y: number;
|
|
56
|
-
z: number;
|
|
57
|
-
}, normal: readonly [number, number, number]): {
|
|
58
|
-
min: number;
|
|
59
|
-
max: number;
|
|
60
|
-
};
|
|
31
|
+
export { projectedBoundsRange };
|
|
61
32
|
/** The clip plane a frame hands to the mesh / point / instanced shaders. */
|
|
62
33
|
interface SectionPlaneFrameData {
|
|
63
34
|
normal: [number, number, number];
|
|
@@ -115,6 +86,8 @@ export interface SectionPlaneFrameResult {
|
|
|
115
86
|
* model bounds are left alone).
|
|
116
87
|
*/
|
|
117
88
|
bounds: SectionFrameBounds | null;
|
|
89
|
+
/** `options.extraSectionPlanes` resolved against the same bounds (#7545): enabled planes only. */
|
|
90
|
+
extraPlanes: ExtraClipPlane[];
|
|
118
91
|
}
|
|
119
92
|
/**
|
|
120
93
|
* Resolve this frame's clip plane and the bounds it is expressed in.
|
|
@@ -124,5 +97,4 @@ export interface SectionPlaneFrameResult {
|
|
|
124
97
|
* `input.spendLogLatch` before logging.
|
|
125
98
|
*/
|
|
126
99
|
export declare function resolveSectionPlaneFrame(input: SectionPlaneFrameInput): SectionPlaneFrameResult;
|
|
127
|
-
export {};
|
|
128
100
|
//# sourceMappingURL=render-section-plane.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-section-plane.d.ts","sourceRoot":"","sources":["../src/render-section-plane.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"render-section-plane.d.ts","sourceRoot":"","sources":["../src/render-section-plane.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAA0D,MAAM,4BAA4B,CAAC;AAE1H,qDAAqD;AACrD,UAAU,kBAAkB;IACxB,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,4EAA4E;AAC5E,UAAU,qBAAqB;IAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,aAAa,CAAC;IACvB;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C;;;;;;;OAOG;IACH,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,2EAA2E;IAC3E,gBAAgB,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1F;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACpC,+CAA+C;IAC/C,gBAAgB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACpD;;;;OAIG;IACH,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,kGAAkG;IAClG,WAAW,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,uBAAuB,CAoI/F"}
|