From 342cf97a5084c02353629952419a124717005bb8 Mon Sep 17 00:00:00 2001 From: hypercross Date: Mon, 16 Mar 2026 09:34:15 +0800 Subject: [PATCH] fix: parameters --- src/components/md-token-viewer.tsx | 11 +---------- src/components/md-token.tsx | 2 +- src/components/utils/image-tracer.ts | 2 +- src/components/utils/stl-generator.ts | 2 +- 4 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/components/md-token-viewer.tsx b/src/components/md-token-viewer.tsx index ffb8c70..fdea27a 100644 --- a/src/components/md-token-viewer.tsx +++ b/src/components/md-token-viewer.tsx @@ -139,17 +139,9 @@ export default function MdTokenViewer(props: TokenViewerProps) { isDragging = false; }; - const handleWheel = (e: WheelEvent) => { - if (!camera) return; - - const zoomSpeed = 0.5; - camera.position.multiplyScalar(e.deltaY > 0 ? 1 + zoomSpeed : 1 - zoomSpeed); - }; - viewerEl.addEventListener("mousedown", handleMouseDown); document.addEventListener("mousemove", handleMouseMove); document.addEventListener("mouseup", handleMouseUp); - viewerEl.addEventListener("wheel", handleWheel); // 动画循环 const animate = () => { @@ -169,7 +161,6 @@ export default function MdTokenViewer(props: TokenViewerProps) { viewerEl.removeEventListener("mousedown", handleMouseDown); document.removeEventListener("mousemove", handleMouseMove); document.removeEventListener("mouseup", handleMouseUp); - viewerEl.removeEventListener("wheel", handleWheel); if (renderer) { renderer.dispose(); @@ -192,7 +183,7 @@ export default function MdTokenViewer(props: TokenViewerProps) { style={{ "min-height": "200px" }} >
- 拖动旋转 | 滚动缩放 + 拖动旋转
diff --git a/src/components/md-token.tsx b/src/components/md-token.tsx index 4d396b8..9dbca66 100644 --- a/src/components/md-token.tsx +++ b/src/components/md-token.tsx @@ -85,7 +85,7 @@ customElement("md-token", { size: 50, defaultThickness: 2 }, (props, { element } name: layer.name || `图层 ${index + 1}`, enabled: true, thickness: props.defaultThickness || 2, - color: layer.color || `hsl(${(index * 60) % 360}, 70%, 50%)`, + color: `#${layer.color.getHexString()}` || `hsl(${(index * 60) % 360}, 70%, 50%)`, })); setLayers(layerSettings); } diff --git a/src/components/utils/image-tracer.ts b/src/components/utils/image-tracer.ts index d0e718b..21603e8 100644 --- a/src/components/utils/image-tracer.ts +++ b/src/components/utils/image-tracer.ts @@ -62,7 +62,7 @@ export async function traceImage( // 默认配置 - 使用 detailed preset 作为基础 const defaultOptions: Partial = { - ...Options.Presets.curvy, + ...Options.Presets.default, numberOfColors: 8, // 限制颜色数量以控制图层数 minColorQuota: 0.01, // 降低最小颜色占比阈值 strokeWidth: 0, // 不需要描边 diff --git a/src/components/utils/stl-generator.ts b/src/components/utils/stl-generator.ts index e667b88..eba285c 100644 --- a/src/components/utils/stl-generator.ts +++ b/src/components/utils/stl-generator.ts @@ -49,7 +49,7 @@ export async function generateSTL( // 创建挤压几何体 - Three.js 支持直接传入 shape 数组 const extrudeSettings: THREE.ExtrudeGeometryOptions = { depth: layerSetting.thickness, - curveSegments: 36, + curveSegments: 12, bevelEnabled: false, };