Skip to content

Commit fc41a13

Browse files
committed
remove line2 reuse which was causing rendering errors
1 parent a7b0bff commit fc41a13

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

src/void/sketch/runtime_ui.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,13 @@ function setLineObjectPoints(lineObject, points = []) {
669669
for (const p of points) {
670670
flat.push(p.x || 0, p.y || 0, p.z || 0);
671671
}
672+
// Debug mode: disable Line2 geometry reuse to isolate stateful buffer issues.
673+
const NextGeometry = lineObject.geometry?.constructor;
674+
const next = NextGeometry ? new NextGeometry() : null;
675+
if (next?.setPositions) {
676+
lineObject.geometry?.dispose?.();
677+
lineObject.geometry = next;
678+
}
672679
lineObject.geometry.setPositions(flat);
673680
lineObject.computeLineDistances?.();
674681
lineObject.geometry.computeBoundingSphere?.();
@@ -765,6 +772,13 @@ function applyPreviewExternalWorld(rec, mode, editing, colors) {
765772
verts.push(b.x, b.y, b.z);
766773
}
767774
if (segments.material?.isLineMaterial && segments.geometry?.setPositions) {
775+
// Debug mode: disable LineSegments2 geometry reuse to isolate stateful buffer issues.
776+
const NextGeometry = segments.geometry?.constructor;
777+
const next = NextGeometry ? new NextGeometry() : null;
778+
if (next?.setPositions) {
779+
segments.geometry?.dispose?.();
780+
segments.geometry = next;
781+
}
768782
segments.geometry.setPositions(verts);
769783
segments.computeLineDistances?.();
770784
segments.geometry.computeBoundingSphere?.();
@@ -822,6 +836,13 @@ function applyPreviewFaceSegments(rec, mode, editing, colors) {
822836
return;
823837
}
824838
if (rec.previewFaceSegments.material?.isLineMaterial && rec.previewFaceSegments.geometry?.setPositions) {
839+
// Debug mode: disable LineSegments2 geometry reuse to isolate stateful buffer issues.
840+
const NextGeometry = rec.previewFaceSegments.geometry?.constructor;
841+
const next = NextGeometry ? new NextGeometry() : null;
842+
if (next?.setPositions) {
843+
rec.previewFaceSegments.geometry?.dispose?.();
844+
rec.previewFaceSegments.geometry = next;
845+
}
825846
rec.previewFaceSegments.geometry.setPositions(verts);
826847
rec.previewFaceSegments.computeLineDistances?.();
827848
rec.previewFaceSegments.geometry.computeBoundingSphere?.();

0 commit comments

Comments
 (0)