three-cad-viewer 4.3.4 → 4.3.5
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/scene/clipping.d.ts +6 -0
- package/dist/three-cad-viewer.esm.js +16 -3
- package/dist/three-cad-viewer.esm.js.map +1 -1
- package/dist/three-cad-viewer.esm.min.js +1 -1
- package/dist/three-cad-viewer.js +16 -3
- package/dist/three-cad-viewer.min.js +1 -1
- package/package.json +1 -1
- package/src/_version.ts +1 -1
- package/src/scene/clipping.ts +10 -0
- package/src/scene/nestedgroup.ts +6 -2
package/package.json
CHANGED
package/src/_version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version: string = "4.3.
|
|
1
|
+
export const version: string = "4.3.5";
|
package/src/scene/clipping.ts
CHANGED
|
@@ -154,6 +154,16 @@ class CenteredPlane extends THREE.Plane {
|
|
|
154
154
|
const z = this.distanceToPoint(new THREE.Vector3(0, 0, 0));
|
|
155
155
|
this.constant = z - c + value;
|
|
156
156
|
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Clone this CenteredPlane.
|
|
160
|
+
* Overrides THREE.Plane.clone() which calls `new this.constructor()` without
|
|
161
|
+
* arguments, causing `center` to be undefined during shadow map generation.
|
|
162
|
+
*/
|
|
163
|
+
// @ts-expect-error -- THREE.Plane.clone() returns `this`, but we need a concrete CenteredPlane
|
|
164
|
+
clone(): CenteredPlane {
|
|
165
|
+
return new CenteredPlane(this.normal.clone(), this.centeredConstant, [...this.center]);
|
|
166
|
+
}
|
|
157
167
|
}
|
|
158
168
|
|
|
159
169
|
// ============================================================================
|
package/src/scene/nestedgroup.ts
CHANGED
|
@@ -336,12 +336,16 @@ class NestedGroup {
|
|
|
336
336
|
);
|
|
337
337
|
return null;
|
|
338
338
|
}
|
|
339
|
-
|
|
339
|
+
// Strip preset color unless the user explicitly provides one,
|
|
340
|
+
// so the leaf node's CAD color is used as fallback.
|
|
341
|
+
const { color: presetColor, ...presetRest } = preset;
|
|
342
|
+
const resolved: MaterialAppearance = "color" in appearance
|
|
343
|
+
? { ...preset, ...appearance }
|
|
344
|
+
: { ...presetRest, ...appearance };
|
|
340
345
|
this.resolvedMaterials.set(tag, resolved);
|
|
341
346
|
return resolved;
|
|
342
347
|
}
|
|
343
348
|
|
|
344
|
-
// Should not happen with current type, but guard anyway
|
|
345
349
|
logger.warn(`Unrecognised material entry for tag '${tag}' on '${objectPath}'`);
|
|
346
350
|
return null;
|
|
347
351
|
}
|