From 570db9cc961445e5de2e33648082d59c0c72feaa Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 15 Apr 2026 14:48:07 +0200 Subject: [PATCH] Add batch preview handling for brushes, entities, and model instances in ViewportHost --- src/viewport-three/viewport-host.ts | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/viewport-three/viewport-host.ts b/src/viewport-three/viewport-host.ts index ec58c06e..fe7af99d 100644 --- a/src/viewport-three/viewport-host.ts +++ b/src/viewport-three/viewport-host.ts @@ -2356,6 +2356,20 @@ export class ViewportHost { axisConstraint: TransformAxis | null, axisConstraintSpace: TransformAxisSpace ) { + if ( + session.target.kind === "brushes" || + session.target.kind === "entities" || + session.target.kind === "modelInstances" + ) { + return this.buildBatchTranslatedPreview( + session, + origin, + current, + axisConstraint, + axisConstraintSpace + ); + } + if ( session.target.kind === "brushFace" || session.target.kind === "brushEdge" || @@ -2527,6 +2541,20 @@ export class ViewportHost { axisConstraint: TransformAxis | null, axisConstraintSpace: TransformAxisSpace ) { + if ( + session.target.kind === "brushes" || + session.target.kind === "entities" || + session.target.kind === "modelInstances" + ) { + return this.buildBatchRotatedPreview( + session, + origin, + current, + axisConstraint, + axisConstraintSpace + ); + } + if ( session.target.kind === "brushFace" || session.target.kind === "brushEdge" @@ -2729,6 +2757,18 @@ export class ViewportHost { current: { x: number; y: number }, axisConstraint: TransformAxis | null ) { + if ( + session.target.kind === "brushes" || + session.target.kind === "modelInstances" + ) { + return this.buildBatchScaledPreview( + session, + origin, + current, + axisConstraint + ); + } + if ( session.target.kind === "brushFace" || session.target.kind === "brushEdge"