diff --git a/tests/e2e/viewport-test-helpers.ts b/tests/e2e/viewport-test-helpers.ts index aaf49173..1d7a152c 100644 --- a/tests/e2e/viewport-test-helpers.ts +++ b/tests/e2e/viewport-test-helpers.ts @@ -1,5 +1,7 @@ import type { Page } from "@playwright/test"; +import type { TransformSessionState } from "../../src/core/transform-session"; +import type { SceneDocument } from "../../src/document/scene-document"; import type { CreationTarget, ViewportToolPreview } from "../../src/viewport-three/viewport-transient-state"; import type { ViewportPanelId } from "../../src/viewport-three/viewport-layout"; @@ -25,6 +27,7 @@ interface EditorStoreSnapshot { toolMode: string; document: { assets: Record; + brushes: Record; modelInstances: Record; entities: Record; }; @@ -34,6 +37,7 @@ interface EditorStoreSnapshot { }; viewportTransientState: { toolPreview: ViewportToolPreview; + transformSession: TransformSessionState; }; } @@ -58,6 +62,22 @@ export async function getViewportToolPreview(page: Page): Promise { + const store = (window as Window & { + __webeditor3dEditorStore?: { + replaceDocument(document: SceneDocument, resetHistory?: boolean): void; + }; + }).__webeditor3dEditorStore; + + if (store === undefined) { + throw new Error("Editor store debug hook is unavailable."); + } + + store.replaceDocument(nextDocument); + }, document); +} + export async function setViewportCreationPreview( page: Page, panelId: ViewportPanelId,