This commit is contained in:
Kurt Hutten IrevDev
2022-12-23 07:47:22 +11:00
parent 544f20852c
commit 1c1ceae4d3
4 changed files with 51 additions and 40 deletions

View File

@ -155,7 +155,12 @@ function App() {
<OrbitControls <OrbitControls
enableDamping={false} enableDamping={false}
enablePan enablePan
enableRotate={!(guiMode.mode === 'canEditSketch' || guiMode.mode === 'sketch')} enableRotate={
!(
guiMode.mode === 'canEditSketch' ||
guiMode.mode === 'sketch'
)
}
enableZoom enableZoom
reverseOrbit={false} reverseOrbit={false}
/> />

View File

@ -1219,26 +1219,32 @@ export function changeArguments(
node: Program, node: Program,
pathToNode: (string | number)[], pathToNode: (string | number)[],
args: [number, number] args: [number, number]
): { modifiedAst: Program; pathToNode: (string | number)[] }{ ): { modifiedAst: Program; pathToNode: (string | number)[] } {
const _node = { ...node } const _node = { ...node }
const dumbyStartend = { start: 0, end: 0 } const dumbyStartend = { start: 0, end: 0 }
// const thePath = getNodePathFromSourceRange(_node, sourceRange) // const thePath = getNodePathFromSourceRange(_node, sourceRange)
const callExpression = getNodeFromPath(_node, pathToNode) as CallExpression const callExpression = getNodeFromPath(_node, pathToNode) as CallExpression
const newXArg: CallExpression['arguments'][number] = callExpression.arguments[0].type === 'Literal' ? { const newXArg: CallExpression['arguments'][number] =
callExpression.arguments[0].type === 'Literal'
? {
type: 'Literal', type: 'Literal',
...dumbyStartend, ...dumbyStartend,
value: args[0], value: args[0],
raw: `${args[0]}`, raw: `${args[0]}`,
} : {
...callExpression.arguments[0]
} }
const newYArg: CallExpression['arguments'][number] = callExpression.arguments[1].type === 'Literal' ? { : {
...callExpression.arguments[0],
}
const newYArg: CallExpression['arguments'][number] =
callExpression.arguments[1].type === 'Literal'
? {
type: 'Literal', type: 'Literal',
...dumbyStartend, ...dumbyStartend,
value: args[1], value: args[1],
raw: `${args[1]}`, raw: `${args[1]}`,
} : { }
...callExpression.arguments[1] : {
...callExpression.arguments[1],
} }
callExpression.arguments = [newXArg, newYArg] callExpression.arguments = [newXArg, newYArg]
return { return {

View File

@ -300,8 +300,8 @@ export type ViewerArtifact =
geo: LineGeos geo: LineGeos
} }
| { | {
type: 'sketchBase', type: 'sketchBase'
sourceRange: SourceRange, sourceRange: SourceRange
geo: BufferGeometry geo: BufferGeometry
} }
| { | {
@ -322,7 +322,7 @@ export const processShownObjects = (
): ViewerArtifact[] => { ): ViewerArtifact[] => {
if (geoMeta?.type === 'sketchGeo') { if (geoMeta?.type === 'sketchGeo') {
return geoMeta.sketch.map(({ geo, sourceRange, type }) => { return geoMeta.sketch.map(({ geo, sourceRange, type }) => {
if(type === 'toPoint') { if (type === 'toPoint') {
// const newGeo = geo.clone() // const newGeo = geo.clone()
const newGeo: LineGeos = { const newGeo: LineGeos = {
line: geo.line.clone(), line: geo.line.clone(),
@ -342,7 +342,7 @@ export const processShownObjects = (
geo: newGeo, geo: newGeo,
sourceRange, sourceRange,
} }
} else if(type === 'base') { } else if (type === 'base') {
const newGeo = geo.clone() const newGeo = geo.clone()
previousTransforms.forEach(({ rotation, transform }) => { previousTransforms.forEach(({ rotation, transform }) => {
newGeo.rotateX(rotation[0]) newGeo.rotateX(rotation[0])
@ -356,8 +356,6 @@ export const processShownObjects = (
sourceRange, sourceRange,
} }
} }
console.log('type',type)
throw new Error('Unknown geo type') throw new Error('Unknown geo type')
}) })
} else if (geoMeta.type === 'transform') { } else if (geoMeta.type === 'transform') {

View File

@ -14,7 +14,10 @@ describe('testing getNodePathFromSourceRange', () => {
` `
const subStr = 'lineTo(3, 4)' const subStr = 'lineTo(3, 4)'
const lineToSubstringIndex = code.indexOf(subStr) const lineToSubstringIndex = code.indexOf(subStr)
const sourceRange: [number, number] = [lineToSubstringIndex, lineToSubstringIndex + subStr.length] const sourceRange: [number, number] = [
lineToSubstringIndex,
lineToSubstringIndex + subStr.length,
]
const ast = abstractSyntaxTree(lexer(code)) const ast = abstractSyntaxTree(lexer(code))
const nodePath = getNodePathFromSourceRange(ast, sourceRange) const nodePath = getNodePathFromSourceRange(ast, sourceRange)
@ -22,6 +25,5 @@ describe('testing getNodePathFromSourceRange', () => {
expect([node.start, node.end]).toEqual(sourceRange) expect([node.start, node.end]).toEqual(sourceRange)
expect(node.type).toBe('CallExpression') expect(node.type).toBe('CallExpression')
}) })
}) })