From 89dd4fb0393c760315f7438c903f85c8bb28b5e0 Mon Sep 17 00:00:00 2001 From: Pierre Jacquier Date: Mon, 24 Mar 2025 16:08:19 -0400 Subject: [PATCH] Add edge and segment selection in point-and-click Helix flow (#5866) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * WIP: Add edge and segment selection in point-and-click Helix flow Fixes #5393 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * Working edge based helix edit * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * Add utility function for shared code between revolve and helix * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * Use updateModelingState in codemod * A snapshot a day keeps the bugs away! 📷🐛 * Add skip: true for edge helix to be consistent with axis as options * A snapshot a day keeps the bugs away! 📷🐛 * Add support for sweepEdge and tests * Lint * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * Clean up snapshots * Fix up tests after ccw change * Use displayName: 'CounterClockWise' cause ccw not cutting it * Fix tsc * Update 2020 snapshots after helix change * Update 2020 snapshots after helix change * A snapshot a day keeps the bugs away! 📷🐛 * Another one :djkhaled: * Clean up * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 --------- Co-authored-by: github-actions[bot] --- e2e/playwright/point-click.spec.ts | 179 ++++++++++++++++-- ...uld-be-stable-XZ-1-Google-Chrome-linux.png | Bin 73648 -> 73656 bytes src/lang/modifyAst.ts | 4 +- src/lang/modifyAst/addRevolve.ts | 109 ++++++----- .../modelingCommandConfig.ts | 48 +++-- src/lib/operations.ts | 115 +++++++++-- src/machines/modelingMachine.ts | 53 ++++-- 7 files changed, 401 insertions(+), 107 deletions(-) diff --git a/e2e/playwright/point-click.spec.ts b/e2e/playwright/point-click.spec.ts index 0d6f33198..1bca6e708 100644 --- a/e2e/playwright/point-click.spec.ts +++ b/e2e/playwright/point-click.spec.ts @@ -1071,7 +1071,7 @@ openSketch = startSketchOn(XY) }) }) - test('Helix point-and-click', async ({ + test('Helix point-and-click on default axis', async ({ context, page, homePage, @@ -1087,24 +1087,21 @@ openSketch = startSketchOn(XY) await homePage.goToModelingScene() - // await test.step(`Look for the red of the default plane`, async () => { - // await scene.expectPixelColor([96, 52, 52], testPoint, 15) - // }) await test.step(`Go through the command bar flow`, async () => { await toolbar.helixButton.click() await cmdBar.expectState({ stage: 'arguments', - currentArgKey: 'revolutions', - currentArgValue: '1', + currentArgKey: 'axisOrEdge', + currentArgValue: '', headerArguments: { AngleStart: '', - Axis: '', - Ccw: '', + AxisOrEdge: '', + CounterClockWise: '', Length: '', Radius: '', Revolutions: '', }, - highlightedHeaderArg: 'revolutions', + highlightedHeaderArg: 'axisOrEdge', commandName: 'Helix', }) await cmdBar.progressCmdBar() @@ -1114,6 +1111,7 @@ openSketch = startSketchOn(XY) await cmdBar.progressCmdBar() await cmdBar.progressCmdBar() await cmdBar.progressCmdBar() + await cmdBar.progressCmdBar() }) await test.step(`Confirm code is added to the editor, scene has changed`, async () => { @@ -1141,7 +1139,7 @@ openSketch = startSketchOn(XY) headerArguments: { AngleStart: '360', Axis: 'X', - Ccw: '', + CounterClockWise: '', Length: initialInput, Radius: '5', Revolutions: '1', @@ -1156,7 +1154,7 @@ openSketch = startSketchOn(XY) headerArguments: { AngleStart: '360', Axis: 'X', - Ccw: '', + CounterClockWise: '', Length: newInput, Radius: '5', Revolutions: '1', @@ -1179,6 +1177,165 @@ openSketch = startSketchOn(XY) }) }) + const helixCases = [ + { + selectionType: 'segment', + testPoint: { x: 513, y: 221 }, + expectedOutput: `helix001 = helix( revolutions = 20, angleStart = 0, ccw = true, radius = 1, axis = seg01, length = 100,)`, + expectedEditedOutput: `helix001 = helix( revolutions = 20, angleStart = 0, ccw = true, radius = 1, axis = seg01, length = 50,)`, + }, + { + selectionType: 'sweepEdge', + testPoint: { x: 564, y: 364 }, + expectedOutput: `helix001 = helix( revolutions = 20, angleStart = 0, ccw = true, radius = 1, axis = getOppositeEdge(seg01), length = 100,)`, + expectedEditedOutput: `helix001 = helix( revolutions = 20, angleStart = 0, ccw = true, radius = 1, axis = getOppositeEdge(seg01), length = 50,)`, + }, + ] + helixCases.map( + ({ selectionType, testPoint, expectedOutput, expectedEditedOutput }) => { + test(`Helix point-and-click around ${selectionType}`, async ({ + context, + page, + homePage, + scene, + editor, + toolbar, + cmdBar, + }) => { + page.on('console', console.log) + const initialCode = `sketch001 = startSketchOn('XZ') + profile001 = startProfileAt([0, 0], sketch001) + |> yLine(length = 100) + |> line(endAbsolute = [100, 0]) + |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) + |> close() + extrude001 = extrude(profile001, length = 100)` + + // One dumb hardcoded screen pixel value + const [clickOnEdge] = scene.makeMouseHelpers(testPoint.x, testPoint.y) + + await context.addInitScript((initialCode) => { + localStorage.setItem('persistCode', initialCode) + }, initialCode) + await page.setBodyDimensions({ width: 1000, height: 500 }) + await homePage.goToModelingScene() + + await test.step(`Go through the command bar flow`, async () => { + await toolbar.closePane('code') + await toolbar.helixButton.click() + await cmdBar.expectState({ + stage: 'arguments', + currentArgKey: 'axisOrEdge', + currentArgValue: '', + headerArguments: { + AngleStart: '', + AxisOrEdge: '', + CounterClockWise: '', + Length: '', + Radius: '', + Revolutions: '', + }, + highlightedHeaderArg: 'axisOrEdge', + commandName: 'Helix', + }) + await cmdBar.selectOption({ name: 'Edge' }).click() + await clickOnEdge() + await cmdBar.progressCmdBar() + await cmdBar.argumentInput.focus() + await page.keyboard.insertText('20') + await cmdBar.progressCmdBar() + await page.keyboard.insertText('0') + await cmdBar.progressCmdBar() + await cmdBar.selectOption({ name: 'True' }).click() + await page.keyboard.insertText('1') + await cmdBar.progressCmdBar() + await page.keyboard.insertText('100') + await cmdBar.progressCmdBar() + await cmdBar.expectState({ + stage: 'review', + headerArguments: { + AngleStart: '0', + AxisOrEdge: 'Edge', + Edge: `1 ${selectionType}`, + CounterClockWise: '', + Length: '100', + Radius: '1', + Revolutions: '20', + }, + commandName: 'Helix', + }) + await cmdBar.progressCmdBar() + }) + + await test.step(`Confirm code is added to the editor, scene has changed`, async () => { + await toolbar.openPane('code') + await editor.expectEditor.toContain(expectedOutput) + await toolbar.closePane('code') + }) + + await test.step(`Edit helix through the feature tree`, async () => { + await toolbar.openPane('feature-tree') + const operationButton = await toolbar.getFeatureTreeOperation( + 'Helix', + 0 + ) + await operationButton.dblclick() + const initialInput = '100' + const newInput = '50' + await cmdBar.expectState({ + commandName: 'Helix', + stage: 'arguments', + currentArgKey: 'length', + currentArgValue: initialInput, + headerArguments: { + AngleStart: '0', + CounterClockWise: '', + Length: initialInput, + Radius: '1', + Revolutions: '20', + }, + highlightedHeaderArg: 'length', + }) + await expect(cmdBar.currentArgumentInput).toBeVisible() + await cmdBar.currentArgumentInput + .locator('.cm-content') + .fill(newInput) + await cmdBar.progressCmdBar() + await cmdBar.expectState({ + stage: 'review', + headerArguments: { + AngleStart: '0', + CounterClockWise: '', + Length: newInput, + Radius: '1', + Revolutions: '20', + }, + commandName: 'Helix', + }) + await cmdBar.progressCmdBar() + await toolbar.closePane('feature-tree') + await toolbar.openPane('code') + await editor.expectEditor.toContain(expectedEditedOutput) + await toolbar.closePane('code') + }) + + await test.step('Delete helix via feature tree selection', async () => { + await toolbar.openPane('feature-tree') + const operationButton = await toolbar.getFeatureTreeOperation( + 'Helix', + 0 + ) + await operationButton.click({ button: 'left' }) + await page.keyboard.press('Delete') + await editor.expectEditor.not.toContain(expectedEditedOutput) + await expect( + await toolbar.getFeatureTreeOperation('Helix', 0) + ).not.toBeVisible() + }) + }) + } + ) + const loftPointAndClickCases = [ { shouldPreselect: true }, { shouldPreselect: false }, diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable-XZ-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable-XZ-1-Google-Chrome-linux.png index fb378717ca4aecf5dff705dd041acd66a3f56ba9..157813f4059f709848a1d6d0e562ed399e8a43d2 100644 GIT binary patch literal 73656 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

A9ZAoOSn3bdgT(I?(6SHuQeIJKq5W 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�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 z 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 RlMU3 | Node length: Expr insertIndex?: number variableName?: string @@ -840,7 +840,7 @@ export function addHelix({ createLabeledArg('angleStart', angleStart), createLabeledArg('ccw', createLiteral(ccw)), createLabeledArg('radius', radius), - createLabeledArg('axis', createLiteral(axis)), + createLabeledArg('axis', axis), createLabeledArg('length', length), ] ) diff --git a/src/lang/modifyAst/addRevolve.ts b/src/lang/modifyAst/addRevolve.ts index 06a4e9958..bc9a9ddb6 100644 --- a/src/lang/modifyAst/addRevolve.ts +++ b/src/lang/modifyAst/addRevolve.ts @@ -32,11 +32,66 @@ import { import { Artifact, getPathsFromArtifact } from 'lang/std/artifactGraph' import { kclManager } from 'lib/singletons' +export function getAxisExpressionAndIndex( + axisOrEdge: 'Axis' | 'Edge', + axis: string | undefined, + edge: Selections | undefined, + ast: Node +) { + let generatedAxis + let axisDeclaration: PathToNode | null = null + let axisIndexIfAxis: number | undefined = undefined + + if (axisOrEdge === 'Edge' && edge) { + const pathToAxisSelection = getNodePathFromSourceRange( + ast, + edge.graphSelections[0]?.codeRef.range + ) + const lineNode = getNodeFromPath( + ast, + pathToAxisSelection, + ['CallExpression', 'CallExpressionKw'] + ) + if (err(lineNode)) return lineNode + + const tagResult = mutateAstWithTagForSketchSegment(ast, pathToAxisSelection) + + // Have the tag whether it is already created or a new one is generated + if (err(tagResult)) return tagResult + const { tag } = tagResult + const axisSelection = edge?.graphSelections[0]?.artifact + if (!axisSelection) return new Error('Generated axis selection is missing.') + generatedAxis = getEdgeTagCall(tag, axisSelection) + if ( + axisSelection.type === 'segment' || + axisSelection.type === 'path' || + axisSelection.type === 'edgeCut' + ) { + axisDeclaration = axisSelection.codeRef.pathToNode + if (!axisDeclaration) + return new Error('Expected to fine axis declaration') + const axisIndexInPathToNode = + axisDeclaration.findIndex((a) => a[0] === 'body') + 1 + const value = axisDeclaration[axisIndexInPathToNode][0] + if (typeof value !== 'number') + return new Error('expected axis index value to be a number') + axisIndexIfAxis = value + } + } else if (axisOrEdge === 'Axis' && axis) { + generatedAxis = createLiteral(axis) + } + + return { + generatedAxis, + axisIndexIfAxis, + } +} + export function revolveSketch( ast: Node, pathToSketchNode: PathToNode, angle: Expr = createLiteral(4), - axisOrEdge: string, + axisOrEdge: 'Axis' | 'Edge', axis: string, edge: Selections, artifactGraph: ArtifactGraph, @@ -58,44 +113,6 @@ export function revolveSketch( const clonedAst = structuredClone(ast) const sketchNode = getNodeFromPath(clonedAst, pathToSketchNode) if (err(sketchNode)) return sketchNode - - let generatedAxis - let axisDeclaration: PathToNode | null = null - - if (axisOrEdge === 'Edge') { - const pathToAxisSelection = getNodePathFromSourceRange( - clonedAst, - edge.graphSelections[0]?.codeRef.range - ) - const lineNode = getNodeFromPath( - clonedAst, - pathToAxisSelection, - ['CallExpression', 'CallExpressionKw'] - ) - if (err(lineNode)) return lineNode - - const tagResult = mutateAstWithTagForSketchSegment( - clonedAst, - pathToAxisSelection - ) - - // Have the tag whether it is already created or a new one is generated - if (err(tagResult)) return tagResult - const { tag } = tagResult - const axisSelection = edge?.graphSelections[0]?.artifact - if (!axisSelection) return new Error('Generated axis selection is missing.') - generatedAxis = getEdgeTagCall(tag, axisSelection) - if ( - axisSelection.type === 'segment' || - axisSelection.type === 'path' || - axisSelection.type === 'edgeCut' - ) { - axisDeclaration = axisSelection.codeRef.pathToNode - } - } else { - generatedAxis = createLiteral(axis) - } - const sketchVariableDeclaratorNode = getNodeFromPath( clonedAst, pathToSketchNode, @@ -104,6 +121,9 @@ export function revolveSketch( if (err(sketchVariableDeclaratorNode)) return sketchVariableDeclaratorNode const { node: sketchVariableDeclarator } = sketchVariableDeclaratorNode + const getAxisResult = getAxisExpressionAndIndex(axisOrEdge, axis, edge, ast) + if (err(getAxisResult)) return getAxisResult + const { generatedAxis, axisIndexIfAxis } = getAxisResult if (!generatedAxis) return new Error('Generated axis selection is missing.') const revolveCall = createCallExpressionStdLibKw( @@ -124,15 +144,8 @@ export function revolveSketch( } // If an axis was selected in KCL, find the max index to insert the revolve command - if (axisDeclaration) { - const axisIndexInPathToNode = - axisDeclaration.findIndex((a) => a[0] === 'body') + 1 - const axisIndex = axisDeclaration[axisIndexInPathToNode][0] - - if (typeof axisIndex !== 'number') - return new Error('expected axisIndex to be a number') - - sketchIndexInBody = Math.max(sketchIndexInBody, axisIndex) + if (axisIndexIfAxis) { + sketchIndexInBody = Math.max(sketchIndexInBody, axisIndexIfAxis) } clonedAst.body.splice(sketchIndexInBody + 1, 0, VariableDeclaration) diff --git a/src/lib/commandBarConfigs/modelingCommandConfig.ts b/src/lib/commandBarConfigs/modelingCommandConfig.ts index e62949356..a63d08ba3 100644 --- a/src/lib/commandBarConfigs/modelingCommandConfig.ts +++ b/src/lib/commandBarConfigs/modelingCommandConfig.ts @@ -96,12 +96,15 @@ export type ModelingCommandSchema = { Helix: { // Enables editing workflow nodeToEdit?: PathToNode + // Flow arg + axisOrEdge: 'Axis' | 'Edge' // KCL stdlib arguments + axis: string | undefined + edge: Selections | undefined revolutions: KclCommandValue angleStart: KclCommandValue ccw: boolean radius: KclCommandValue - axis: string length: KclCommandValue } 'event.parameter.create': { @@ -532,6 +535,38 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig< required: false, hidden: true, }, + axisOrEdge: { + inputType: 'options', + required: true, + defaultValue: 'Axis', + options: [ + { name: 'Axis', isCurrent: true, value: 'Axis' }, + { name: 'Edge', isCurrent: false, value: 'Edge' }, + ], + hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit), + }, + axis: { + inputType: 'options', + required: (commandContext) => + ['Axis'].includes( + commandContext.argumentsToSubmit.axisOrEdge as string + ), + options: [ + { name: 'X Axis', value: 'X' }, + { name: 'Y Axis', value: 'Y' }, + { name: 'Z Axis', value: 'Z' }, + ], + }, + edge: { + required: (commandContext) => + ['Edge'].includes( + commandContext.argumentsToSubmit.axisOrEdge as string + ), + inputType: 'selection', + selectionTypes: ['segment', 'sweepEdge'], + multiple: false, + hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit), + }, revolutions: { inputType: 'kcl', defaultValue: '1', @@ -547,6 +582,7 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig< ccw: { inputType: 'options', required: true, + displayName: 'CounterClockWise', defaultValue: false, options: [ { name: 'False', value: false }, @@ -558,16 +594,6 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig< defaultValue: KCL_DEFAULT_LENGTH, required: true, }, - axis: { - inputType: 'options', - required: true, - defaultValue: 'X', - options: [ - { name: 'X Axis', value: 'X' }, - { name: 'Y Axis', value: 'Y' }, - { name: 'Z Axis', value: 'Z' }, - ], - }, length: { inputType: 'kcl', defaultValue: KCL_DEFAULT_LENGTH, diff --git a/src/lib/operations.ts b/src/lib/operations.ts index 524fcd7dc..fa12e66a2 100644 --- a/src/lib/operations.ts +++ b/src/lib/operations.ts @@ -3,6 +3,7 @@ import { Artifact, getArtifactOfTypes, getCapCodeRef, + getSweepEdgeCodeRef, } from 'lang/std/artifactGraph' import { Operation } from '@rust/kcl-lib/bindings/Operation' import { codeManager, engineCommandManager, kclManager } from './singletons' @@ -458,12 +459,85 @@ const prepareToEditHelix: PrepareToEditCallback = async ({ operation }) => { } // TODO: find a way to loop over the arguments while keeping it safe + + // axis options string arg + if (!('axis' in operation.labeledArgs) || !operation.labeledArgs.axis) { + return baseCommand + } + + const axisValue = operation.labeledArgs.axis.value + let axisOrEdge: 'Axis' | 'Edge' | undefined + let axis: string | undefined + let edge: Selections | undefined + if (axisValue.type === 'String') { + // default axis casee + axisOrEdge = 'Axis' + axis = axisValue.value + } else if (axisValue.type === 'TagIdentifier' && axisValue.artifact_id) { + // segment case + axisOrEdge = 'Edge' + const artifact = getArtifactOfTypes( + { + key: axisValue.artifact_id, + types: ['segment'], + }, + engineCommandManager.artifactGraph + ) + if (err(artifact)) { + return baseCommand + } + + edge = { + graphSelections: [ + { + artifact, + codeRef: artifact.codeRef, + }, + ], + otherSelections: [], + } + } else if (axisValue.type === 'Uuid') { + // sweepEdge case + axisOrEdge = 'Edge' + const artifact = getArtifactOfTypes( + { + key: axisValue.value, + types: ['sweepEdge'], + }, + engineCommandManager.artifactGraph + ) + if (err(artifact)) { + return baseCommand + } + + const codeRef = getSweepEdgeCodeRef( + artifact, + engineCommandManager.artifactGraph + ) + if (err(codeRef)) { + return baseCommand + } + + edge = { + graphSelections: [ + { + artifact, + codeRef, + }, + ], + otherSelections: [], + } + } else { + return baseCommand + } + // revolutions kcl arg if ( !('revolutions' in operation.labeledArgs) || !operation.labeledArgs.revolutions - ) + ) { return baseCommand + } const revolutions = await stringToKclExpression( codeManager.code.slice( operation.labeledArgs.revolutions.sourceRange[0], @@ -476,19 +550,23 @@ const prepareToEditHelix: PrepareToEditCallback = async ({ operation }) => { if ( !('angleStart' in operation.labeledArgs) || !operation.labeledArgs.angleStart - ) + ) { return baseCommand + } const angleStart = await stringToKclExpression( codeManager.code.slice( operation.labeledArgs.angleStart.sourceRange[0], operation.labeledArgs.angleStart.sourceRange[1] ) ) - if (err(angleStart) || 'errors' in angleStart) return baseCommand + if (err(angleStart) || 'errors' in angleStart) { + return baseCommand + } // counterClockWise options boolean arg - if (!('ccw' in operation.labeledArgs) || !operation.labeledArgs.ccw) + if (!('ccw' in operation.labeledArgs) || !operation.labeledArgs.ccw) { return baseCommand + } const ccw = codeManager.code.slice( operation.labeledArgs.ccw.sourceRange[0], @@ -496,46 +574,47 @@ const prepareToEditHelix: PrepareToEditCallback = async ({ operation }) => { ) === 'true' // radius kcl arg - if (!('radius' in operation.labeledArgs) || !operation.labeledArgs.radius) + if (!('radius' in operation.labeledArgs) || !operation.labeledArgs.radius) { + console.log( + "!('radius' in operation.labeledArgs) || !operation.labeledArgs.radius" + ) return baseCommand + } const radius = await stringToKclExpression( codeManager.code.slice( operation.labeledArgs.radius.sourceRange[0], operation.labeledArgs.radius.sourceRange[1] ) ) - if (err(radius) || 'errors' in radius) return baseCommand - - // axis options string arg - if (!('axis' in operation.labeledArgs) || !operation.labeledArgs.axis) + if (err(radius) || 'errors' in radius) { return baseCommand - const axis = codeManager.code - .slice( - operation.labeledArgs.axis.sourceRange[0], - operation.labeledArgs.axis.sourceRange[1] - ) - .replaceAll("'", '') // TODO: fix this crap + } // length kcl arg - if (!('length' in operation.labeledArgs) || !operation.labeledArgs.length) + if (!('length' in operation.labeledArgs) || !operation.labeledArgs.length) { return baseCommand + } const length = await stringToKclExpression( codeManager.code.slice( operation.labeledArgs.length.sourceRange[0], operation.labeledArgs.length.sourceRange[1] ) ) - if (err(length) || 'errors' in length) return baseCommand + if (err(length) || 'errors' in length) { + return baseCommand + } // Assemble the default argument values for the Offset Plane command, // with `nodeToEdit` set, which will let the Offset Plane actor know // to edit the node that corresponds to the StdLibCall. const argDefaultValues: ModelingCommandSchema['Helix'] = { + axisOrEdge, + axis, + edge, revolutions, angleStart, ccw, radius, - axis, length, nodeToEdit: getNodePathFromSourceRange( kclManager.ast, diff --git a/src/machines/modelingMachine.ts b/src/machines/modelingMachine.ts index 6c7f284df..0989e2426 100644 --- a/src/machines/modelingMachine.ts +++ b/src/machines/modelingMachine.ts @@ -41,7 +41,10 @@ import { applyConstraintEqualLength, setEqualLengthInfo, } from 'components/Toolbar/EqualLength' -import { revolveSketch } from 'lang/modifyAst/addRevolve' +import { + getAxisExpressionAndIndex, + revolveSketch, +} from 'lang/modifyAst/addRevolve' import { addHelix, addOffsetPlane, @@ -1904,11 +1907,13 @@ export const modelingMachine = setup({ // Extract inputs const ast = kclManager.ast const { + axisOrEdge, + axis, + edge, revolutions, angleStart, ccw, radius, - axis, length, nodeToEdit, } = input @@ -1936,6 +1941,25 @@ export const modelingMachine = setup({ opInsertIndex = nodeToEdit[1][0] } + const getAxisResult = getAxisExpressionAndIndex( + axisOrEdge, + axis, + edge, + ast + ) + if (err(getAxisResult)) return getAxisResult + const { generatedAxis } = getAxisResult + if (!generatedAxis) { + return new Error('Generated axis selection is missing.') + } + + // TODO: figure out if we want to smart insert after the sketch as below + // *or* after the sweep that consumes the sketch, in which case the below code doesn't work + // If an axis was selected in KCL, find the max index to insert the revolve command + // if (axisIndexIfAxis) { + // opInsertIndex = axisIndexIfAxis + 1 + // } + for (const variable of [revolutions, angleStart, radius, length]) { // Insert the variable if it exists if ( @@ -1958,33 +1982,28 @@ export const modelingMachine = setup({ ? variable.variableIdentifierAst : variable.valueAst - const result = addHelix({ + const { modifiedAst, pathToNode } = addHelix({ node: ast, revolutions: valueOrVariable(revolutions), angleStart: valueOrVariable(angleStart), ccw, radius: valueOrVariable(radius), - axis, + axis: generatedAxis, length: valueOrVariable(length), insertIndex: opInsertIndex, variableName: opVariableName, }) - - const updateAstResult = await kclManager.updateAst( - result.modifiedAst, - true, + await updateModelingState( + modifiedAst, { - focusPath: [result.pathToNode], + kclManager, + editorManager, + codeManager, + }, + { + focusPath: [pathToNode], } ) - - await codeManager.updateEditorWithAstAndWriteToFile( - updateAstResult.newAst - ) - - if (updateAstResult?.selections) { - editorManager.selectRange(updateAstResult?.selections) - } } ), sweepAstMod: fromPromise(