Compare commits
	
		
			1 Commits
		
	
	
		
			nightly-v2
			...
			remove-the
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f46edcddf3 | 
| @ -534,7 +534,7 @@ export class SceneEntities { | ||||
|     segmentName: 'line' | 'tangentialArcTo' = 'line', | ||||
|     shouldTearDown = true | ||||
|   ) => { | ||||
|     const _ast = JSON.parse(JSON.stringify(kclManager.ast)) | ||||
|     const _ast = kclManager.ast | ||||
|  | ||||
|     const _node1 = getNodeFromPath<VariableDeclaration>( | ||||
|       _ast, | ||||
| @ -692,7 +692,7 @@ export class SceneEntities { | ||||
|     sketchOrigin: [number, number, number], | ||||
|     rectangleOrigin: [x: number, y: number] | ||||
|   ) => { | ||||
|     let _ast = JSON.parse(JSON.stringify(kclManager.ast)) | ||||
|     let _ast = kclManager.ast | ||||
|  | ||||
|     const _node1 = getNodeFromPath<VariableDeclaration>( | ||||
|       _ast, | ||||
| @ -723,7 +723,9 @@ export class SceneEntities { | ||||
|       ...getRectangleCallExpressions(rectangleOrigin, tags), | ||||
|     ]) | ||||
|  | ||||
|     _ast = parse(recast(_ast)) | ||||
|     let result = parse(recast(_ast)) | ||||
|     if (trap(result)) return Promise.reject(result) | ||||
|     _ast = result | ||||
|  | ||||
|     const { programMemoryOverride, truncatedAst } = await this.setupSketch({ | ||||
|       sketchPathToNode, | ||||
| @ -737,7 +739,7 @@ export class SceneEntities { | ||||
|     sceneInfra.setCallbacks({ | ||||
|       onMove: async (args) => { | ||||
|         // Update the width and height of the draft rectangle | ||||
|         const pathToNodeTwo = JSON.parse(JSON.stringify(sketchPathToNode)) | ||||
|         const pathToNodeTwo = sketchPathToNode | ||||
|         pathToNodeTwo[1][0] = 0 | ||||
|  | ||||
|         const _node = getNodeFromPath<VariableDeclaration>( | ||||
| @ -799,7 +801,9 @@ export class SceneEntities { | ||||
|         if (sketchInit.type === 'PipeExpression') { | ||||
|           updateRectangleSketch(sketchInit, x, y, tags[0]) | ||||
|  | ||||
|           _ast = parse(recast(_ast)) | ||||
|           let result = parse(recast(_ast)) | ||||
|           if (trap(result)) return Promise.reject(result) | ||||
|           _ast = result | ||||
|  | ||||
|           // Update the primary AST and unequip the rectangle tool | ||||
|           await kclManager.executeAstMock(_ast) | ||||
| @ -1003,10 +1007,8 @@ export class SceneEntities { | ||||
|       PROFILE_START, | ||||
|     ]) | ||||
|     if (!group) return | ||||
|     const pathToNode: PathToNode = JSON.parse( | ||||
|       JSON.stringify(group.userData.pathToNode) | ||||
|     ) | ||||
|     const varDecIndex = JSON.parse(JSON.stringify(pathToNode[1][0])) | ||||
|     const pathToNode: PathToNode = group.userData.pathToNode | ||||
|     const varDecIndex: number = pathToNode[1][0] as number | ||||
|     if (draftInfo) { | ||||
|       pathToNode[1][0] = 0 | ||||
|     } | ||||
| @ -1719,7 +1721,7 @@ function prepareTruncatedMemoryAndAst( | ||||
|     } | ||||
|   | Error { | ||||
|   const bodyIndex = Number(sketchPathToNode?.[1]?.[0]) || 0 | ||||
|   const _ast = JSON.parse(JSON.stringify(ast)) | ||||
|   const _ast = ast | ||||
|  | ||||
|   const _node = getNodeFromPath<VariableDeclaration>( | ||||
|     _ast, | ||||
| @ -1778,7 +1780,7 @@ function prepareTruncatedMemoryAndAst( | ||||
|   } | ||||
|   const truncatedAst: Program = { | ||||
|     ..._ast, | ||||
|     body: [JSON.parse(JSON.stringify(_ast.body[bodyIndex]))], | ||||
|     body: [_ast.body[bodyIndex]], | ||||
|   } | ||||
|   const programMemoryOverride = programMemoryInit() | ||||
|   if (err(programMemoryOverride)) return programMemoryOverride | ||||
| @ -1804,7 +1806,7 @@ function prepareTruncatedMemoryAndAst( | ||||
|     } | ||||
|  | ||||
|     if (value.type === 'TagIdentifier') { | ||||
|       programMemoryOverride.root[key] = JSON.parse(JSON.stringify(value)) | ||||
|       programMemoryOverride.root[key] = value | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @ -1819,7 +1821,7 @@ function prepareTruncatedMemoryAndAst( | ||||
|     if (!memoryItem) { | ||||
|       continue | ||||
|     } | ||||
|     programMemoryOverride.root[name] = JSON.parse(JSON.stringify(memoryItem)) | ||||
|     programMemoryOverride.root[name] = memoryItem | ||||
|   } | ||||
|   return { | ||||
|     truncatedAst, | ||||
|  | ||||
| @ -151,9 +151,7 @@ export function useCalc({ | ||||
|         ast, | ||||
|         engineCommandManager, | ||||
|         useFakeExecutor: true, | ||||
|         programMemoryOverride: JSON.parse( | ||||
|           JSON.stringify(kclManager.programMemory) | ||||
|         ), | ||||
|         programMemoryOverride: kclManager.programMemory, | ||||
|       }).then(({ programMemory }) => { | ||||
|         const resultDeclaration = ast.body.find( | ||||
|           (a) => | ||||
|  | ||||
| @ -513,7 +513,7 @@ export const ModelingMachineProvider = ({ | ||||
|       services: { | ||||
|         'AST-undo-startSketchOn': async ({ sketchDetails }) => { | ||||
|           if (!sketchDetails) return | ||||
|           const newAst: Program = JSON.parse(JSON.stringify(kclManager.ast)) | ||||
|           const newAst: Program = kclManager.ast | ||||
|           const varDecIndex = sketchDetails.sketchPathToNode[1][0] | ||||
|           // remove body item at varDecIndex | ||||
|           newAst.body = newAst.body.filter((_, i) => i !== varDecIndex) | ||||
|  | ||||
| @ -145,7 +145,7 @@ export async function applyConstraintIntersect({ | ||||
|   const { transforms, forcedSelectionRanges } = info | ||||
|  | ||||
|   const transform1 = transformSecondarySketchLinesTagFirst({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges: forcedSelectionRanges, | ||||
|     transformInfos: transforms, | ||||
|     programMemory: kclManager.programMemory, | ||||
|  | ||||
| @ -106,7 +106,7 @@ export async function applyConstraintAbsDistance({ | ||||
|   const transformInfos = info.transforms | ||||
|  | ||||
|   const transform1 = transformAstSketchLines({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges: selectionRanges, | ||||
|     transformInfos, | ||||
|     programMemory: kclManager.programMemory, | ||||
| @ -128,7 +128,7 @@ export async function applyConstraintAbsDistance({ | ||||
|   ) | ||||
|  | ||||
|   const transform2 = transformAstSketchLines({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges: selectionRanges, | ||||
|     transformInfos, | ||||
|     programMemory: kclManager.programMemory, | ||||
| @ -176,7 +176,7 @@ export function applyConstraintAxisAlign({ | ||||
|   let finalValue = createIdentifier('ZERO') | ||||
|  | ||||
|   return transformAstSketchLines({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges: selectionRanges, | ||||
|     transformInfos, | ||||
|     programMemory: kclManager.programMemory, | ||||
|  | ||||
| @ -100,7 +100,7 @@ export async function applyConstraintAngleBetween({ | ||||
|   const transformInfos = info.transforms | ||||
|  | ||||
|   const transformed1 = transformSecondarySketchLinesTagFirst({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges, | ||||
|     transformInfos, | ||||
|     programMemory: kclManager.programMemory, | ||||
|  | ||||
| @ -108,7 +108,7 @@ export async function applyConstraintHorzVertDistance({ | ||||
|   if (err(info)) return Promise.reject(info) | ||||
|   const transformInfos = info.transforms | ||||
|   const transformed = transformSecondarySketchLinesTagFirst({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges, | ||||
|     transformInfos, | ||||
|     programMemory: kclManager.programMemory, | ||||
|  | ||||
| @ -84,7 +84,7 @@ export async function applyConstraintAngleLength({ | ||||
|  | ||||
|   const { transforms } = angleLength | ||||
|   const sketched = transformAstSketchLines({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges, | ||||
|     transformInfos: transforms, | ||||
|     programMemory: kclManager.programMemory, | ||||
| @ -139,7 +139,7 @@ export async function applyConstraintAngleLength({ | ||||
|   } | ||||
|  | ||||
|   const retval = transformAstSketchLines({ | ||||
|     ast: JSON.parse(JSON.stringify(kclManager.ast)), | ||||
|     ast: kclManager.ast, | ||||
|     selectionRanges, | ||||
|     transformInfos: transforms, | ||||
|     programMemory: kclManager.programMemory, | ||||
|  | ||||
| @ -42,9 +42,8 @@ function registerServerCapability( | ||||
|   serverCapabilities: ServerCapabilities, | ||||
|   registration: Registration | ||||
| ): ServerCapabilities | Error { | ||||
|   const serverCapabilitiesCopy = JSON.parse( | ||||
|     JSON.stringify(serverCapabilities) | ||||
|   ) as IFlexibleServerCapabilities | ||||
|   const serverCapabilitiesCopy = | ||||
|     serverCapabilities as IFlexibleServerCapabilities | ||||
|   const { method, registerOptions } = registration | ||||
|   const providerName = ServerCapabilitiesProviders[method] | ||||
|  | ||||
| @ -52,10 +51,7 @@ function registerServerCapability( | ||||
|     if (!registerOptions) { | ||||
|       serverCapabilitiesCopy[providerName] = true | ||||
|     } else { | ||||
|       serverCapabilitiesCopy[providerName] = Object.assign( | ||||
|         {}, | ||||
|         JSON.parse(JSON.stringify(registerOptions)) | ||||
|       ) | ||||
|       serverCapabilitiesCopy[providerName] = Object.assign({}, registerOptions) | ||||
|     } | ||||
|   } else { | ||||
|     return new Error('Could not register server capability.') | ||||
| @ -68,9 +64,8 @@ function unregisterServerCapability( | ||||
|   serverCapabilities: ServerCapabilities, | ||||
|   unregistration: Unregistration | ||||
| ): ServerCapabilities { | ||||
|   const serverCapabilitiesCopy = JSON.parse( | ||||
|     JSON.stringify(serverCapabilities) | ||||
|   ) as IFlexibleServerCapabilities | ||||
|   const serverCapabilitiesCopy = | ||||
|     serverCapabilities as IFlexibleServerCapabilities | ||||
|   const { method } = unregistration | ||||
|   const providerName = ServerCapabilitiesProviders[method] | ||||
|  | ||||
|  | ||||
| @ -710,7 +710,7 @@ export function moveValueIntoNewVariablePath( | ||||
|     programMemory, | ||||
|     pathToNode | ||||
|   ) | ||||
|   let _node = JSON.parse(JSON.stringify(ast)) | ||||
|   let _node = ast | ||||
|   const boop = replacer(_node, variableName) | ||||
|   if (trap(boop)) return { modifiedAst: ast } | ||||
|  | ||||
| @ -742,7 +742,7 @@ export function moveValueIntoNewVariable( | ||||
|     programMemory, | ||||
|     sourceRange | ||||
|   ) | ||||
|   let _node = JSON.parse(JSON.stringify(ast)) | ||||
|   let _node = ast | ||||
|   const replaced = replacer(_node, variableName) | ||||
|   if (trap(replaced)) return { modifiedAst: ast } | ||||
|  | ||||
| @ -767,7 +767,7 @@ export function deleteSegmentFromPipeExpression( | ||||
|   code: string, | ||||
|   pathToNode: PathToNode | ||||
| ): Program | Error { | ||||
|   let _modifiedAst: Program = JSON.parse(JSON.stringify(modifiedAst)) | ||||
|   let _modifiedAst: Program = modifiedAst | ||||
|  | ||||
|   dependentRanges.forEach((range) => { | ||||
|     const path = getNodePathFromSourceRange(_modifiedAst, range) | ||||
| @ -884,7 +884,7 @@ export async function deleteFromSelection( | ||||
|   getFaceDetails: (id: string) => Promise<Models['FaceIsPlanar_type']> = () => | ||||
|     ({} as any) | ||||
| ): Promise<Program | Error> { | ||||
|   const astClone = JSON.parse(JSON.stringify(ast)) | ||||
|   const astClone = ast | ||||
|   const range = selection.range | ||||
|   const path = getNodePathFromSourceRange(ast, range) | ||||
|   const varDec = getNodeFromPath<VariableDeclarator>( | ||||
|  | ||||
| @ -87,10 +87,7 @@ const yo2 = hmm([identifierGuy + 5])` | ||||
|     expect(result.isSafe).toBe(true) | ||||
|     expect(result.value?.type).toBe('BinaryExpression') | ||||
|     expect(code.slice(result.value.start, result.value.end)).toBe('100 + 100') | ||||
|     const replaced = result.replacer( | ||||
|       JSON.parse(JSON.stringify(ast)), | ||||
|       'replaceName' | ||||
|     ) | ||||
|     const replaced = result.replacer(ast, 'replaceName') | ||||
|     if (err(replaced)) throw replaced | ||||
|     const outCode = recast(replaced.modifiedAst) | ||||
|     expect(outCode).toContain(`angledLine([replaceName, 3.09], %)`) | ||||
| @ -114,10 +111,7 @@ const yo2 = hmm([identifierGuy + 5])` | ||||
|     expect(result.isSafe).toBe(true) | ||||
|     expect(result.value?.type).toBe('CallExpression') | ||||
|     expect(code.slice(result.value.start, result.value.end)).toBe("def('yo')") | ||||
|     const replaced = result.replacer( | ||||
|       JSON.parse(JSON.stringify(ast)), | ||||
|       'replaceName' | ||||
|     ) | ||||
|     const replaced = result.replacer(ast, 'replaceName') | ||||
|     if (err(replaced)) throw replaced | ||||
|     const outCode = recast(replaced.modifiedAst) | ||||
|     expect(outCode).toContain(`angledLine([replaceName, 3.09], %)`) | ||||
| @ -154,10 +148,7 @@ const yo2 = hmm([identifierGuy + 5])` | ||||
|     expect(result.isSafe).toBe(true) | ||||
|     expect(result.value?.type).toBe('BinaryExpression') | ||||
|     expect(code.slice(result.value.start, result.value.end)).toBe('5 + 6') | ||||
|     const replaced = result.replacer( | ||||
|       JSON.parse(JSON.stringify(ast)), | ||||
|       'replaceName' | ||||
|     ) | ||||
|     const replaced = result.replacer(ast, 'replaceName') | ||||
|     if (err(replaced)) throw replaced | ||||
|     const outCode = recast(replaced.modifiedAst) | ||||
|     expect(outCode).toContain(`const yo = replaceName`) | ||||
| @ -173,10 +164,7 @@ const yo2 = hmm([identifierGuy + 5])` | ||||
|     expect(code.slice(result.value.start, result.value.end)).toBe( | ||||
|       "jkl('yo') + 2" | ||||
|     ) | ||||
|     const replaced = result.replacer( | ||||
|       JSON.parse(JSON.stringify(ast)), | ||||
|       'replaceName' | ||||
|     ) | ||||
|     const replaced = result.replacer(ast, 'replaceName') | ||||
|     if (err(replaced)) throw replaced | ||||
|     const { modifiedAst } = replaced | ||||
|     const outCode = recast(modifiedAst) | ||||
| @ -195,10 +183,7 @@ const yo2 = hmm([identifierGuy + 5])` | ||||
|     expect(code.slice(result.value.start, result.value.end)).toBe( | ||||
|       'identifierGuy + 5' | ||||
|     ) | ||||
|     const replaced = result.replacer( | ||||
|       JSON.parse(JSON.stringify(ast)), | ||||
|       'replaceName' | ||||
|     ) | ||||
|     const replaced = result.replacer(ast, 'replaceName') | ||||
|     if (err(replaced)) throw replaced | ||||
|     const { modifiedAst } = replaced | ||||
|     const outCode = recast(modifiedAst) | ||||
|  | ||||
| @ -520,8 +520,8 @@ export function isNodeSafeToReplacePath( | ||||
|   const replaceNodeWithIdentifier: ReplacerFn = (_ast, varName) => { | ||||
|     const identifier = createIdentifier(varName) | ||||
|     const last = finPath[finPath.length - 1] | ||||
|     const pathToReplaced = JSON.parse(JSON.stringify(finPath)) | ||||
|     pathToReplaced[1][0] = pathToReplaced[1][0] + 1 | ||||
|     const pathToReplaced = finPath | ||||
|     pathToReplaced[1][0] = (pathToReplaced[1][0] as number) + 1 | ||||
|     const startPath = finPath.slice(0, -1) | ||||
|     const _nodeToReplace = getNodeFromPath(_ast, startPath) | ||||
|     if (err(_nodeToReplace)) return _nodeToReplace | ||||
|  | ||||
| @ -1496,7 +1496,7 @@ export function transformSecondarySketchLinesTagFirst({ | ||||
|       } | ||||
|     } | ||||
|   | Error { | ||||
|   // let node = JSON.parse(JSON.stringify(ast)) | ||||
|   // let node = ast | ||||
|   const primarySelection = selectionRanges.codeBasedSelections[0].range | ||||
|  | ||||
|   const _tag = giveSketchFnCallTag(ast, primarySelection, forceSegName) | ||||
| @ -1565,7 +1565,7 @@ export function transformAstSketchLines({ | ||||
|     } | ||||
|   | Error { | ||||
|   // deep clone since we are mutating in a loop, of which any could fail | ||||
|   let node = JSON.parse(JSON.stringify(ast)) | ||||
|   let node = ast | ||||
|   let _valueUsedInTransform // TODO should this be an array? | ||||
|   const pathToNodeMap: PathToNodeMap = {} | ||||
|  | ||||
|  | ||||
| @ -33,7 +33,7 @@ export function updatePathToNodeFromMap( | ||||
|   oldPath: PathToNode, | ||||
|   pathToNodeMap: { [key: number]: PathToNode } | ||||
| ): PathToNode { | ||||
|   const updatedPathToNode = JSON.parse(JSON.stringify(oldPath)) | ||||
|   const updatedPathToNode = oldPath | ||||
|   let max = 0 | ||||
|   Object.values(pathToNodeMap).forEach((path) => { | ||||
|     const index = Number(path[1][0]) | ||||
|  | ||||
| @ -96,9 +96,7 @@ export function useCalculateKclExpression({ | ||||
|         ast, | ||||
|         engineCommandManager, | ||||
|         useFakeExecutor: true, | ||||
|         programMemoryOverride: JSON.parse( | ||||
|           JSON.stringify(kclManager.programMemory) | ||||
|         ), | ||||
|         programMemoryOverride: kclManager.programMemory, | ||||
|       }) | ||||
|       const resultDeclaration = ast.body.find( | ||||
|         (a) => | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	