diff --git a/apps/editor/components/tools/item/use-placement-coordinator.tsx b/apps/editor/components/tools/item/use-placement-coordinator.tsx index 32054971..93c0a8b8 100644 --- a/apps/editor/components/tools/item/use-placement-coordinator.tsx +++ b/apps/editor/components/tools/item/use-placement-coordinator.tsx @@ -745,7 +745,8 @@ export function usePlacementCoordinator(config: PlacementCoordinatorConfig): Rea } }) - const dims = config.asset.dimensions ?? DEFAULT_DIMENSIONS + const initialDraft = draftNode.current + const dims = initialDraft ? getScaledDimensions(initialDraft) : (config.asset.dimensions ?? DEFAULT_DIMENSIONS) const initialBoxGeometry = new BoxGeometry(dims[0], dims[1], dims[2]) initialBoxGeometry.translate(0, dims[1] / 2, 0) diff --git a/packages/viewer/src/components/renderers/item/item-renderer.tsx b/packages/viewer/src/components/renderers/item/item-renderer.tsx index 0523f4ca..60f6a731 100644 --- a/packages/viewer/src/components/renderers/item/item-renderer.tsx +++ b/packages/viewer/src/components/renderers/item/item-renderer.tsx @@ -40,7 +40,7 @@ export const ItemRenderer = ({ node }: { node: ItemNode }) => { useRegistry(node.id, node.type, ref) return ( - + }> @@ -73,6 +73,9 @@ const PreviewModel = ({ node }: { node: ItemNode }) => { ) } +const multiplyScales = (a: [number, number, number], b: [number, number, number]): [number, number, number] => + [a[0] * b[0], a[1] * b[1], a[2] * b[2]] + const ModelRenderer = ({ node }: { node: ItemNode }) => { const { scene, nodes } = useGLTF(resolveCdnUrl(node.asset.src) || '') @@ -115,7 +118,7 @@ const ModelRenderer = ({ node }: { node: ItemNode }) => { return (