From ed7ec2af0f4eb51773ec89dc7817aa54a58ea28c Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Fri, 19 Dec 2025 05:56:19 -0500 Subject: [PATCH] improve logic of 3d scene size (#7619) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary improve 3d scene size logic, for preview3d, it should not have target size ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7619-improve-logic-of-3d-scene-size-2cd6d73d36508101b9f5dcef9bbe1314) by [Unito](https://www.unito.io) --- src/composables/useLoad3dViewer.ts | 17 +++++++++-------- src/extensions/core/load3d/Load3d.ts | 4 ++-- .../tests/composables/useLoad3dViewer.test.ts | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/composables/useLoad3dViewer.ts b/src/composables/useLoad3dViewer.ts index eb536c735..ca876a41b 100644 --- a/src/composables/useLoad3dViewer.ts +++ b/src/composables/useLoad3dViewer.ts @@ -187,17 +187,18 @@ export const useLoad3dViewer = (node?: LGraphNode) => { const width = node.widgets?.find((w) => w.name === 'width') const height = node.widgets?.find((w) => w.name === 'height') + const hasTargetDimensions = !!(width && height) + load3d = new Load3d(containerRef, { width: width ? (toRaw(width).value as number) : undefined, height: height ? (toRaw(height).value as number) : undefined, - getDimensions: - width && height - ? () => ({ - width: width.value as number, - height: height.value as number - }) - : undefined, - isViewerMode: true + getDimensions: hasTargetDimensions + ? () => ({ + width: width.value as number, + height: height.value as number + }) + : undefined, + isViewerMode: hasTargetDimensions }) await useLoad3dService().copyLoad3dState(source, load3d) diff --git a/src/extensions/core/load3d/Load3d.ts b/src/extensions/core/load3d/Load3d.ts index c759acc1f..e010e05c1 100644 --- a/src/extensions/core/load3d/Load3d.ts +++ b/src/extensions/core/load3d/Load3d.ts @@ -43,8 +43,8 @@ class Load3d { STATUS_MOUSE_ON_VIEWER: boolean INITIAL_RENDER_DONE: boolean = false - targetWidth: number = 512 - targetHeight: number = 512 + targetWidth: number = 0 + targetHeight: number = 0 targetAspectRatio: number = 1 isViewerMode: boolean = false diff --git a/tests-ui/tests/composables/useLoad3dViewer.test.ts b/tests-ui/tests/composables/useLoad3dViewer.test.ts index a49c7aa75..69d40d752 100644 --- a/tests-ui/tests/composables/useLoad3dViewer.test.ts +++ b/tests-ui/tests/composables/useLoad3dViewer.test.ts @@ -164,7 +164,7 @@ describe('useLoad3dViewer', () => { width: undefined, height: undefined, getDimensions: undefined, - isViewerMode: true + isViewerMode: false }) expect(mockLoad3dService.copyLoad3dState).toHaveBeenCalledWith(