Update viewport-host.ts and viewport-canvas.test.tsx
This commit is contained in:
@@ -37,11 +37,9 @@ import {
|
|||||||
cloneTransformSession,
|
cloneTransformSession,
|
||||||
createInactiveTransformSession,
|
createInactiveTransformSession,
|
||||||
createTransformSession,
|
createTransformSession,
|
||||||
getTransformOperationLabel,
|
|
||||||
supportsTransformAxisConstraint,
|
supportsTransformAxisConstraint,
|
||||||
type ActiveTransformSession,
|
type ActiveTransformSession,
|
||||||
type TransformAxis,
|
type TransformAxis,
|
||||||
type TransformOperation,
|
|
||||||
type TransformSessionState
|
type TransformSessionState
|
||||||
} from "../core/transform-session";
|
} from "../core/transform-session";
|
||||||
import type { ToolMode } from "../core/tool-mode";
|
import type { ToolMode } from "../core/tool-mode";
|
||||||
@@ -55,7 +53,8 @@ import {
|
|||||||
createModelInstancePlacementPosition,
|
createModelInstancePlacementPosition,
|
||||||
DEFAULT_MODEL_INSTANCE_ROTATION_DEGREES,
|
DEFAULT_MODEL_INSTANCE_ROTATION_DEGREES,
|
||||||
DEFAULT_MODEL_INSTANCE_SCALE,
|
DEFAULT_MODEL_INSTANCE_SCALE,
|
||||||
getModelInstances
|
getModelInstances,
|
||||||
|
type ModelInstance
|
||||||
} from "../assets/model-instances";
|
} from "../assets/model-instances";
|
||||||
import type { SceneDocument } from "../document/scene-document";
|
import type { SceneDocument } from "../document/scene-document";
|
||||||
import {
|
import {
|
||||||
@@ -100,7 +99,12 @@ import {
|
|||||||
type ViewportGridPlane,
|
type ViewportGridPlane,
|
||||||
type ViewportViewMode
|
type ViewportViewMode
|
||||||
} from "./viewport-view-modes";
|
} 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 {
|
import {
|
||||||
areViewportToolPreviewsEqual,
|
areViewportToolPreviewsEqual,
|
||||||
type CreationTarget,
|
type CreationTarget,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { render, waitFor } from "@testing-library/react";
|
import { render, waitFor } from "@testing-library/react";
|
||||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
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 { createEmptySceneDocument } from "../../src/document/scene-document";
|
||||||
import { ViewportCanvas } from "../../src/viewport-three/ViewportCanvas";
|
import { ViewportCanvas } from "../../src/viewport-three/ViewportCanvas";
|
||||||
import { createDefaultViewportPanelCameraState, type ViewportPanelCameraState } from "../../src/viewport-three/viewport-layout";
|
import { createDefaultViewportPanelCameraState, type ViewportPanelCameraState } from "../../src/viewport-three/viewport-layout";
|
||||||
@@ -20,8 +21,13 @@ const { MockViewportHost, viewportHostInstances } = vi.hoisted(() => {
|
|||||||
setCameraStateChangeHandler: ReturnType<typeof vi.fn>;
|
setCameraStateChangeHandler: ReturnType<typeof vi.fn>;
|
||||||
setCreationPreviewChangeHandler: ReturnType<typeof vi.fn>;
|
setCreationPreviewChangeHandler: ReturnType<typeof vi.fn>;
|
||||||
setCreationCommitHandler: 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>;
|
setToolMode: ReturnType<typeof vi.fn>;
|
||||||
setCreationPreview: ReturnType<typeof vi.fn>;
|
setCreationPreview: ReturnType<typeof vi.fn>;
|
||||||
|
setTransformSession: ReturnType<typeof vi.fn>;
|
||||||
|
setPanelId: ReturnType<typeof vi.fn>;
|
||||||
focusSelection: ReturnType<typeof vi.fn>;
|
focusSelection: ReturnType<typeof vi.fn>;
|
||||||
}> = [];
|
}> = [];
|
||||||
|
|
||||||
@@ -38,8 +44,13 @@ const { MockViewportHost, viewportHostInstances } = vi.hoisted(() => {
|
|||||||
setCameraStateChangeHandler = vi.fn();
|
setCameraStateChangeHandler = vi.fn();
|
||||||
setCreationPreviewChangeHandler = vi.fn();
|
setCreationPreviewChangeHandler = vi.fn();
|
||||||
setCreationCommitHandler = vi.fn();
|
setCreationCommitHandler = vi.fn();
|
||||||
|
setTransformSessionChangeHandler = vi.fn();
|
||||||
|
setTransformCommitHandler = vi.fn();
|
||||||
|
setTransformCancelHandler = vi.fn();
|
||||||
setToolMode = vi.fn();
|
setToolMode = vi.fn();
|
||||||
setCreationPreview = vi.fn();
|
setCreationPreview = vi.fn();
|
||||||
|
setTransformSession = vi.fn();
|
||||||
|
setPanelId = vi.fn();
|
||||||
focusSelection = vi.fn();
|
focusSelection = vi.fn();
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -81,6 +92,9 @@ describe("ViewportCanvas", () => {
|
|||||||
const onCommitCreation = vi.fn(() => true);
|
const onCommitCreation = vi.fn(() => true);
|
||||||
const onCameraStateChange = vi.fn((_cameraState: ViewportPanelCameraState) => undefined);
|
const onCameraStateChange = vi.fn((_cameraState: ViewportPanelCameraState) => undefined);
|
||||||
const onToolPreviewChange = vi.fn((_toolPreview: ViewportToolPreview) => 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();
|
const onSelectionChange = vi.fn();
|
||||||
|
|
||||||
render(
|
render(
|
||||||
@@ -94,6 +108,7 @@ describe("ViewportCanvas", () => {
|
|||||||
selection={{ kind: "none" }}
|
selection={{ kind: "none" }}
|
||||||
toolMode="create"
|
toolMode="create"
|
||||||
toolPreview={toolPreview}
|
toolPreview={toolPreview}
|
||||||
|
transformSession={createInactiveTransformSession()}
|
||||||
cameraState={cameraState}
|
cameraState={cameraState}
|
||||||
viewMode="perspective"
|
viewMode="perspective"
|
||||||
displayMode="authoring"
|
displayMode="authoring"
|
||||||
@@ -105,6 +120,9 @@ describe("ViewportCanvas", () => {
|
|||||||
onCommitCreation={onCommitCreation}
|
onCommitCreation={onCommitCreation}
|
||||||
onCameraStateChange={onCameraStateChange}
|
onCameraStateChange={onCameraStateChange}
|
||||||
onToolPreviewChange={onToolPreviewChange}
|
onToolPreviewChange={onToolPreviewChange}
|
||||||
|
onTransformSessionChange={onTransformSessionChange}
|
||||||
|
onTransformCommit={onTransformCommit}
|
||||||
|
onTransformCancel={onTransformCancel}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -137,6 +155,7 @@ describe("ViewportCanvas", () => {
|
|||||||
selection={{ kind: "none" }}
|
selection={{ kind: "none" }}
|
||||||
toolMode="select"
|
toolMode="select"
|
||||||
toolPreview={{ kind: "none" }}
|
toolPreview={{ kind: "none" }}
|
||||||
|
transformSession={createInactiveTransformSession()}
|
||||||
cameraState={cameraState}
|
cameraState={cameraState}
|
||||||
viewMode="perspective"
|
viewMode="perspective"
|
||||||
displayMode="normal"
|
displayMode="normal"
|
||||||
@@ -148,6 +167,9 @@ describe("ViewportCanvas", () => {
|
|||||||
onCommitCreation={vi.fn(() => true)}
|
onCommitCreation={vi.fn(() => true)}
|
||||||
onCameraStateChange={onCameraStateChange}
|
onCameraStateChange={onCameraStateChange}
|
||||||
onToolPreviewChange={vi.fn()}
|
onToolPreviewChange={vi.fn()}
|
||||||
|
onTransformSessionChange={vi.fn()}
|
||||||
|
onTransformCommit={vi.fn()}
|
||||||
|
onTransformCancel={vi.fn()}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user