From 8c844d08c9c9f9d0bd735df95e47ce66fed08570 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Fri, 3 Apr 2026 02:17:11 +0200 Subject: [PATCH] Update viewport-host.ts and viewport-canvas.test.tsx --- src/viewport-three/viewport-host.ts | 12 ++++++++---- tests/unit/viewport-canvas.test.tsx | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/viewport-three/viewport-host.ts b/src/viewport-three/viewport-host.ts index 989a029a..cd72049c 100644 --- a/src/viewport-three/viewport-host.ts +++ b/src/viewport-three/viewport-host.ts @@ -37,11 +37,9 @@ import { cloneTransformSession, createInactiveTransformSession, createTransformSession, - getTransformOperationLabel, supportsTransformAxisConstraint, type ActiveTransformSession, type TransformAxis, - type TransformOperation, type TransformSessionState } from "../core/transform-session"; import type { ToolMode } from "../core/tool-mode"; @@ -55,7 +53,8 @@ import { createModelInstancePlacementPosition, DEFAULT_MODEL_INSTANCE_ROTATION_DEGREES, DEFAULT_MODEL_INSTANCE_SCALE, - getModelInstances + getModelInstances, + type ModelInstance } from "../assets/model-instances"; import type { SceneDocument } from "../document/scene-document"; import { @@ -100,7 +99,12 @@ import { type ViewportGridPlane, type ViewportViewMode } from "./viewport-view-modes"; -import { areViewportPanelCameraStatesEqual, type ViewportDisplayMode, type ViewportPanelCameraState } from "./viewport-layout"; +import { + areViewportPanelCameraStatesEqual, + type ViewportDisplayMode, + type ViewportPanelCameraState, + type ViewportPanelId +} from "./viewport-layout"; import { areViewportToolPreviewsEqual, type CreationTarget, diff --git a/tests/unit/viewport-canvas.test.tsx b/tests/unit/viewport-canvas.test.tsx index 736db5aa..26a72977 100644 --- a/tests/unit/viewport-canvas.test.tsx +++ b/tests/unit/viewport-canvas.test.tsx @@ -1,6 +1,7 @@ import { render, waitFor } from "@testing-library/react"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { createInactiveTransformSession, type ActiveTransformSession, type TransformSessionState } from "../../src/core/transform-session"; import { createEmptySceneDocument } from "../../src/document/scene-document"; import { ViewportCanvas } from "../../src/viewport-three/ViewportCanvas"; import { createDefaultViewportPanelCameraState, type ViewportPanelCameraState } from "../../src/viewport-three/viewport-layout"; @@ -20,8 +21,13 @@ const { MockViewportHost, viewportHostInstances } = vi.hoisted(() => { setCameraStateChangeHandler: ReturnType; setCreationPreviewChangeHandler: ReturnType; setCreationCommitHandler: ReturnType; + setTransformSessionChangeHandler: ReturnType; + setTransformCommitHandler: ReturnType; + setTransformCancelHandler: ReturnType; setToolMode: ReturnType; setCreationPreview: ReturnType; + setTransformSession: ReturnType; + setPanelId: ReturnType; focusSelection: ReturnType; }> = []; @@ -38,8 +44,13 @@ const { MockViewportHost, viewportHostInstances } = vi.hoisted(() => { setCameraStateChangeHandler = vi.fn(); setCreationPreviewChangeHandler = vi.fn(); setCreationCommitHandler = vi.fn(); + setTransformSessionChangeHandler = vi.fn(); + setTransformCommitHandler = vi.fn(); + setTransformCancelHandler = vi.fn(); setToolMode = vi.fn(); setCreationPreview = vi.fn(); + setTransformSession = vi.fn(); + setPanelId = vi.fn(); focusSelection = vi.fn(); constructor() { @@ -81,6 +92,9 @@ describe("ViewportCanvas", () => { const onCommitCreation = vi.fn(() => true); const onCameraStateChange = vi.fn((_cameraState: ViewportPanelCameraState) => undefined); const onToolPreviewChange = vi.fn((_toolPreview: ViewportToolPreview) => undefined); + const onTransformSessionChange = vi.fn((_transformSession: TransformSessionState) => undefined); + const onTransformCommit = vi.fn((_transformSession: ActiveTransformSession) => undefined); + const onTransformCancel = vi.fn(() => undefined); const onSelectionChange = vi.fn(); render( @@ -94,6 +108,7 @@ describe("ViewportCanvas", () => { selection={{ kind: "none" }} toolMode="create" toolPreview={toolPreview} + transformSession={createInactiveTransformSession()} cameraState={cameraState} viewMode="perspective" displayMode="authoring" @@ -105,6 +120,9 @@ describe("ViewportCanvas", () => { onCommitCreation={onCommitCreation} onCameraStateChange={onCameraStateChange} onToolPreviewChange={onToolPreviewChange} + onTransformSessionChange={onTransformSessionChange} + onTransformCommit={onTransformCommit} + onTransformCancel={onTransformCancel} /> ); @@ -137,6 +155,7 @@ describe("ViewportCanvas", () => { selection={{ kind: "none" }} toolMode="select" toolPreview={{ kind: "none" }} + transformSession={createInactiveTransformSession()} cameraState={cameraState} viewMode="perspective" displayMode="normal" @@ -148,6 +167,9 @@ describe("ViewportCanvas", () => { onCommitCreation={vi.fn(() => true)} onCameraStateChange={onCameraStateChange} onToolPreviewChange={vi.fn()} + onTransformSessionChange={vi.fn()} + onTransformCommit={vi.fn()} + onTransformCancel={vi.fn()} /> );