diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index e2f264322..79fdae0bd 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -489,70 +489,6 @@ export class SceneEntities { maybeModdedAst: modifiedAst, draftExpressionsIndices, }) - this.setupDraftSegmentCallbacks({ - sketchPathToNode, - sketchGroup, - forward, - up, - origin, - segmentName, - truncatedAst, - programMemoryOverride, - variableDeclarationName, - }) - } - setupSketchIdleCallbacks = (pathToNode: PathToNode) => { - sceneInfra.setCallbacks({ - onDrag: ({ selected, intersectionPoint, mouseEvent, intersects }) => { - if (mouseEvent.which !== 1) return - this.onDragSegment({ - object: selected, - intersection2d: intersectionPoint.twoD, - intersects, - sketchPathToNode: pathToNode, - }) - }, - onMove: () => {}, - onClick: (args) => { - if (args?.mouseEvent.which !== 1) return - if (!args || !args.selected) { - sceneInfra.modelingSend({ - type: 'Set selection', - data: { - selectionType: 'singleCodeCursor', - }, - }) - return - } - const { selected } = args - const event = getEventForSegmentSelection(selected) - if (!event) return - sceneInfra.modelingSend(event) - }, - ...mouseEnterLeaveCallbacks(), - }) - } - setupDraftSegmentCallbacks = ({ - sketchPathToNode, - sketchGroup, - forward, - up, - segmentName, - truncatedAst, - programMemoryOverride, - variableDeclarationName, - origin, - }: { - sketchPathToNode: PathToNode - sketchGroup: SketchGroup - forward: [number, number, number] - up: [number, number, number] - origin: [number, number, number] - segmentName: 'line' | 'tangentialArcTo' - truncatedAst: Program - programMemoryOverride: ProgramMemory - variableDeclarationName: string - }) => { sceneInfra.setCallbacks({ onClick: async (args) => { if (!args) return @@ -613,6 +549,37 @@ export class SceneEntities { ...mouseEnterLeaveCallbacks(), }) } + setupSketchIdleCallbacks = (pathToNode: PathToNode) => { + sceneInfra.setCallbacks({ + onDrag: ({ selected, intersectionPoint, mouseEvent, intersects }) => { + if (mouseEvent.which !== 1) return + this.onDragSegment({ + object: selected, + intersection2d: intersectionPoint.twoD, + intersects, + sketchPathToNode: pathToNode, + }) + }, + onMove: () => {}, + onClick: (args) => { + if (args?.mouseEvent.which !== 1) return + if (!args || !args.selected) { + sceneInfra.modelingSend({ + type: 'Set selection', + data: { + selectionType: 'singleCodeCursor', + }, + }) + return + } + const { selected } = args + const event = getEventForSegmentSelection(selected) + if (!event) return + sceneInfra.modelingSend(event) + }, + ...mouseEnterLeaveCallbacks(), + }) + } prepareTruncatedMemoryAndAst = ( sketchPathToNode: PathToNode, ast?: Program,