diff --git a/website/src/components/GalleryWorkbench/GalleryWorkbench.tsx b/website/src/components/GalleryWorkbench/GalleryWorkbench.tsx index dc3fb10..ce42f30 100644 --- a/website/src/components/GalleryWorkbench/GalleryWorkbench.tsx +++ b/website/src/components/GalleryWorkbench/GalleryWorkbench.tsx @@ -753,7 +753,7 @@ export default function GalleryWorkbench() { showGround={sceneOptions.showGround} helperScale={helperScale} helperTarget={helperTarget} - mergePolygonsForMesh={!hasActiveAnimation} + mergePolygonsForMesh={!hasActiveAnimation && renderLoaded?.kind !== "primitive"} stableDomForMesh={hasActiveAnimation} animationKey={activeAnimation ? `${selectedAnimation}:${renderLoaded?.label ?? ""}` : undefined} animationDurationSeconds={activeAnimation?.duration} diff --git a/website/src/components/GalleryWorkbench/hooks/useScenePolygons.ts b/website/src/components/GalleryWorkbench/hooks/useScenePolygons.ts index c3a3d8e..2a39e5c 100644 --- a/website/src/components/GalleryWorkbench/hooks/useScenePolygons.ts +++ b/website/src/components/GalleryWorkbench/hooks/useScenePolygons.ts @@ -40,6 +40,9 @@ export function useScenePolygons({ : loaded.rawPolygons; } if (loaded.parseResult.voxelSource) return loaded.rawPolygons; + if (loaded.kind === "primitive") { + return optimizeMeshPolygons(loaded.rawPolygons, { meshResolution: "lossless" }); + } return optimizeMeshPolygons(loaded.rawPolygons, { meshResolution: effectiveMeshResolution, });