feat(tool): shape

This commit is contained in:
zhangheng
2026-04-03 20:40:04 +08:00
parent b1dca7f2a8
commit a949987ee5
4 changed files with 140 additions and 0 deletions

View File

@@ -28,6 +28,10 @@ interface TopToolsState {
) => void
crosshairStatus: "hidden" | "line" | "carve"
setCrosshairStatus: (val: "hidden" | "line" | "carve") => void
assistToolEnabled: boolean
setAssistToolEnabled: (val: boolean) => void
assistToolSize: number
setAssistToolSize: (val: number) => void
showTags: boolean
setShowTags: (val: boolean) => void
showTagsConfigs: string[]
@@ -85,6 +89,8 @@ const initialTopToolsState = {
brightness: 0,
},
crosshairStatus: "hidden" as "hidden" | "line" | "carve",
assistToolEnabled: false,
assistToolSize: 10,
drawOption: "default" as "default" | "intersect" | "unite",
saveCurrentScale: false,
scale: 1,
@@ -156,6 +162,18 @@ export const useTopToolsStore = create<TopToolsState>()(
...state,
crosshairStatus: val,
})),
assistToolEnabled: initialTopToolsState.assistToolEnabled,
setAssistToolEnabled: (val) =>
set((state: TopToolsState) => ({
...state,
assistToolEnabled: val,
})),
assistToolSize: initialTopToolsState.assistToolSize,
setAssistToolSize: (val) =>
set((state: TopToolsState) => ({
...state,
assistToolSize: Math.max(1, val),
})),
showTags: false,
setShowTags: (val) =>
set((state: TopToolsState) => ({