Update viewport-host.ts and viewport-canvas.test.tsx

This commit is contained in:
2026-04-03 02:17:11 +02:00
parent 21bf3b30a6
commit 8c844d08c9
2 changed files with 30 additions and 4 deletions

View File

@@ -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,

View File

@@ -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<typeof vi.fn>;
setCreationPreviewChangeHandler: ReturnType<typeof vi.fn>;
setCreationCommitHandler: ReturnType<typeof vi.fn>;
setTransformSessionChangeHandler: ReturnType<typeof vi.fn>;
setTransformCommitHandler: ReturnType<typeof vi.fn>;
setTransformCancelHandler: ReturnType<typeof vi.fn>;
setToolMode: ReturnType<typeof vi.fn>;
setCreationPreview: ReturnType<typeof vi.fn>;
setTransformSession: ReturnType<typeof vi.fn>;
setPanelId: ReturnType<typeof vi.fn>;
focusSelection: ReturnType<typeof vi.fn>;
}> = [];
@@ -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()}
/>
);