diff --git a/src/viewport-three/viewport-transient-state.ts b/src/viewport-three/viewport-transient-state.ts index 2d5e04ad..1ff68b0f 100644 --- a/src/viewport-three/viewport-transient-state.ts +++ b/src/viewport-three/viewport-transient-state.ts @@ -13,6 +13,13 @@ export type CreationTarget = | { kind: "box-brush"; } + | { + kind: "wedge-brush"; + } + | { + kind: "cylinder-brush"; + sideCount: number; + } | { kind: "entity"; entityKind: EntityKind; @@ -68,6 +75,15 @@ export function cloneViewportToolPreview(toolPreview: ViewportToolPreview): View kind: "model-instance", assetId: toolPreview.target.assetId } + : toolPreview.target.kind === "wedge-brush" + ? { + kind: "wedge-brush" + } + : toolPreview.target.kind === "cylinder-brush" + ? { + kind: "cylinder-brush", + sideCount: toolPreview.target.sideCount + } : { kind: "box-brush" }, @@ -110,6 +126,14 @@ export function areViewportToolPreviewsEqual(left: ViewportToolPreview, right: V return false; } + if ( + left.target.kind === "cylinder-brush" && + right.target.kind === "cylinder-brush" && + left.target.sideCount !== right.target.sideCount + ) { + return false; + } + if (left.center === null || right.center === null) { return left.center === right.center; }