perf(timer): perf

This commit is contained in:
2026-03-04 16:00:20 +08:00
parent b3cdaa960e
commit 2402d685d7
8 changed files with 146 additions and 69 deletions

View File

@@ -7,6 +7,11 @@ import { safeClone } from "./utils/clone"
type LabelData = Map<string, Map<string, [number, any[], any, any[]][]>>
type LabelPathTuple = [number, any[], any, any[]]
type LabelTime = {
label: number
review1: number
review2: number
}
const isPaperPointLike = (value: any) => {
return (
@@ -53,11 +58,7 @@ const normalizeLabelPathTuple = (path: LabelPathTuple): LabelPathTuple => {
interface LabelState {
// pathId pathPoints detail hollowPathPoints
label: LabelData
labelTime: {
label: number
review1: number
review2: number
}
labelTime: LabelTime
labelDefaultComments: Comment[]
setLabel: (label: LabelData) => void
stateStack: LabelData[]
@@ -83,11 +84,9 @@ interface LabelState {
[keys: string]: any
}
) => void
setLabelTime: (labelTime: {
label: number
review1: number
review2: number
}) => void
setLabelTime: (
labelTime: LabelTime | ((prev: LabelTime) => LabelTime)
) => void
setLabelDefaultComments: (arr: Comment[]) => void
setImage: (
imageId: string,
@@ -312,7 +311,10 @@ export const useLabelStore = create(
storeSet((state) => {
return {
...state,
labelTime,
labelTime:
typeof labelTime === "function"
? labelTime(state.labelTime)
: labelTime,
}
}),
setLabelDefaultComments: (labelDefaultComments) =>