fix: parameters

This commit is contained in:
hypercross 2026-03-16 09:34:15 +08:00
parent cde2134b4b
commit 342cf97a50
4 changed files with 4 additions and 13 deletions

View File

@ -139,17 +139,9 @@ export default function MdTokenViewer(props: TokenViewerProps) {
isDragging = false; 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); viewerEl.addEventListener("mousedown", handleMouseDown);
document.addEventListener("mousemove", handleMouseMove); document.addEventListener("mousemove", handleMouseMove);
document.addEventListener("mouseup", handleMouseUp); document.addEventListener("mouseup", handleMouseUp);
viewerEl.addEventListener("wheel", handleWheel);
// 动画循环 // 动画循环
const animate = () => { const animate = () => {
@ -169,7 +161,6 @@ export default function MdTokenViewer(props: TokenViewerProps) {
viewerEl.removeEventListener("mousedown", handleMouseDown); viewerEl.removeEventListener("mousedown", handleMouseDown);
document.removeEventListener("mousemove", handleMouseMove); document.removeEventListener("mousemove", handleMouseMove);
document.removeEventListener("mouseup", handleMouseUp); document.removeEventListener("mouseup", handleMouseUp);
viewerEl.removeEventListener("wheel", handleWheel);
if (renderer) { if (renderer) {
renderer.dispose(); renderer.dispose();
@ -192,7 +183,7 @@ export default function MdTokenViewer(props: TokenViewerProps) {
style={{ "min-height": "200px" }} style={{ "min-height": "200px" }}
> >
<div class="absolute top-2 left-2 z-10 bg-black/50 text-white text-xs px-2 py-1 rounded"> <div class="absolute top-2 left-2 z-10 bg-black/50 text-white text-xs px-2 py-1 rounded">
|
</div> </div>
<Show when={error()}> <Show when={error()}>
<div class="absolute inset-0 flex items-center justify-center bg-black/50 text-white"> <div class="absolute inset-0 flex items-center justify-center bg-black/50 text-white">

View File

@ -85,7 +85,7 @@ customElement("md-token", { size: 50, defaultThickness: 2 }, (props, { element }
name: layer.name || `图层 ${index + 1}`, name: layer.name || `图层 ${index + 1}`,
enabled: true, enabled: true,
thickness: props.defaultThickness || 2, 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); setLayers(layerSettings);
} }

View File

@ -62,7 +62,7 @@ export async function traceImage(
// 默认配置 - 使用 detailed preset 作为基础 // 默认配置 - 使用 detailed preset 作为基础
const defaultOptions: Partial<Options> = { const defaultOptions: Partial<Options> = {
...Options.Presets.curvy, ...Options.Presets.default,
numberOfColors: 8, // 限制颜色数量以控制图层数 numberOfColors: 8, // 限制颜色数量以控制图层数
minColorQuota: 0.01, // 降低最小颜色占比阈值 minColorQuota: 0.01, // 降低最小颜色占比阈值
strokeWidth: 0, // 不需要描边 strokeWidth: 0, // 不需要描边

View File

@ -49,7 +49,7 @@ export async function generateSTL(
// 创建挤压几何体 - Three.js 支持直接传入 shape 数组 // 创建挤压几何体 - Three.js 支持直接传入 shape 数组
const extrudeSettings: THREE.ExtrudeGeometryOptions = { const extrudeSettings: THREE.ExtrudeGeometryOptions = {
depth: layerSetting.thickness, depth: layerSetting.thickness,
curveSegments: 36, curveSegments: 12,
bevelEnabled: false, bevelEnabled: false,
}; };