diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index efb59e52a..72b859bed 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -1489,6 +1489,7 @@ export class SceneEntities { kclManager.ast, artifact.range ) + const extrudePathToNode = extrusions?.range ? getNodePathFromSourceRange(kclManager.ast, extrusions.range) : [] diff --git a/src/components/ModelingMachineProvider.tsx b/src/components/ModelingMachineProvider.tsx index f956df998..22543846d 100644 --- a/src/components/ModelingMachineProvider.tsx +++ b/src/components/ModelingMachineProvider.tsx @@ -508,6 +508,7 @@ export const ModelingMachineProvider = ({ 'animate-to-face': async (_, { data }) => { console.log('animate-to-face', data) if (data.type === 'extrudeFace') { + console.log('data', data) const { modifiedAst, pathToNode: pathToNewSketchNode } = sketchOnExtrudedFace( kclManager.ast, diff --git a/src/lang/std/engineConnection.ts b/src/lang/std/engineConnection.ts index 8aebed9be..1b6e568f4 100644 --- a/src/lang/std/engineConnection.ts +++ b/src/lang/std/engineConnection.ts @@ -1466,6 +1466,9 @@ export class EngineCommandManager extends EventTarget { if (command && command.type === 'pending') { const resolve = command.resolve + const oldArtifact = this.artifactMap[id] as ArtifactMapCommand & { + extrusions?: string[] + } const artifact = { type: 'result', range: command.range, @@ -1474,7 +1477,10 @@ export class EngineCommandManager extends EventTarget { parentId: command.parentId ? command.parentId : undefined, data: modelingResponse, raw, - } as const + } as ArtifactMapCommand & { extrusions?: string[] } + if (oldArtifact?.extrusions) { + artifact.extrusions = oldArtifact.extrusions + } this.artifactMap[id] = artifact if ( (command.commandType === 'entity_linear_pattern' && @@ -1903,6 +1909,8 @@ export class EngineCommandManager extends EventTarget { } else { typedTarget.extrusions = [id] } + // Update in the map. + this.artifactMap[command.target] = typedTarget } } return promise