Move panel temporary state to worker OPFS
This commit is contained in:
@@ -202,10 +202,11 @@ function projection(result: Record<string, unknown>, message: MessageEnvelope, p
|
||||
...(planner?.active ? [planner.active] : []),
|
||||
].filter((segment): segment is NonNullable<typeof segment> & { id: number; start: Record<string, number>; end: Record<string, number> } => Number.isSafeInteger(segment.id) && Boolean(segment.start) && Boolean(segment.end));
|
||||
const command = String(result.command ?? "");
|
||||
const resetPath = command === "PROGRAM_LOAD" || command === "PROGRAM_RESTART";
|
||||
const visualClear = command === "VISUAL_CLEAR";
|
||||
const resetPath = visualClear || command === "PROGRAM_LOAD" || command === "PROGRAM_RESTART";
|
||||
const known = resetPath ? new Set<number>() : new Set(previous.toolpath.map((segment) => segment.id));
|
||||
const nextToolpath = resetPath
|
||||
? previewSegments.map((segment, index) => ({ ...segment, id: index + 1, source_line: typeof segment.source_line === "number" ? segment.source_line : null, start: segment.start as Record<string, number>, end: segment.end as Record<string, number>, active: false }))
|
||||
? visualClear ? [] : previewSegments.map((segment, index) => ({ ...segment, id: index + 1, source_line: typeof segment.source_line === "number" ? segment.source_line : null, start: segment.start as Record<string, number>, end: segment.end as Record<string, number>, active: false }))
|
||||
: previous.toolpath.map((segment) => ({ ...segment, start: { ...segment.start }, end: { ...segment.end } }));
|
||||
for (const segment of plannerSegments) {
|
||||
if (!known.has(segment.id)) nextToolpath.push({ id: segment.id, source_line: segment.source_line, start: segment.start, end: segment.end, active: segment.id === planner?.active?.id });
|
||||
|
||||
Reference in New Issue
Block a user