Remove start sketch at (#5586)

* remove start sketch at

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2025-03-01 16:32:46 -08:00
committed by GitHub
parent c3bdc6f106
commit 66f3500ca9
84 changed files with 5416 additions and 7913 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,8 @@ test.describe('Regression tests', { tag: ['@skipWin'] }, () => {
localStorage.setItem( localStorage.setItem(
'persistCode', 'persistCode',
`sketch2 = startSketchOn("XY") `sketch2 = startSketchOn("XY")
sketch001 = startSketchAt([-0, -0]) sketch001 = startSketchOn("XY")
|> startProfileAt([-0, -0], %)
|> line(end = [0, 0]) |> line(end = [0, 0])
|> line(end = [-4.84, -5.29]) |> line(end = [-4.84, -5.29])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])

View File

@ -7,7 +7,8 @@ fn cube(length, center) {
p2 = [ l + x, l + y] p2 = [ l + x, l + y]
p3 = [ l + x, -l + y] p3 = [ l + x, -l + y]
return startSketchAt(p0) return startSketchOn(XY)
|> startProfileAt(p0, %)
|> line(endAbsolute = p1) |> line(endAbsolute = p1)
|> line(endAbsolute = p2) |> line(endAbsolute = p2)
|> line(endAbsolute = p3) |> line(endAbsolute = p3)

View File

@ -1,31 +1,32 @@
const rpizWidth = 30 rpizWidth = 30
const rpizLength = 65 rpizLength = 65
const caseThickness = 1 caseThickness = 1
const border = 4 border = 4
const screwHeight = 4 screwHeight = 4
const caseWidth = rpizWidth + border * 2 caseWidth = rpizWidth + border * 2
const caseLength = rpizLength + border * 2 caseLength = rpizLength + border * 2
const caseHeight = 8 caseHeight = 8
const widthBetweenScrews = 23 widthBetweenScrews = 23
const lengthBetweenScrews = 29 * 2 lengthBetweenScrews = 29 * 2
const miniHdmiDistance = 12.4 miniHdmiDistance = 12.4
const microUsb1Distance = 41.4 microUsb1Distance = 41.4
const microUsb2Distance = 54 microUsb2Distance = 54
const miniHdmiWidth = 11.2 miniHdmiWidth = 11.2
const microUsbWidth = 7.4 microUsbWidth = 7.4
const connectorPadding = 4 connectorPadding = 4
const miniHdmiHole = startSketchAt([ miniHdmiHole = startSketchOn(XY)
|> startProfileAt([
0, 0,
border + miniHdmiDistance - (miniHdmiWidth / 2) border + miniHdmiDistance - (miniHdmiWidth / 2)
]) ], %)
|> lineTo([ |> lineTo([
0, 0,
border + miniHdmiDistance + miniHdmiWidth / 2 border + miniHdmiDistance + miniHdmiWidth / 2
@ -40,7 +41,7 @@ const miniHdmiHole = startSketchAt([
], %) ], %)
|> close() |> close()
const case = startSketchOn('XY') case = startSketchOn('XY')
|> startProfileAt([0, 0], %) |> startProfileAt([0, 0], %)
|> line(endAbsolute = [caseWidth, 0], $edge1) |> line(endAbsolute = [caseWidth, 0], $edge1)
|> line(endAbsolute = [caseWidth, caseLength], $edge2) |> line(endAbsolute = [caseWidth, caseLength], $edge2)
@ -59,7 +60,7 @@ const case = startSketchOn('XY')
fn m25Screw = (x, y, height) => { fn m25Screw = (x, y, height) => {
const screw = startSketchOn("XY") screw = startSketchOn(XY)
|> startProfileAt([0, 0], %) |> startProfileAt([0, 0], %)
|> circle(center= [x, y], radius=2.5) |> circle(center= [x, y], radius=2.5)
|> hole(circle(center= [x, y], radius = 1.25), %) |> hole(circle(center= [x, y], radius = 1.25), %)

View File

@ -7,7 +7,8 @@ let corner_radius = 5.0
// At first I thought this was going to be symmetric, // At first I thought this was going to be symmetric,
// but I measured intentionally to not be symmetric, // but I measured intentionally to not be symmetric,
// because your wrist isn't a perfect cylindrical surface // because your wrist isn't a perfect cylindrical surface
let brace_base = startSketchAt([corner_radius, 0]) let brace_base = startSketchOn(XY)
|> startProfileAt([corner_radius, 0], %)
|> line(end = [width - corner_radius, 0.0]) |> line(end = [width - corner_radius, 0.0])
|> tangentialArcToRelative([corner_radius, corner_radius], %) |> tangentialArcToRelative([corner_radius, corner_radius], %)
|> yLine(25.0 - corner_radius, %) |> yLine(25.0 - corner_radius, %)
@ -34,7 +35,8 @@ let brace_base = startSketchAt([corner_radius, 0])
|> tangentialArcToRelative([corner_radius, -corner_radius], %) |> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> close() |> close()
let inner = startSketchAt([0, 0]) let inner = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> xLine(1.0, %) |> xLine(1.0, %)
|> tangentialArcToRelative([corner_radius, corner_radius], %) |> tangentialArcToRelative([corner_radius, corner_radius], %)
|> yLine(25.0 - (corner_radius * 2), %) |> yLine(25.0 - (corner_radius * 2), %)

View File

@ -100,6 +100,8 @@ fn F = (state, F) => {
} }
fn LSystem = (args, axioms) => { fn LSystem = (args, axioms) => {
myThing = startSketchOn(XY)
|> startProfileAt([0, 0], %)
return axioms({ return axioms({
depthMax: args.iterations, depthMax: args.iterations,
depth: 0, depth: 0,
@ -107,7 +109,7 @@ fn LSystem = (args, axioms) => {
factor: args.factor, factor: args.factor,
currentAngle: 0, currentAngle: 0,
angle: args.angle, angle: args.angle,
q: startSketchAt([0, 0]), q = myThing,
}) })
} }

View File

@ -8,7 +8,8 @@ const filletR = thickness * 2
const shelfMountL = 9 const shelfMountL = 9
const wallMountL = 8 const wallMountL = 8
const bracket = startSketchAt([0, 0]) const bracket = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, wallMountL]) |> line(end = [0, wallMountL])
|> tangentialArc({ |> tangentialArc({
radius: filletR, radius: filletR,

View File

@ -7,7 +7,8 @@ fn cube = (length, center) => {
let p2 = [ l + x, l + y] let p2 = [ l + x, l + y]
let p3 = [ l + x, -l + y] let p3 = [ l + x, -l + y]
return startSketchAt(p0) return startSketchOn(XY)
|> startProfileAt(p0, %)
|> line(endAbsolute = p1) |> line(endAbsolute = p1)
|> line(endAbsolute = p2) |> line(endAbsolute = p2)
|> line(endAbsolute = p3) |> line(endAbsolute = p3)

View File

@ -1,4 +1,5 @@
const boxSketch = startSketchAt([0, 0]) const boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10]) |> line(end = [0, 10])
|> tangentialArc({radius: 5, offset: 90}, %) |> tangentialArc({radius: 5, offset: 90}, %)
|> line(end = [5, -15]) |> line(end = [5, -15])

View File

@ -153,7 +153,8 @@ async fn kcl_test_negative_args() {
#[tokio::test(flavor = "multi_thread")] #[tokio::test(flavor = "multi_thread")]
async fn kcl_test_basic_tangential_arc_with_point() { async fn kcl_test_basic_tangential_arc_with_point() {
let code = r#"boxSketch = startSketchAt([0, 0]) let code = r#"boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10]) |> line(end = [0, 10])
|> tangentialArcToRelative([-5, 5], %) |> tangentialArcToRelative([-5, 5], %)
|> line(end = [5, -15]) |> line(end = [5, -15])
@ -166,7 +167,8 @@ async fn kcl_test_basic_tangential_arc_with_point() {
#[tokio::test(flavor = "multi_thread")] #[tokio::test(flavor = "multi_thread")]
async fn kcl_test_basic_tangential_arc_to() { async fn kcl_test_basic_tangential_arc_to() {
let code = r#"boxSketch = startSketchAt([0, 0]) let code = r#"boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10]) |> line(end = [0, 10])
|> tangentialArcTo([-5, 15], %) |> tangentialArcTo([-5, 15], %)
|> line(end = [5, -15]) |> line(end = [5, -15])

View File

@ -2979,7 +2979,8 @@ comment */
let test_program = r#" let test_program = r#"
/* comment at start */ /* comment at start */
mySk1 = startSketchAt([0, 0])"#; mySk1 = startSketchOn(XY)
|> startProfileAt([0, 0], %)"#;
let tokens = crate::parsing::token::lex(test_program, ModuleId::default()).unwrap(); let tokens = crate::parsing::token::lex(test_program, ModuleId::default()).unwrap();
let program = program.parse(tokens.as_slice()).unwrap(); let program = program.parse(tokens.as_slice()).unwrap();
let mut starting_comments = program.inner.non_code_meta.start_nodes; let mut starting_comments = program.inner.non_code_meta.start_nodes;
@ -3571,7 +3572,8 @@ mySk1 = startSketchAt([0, 0])"#;
#[test] #[test]
fn pipes_on_pipes_minimal() { fn pipes_on_pipes_minimal() {
let test_program = r#"startSketchAt([0, 0]) let test_program = r#"startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [0, -0]) // MoveRelative |> line(endAbsolute = [0, -0]) // MoveRelative
"#; "#;
@ -4704,7 +4706,8 @@ mod snapshot_tests {
snapshot_test!( snapshot_test!(
a, a,
r#"boxSketch = startSketchAt([0, 0]) r#"boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line([0, 10], %) |> line([0, 10], %)
|> tangentialArc([-5, 5], %) |> tangentialArc([-5, 5], %)
|> line([5, -15], %) |> line([5, -15], %)
@ -4770,8 +4773,12 @@ mod snapshot_tests {
snapshot_test!(v, r#"pt1 = b1[0]"#); snapshot_test!(v, r#"pt1 = b1[0]"#);
snapshot_test!(w, r#"pt1 = b1['zero']"#); snapshot_test!(w, r#"pt1 = b1['zero']"#);
snapshot_test!(x, r#"pt1 = b1.zero"#); snapshot_test!(x, r#"pt1 = b1.zero"#);
snapshot_test!(y, "sg = startSketchAt(pos)"); snapshot_test!(y, r#"sg = startSketchOn(XY) |> startProfileAt(pos, %)"#);
snapshot_test!(z, "sg = startSketchAt(pos) |> line([0, -scale], %)"); snapshot_test!(
z,
"sg = startSketchOn(XY)
|> startProfileAt(pos) |> line([0, -scale], %)"
);
snapshot_test!(aa, r#"sg = -scale"#); snapshot_test!(aa, r#"sg = -scale"#);
snapshot_test!(ab, "line(endAbsolute = [0, -1])"); snapshot_test!(ab, "line(endAbsolute = [0, -1])");
snapshot_test!(ac, "myArray = [0..10]"); snapshot_test!(ac, "myArray = [0..10]");
@ -4792,7 +4799,8 @@ mod snapshot_tests {
); );
snapshot_test!( snapshot_test!(
af, af,
r#"mySketch = startSketchAt([0,0]) r#"mySketch = startSketchOn(XY)
|> startProfileAt([0,0], %)
|> line(endAbsolute = [0, 1], tag = $myPath) |> line(endAbsolute = [0, 1], tag = $myPath)
|> line(endAbsolute = [1, 1]) |> line(endAbsolute = [1, 1])
|> line(endAbsolute = [1, 0], tag = $rightPath) |> line(endAbsolute = [1, 0], tag = $rightPath)
@ -4800,13 +4808,16 @@ mod snapshot_tests {
); );
snapshot_test!( snapshot_test!(
ag, ag,
"mySketch = startSketchAt([0,0]) |> line(endAbsolute = [1, 1]) |> close()" "mySketch = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(endAbsolute = [1, 1]) |> close()"
); );
snapshot_test!(ah, "myBox = startSketchAt(p)"); snapshot_test!(ah, "myBox = startSketchOn(XY) |> startProfileAt(p, %)");
snapshot_test!(ai, r#"myBox = f(1) |> g(2, %)"#); snapshot_test!(ai, r#"myBox = f(1) |> g(2, %)"#);
snapshot_test!(aj, r#"myBox = startSketchAt(p) |> line(end = [0, l])"#); snapshot_test!(
aj,
r#"myBox = startSketchOn(XY) |> startProfileAt(p, %) |> line(end = [0, l])"#
);
snapshot_test!(ak, "line(endAbsolute = [0, 1])"); snapshot_test!(ak, "line(endAbsolute = [0, 1])");
snapshot_test!(ap, "mySketch = startSketchAt([0,0])"); snapshot_test!(ap, "mySketch = startSketchOn(XY) |> startProfileAt([0,0], %)");
snapshot_test!(aq, "log(5, \"hello\", aIdentifier)"); snapshot_test!(aq, "log(5, \"hello\", aIdentifier)");
snapshot_test!(ar, r#"5 + "a""#); snapshot_test!(ar, r#"5 + "a""#);
snapshot_test!(at, "line([0, l], %)"); snapshot_test!(at, "line([0, l], %)");

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 141, "end": 170,
"id": { "id": {
"end": 9, "end": 9,
"name": "boxSketch", "name": "boxSketch",
@ -17,44 +17,21 @@ expression: actual
"body": [ "body": [
{ {
"arguments": [ "arguments": [
{
"elements": [
{ {
"end": 28, "end": 28,
"raw": "0", "name": "XY",
"start": 27,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 31,
"raw": "0",
"start": 30,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 32,
"start": 26, "start": 26,
"type": "ArrayExpression", "type": "Identifier",
"type": "ArrayExpression" "type": "Identifier"
} }
], ],
"callee": { "callee": {
"end": 25, "end": 25,
"name": "startSketchAt", "name": "startSketchOn",
"start": 12, "start": 12,
"type": "Identifier" "type": "Identifier"
}, },
"end": 33, "end": 29,
"start": 12, "start": 12,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
@ -64,9 +41,9 @@ expression: actual
{ {
"elements": [ "elements": [
{ {
"end": 48, "end": 54,
"raw": "0", "raw": "0",
"start": 47, "start": 53,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -75,9 +52,59 @@ expression: actual
} }
}, },
{ {
"end": 52, "end": 57,
"raw": "0",
"start": 56,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 58,
"start": 52,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 61,
"start": 60,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 51,
"name": "startProfileAt",
"start": 37,
"type": "Identifier"
},
"end": 62,
"start": 37,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 77,
"raw": "0",
"start": 76,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 81,
"raw": "10", "raw": "10",
"start": 50, "start": 79,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -86,26 +113,26 @@ expression: actual
} }
} }
], ],
"end": 53, "end": 82,
"start": 46, "start": 75,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
}, },
{ {
"end": 56, "end": 85,
"start": 55, "start": 84,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 45, "end": 74,
"name": "line", "name": "line",
"start": 41, "start": 70,
"type": "Identifier" "type": "Identifier"
}, },
"end": 57, "end": 86,
"start": 41, "start": 70,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -115,9 +142,9 @@ expression: actual
"elements": [ "elements": [
{ {
"argument": { "argument": {
"end": 82, "end": 111,
"raw": "5", "raw": "5",
"start": 81, "start": 110,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -125,16 +152,16 @@ expression: actual
"suffix": "None" "suffix": "None"
} }
}, },
"end": 82, "end": 111,
"operator": "-", "operator": "-",
"start": 80, "start": 109,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
}, },
{ {
"end": 85, "end": 114,
"raw": "5", "raw": "5",
"start": 84, "start": 113,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -143,26 +170,26 @@ expression: actual
} }
} }
], ],
"end": 86, "end": 115,
"start": 79, "start": 108,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
}, },
{ {
"end": 89, "end": 118,
"start": 88, "start": 117,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 78, "end": 107,
"name": "tangentialArc", "name": "tangentialArc",
"start": 65, "start": 94,
"type": "Identifier" "type": "Identifier"
}, },
"end": 90, "end": 119,
"start": 65, "start": 94,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -171,9 +198,9 @@ expression: actual
{ {
"elements": [ "elements": [
{ {
"end": 105, "end": 134,
"raw": "5", "raw": "5",
"start": 104, "start": 133,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -183,9 +210,9 @@ expression: actual
}, },
{ {
"argument": { "argument": {
"end": 110, "end": 139,
"raw": "15", "raw": "15",
"start": 108, "start": 137,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -193,33 +220,33 @@ expression: actual
"suffix": "None" "suffix": "None"
} }
}, },
"end": 110, "end": 139,
"operator": "-", "operator": "-",
"start": 107, "start": 136,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
} }
], ],
"end": 111, "end": 140,
"start": 103, "start": 132,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
}, },
{ {
"end": 114, "end": 143,
"start": 113, "start": 142,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 102, "end": 131,
"name": "line", "name": "line",
"start": 98, "start": 127,
"type": "Identifier" "type": "Identifier"
}, },
"end": 115, "end": 144,
"start": 98, "start": 127,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -232,9 +259,9 @@ expression: actual
"name": "length" "name": "length"
}, },
"arg": { "arg": {
"end": 140, "end": 169,
"raw": "10", "raw": "10",
"start": 138, "start": 167,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -245,19 +272,19 @@ expression: actual
} }
], ],
"callee": { "callee": {
"end": 130, "end": 159,
"name": "extrude", "name": "extrude",
"start": 123, "start": 152,
"type": "Identifier" "type": "Identifier"
}, },
"end": 141, "end": 170,
"start": 123, "start": 152,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 141, "end": 170,
"start": 12, "start": 12,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -265,13 +292,13 @@ expression: actual
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 141, "end": 170,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 142, "end": 171,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 197, "end": 230,
"id": { "id": {
"end": 8, "end": 8,
"name": "mySketch", "name": "mySketch",
@ -17,48 +17,75 @@ expression: actual
"body": [ "body": [
{ {
"arguments": [ "arguments": [
{
"elements": [
{ {
"end": 27, "end": 27,
"raw": "0", "name": "XY",
"start": 26,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 29,
"raw": "0",
"start": 28,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 30,
"start": 25, "start": 25,
"type": "ArrayExpression", "type": "Identifier",
"type": "ArrayExpression" "type": "Identifier"
} }
], ],
"callee": { "callee": {
"end": 24, "end": 24,
"name": "startSketchAt", "name": "startSketchOn",
"start": 11, "start": 11,
"type": "Identifier" "type": "Identifier"
}, },
"end": 31, "end": 28,
"start": 11, "start": 11,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"elements": [
{
"end": 57,
"raw": "0",
"start": 56,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 59,
"raw": "0",
"start": 58,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 60,
"start": 55,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 63,
"start": 62,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 54,
"name": "startProfileAt",
"start": 40,
"type": "Identifier"
},
"end": 64,
"start": 40,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
@ -70,9 +97,9 @@ expression: actual
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 64, "end": 97,
"raw": "0", "raw": "0",
"start": 63, "start": 96,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -81,9 +108,9 @@ expression: actual
} }
}, },
{ {
"end": 67, "end": 100,
"raw": "1", "raw": "1",
"start": 66, "start": 99,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -92,8 +119,8 @@ expression: actual
} }
} }
], ],
"end": 68, "end": 101,
"start": 62, "start": 95,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
@ -105,8 +132,8 @@ expression: actual
"name": "tag" "name": "tag"
}, },
"arg": { "arg": {
"end": 83, "end": 116,
"start": 76, "start": 109,
"type": "TagDeclarator", "type": "TagDeclarator",
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "myPath" "value": "myPath"
@ -114,13 +141,13 @@ expression: actual
} }
], ],
"callee": { "callee": {
"end": 47, "end": 80,
"name": "line", "name": "line",
"start": 43, "start": 76,
"type": "Identifier" "type": "Identifier"
}, },
"end": 84, "end": 117,
"start": 43, "start": 76,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -136,9 +163,9 @@ expression: actual
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 117, "end": 150,
"raw": "1", "raw": "1",
"start": 116, "start": 149,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -147,9 +174,9 @@ expression: actual
} }
}, },
{ {
"end": 120, "end": 153,
"raw": "1", "raw": "1",
"start": 119, "start": 152,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -158,21 +185,21 @@ expression: actual
} }
} }
], ],
"end": 121, "end": 154,
"start": 115, "start": 148,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 100, "end": 133,
"name": "line", "name": "line",
"start": 96, "start": 129,
"type": "Identifier" "type": "Identifier"
}, },
"end": 122, "end": 155,
"start": 96, "start": 129,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -188,9 +215,9 @@ expression: actual
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 155, "end": 188,
"raw": "1", "raw": "1",
"start": 154, "start": 187,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -199,9 +226,9 @@ expression: actual
} }
}, },
{ {
"end": 158, "end": 191,
"raw": "0", "raw": "0",
"start": 157, "start": 190,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -210,8 +237,8 @@ expression: actual
} }
} }
], ],
"end": 159, "end": 192,
"start": 153, "start": 186,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
@ -223,8 +250,8 @@ expression: actual
"name": "tag" "name": "tag"
}, },
"arg": { "arg": {
"end": 177, "end": 210,
"start": 167, "start": 200,
"type": "TagDeclarator", "type": "TagDeclarator",
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rightPath" "value": "rightPath"
@ -232,13 +259,13 @@ expression: actual
} }
], ],
"callee": { "callee": {
"end": 138, "end": 171,
"name": "line", "name": "line",
"start": 134, "start": 167,
"type": "Identifier" "type": "Identifier"
}, },
"end": 178, "end": 211,
"start": 134, "start": 167,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -246,18 +273,18 @@ expression: actual
{ {
"arguments": [], "arguments": [],
"callee": { "callee": {
"end": 195, "end": 228,
"name": "close", "name": "close",
"start": 190, "start": 223,
"type": "Identifier" "type": "Identifier"
}, },
"end": 197, "end": 230,
"start": 190, "start": 223,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
} }
], ],
"end": 197, "end": 230,
"start": 11, "start": 11,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -265,13 +292,13 @@ expression: actual
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 197, "end": 230,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 197, "end": 230,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 72, "end": 97,
"id": { "id": {
"end": 8, "end": 8,
"name": "mySketch", "name": "mySketch",
@ -17,48 +17,75 @@ expression: actual
"body": [ "body": [
{ {
"arguments": [ "arguments": [
{
"elements": [
{ {
"end": 27, "end": 27,
"raw": "0", "name": "XY",
"start": 26,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 29,
"raw": "0",
"start": 28,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 30,
"start": 25, "start": 25,
"type": "ArrayExpression", "type": "Identifier",
"type": "ArrayExpression" "type": "Identifier"
} }
], ],
"callee": { "callee": {
"end": 24, "end": 24,
"name": "startSketchAt", "name": "startSketchOn",
"start": 11, "start": 11,
"type": "Identifier" "type": "Identifier"
}, },
"end": 31, "end": 28,
"start": 11, "start": 11,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"elements": [
{
"end": 49,
"raw": "0",
"start": 48,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 51,
"raw": "0",
"start": 50,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 52,
"start": 47,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 55,
"start": 54,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 46,
"name": "startProfileAt",
"start": 32,
"type": "Identifier"
},
"end": 56,
"start": 32,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
@ -70,9 +97,9 @@ expression: actual
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 56, "end": 81,
"raw": "1", "raw": "1",
"start": 55, "start": 80,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -81,9 +108,9 @@ expression: actual
} }
}, },
{ {
"end": 59, "end": 84,
"raw": "1", "raw": "1",
"start": 58, "start": 83,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -92,21 +119,21 @@ expression: actual
} }
} }
], ],
"end": 60, "end": 85,
"start": 54, "start": 79,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 39, "end": 64,
"name": "line", "name": "line",
"start": 35, "start": 60,
"type": "Identifier" "type": "Identifier"
}, },
"end": 61, "end": 86,
"start": 35, "start": 60,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -114,18 +141,18 @@ expression: actual
{ {
"arguments": [], "arguments": [],
"callee": { "callee": {
"end": 70, "end": 95,
"name": "close", "name": "close",
"start": 65, "start": 90,
"type": "Identifier" "type": "Identifier"
}, },
"end": 72, "end": 97,
"start": 65, "start": 90,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
} }
], ],
"end": 72, "end": 97,
"start": 11, "start": 11,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -133,13 +160,13 @@ expression: actual
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 72, "end": 97,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 72, "end": 97,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 24, "end": 49,
"id": { "id": {
"end": 5, "end": 5,
"name": "myBox", "name": "myBox",
@ -14,10 +14,12 @@ expression: actual
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"body": [
{
"arguments": [ "arguments": [
{ {
"end": 23, "end": 24,
"name": "p", "name": "XY",
"start": 22, "start": 22,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -25,25 +27,58 @@ expression: actual
], ],
"callee": { "callee": {
"end": 21, "end": 21,
"name": "startSketchAt", "name": "startSketchOn",
"start": 8, "start": 8,
"type": "Identifier" "type": "Identifier"
}, },
"end": 24, "end": 25,
"start": 8, "start": 8,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 45,
"name": "p",
"start": 44,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 48,
"start": 47,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 43,
"name": "startProfileAt",
"start": 29,
"type": "Identifier"
},
"end": 49,
"start": 29,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 49,
"start": 8,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 24, "end": 49,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 24, "end": 49,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 46, "end": 71,
"id": { "id": {
"end": 5, "end": 5,
"name": "myBox", "name": "myBox",
@ -18,8 +18,8 @@ expression: actual
{ {
"arguments": [ "arguments": [
{ {
"end": 23, "end": 24,
"name": "p", "name": "XY",
"start": 22, "start": 22,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -27,15 +27,42 @@ expression: actual
], ],
"callee": { "callee": {
"end": 21, "end": 21,
"name": "startSketchAt", "name": "startSketchOn",
"start": 8, "start": 8,
"type": "Identifier" "type": "Identifier"
}, },
"end": 24, "end": 25,
"start": 8, "start": 8,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 45,
"name": "p",
"start": 44,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 48,
"start": 47,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 43,
"name": "startProfileAt",
"start": 29,
"type": "Identifier"
},
"end": 49,
"start": 29,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
@ -47,9 +74,9 @@ expression: actual
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 41, "end": 66,
"raw": "0", "raw": "0",
"start": 40, "start": 65,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -58,34 +85,34 @@ expression: actual
} }
}, },
{ {
"end": 44, "end": 69,
"name": "l", "name": "l",
"start": 43, "start": 68,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
], ],
"end": 45, "end": 70,
"start": 39, "start": 64,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 32, "end": 57,
"name": "line", "name": "line",
"start": 28, "start": 53,
"type": "Identifier" "type": "Identifier"
}, },
"end": 46, "end": 71,
"start": 28, "start": 53,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 46, "end": 71,
"start": 8, "start": 8,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -93,13 +120,13 @@ expression: actual
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 46, "end": 71,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 46, "end": 71,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 31, "end": 56,
"id": { "id": {
"end": 8, "end": 8,
"name": "mySketch", "name": "mySketch",
@ -14,59 +14,94 @@ expression: actual
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"body": [
{
"arguments": [ "arguments": [
{
"elements": [
{ {
"end": 27, "end": 27,
"raw": "0", "name": "XY",
"start": 26,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 29,
"raw": "0",
"start": 28,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 30,
"start": 25, "start": 25,
"type": "ArrayExpression", "type": "Identifier",
"type": "ArrayExpression" "type": "Identifier"
} }
], ],
"callee": { "callee": {
"end": 24, "end": 24,
"name": "startSketchAt", "name": "startSketchOn",
"start": 11, "start": 11,
"type": "Identifier" "type": "Identifier"
}, },
"end": 31, "end": 28,
"start": 11, "start": 11,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"elements": [
{
"end": 49,
"raw": "0",
"start": 48,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 51,
"raw": "0",
"start": 50,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 52,
"start": 47,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 55,
"start": 54,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 46,
"name": "startProfileAt",
"start": 32,
"type": "Identifier"
},
"end": 56,
"start": 32,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 56,
"start": 11,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 31, "end": 56,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 31, "end": 56,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 23, "end": 48,
"id": { "id": {
"end": 2, "end": 2,
"name": "sg", "name": "sg",
@ -14,10 +14,12 @@ expression: actual
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"body": [
{
"arguments": [ "arguments": [
{ {
"end": 22, "end": 21,
"name": "pos", "name": "XY",
"start": 19, "start": 19,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -25,25 +27,58 @@ expression: actual
], ],
"callee": { "callee": {
"end": 18, "end": 18,
"name": "startSketchAt", "name": "startSketchOn",
"start": 5, "start": 5,
"type": "Identifier" "type": "Identifier"
}, },
"end": 23, "end": 22,
"start": 5, "start": 5,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 44,
"name": "pos",
"start": 41,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 47,
"start": 46,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 40,
"name": "startProfileAt",
"start": 26,
"type": "Identifier"
},
"end": 48,
"start": 26,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 48,
"start": 5,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 23, "end": 48,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 23, "end": 48,
"start": 0 "start": 0
} }

View File

@ -1,12 +1,12 @@
--- ---
source: kcl/src/parsing/parser.rs source: kcl-lib/src/parsing/parser.rs
expression: actual expression: actual
--- ---
{ {
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 47, "end": 73,
"id": { "id": {
"end": 2, "end": 2,
"name": "sg", "name": "sg",
@ -18,8 +18,8 @@ expression: actual
{ {
"arguments": [ "arguments": [
{ {
"end": 22, "end": 21,
"name": "pos", "name": "XY",
"start": 19, "start": 19,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -27,23 +27,44 @@ expression: actual
], ],
"callee": { "callee": {
"end": 18, "end": 18,
"name": "startSketchAt", "name": "startSketchOn",
"start": 5, "start": 5,
"type": "Identifier" "type": "Identifier"
}, },
"end": 23, "end": 22,
"start": 5, "start": 5,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 48,
"name": "pos",
"start": 45,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 44,
"name": "startProfileAt",
"start": 30,
"type": "Identifier"
},
"end": 49,
"start": 30,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
"elements": [ "elements": [
{ {
"end": 34, "end": 60,
"raw": "0", "raw": "0",
"start": 33, "start": 59,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -53,44 +74,44 @@ expression: actual
}, },
{ {
"argument": { "argument": {
"end": 42, "end": 68,
"name": "scale", "name": "scale",
"start": 37, "start": 63,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"end": 42, "end": 68,
"operator": "-", "operator": "-",
"start": 36, "start": 62,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
} }
], ],
"end": 43, "end": 69,
"start": 32, "start": 58,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
}, },
{ {
"end": 46, "end": 72,
"start": 45, "start": 71,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 31, "end": 57,
"name": "line", "name": "line",
"start": 27, "start": 53,
"type": "Identifier" "type": "Identifier"
}, },
"end": 47, "end": 73,
"start": 27, "start": 53,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
} }
], ],
"end": 47, "end": 73,
"start": 5, "start": 5,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -98,13 +119,13 @@ expression: actual
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 47, "end": 73,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 47, "end": 73,
"start": 0 "start": 0
} }

View File

@ -559,7 +559,8 @@ mod tests {
#[test] #[test]
fn test_program2() { fn test_program2() {
let program = r#"const part001 = startSketchAt([0.0000000000, 5.0000000000]) let program = r#"const part001 = startSketchOn(XY)
|> startProfileAt([0.0000000000, 5.0000000000], %)
|> line([0.4900857016, -0.0240763666], %) |> line([0.4900857016, -0.0240763666], %)
const part002 = "part002" const part002 = "part002"

View File

@ -1,969 +0,0 @@
---
source: kcl/src/tests.rs
expression: tokens
---
Ok:
- type: keyword
start: 0
end: 2
value: fn
- type: whitespace
start: 2
end: 3
value: " "
- type: word
start: 3
end: 9
value: square
- type: whitespace
start: 9
end: 10
value: " "
- type: operator
start: 10
end: 11
value: "="
- type: whitespace
start: 11
end: 12
value: " "
- type: brace
start: 12
end: 13
value: (
- type: word
start: 13
end: 19
value: length
- type: comma
start: 19
end: 20
value: ","
- type: whitespace
start: 20
end: 21
value: " "
- type: word
start: 21
end: 27
value: center
- type: brace
start: 27
end: 28
value: )
- type: whitespace
start: 28
end: 29
value: " "
- type: operator
start: 29
end: 31
value: "=>"
- type: whitespace
start: 31
end: 32
value: " "
- type: brace
start: 32
end: 33
value: "{"
- type: whitespace
start: 33
end: 36
value: "\n "
- type: word
start: 36
end: 37
value: l
- type: whitespace
start: 37
end: 38
value: " "
- type: operator
start: 38
end: 39
value: "="
- type: whitespace
start: 39
end: 40
value: " "
- type: word
start: 40
end: 46
value: length
- type: whitespace
start: 46
end: 47
value: " "
- type: operator
start: 47
end: 48
value: /
- type: whitespace
start: 48
end: 49
value: " "
- type: number
start: 49
end: 50
value: "2"
- type: whitespace
start: 50
end: 53
value: "\n "
- type: word
start: 53
end: 54
value: x
- type: whitespace
start: 54
end: 55
value: " "
- type: operator
start: 55
end: 56
value: "="
- type: whitespace
start: 56
end: 57
value: " "
- type: word
start: 57
end: 63
value: center
- type: brace
start: 63
end: 64
value: "["
- type: number
start: 64
end: 65
value: "0"
- type: brace
start: 65
end: 66
value: "]"
- type: whitespace
start: 66
end: 69
value: "\n "
- type: word
start: 69
end: 70
value: y
- type: whitespace
start: 70
end: 71
value: " "
- type: operator
start: 71
end: 72
value: "="
- type: whitespace
start: 72
end: 73
value: " "
- type: word
start: 73
end: 79
value: center
- type: brace
start: 79
end: 80
value: "["
- type: number
start: 80
end: 81
value: "1"
- type: brace
start: 81
end: 82
value: "]"
- type: whitespace
start: 82
end: 85
value: "\n "
- type: word
start: 85
end: 87
value: p0
- type: whitespace
start: 87
end: 88
value: " "
- type: operator
start: 88
end: 89
value: "="
- type: whitespace
start: 89
end: 90
value: " "
- type: brace
start: 90
end: 91
value: "["
- type: operator
start: 91
end: 92
value: "-"
- type: word
start: 92
end: 93
value: l
- type: whitespace
start: 93
end: 94
value: " "
- type: operator
start: 94
end: 95
value: +
- type: whitespace
start: 95
end: 96
value: " "
- type: word
start: 96
end: 97
value: x
- type: comma
start: 97
end: 98
value: ","
- type: whitespace
start: 98
end: 99
value: " "
- type: operator
start: 99
end: 100
value: "-"
- type: word
start: 100
end: 101
value: l
- type: whitespace
start: 101
end: 102
value: " "
- type: operator
start: 102
end: 103
value: +
- type: whitespace
start: 103
end: 104
value: " "
- type: word
start: 104
end: 105
value: y
- type: brace
start: 105
end: 106
value: "]"
- type: whitespace
start: 106
end: 109
value: "\n "
- type: word
start: 109
end: 111
value: p1
- type: whitespace
start: 111
end: 112
value: " "
- type: operator
start: 112
end: 113
value: "="
- type: whitespace
start: 113
end: 114
value: " "
- type: brace
start: 114
end: 115
value: "["
- type: operator
start: 115
end: 116
value: "-"
- type: word
start: 116
end: 117
value: l
- type: whitespace
start: 117
end: 118
value: " "
- type: operator
start: 118
end: 119
value: +
- type: whitespace
start: 119
end: 120
value: " "
- type: word
start: 120
end: 121
value: x
- type: comma
start: 121
end: 122
value: ","
- type: whitespace
start: 122
end: 124
value: " "
- type: word
start: 124
end: 125
value: l
- type: whitespace
start: 125
end: 126
value: " "
- type: operator
start: 126
end: 127
value: +
- type: whitespace
start: 127
end: 128
value: " "
- type: word
start: 128
end: 129
value: y
- type: brace
start: 129
end: 130
value: "]"
- type: whitespace
start: 130
end: 133
value: "\n "
- type: word
start: 133
end: 135
value: p2
- type: whitespace
start: 135
end: 136
value: " "
- type: operator
start: 136
end: 137
value: "="
- type: whitespace
start: 137
end: 138
value: " "
- type: brace
start: 138
end: 139
value: "["
- type: whitespace
start: 139
end: 140
value: " "
- type: word
start: 140
end: 141
value: l
- type: whitespace
start: 141
end: 142
value: " "
- type: operator
start: 142
end: 143
value: +
- type: whitespace
start: 143
end: 144
value: " "
- type: word
start: 144
end: 145
value: x
- type: comma
start: 145
end: 146
value: ","
- type: whitespace
start: 146
end: 148
value: " "
- type: word
start: 148
end: 149
value: l
- type: whitespace
start: 149
end: 150
value: " "
- type: operator
start: 150
end: 151
value: +
- type: whitespace
start: 151
end: 152
value: " "
- type: word
start: 152
end: 153
value: y
- type: brace
start: 153
end: 154
value: "]"
- type: whitespace
start: 154
end: 157
value: "\n "
- type: word
start: 157
end: 159
value: p3
- type: whitespace
start: 159
end: 160
value: " "
- type: operator
start: 160
end: 161
value: "="
- type: whitespace
start: 161
end: 162
value: " "
- type: brace
start: 162
end: 163
value: "["
- type: whitespace
start: 163
end: 164
value: " "
- type: word
start: 164
end: 165
value: l
- type: whitespace
start: 165
end: 166
value: " "
- type: operator
start: 166
end: 167
value: +
- type: whitespace
start: 167
end: 168
value: " "
- type: word
start: 168
end: 169
value: x
- type: comma
start: 169
end: 170
value: ","
- type: whitespace
start: 170
end: 171
value: " "
- type: operator
start: 171
end: 172
value: "-"
- type: word
start: 172
end: 173
value: l
- type: whitespace
start: 173
end: 174
value: " "
- type: operator
start: 174
end: 175
value: +
- type: whitespace
start: 175
end: 176
value: " "
- type: word
start: 176
end: 177
value: y
- type: brace
start: 177
end: 178
value: "]"
- type: whitespace
start: 178
end: 181
value: "\n "
- type: keyword
start: 181
end: 187
value: return
- type: whitespace
start: 187
end: 188
value: " "
- type: word
start: 188
end: 201
value: startSketchAt
- type: brace
start: 201
end: 202
value: (
- type: word
start: 202
end: 204
value: p0
- type: brace
start: 204
end: 205
value: )
- type: whitespace
start: 205
end: 210
value: "\n "
- type: operator
start: 210
end: 212
value: "|>"
- type: whitespace
start: 212
end: 213
value: " "
- type: word
start: 213
end: 219
value: lineTo
- type: brace
start: 219
end: 220
value: (
- type: word
start: 220
end: 222
value: p1
- type: comma
start: 222
end: 223
value: ","
- type: whitespace
start: 223
end: 224
value: " "
- type: operator
start: 224
end: 225
value: "%"
- type: brace
start: 225
end: 226
value: )
- type: whitespace
start: 226
end: 231
value: "\n "
- type: operator
start: 231
end: 233
value: "|>"
- type: whitespace
start: 233
end: 234
value: " "
- type: word
start: 234
end: 240
value: lineTo
- type: brace
start: 240
end: 241
value: (
- type: word
start: 241
end: 243
value: p2
- type: comma
start: 243
end: 244
value: ","
- type: whitespace
start: 244
end: 245
value: " "
- type: operator
start: 245
end: 246
value: "%"
- type: brace
start: 246
end: 247
value: )
- type: whitespace
start: 247
end: 252
value: "\n "
- type: operator
start: 252
end: 254
value: "|>"
- type: whitespace
start: 254
end: 255
value: " "
- type: word
start: 255
end: 261
value: lineTo
- type: brace
start: 261
end: 262
value: (
- type: word
start: 262
end: 264
value: p3
- type: comma
start: 264
end: 265
value: ","
- type: whitespace
start: 265
end: 266
value: " "
- type: operator
start: 266
end: 267
value: "%"
- type: brace
start: 267
end: 268
value: )
- type: whitespace
start: 268
end: 273
value: "\n "
- type: operator
start: 273
end: 275
value: "|>"
- type: whitespace
start: 275
end: 276
value: " "
- type: word
start: 276
end: 282
value: lineTo
- type: brace
start: 282
end: 283
value: (
- type: word
start: 283
end: 285
value: p0
- type: comma
start: 285
end: 286
value: ","
- type: whitespace
start: 286
end: 287
value: " "
- type: operator
start: 287
end: 288
value: "%"
- type: brace
start: 288
end: 289
value: )
- type: whitespace
start: 289
end: 294
value: "\n "
- type: operator
start: 294
end: 296
value: "|>"
- type: whitespace
start: 296
end: 297
value: " "
- type: word
start: 297
end: 302
value: close
- type: brace
start: 302
end: 303
value: (
- type: operator
start: 303
end: 304
value: "%"
- type: brace
start: 304
end: 305
value: )
- type: whitespace
start: 305
end: 306
value: "\n"
- type: brace
start: 306
end: 307
value: "}"
- type: whitespace
start: 307
end: 309
value: "\n\n"
- type: keyword
start: 309
end: 311
value: fn
- type: whitespace
start: 311
end: 312
value: " "
- type: word
start: 312
end: 316
value: cube
- type: whitespace
start: 316
end: 317
value: " "
- type: operator
start: 317
end: 318
value: "="
- type: whitespace
start: 318
end: 319
value: " "
- type: brace
start: 319
end: 320
value: (
- type: word
start: 320
end: 326
value: length
- type: comma
start: 326
end: 327
value: ","
- type: whitespace
start: 327
end: 328
value: " "
- type: word
start: 328
end: 334
value: center
- type: brace
start: 334
end: 335
value: )
- type: whitespace
start: 335
end: 336
value: " "
- type: operator
start: 336
end: 338
value: "=>"
- type: whitespace
start: 338
end: 339
value: " "
- type: brace
start: 339
end: 340
value: "{"
- type: whitespace
start: 340
end: 343
value: "\n "
- type: keyword
start: 343
end: 349
value: return
- type: whitespace
start: 349
end: 350
value: " "
- type: word
start: 350
end: 356
value: square
- type: brace
start: 356
end: 357
value: (
- type: word
start: 357
end: 363
value: length
- type: comma
start: 363
end: 364
value: ","
- type: whitespace
start: 364
end: 365
value: " "
- type: word
start: 365
end: 371
value: center
- type: brace
start: 371
end: 372
value: )
- type: whitespace
start: 372
end: 377
value: "\n "
- type: operator
start: 377
end: 379
value: "|>"
- type: whitespace
start: 379
end: 380
value: " "
- type: word
start: 380
end: 387
value: extrude
- type: brace
start: 387
end: 388
value: (
- type: word
start: 388
end: 394
value: length
- type: comma
start: 394
end: 395
value: ","
- type: whitespace
start: 395
end: 396
value: " "
- type: operator
start: 396
end: 397
value: "%"
- type: brace
start: 397
end: 398
value: )
- type: whitespace
start: 398
end: 399
value: "\n"
- type: brace
start: 399
end: 400
value: "}"
- type: whitespace
start: 400
end: 402
value: "\n\n"
- type: word
start: 402
end: 407
value: width
- type: whitespace
start: 407
end: 408
value: " "
- type: operator
start: 408
end: 409
value: "="
- type: whitespace
start: 409
end: 410
value: " "
- type: number
start: 410
end: 412
value: "20"
- type: whitespace
start: 412
end: 413
value: "\n"
- type: word
start: 413
end: 417
value: cube
- type: brace
start: 417
end: 418
value: (
- type: word
start: 418
end: 423
value: width
- type: comma
start: 423
end: 424
value: ","
- type: whitespace
start: 424
end: 425
value: " "
- type: brace
start: 425
end: 426
value: "["
- type: number
start: 426
end: 428
value: "20"
- type: comma
start: 428
end: 429
value: ","
- type: whitespace
start: 429
end: 430
value: " "
- type: number
start: 430
end: 431
value: "0"
- type: brace
start: 431
end: 432
value: "]"
- type: brace
start: 432
end: 433
value: )
- type: whitespace
start: 433
end: 434
value: "\n"

View File

@ -83,7 +83,6 @@ lazy_static! {
Box::new(crate::std::sketch::AngledLineOfXLength), Box::new(crate::std::sketch::AngledLineOfXLength),
Box::new(crate::std::sketch::AngledLineOfYLength), Box::new(crate::std::sketch::AngledLineOfYLength),
Box::new(crate::std::sketch::AngledLineThatIntersects), Box::new(crate::std::sketch::AngledLineThatIntersects),
Box::new(crate::std::sketch::StartSketchAt),
Box::new(crate::std::sketch::StartSketchOn), Box::new(crate::std::sketch::StartSketchOn),
Box::new(crate::std::sketch::StartProfileAt), Box::new(crate::std::sketch::StartProfileAt),
Box::new(crate::std::sketch::ProfileStartX), Box::new(crate::std::sketch::ProfileStartX),

View File

@ -894,59 +894,6 @@ async fn inner_angled_line_that_intersects(
Ok(new_sketch) Ok(new_sketch)
} }
/// Start a sketch at a given point.
pub async fn start_sketch_at(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let data: [f64; 2] = args.get_data()?;
let sketch = inner_start_sketch_at(data, exec_state, args).await?;
Ok(KclValue::Sketch {
value: Box::new(sketch),
})
}
/// Start a new 2-dimensional sketch at a given point on the 'XY' plane.
///
/// ```no_run
/// exampleSketch = startSketchAt([0, 0])
/// |> line(end = [10, 0])
/// |> line(end = [0, 10])
/// |> line(end = [-10, 0])
/// |> close()
///
/// example = extrude(exampleSketch, length = 5)
/// ```
///
/// ```no_run
/// exampleSketch = startSketchAt([10, 10])
/// |> line(end = [10, 0])
/// |> line(end = [0, 10])
/// |> line(end = [-10, 0])
/// |> close()
///
/// example = extrude(exampleSketch, length = 5)
/// ```
///
/// ```no_run
/// exampleSketch = startSketchAt([-10, 23])
/// |> line(end = [10, 0])
/// |> line(end = [0, 10])
/// |> line(end = [-10, 0])
/// |> close()
///
/// example = extrude(exampleSketch, length = 5)
/// ```
#[stdlib {
name = "startSketchAt",
deprecated = true,
}]
async fn inner_start_sketch_at(data: [f64; 2], exec_state: &mut ExecState, args: Args) -> Result<Sketch, KclError> {
// Let's assume it's the XY plane for now, this is just for backwards compatibility.
let xy_plane = PlaneData::XY;
let sketch_surface = inner_start_sketch_on(SketchData::PlaneOrientation(xy_plane), None, exec_state, &args).await?;
let sketch = inner_start_profile_at(data, sketch_surface, None, exec_state, args).await?;
Ok(sketch)
}
/// Data for start sketch on. /// Data for start sketch on.
/// You can start a sketch on a plane or an solid. /// You can start a sketch on a plane or an solid.
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)]

View File

@ -997,7 +997,7 @@ fn o(c_x, c_y) {
o_x2 = c_x + o_r * cos((225 + a) / 360 * tau()) o_x2 = c_x + o_r * cos((225 + a) / 360 * tau())
o_y2 = c_y + o_r * sin((225 + a) / 360 * tau()) o_y2 = c_y + o_r * sin((225 + a) / 360 * tau())
// End point for the bottom startSketchAt // End point for the bottom startSketch
o_x3 = c_x + o_r * cos((45 - a) / 360 * tau()) o_x3 = c_x + o_r * cos((45 - a) / 360 * tau())
o_y3 = c_y + o_r * sin((45 - a) / 360 * tau()) o_y3 = c_y + o_r * sin((45 - a) / 360 * tau())
@ -1875,7 +1875,8 @@ thing = 'foo'
let test_program = r#" let test_program = r#"
/* comment at start */ /* comment at start */
mySk1 = startSketchAt([0, 0])"#; mySk1 = startSketchOn(XY)
|> startProfileAt([0, 0], %)"#;
let program = crate::parsing::top_level_parse(test_program).unwrap(); let program = crate::parsing::top_level_parse(test_program).unwrap();
let recasted = program.recast(&Default::default(), 0); let recasted = program.recast(&Default::default(), 0);
@ -1883,7 +1884,8 @@ mySk1 = startSketchAt([0, 0])"#;
recasted, recasted,
r#"/* comment at start */ r#"/* comment at start */
mySk1 = startSketchAt([0, 0]) mySk1 = startSketchOn(XY)
|> startProfileAt([0, 0], %)
"# "#
); );
} }

View File

@ -1,7 +1,6 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact commands cube.kcl description: Artifact commands cube.kcl
snapshot_kind: text
--- ---
[ [
{ {
@ -314,8 +313,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
185, 210,
202, 231,
0 0
], ],
"command": { "command": {
@ -334,8 +333,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
185, 210,
202, 231,
0 0
], ],
"command": { "command": {
@ -345,8 +344,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
185, 210,
202, 231,
0 0
], ],
"command": { "command": {
@ -362,8 +361,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
210, 239,
232, 261,
0 0
], ],
"command": { "command": {
@ -383,8 +382,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
240, 269,
262, 291,
0 0
], ],
"command": { "command": {
@ -404,8 +403,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
270, 299,
292, 321,
0 0
], ],
"command": { "command": {
@ -425,8 +424,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
300, 329,
322, 351,
0 0
], ],
"command": { "command": {
@ -446,8 +445,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
330, 359,
337, 366,
0 0
], ],
"command": { "command": {
@ -458,8 +457,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
330, 359,
337, 366,
0 0
], ],
"command": { "command": {
@ -469,8 +468,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -489,8 +488,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -503,8 +502,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -514,8 +513,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -526,8 +525,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -539,8 +538,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -553,8 +552,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -567,8 +566,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -581,8 +580,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -595,8 +594,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -609,8 +608,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -623,8 +622,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {
@ -637,8 +636,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
345, 374,
373, 402,
0 0
], ],
"command": { "command": {

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart cube.kcl description: Artifact graph flowchart cube.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,16 +1,16 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[185, 202, 0]"] 2["Path<br>[210, 231, 0]"]
3["Segment<br>[210, 232, 0]"] 3["Segment<br>[239, 261, 0]"]
4["Segment<br>[240, 262, 0]"] 4["Segment<br>[269, 291, 0]"]
5["Segment<br>[270, 292, 0]"] 5["Segment<br>[299, 321, 0]"]
6["Segment<br>[300, 322, 0]"] 6["Segment<br>[329, 351, 0]"]
7["Segment<br>[330, 337, 0]"] 7["Segment<br>[359, 366, 0]"]
8[Solid2d] 8[Solid2d]
end end
1["Plane<br>[185, 202, 0]"] 1["Plane<br>[185, 202, 0]"]
9["Sweep Extrusion<br>[345, 373, 0]"] 9["Sweep Extrusion<br>[374, 402, 0]"]
10[Wall] 10[Wall]
11[Wall] 11[Wall]
12[Wall] 12[Wall]

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Result of parsing cube.kcl description: Result of parsing cube.kcl
--- ---
{ {
@ -7,7 +7,7 @@ description: Result of parsing cube.kcl
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 375, "end": 404,
"id": { "id": {
"end": 7, "end": 7,
"name": "cube", "name": "cube",
@ -453,7 +453,7 @@ description: Result of parsing cube.kcl
"arguments": [ "arguments": [
{ {
"end": 201, "end": 201,
"name": "p0", "name": "XY",
"start": 199, "start": 199,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -461,7 +461,7 @@ description: Result of parsing cube.kcl
], ],
"callee": { "callee": {
"end": 198, "end": 198,
"name": "startSketchAt", "name": "startSketchOn",
"start": 185, "start": 185,
"type": "Identifier" "type": "Identifier"
}, },
@ -470,6 +470,33 @@ description: Result of parsing cube.kcl
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 227,
"name": "p0",
"start": 225,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 230,
"start": 229,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 224,
"name": "startProfileAt",
"start": 210,
"type": "Identifier"
},
"end": 231,
"start": 210,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
@ -479,80 +506,51 @@ description: Result of parsing cube.kcl
"name": "endAbsolute" "name": "endAbsolute"
}, },
"arg": { "arg": {
"end": 231, "end": 260,
"name": "p1", "name": "p1",
"start": 229, "start": 258,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 214, "end": 243,
"name": "line", "name": "line",
"start": 210, "start": 239,
"type": "Identifier" "type": "Identifier"
}, },
"end": 232,
"start": 210,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 261, "end": 261,
"start": 239,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 290,
"name": "p2", "name": "p2",
"start": 259, "start": 288,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 244, "end": 273,
"name": "line", "name": "line",
"start": 240, "start": 269,
"type": "Identifier" "type": "Identifier"
}, },
"end": 262,
"start": 240,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 291, "end": 291,
"name": "p3", "start": 269,
"start": 289,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 274,
"name": "line",
"start": 270,
"type": "Identifier"
},
"end": 292,
"start": 270,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -566,22 +564,51 @@ description: Result of parsing cube.kcl
"name": "endAbsolute" "name": "endAbsolute"
}, },
"arg": { "arg": {
"end": 321, "end": 320,
"name": "p0", "name": "p3",
"start": 319, "start": 318,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 304, "end": 303,
"name": "line", "name": "line",
"start": 300, "start": 299,
"type": "Identifier" "type": "Identifier"
}, },
"end": 322, "end": 321,
"start": 300, "start": 299,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 350,
"name": "p0",
"start": 348,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 333,
"name": "line",
"start": 329,
"type": "Identifier"
},
"end": 351,
"start": 329,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -589,13 +616,13 @@ description: Result of parsing cube.kcl
{ {
"arguments": [], "arguments": [],
"callee": { "callee": {
"end": 335, "end": 364,
"name": "close", "name": "close",
"start": 330, "start": 359,
"type": "Identifier" "type": "Identifier"
}, },
"end": 337, "end": 366,
"start": 330, "start": 359,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -608,39 +635,39 @@ description: Result of parsing cube.kcl
"name": "length" "name": "length"
}, },
"arg": { "arg": {
"end": 372, "end": 401,
"name": "sideLength", "name": "sideLength",
"start": 362, "start": 391,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 352, "end": 381,
"name": "extrude", "name": "extrude",
"start": 345, "start": 374,
"type": "Identifier" "type": "Identifier"
}, },
"end": 373, "end": 402,
"start": 345, "start": 374,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 373, "end": 402,
"start": 185, "start": 185,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
}, },
"end": 373, "end": 402,
"start": 178, "start": 178,
"type": "ReturnStatement", "type": "ReturnStatement",
"type": "ReturnStatement" "type": "ReturnStatement"
} }
], ],
"end": 375, "end": 404,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"6": [ "6": [
@ -658,7 +685,7 @@ description: Result of parsing cube.kcl
}, },
"start": 28 "start": 28
}, },
"end": 375, "end": 404,
"params": [ "params": [
{ {
"type": "Parameter", "type": "Parameter",
@ -686,7 +713,7 @@ description: Result of parsing cube.kcl
"start": 3, "start": 3,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 375, "end": 404,
"kind": "fn", "kind": "fn",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
@ -694,11 +721,11 @@ description: Result of parsing cube.kcl
}, },
{ {
"declaration": { "declaration": {
"end": 424, "end": 453,
"id": { "id": {
"end": 383, "end": 412,
"name": "myCube", "name": "myCube",
"start": 377, "start": 406,
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
@ -710,9 +737,9 @@ description: Result of parsing cube.kcl
"name": "sideLength" "name": "sideLength"
}, },
"arg": { "arg": {
"end": 406, "end": 435,
"raw": "40", "raw": "40",
"start": 404, "start": 433,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -730,9 +757,9 @@ description: Result of parsing cube.kcl
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 419, "end": 448,
"raw": "0", "raw": "0",
"start": 418, "start": 447,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -741,9 +768,9 @@ description: Result of parsing cube.kcl
} }
}, },
{ {
"end": 422, "end": 451,
"raw": "0", "raw": "0",
"start": 421, "start": 450,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -752,42 +779,42 @@ description: Result of parsing cube.kcl
} }
} }
], ],
"end": 423, "end": 452,
"start": 417, "start": 446,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 390, "end": 419,
"name": "cube", "name": "cube",
"start": 386, "start": 415,
"type": "Identifier" "type": "Identifier"
}, },
"end": 424, "end": 453,
"start": 386, "start": 415,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
}, },
"start": 377, "start": 406,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 424, "end": 453,
"kind": "const", "kind": "const",
"start": 377, "start": 406,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 425, "end": 454,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"0": [ "0": [
{ {
"end": 377, "end": 406,
"start": 375, "start": 404,
"type": "NonCodeNode", "type": "NonCodeNode",
"value": { "value": {
"type": "newLine" "type": "newLine"

View File

@ -7,7 +7,8 @@ fn cube(sideLength, center) {
p2 = [l + x, l + y] p2 = [l + x, l + y]
p3 = [l + x, -l + y] p3 = [l + x, -l + y]
return startSketchAt(p0) return startSketchOn(XY)
|> startProfileAt(p0, %)
|> line(endAbsolute = p1) |> line(endAbsolute = p1)
|> line(endAbsolute = p2) |> line(endAbsolute = p2)
|> line(endAbsolute = p3) |> line(endAbsolute = p3)

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed cube.kcl description: Operations executed cube.kcl
--- ---
[ [
@ -8,7 +8,7 @@ description: Operations executed cube.kcl
"name": "cube", "name": "cube",
"functionSourceRange": [ "functionSourceRange": [
7, 7,
375, 404,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
@ -46,8 +46,8 @@ description: Operations executed cube.kcl
] ]
}, },
"sourceRange": [ "sourceRange": [
417, 446,
423, 452,
0 0
] ]
}, },
@ -66,18 +66,41 @@ description: Operations executed cube.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
404, 433,
406, 435,
0 0
] ]
} }
}, },
"sourceRange": [ "sourceRange": [
386, 415,
424, 453,
0 0
] ]
}, },
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
199,
201,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
185,
202,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"length": { "length": {
@ -95,16 +118,16 @@ description: Operations executed cube.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
362, 391,
372, 401,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
345, 374,
373, 402,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing cube.kcl description: Variables in memory after executing cube.kcl
--- ---
{ {
@ -9,7 +9,7 @@ description: Variables in memory after executing cube.kcl
{ {
"sourceRange": [ "sourceRange": [
7, 7,
375, 404,
0 0
] ]
} }
@ -26,8 +26,8 @@ description: Variables in memory after executing cube.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
210, 239,
232, 261,
0 0
], ],
"tag": null, "tag": null,
@ -37,8 +37,8 @@ description: Variables in memory after executing cube.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
240, 269,
262, 291,
0 0
], ],
"tag": null, "tag": null,
@ -48,8 +48,8 @@ description: Variables in memory after executing cube.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
270, 299,
292, 321,
0 0
], ],
"tag": null, "tag": null,
@ -59,8 +59,8 @@ description: Variables in memory after executing cube.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
300, 329,
322, 351,
0 0
], ],
"tag": null, "tag": null,
@ -75,8 +75,8 @@ description: Variables in memory after executing cube.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
210, 239,
232, 261,
0 0
] ]
}, },
@ -98,8 +98,8 @@ description: Variables in memory after executing cube.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
240, 269,
262, 291,
0 0
] ]
}, },
@ -121,8 +121,8 @@ description: Variables in memory after executing cube.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
270, 299,
292, 321,
0 0
] ]
}, },
@ -144,8 +144,8 @@ description: Variables in memory after executing cube.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
300, 329,
322, 351,
0 0
] ]
}, },
@ -167,8 +167,8 @@ description: Variables in memory after executing cube.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
330, 359,
337, 366,
0 0
] ]
}, },
@ -233,8 +233,8 @@ description: Variables in memory after executing cube.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
185, 210,
202, 231,
0 0
] ]
} }
@ -247,8 +247,8 @@ description: Variables in memory after executing cube.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
185, 210,
202, 231,
0 0
] ]
} }
@ -263,8 +263,8 @@ description: Variables in memory after executing cube.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
185, 210,
202, 231,
0 0
] ]
} }

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact commands cube_with_error.kcl description: Artifact commands cube_with_error.kcl
--- ---
[ [
@ -313,8 +313,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
177, 202,
194, 223,
0 0
], ],
"command": { "command": {
@ -333,8 +333,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
177, 202,
194, 223,
0 0
], ],
"command": { "command": {
@ -344,8 +344,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
177, 202,
194, 223,
0 0
], ],
"command": { "command": {
@ -361,8 +361,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
202, 231,
224, 253,
0 0
], ],
"command": { "command": {
@ -382,8 +382,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
232, 261,
254, 283,
0 0
], ],
"command": { "command": {
@ -403,8 +403,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
262, 291,
284, 313,
0 0
], ],
"command": { "command": {
@ -424,8 +424,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
292, 321,
314, 343,
0 0
], ],
"command": { "command": {
@ -445,8 +445,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
322, 351,
329, 358,
0 0
], ],
"command": { "command": {
@ -457,8 +457,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
322, 351,
329, 358,
0 0
], ],
"command": { "command": {
@ -468,8 +468,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
337, 366,
361, 390,
0 0
], ],
"command": { "command": {
@ -488,8 +488,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
337, 366,
361, 390,
0 0
], ],
"command": { "command": {
@ -502,8 +502,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
337, 366,
361, 390,
0 0
], ],
"command": { "command": {
@ -513,8 +513,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
337, 366,
361, 390,
0 0
], ],
"command": { "command": {
@ -525,8 +525,8 @@ description: Artifact commands cube_with_error.kcl
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
337, 366,
361, 390,
0 0
], ],
"command": { "command": {

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart cube_with_error.kcl description: Artifact graph flowchart cube_with_error.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,16 +1,16 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[177, 194, 0]"] 2["Path<br>[202, 223, 0]"]
3["Segment<br>[202, 224, 0]"] 3["Segment<br>[231, 253, 0]"]
4["Segment<br>[232, 254, 0]"] 4["Segment<br>[261, 283, 0]"]
5["Segment<br>[262, 284, 0]"] 5["Segment<br>[291, 313, 0]"]
6["Segment<br>[292, 314, 0]"] 6["Segment<br>[321, 343, 0]"]
7["Segment<br>[322, 329, 0]"] 7["Segment<br>[351, 358, 0]"]
8[Solid2d] 8[Solid2d]
end end
1["Plane<br>[177, 194, 0]"] 1["Plane<br>[177, 194, 0]"]
9["Sweep Extrusion<br>[337, 361, 0]"] 9["Sweep Extrusion<br>[366, 390, 0]"]
10[Wall] 10[Wall]
11[Wall] 11[Wall]
12[Wall] 12[Wall]

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Result of parsing cube_with_error.kcl description: Result of parsing cube_with_error.kcl
--- ---
{ {
@ -7,7 +7,7 @@ description: Result of parsing cube_with_error.kcl
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 363, "end": 392,
"id": { "id": {
"end": 7, "end": 7,
"name": "cube", "name": "cube",
@ -453,7 +453,7 @@ description: Result of parsing cube_with_error.kcl
"arguments": [ "arguments": [
{ {
"end": 193, "end": 193,
"name": "p0", "name": "XY",
"start": 191, "start": 191,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -461,7 +461,7 @@ description: Result of parsing cube_with_error.kcl
], ],
"callee": { "callee": {
"end": 190, "end": 190,
"name": "startSketchAt", "name": "startSketchOn",
"start": 177, "start": 177,
"type": "Identifier" "type": "Identifier"
}, },
@ -470,6 +470,33 @@ description: Result of parsing cube_with_error.kcl
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 219,
"name": "p0",
"start": 217,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 222,
"start": 221,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 216,
"name": "startProfileAt",
"start": 202,
"type": "Identifier"
},
"end": 223,
"start": 202,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
@ -479,80 +506,51 @@ description: Result of parsing cube_with_error.kcl
"name": "endAbsolute" "name": "endAbsolute"
}, },
"arg": { "arg": {
"end": 223, "end": 252,
"name": "p1", "name": "p1",
"start": 221, "start": 250,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 206, "end": 235,
"name": "line", "name": "line",
"start": 202, "start": 231,
"type": "Identifier" "type": "Identifier"
}, },
"end": 224,
"start": 202,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 253, "end": 253,
"start": 231,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 282,
"name": "p2", "name": "p2",
"start": 251, "start": 280,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 236, "end": 265,
"name": "line", "name": "line",
"start": 232, "start": 261,
"type": "Identifier" "type": "Identifier"
}, },
"end": 254,
"start": 232,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 283, "end": 283,
"name": "p3", "start": 261,
"start": 281,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 266,
"name": "line",
"start": 262,
"type": "Identifier"
},
"end": 284,
"start": 262,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -566,22 +564,51 @@ description: Result of parsing cube_with_error.kcl
"name": "endAbsolute" "name": "endAbsolute"
}, },
"arg": { "arg": {
"end": 313, "end": 312,
"name": "p0", "name": "p3",
"start": 311, "start": 310,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 296, "end": 295,
"name": "line", "name": "line",
"start": 292, "start": 291,
"type": "Identifier" "type": "Identifier"
}, },
"end": 314, "end": 313,
"start": 292, "start": 291,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 342,
"name": "p0",
"start": 340,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 325,
"name": "line",
"start": 321,
"type": "Identifier"
},
"end": 343,
"start": 321,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -589,13 +616,13 @@ description: Result of parsing cube_with_error.kcl
{ {
"arguments": [], "arguments": [],
"callee": { "callee": {
"end": 327, "end": 356,
"name": "close", "name": "close",
"start": 322, "start": 351,
"type": "Identifier" "type": "Identifier"
}, },
"end": 329, "end": 358,
"start": 322, "start": 351,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -608,39 +635,39 @@ description: Result of parsing cube_with_error.kcl
"name": "length" "name": "length"
}, },
"arg": { "arg": {
"end": 360, "end": 389,
"name": "length", "name": "length",
"start": 354, "start": 383,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 344, "end": 373,
"name": "extrude", "name": "extrude",
"start": 337, "start": 366,
"type": "Identifier" "type": "Identifier"
}, },
"end": 361, "end": 390,
"start": 337, "start": 366,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 361, "end": 390,
"start": 177, "start": 177,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
}, },
"end": 361, "end": 390,
"start": 170, "start": 170,
"type": "ReturnStatement", "type": "ReturnStatement",
"type": "ReturnStatement" "type": "ReturnStatement"
} }
], ],
"end": 363, "end": 392,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"6": [ "6": [
@ -658,7 +685,7 @@ description: Result of parsing cube_with_error.kcl
}, },
"start": 24 "start": 24
}, },
"end": 363, "end": 392,
"params": [ "params": [
{ {
"type": "Parameter", "type": "Parameter",
@ -686,7 +713,7 @@ description: Result of parsing cube_with_error.kcl
"start": 3, "start": 3,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 363, "end": 392,
"kind": "fn", "kind": "fn",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
@ -694,19 +721,19 @@ description: Result of parsing cube_with_error.kcl
}, },
{ {
"declaration": { "declaration": {
"end": 390, "end": 419,
"id": { "id": {
"end": 371, "end": 400,
"name": "myCube", "name": "myCube",
"start": 365, "start": 394,
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"arguments": [ "arguments": [
{ {
"end": 381, "end": 410,
"raw": "40", "raw": "40",
"start": 379, "start": 408,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -717,9 +744,9 @@ description: Result of parsing cube_with_error.kcl
{ {
"elements": [ "elements": [
{ {
"end": 385, "end": 414,
"raw": "0", "raw": "0",
"start": 384, "start": 413,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -728,9 +755,9 @@ description: Result of parsing cube_with_error.kcl
} }
}, },
{ {
"end": 388, "end": 417,
"raw": "0", "raw": "0",
"start": 387, "start": 416,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -739,53 +766,53 @@ description: Result of parsing cube_with_error.kcl
} }
} }
], ],
"end": 389, "end": 418,
"start": 383, "start": 412,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
], ],
"callee": { "callee": {
"end": 378, "end": 407,
"name": "cube", "name": "cube",
"start": 374, "start": 403,
"type": "Identifier" "type": "Identifier"
}, },
"end": 390, "end": 419,
"start": 374, "start": 403,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
"start": 365, "start": 394,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 390, "end": 419,
"kind": "const", "kind": "const",
"start": 365, "start": 394,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
}, },
{ {
"end": 439, "end": 468,
"expression": { "expression": {
"end": 439, "end": 468,
"name": "foo", "name": "foo",
"start": 436, "start": 465,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"start": 436, "start": 465,
"type": "ExpressionStatement", "type": "ExpressionStatement",
"type": "ExpressionStatement" "type": "ExpressionStatement"
} }
], ],
"end": 440, "end": 469,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"0": [ "0": [
{ {
"end": 365, "end": 394,
"start": 363, "start": 392,
"type": "NonCodeNode", "type": "NonCodeNode",
"value": { "value": {
"type": "newLine" "type": "newLine"
@ -794,8 +821,8 @@ description: Result of parsing cube_with_error.kcl
], ],
"1": [ "1": [
{ {
"end": 435, "end": 464,
"start": 390, "start": 419,
"type": "NonCodeNode", "type": "NonCodeNode",
"value": { "value": {
"type": "newLineBlockComment", "type": "newLineBlockComment",

View File

@ -1,13 +1,13 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Error from executing cube_with_error.kcl description: Error from executing cube_with_error.kcl
--- ---
KCL UndefinedValue error KCL UndefinedValue error
× undefined value: memory item key `foo` is not defined × undefined value: memory item key `foo` is not defined
╭─[22:1] ╭─[23:1]
21 │ // Error, after creating meaningful output. 22 │ // Error, after creating meaningful output.
22 │ foo 23 │ foo
· ─┬─ · ─┬─
· ╰── tests/cube_with_error/input.kcl · ╰── tests/cube_with_error/input.kcl
╰──── ╰────

View File

@ -7,7 +7,8 @@ fn cube(length, center) {
p2 = [l + x, l + y] p2 = [l + x, l + y]
p3 = [l + x, -l + y] p3 = [l + x, -l + y]
return startSketchAt(p0) return startSketchOn(XY)
|> startProfileAt(p0, %)
|> line(endAbsolute = p1) |> line(endAbsolute = p1)
|> line(endAbsolute = p2) |> line(endAbsolute = p2)
|> line(endAbsolute = p3) |> line(endAbsolute = p3)

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed cube_with_error.kcl description: Operations executed cube_with_error.kcl
--- ---
[ [
@ -8,17 +8,40 @@ description: Operations executed cube_with_error.kcl
"name": "cube", "name": "cube",
"functionSourceRange": [ "functionSourceRange": [
7, 7,
363, 392,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
374, 403,
390, 419,
0 0
] ]
}, },
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
191,
193,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
177,
194,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"length": { "length": {
@ -36,16 +59,16 @@ description: Operations executed cube_with_error.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
354, 383,
360, 389,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
337, 366,
361, 390,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart fillet-and-shell.kcl description: Artifact graph flowchart fillet-and-shell.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,76 +1,76 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[373, 461, 0]"] 2["Path<br>[396, 488, 0]"]
3["Segment<br>[467, 558, 0]"] 3["Segment<br>[494, 585, 0]"]
4["Segment<br>[564, 655, 0]"] 4["Segment<br>[591, 682, 0]"]
5["Segment<br>[661, 754, 0]"] 5["Segment<br>[688, 781, 0]"]
6["Segment<br>[760, 768, 0]"] 6["Segment<br>[787, 795, 0]"]
7[Solid2d] 7[Solid2d]
end end
subgraph path9 [Path] subgraph path9 [Path]
9["Path<br>[802, 827, 0]"] 9["Path<br>[829, 854, 0]"]
10["Segment<br>[833, 881, 0]"] 10["Segment<br>[860, 908, 0]"]
11["Segment<br>[887, 944, 0]"] 11["Segment<br>[914, 971, 0]"]
12["Segment<br>[950, 999, 0]"] 12["Segment<br>[977, 1026, 0]"]
13["Segment<br>[1005, 1024, 0]"] 13["Segment<br>[1032, 1051, 0]"]
14[Solid2d] 14[Solid2d]
end end
subgraph path31 [Path] subgraph path31 [Path]
31["Path<br>[1337, 1362, 0]"] 31["Path<br>[1364, 1389, 0]"]
end end
subgraph path32 [Path] subgraph path32 [Path]
32["Path<br>[1370, 1407, 0]"] 32["Path<br>[1397, 1434, 0]"]
33["Segment<br>[1370, 1407, 0]"] 33["Segment<br>[1397, 1434, 0]"]
34[Solid2d] 34[Solid2d]
end end
subgraph path35 [Path] subgraph path35 [Path]
35["Path<br>[1420, 1458, 0]"] 35["Path<br>[1447, 1485, 0]"]
36["Segment<br>[1420, 1458, 0]"] 36["Segment<br>[1447, 1485, 0]"]
37[Solid2d] 37[Solid2d]
end end
subgraph path45 [Path] subgraph path45 [Path]
45["Path<br>[1337, 1362, 0]"] 45["Path<br>[1364, 1389, 0]"]
end end
subgraph path46 [Path] subgraph path46 [Path]
46["Path<br>[1370, 1407, 0]"] 46["Path<br>[1397, 1434, 0]"]
47["Segment<br>[1370, 1407, 0]"] 47["Segment<br>[1397, 1434, 0]"]
48[Solid2d] 48[Solid2d]
end end
subgraph path49 [Path] subgraph path49 [Path]
49["Path<br>[1420, 1458, 0]"] 49["Path<br>[1447, 1485, 0]"]
50["Segment<br>[1420, 1458, 0]"] 50["Segment<br>[1447, 1485, 0]"]
51[Solid2d] 51[Solid2d]
end end
subgraph path59 [Path] subgraph path59 [Path]
59["Path<br>[1337, 1362, 0]"] 59["Path<br>[1364, 1389, 0]"]
end end
subgraph path60 [Path] subgraph path60 [Path]
60["Path<br>[1370, 1407, 0]"] 60["Path<br>[1397, 1434, 0]"]
61["Segment<br>[1370, 1407, 0]"] 61["Segment<br>[1397, 1434, 0]"]
62[Solid2d] 62[Solid2d]
end end
subgraph path63 [Path] subgraph path63 [Path]
63["Path<br>[1420, 1458, 0]"] 63["Path<br>[1447, 1485, 0]"]
64["Segment<br>[1420, 1458, 0]"] 64["Segment<br>[1447, 1485, 0]"]
65[Solid2d] 65[Solid2d]
end end
subgraph path73 [Path] subgraph path73 [Path]
73["Path<br>[1337, 1362, 0]"] 73["Path<br>[1364, 1389, 0]"]
end end
subgraph path74 [Path] subgraph path74 [Path]
74["Path<br>[1370, 1407, 0]"] 74["Path<br>[1397, 1434, 0]"]
75["Segment<br>[1370, 1407, 0]"] 75["Segment<br>[1397, 1434, 0]"]
76[Solid2d] 76[Solid2d]
end end
subgraph path77 [Path] subgraph path77 [Path]
77["Path<br>[1420, 1458, 0]"] 77["Path<br>[1447, 1485, 0]"]
78["Segment<br>[1420, 1458, 0]"] 78["Segment<br>[1447, 1485, 0]"]
79[Solid2d] 79[Solid2d]
end end
1["Plane<br>[373, 461, 0]"] 1["Plane<br>[373, 390, 0]"]
8["Plane<br>[777, 796, 0]"] 8["Plane<br>[804, 823, 0]"]
15["Sweep Extrusion<br>[1030, 1058, 0]"] 15["Sweep Extrusion<br>[1057, 1085, 0]"]
16[Wall] 16[Wall]
17[Wall] 17[Wall]
18[Wall] 18[Wall]
@ -85,38 +85,38 @@ flowchart LR
27["SweepEdge Adjacent"] 27["SweepEdge Adjacent"]
28["SweepEdge Opposite"] 28["SweepEdge Opposite"]
29["SweepEdge Adjacent"] 29["SweepEdge Adjacent"]
30["Plane<br>[1310, 1329, 0]"] 30["Plane<br>[1337, 1356, 0]"]
38["Sweep Extrusion<br>[1470, 1494, 0]"] 38["Sweep Extrusion<br>[1497, 1521, 0]"]
39[Wall] 39[Wall]
40["Cap Start"] 40["Cap Start"]
41["Cap End"] 41["Cap End"]
42["SweepEdge Opposite"] 42["SweepEdge Opposite"]
43["SweepEdge Adjacent"] 43["SweepEdge Adjacent"]
44["Plane<br>[1310, 1329, 0]"] 44["Plane<br>[1337, 1356, 0]"]
52["Sweep Extrusion<br>[1470, 1494, 0]"] 52["Sweep Extrusion<br>[1497, 1521, 0]"]
53[Wall] 53[Wall]
54["Cap Start"] 54["Cap Start"]
55["Cap End"] 55["Cap End"]
56["SweepEdge Opposite"] 56["SweepEdge Opposite"]
57["SweepEdge Adjacent"] 57["SweepEdge Adjacent"]
58["Plane<br>[1310, 1329, 0]"] 58["Plane<br>[1337, 1356, 0]"]
66["Sweep Extrusion<br>[1470, 1494, 0]"] 66["Sweep Extrusion<br>[1497, 1521, 0]"]
67[Wall] 67[Wall]
68["Cap Start"] 68["Cap Start"]
69["Cap End"] 69["Cap End"]
70["SweepEdge Opposite"] 70["SweepEdge Opposite"]
71["SweepEdge Adjacent"] 71["SweepEdge Adjacent"]
72["Plane<br>[1310, 1329, 0]"] 72["Plane<br>[1337, 1356, 0]"]
80["Sweep Extrusion<br>[1470, 1494, 0]"] 80["Sweep Extrusion<br>[1497, 1521, 0]"]
81[Wall] 81[Wall]
82["Cap Start"] 82["Cap Start"]
83["Cap End"] 83["Cap End"]
84["SweepEdge Opposite"] 84["SweepEdge Opposite"]
85["SweepEdge Adjacent"] 85["SweepEdge Adjacent"]
86["EdgeCut Fillet<br>[1064, 1270, 0]"] 86["EdgeCut Fillet<br>[1091, 1297, 0]"]
87["EdgeCut Fillet<br>[1064, 1270, 0]"] 87["EdgeCut Fillet<br>[1091, 1297, 0]"]
88["EdgeCut Fillet<br>[1064, 1270, 0]"] 88["EdgeCut Fillet<br>[1091, 1297, 0]"]
89["EdgeCut Fillet<br>[1064, 1270, 0]"] 89["EdgeCut Fillet<br>[1091, 1297, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4

File diff suppressed because it is too large Load Diff

View File

@ -22,10 +22,11 @@ miniHdmiWidth = 11.2
microUsbWidth = 7.4 microUsbWidth = 7.4
connectorPadding = 4 connectorPadding = 4
miniHdmiHole = startSketchAt([ miniHdmiHole = startSketchOn(XY)
|> startProfileAt([
0, 0,
border + miniHdmiDistance - (miniHdmiWidth / 2) border + miniHdmiDistance - (miniHdmiWidth / 2)
]) ], %)
|> line(endAbsolute = [ |> line(endAbsolute = [
0, 0,
border + miniHdmiDistance + miniHdmiWidth / 2 border + miniHdmiDistance + miniHdmiWidth / 2

View File

@ -1,8 +1,31 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed fillet-and-shell.kcl description: Operations executed fillet-and-shell.kcl
--- ---
[ [
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
387,
389,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
373,
390,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"data": { "data": {
@ -11,16 +34,16 @@ description: Operations executed fillet-and-shell.kcl
"value": "XY" "value": "XY"
}, },
"sourceRange": [ "sourceRange": [
791, 818,
795, 822,
0 0
] ]
} }
}, },
"name": "startSketchOn", "name": "startSketchOn",
"sourceRange": [ "sourceRange": [
777, 804,
796, 823,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -43,16 +66,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1047, 1074,
1057, 1084,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
1030, 1057,
1058, 1085,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -87,8 +110,8 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1088, 1115,
1089, 1116,
0 0
] ]
}, },
@ -115,16 +138,16 @@ description: Operations executed fillet-and-shell.kcl
] ]
}, },
"sourceRange": [ "sourceRange": [
1105, 1132,
1262, 1289,
0 0
] ]
} }
}, },
"name": "fillet", "name": "fillet",
"sourceRange": [ "sourceRange": [
1064, 1091,
1270, 1297,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -146,15 +169,15 @@ description: Operations executed fillet-and-shell.kcl
"type": "UserDefinedFunctionCall", "type": "UserDefinedFunctionCall",
"name": "m25Screw", "name": "m25Screw",
"functionSourceRange": [ "functionSourceRange": [
1283, 1310,
1511, 1538,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
1513, 1540,
1642, 1669,
0 0
] ]
}, },
@ -166,16 +189,16 @@ description: Operations executed fillet-and-shell.kcl
"value": "XY" "value": "XY"
}, },
"sourceRange": [ "sourceRange": [
1324, 1351,
1328, 1355,
0 0
] ]
} }
}, },
"name": "startSketchOn", "name": "startSketchOn",
"sourceRange": [ "sourceRange": [
1310, 1337,
1329, 1356,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -191,8 +214,8 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1420, 1447,
1458, 1485,
0 0
] ]
}, },
@ -204,16 +227,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1460, 1487,
1461, 1488,
0 0
] ]
} }
}, },
"name": "hole", "name": "hole",
"sourceRange": [ "sourceRange": [
1415, 1442,
1462, 1489,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -236,16 +259,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1487, 1514,
1493, 1520,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
1470, 1497,
1494, 1521,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -270,15 +293,15 @@ description: Operations executed fillet-and-shell.kcl
"type": "UserDefinedFunctionCall", "type": "UserDefinedFunctionCall",
"name": "m25Screw", "name": "m25Screw",
"functionSourceRange": [ "functionSourceRange": [
1283, 1310,
1511, 1538,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
1644, 1671,
1771, 1798,
0 0
] ]
}, },
@ -290,16 +313,16 @@ description: Operations executed fillet-and-shell.kcl
"value": "XY" "value": "XY"
}, },
"sourceRange": [ "sourceRange": [
1324, 1351,
1328, 1355,
0 0
] ]
} }
}, },
"name": "startSketchOn", "name": "startSketchOn",
"sourceRange": [ "sourceRange": [
1310, 1337,
1329, 1356,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -315,8 +338,8 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1420, 1447,
1458, 1485,
0 0
] ]
}, },
@ -328,16 +351,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1460, 1487,
1461, 1488,
0 0
] ]
} }
}, },
"name": "hole", "name": "hole",
"sourceRange": [ "sourceRange": [
1415, 1442,
1462, 1489,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -360,16 +383,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1487, 1514,
1493, 1520,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
1470, 1497,
1494, 1521,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -394,15 +417,15 @@ description: Operations executed fillet-and-shell.kcl
"type": "UserDefinedFunctionCall", "type": "UserDefinedFunctionCall",
"name": "m25Screw", "name": "m25Screw",
"functionSourceRange": [ "functionSourceRange": [
1283, 1310,
1511, 1538,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
1773, 1800,
1898, 1925,
0 0
] ]
}, },
@ -414,16 +437,16 @@ description: Operations executed fillet-and-shell.kcl
"value": "XY" "value": "XY"
}, },
"sourceRange": [ "sourceRange": [
1324, 1351,
1328, 1355,
0 0
] ]
} }
}, },
"name": "startSketchOn", "name": "startSketchOn",
"sourceRange": [ "sourceRange": [
1310, 1337,
1329, 1356,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -439,8 +462,8 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1420, 1447,
1458, 1485,
0 0
] ]
}, },
@ -452,16 +475,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1460, 1487,
1461, 1488,
0 0
] ]
} }
}, },
"name": "hole", "name": "hole",
"sourceRange": [ "sourceRange": [
1415, 1442,
1462, 1489,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -484,16 +507,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1487, 1514,
1493, 1520,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
1470, 1497,
1494, 1521,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -518,15 +541,15 @@ description: Operations executed fillet-and-shell.kcl
"type": "UserDefinedFunctionCall", "type": "UserDefinedFunctionCall",
"name": "m25Screw", "name": "m25Screw",
"functionSourceRange": [ "functionSourceRange": [
1283, 1310,
1511, 1538,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
1900, 1927,
2027, 2054,
0 0
] ]
}, },
@ -538,16 +561,16 @@ description: Operations executed fillet-and-shell.kcl
"value": "XY" "value": "XY"
}, },
"sourceRange": [ "sourceRange": [
1324, 1351,
1328, 1355,
0 0
] ]
} }
}, },
"name": "startSketchOn", "name": "startSketchOn",
"sourceRange": [ "sourceRange": [
1310, 1337,
1329, 1356,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -563,8 +586,8 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1420, 1447,
1458, 1485,
0 0
] ]
}, },
@ -576,16 +599,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1460, 1487,
1461, 1488,
0 0
] ]
} }
}, },
"name": "hole", "name": "hole",
"sourceRange": [ "sourceRange": [
1415, 1442,
1462, 1489,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -608,16 +631,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
1487, 1514,
1493, 1520,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
1470, 1497,
1494, 1521,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -651,8 +674,8 @@ description: Operations executed fillet-and-shell.kcl
] ]
}, },
"sourceRange": [ "sourceRange": [
2049, 2076,
2056, 2083,
0 0
] ]
}, },
@ -671,16 +694,16 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
2070, 2097,
2083, 2110,
0 0
] ]
} }
}, },
"name": "shell", "name": "shell",
"sourceRange": [ "sourceRange": [
2029, 2056,
2084, 2111,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -692,8 +715,8 @@ description: Operations executed fillet-and-shell.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
2035, 2062,
2039, 2066,
0 0
] ]
} }

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing fillet-and-shell.kcl description: Variables in memory after executing fillet-and-shell.kcl
--- ---
{ {
@ -36,13 +36,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
833, 860,
881, 908,
0 0
], ],
"tag": { "tag": {
"end": 880, "end": 907,
"start": 874, "start": 901,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge1" "value": "edge1"
}, },
@ -52,13 +52,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
887, 914,
944, 971,
0 0
], ],
"tag": { "tag": {
"end": 943, "end": 970,
"start": 937, "start": 964,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge2" "value": "edge2"
}, },
@ -68,13 +68,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
950, 977,
999, 1026,
0 0
], ],
"tag": { "tag": {
"end": 998, "end": 1025,
"start": 992, "start": 1019,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge3" "value": "edge3"
}, },
@ -84,13 +84,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1005, 1032,
1024, 1051,
0 0
], ],
"tag": { "tag": {
"end": 1023, "end": 1050,
"start": 1017, "start": 1044,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge4" "value": "edge4"
}, },
@ -105,8 +105,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
833, 860,
881, 908,
0 0
] ]
}, },
@ -115,8 +115,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
0.0 0.0
], ],
"tag": { "tag": {
"end": 880, "end": 907,
"start": 874, "start": 901,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge1" "value": "edge1"
}, },
@ -133,8 +133,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
887, 914,
944, 971,
0 0
] ]
}, },
@ -143,8 +143,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
0.0 0.0
], ],
"tag": { "tag": {
"end": 943, "end": 970,
"start": 937, "start": 964,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge2" "value": "edge2"
}, },
@ -161,8 +161,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
950, 977,
999, 1026,
0 0
] ]
}, },
@ -171,8 +171,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
73.0 73.0
], ],
"tag": { "tag": {
"end": 998, "end": 1025,
"start": 992, "start": 1019,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge3" "value": "edge3"
}, },
@ -189,8 +189,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1005, 1032,
1024, 1051,
0 0
] ]
}, },
@ -199,8 +199,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
73.0 73.0
], ],
"tag": { "tag": {
"end": 1023, "end": 1050,
"start": 1017, "start": 1044,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge4" "value": "edge4"
}, },
@ -260,8 +260,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
802, 829,
827, 854,
0 0
] ]
} }
@ -278,8 +278,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
833, 860,
881, 908,
0 0
] ]
}, },
@ -288,8 +288,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
0.0 0.0
], ],
"tag": { "tag": {
"end": 880, "end": 907,
"start": 874, "start": 901,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge1" "value": "edge1"
}, },
@ -306,13 +306,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
833, 860,
881, 908,
0 0
], ],
"tag": { "tag": {
"end": 880, "end": 907,
"start": 874, "start": 901,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge1" "value": "edge1"
}, },
@ -322,8 +322,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
874, 901,
880, 907,
0 0
] ]
} }
@ -340,8 +340,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
887, 914,
944, 971,
0 0
] ]
}, },
@ -350,8 +350,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
0.0 0.0
], ],
"tag": { "tag": {
"end": 943, "end": 970,
"start": 937, "start": 964,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge2" "value": "edge2"
}, },
@ -368,13 +368,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
887, 914,
944, 971,
0 0
], ],
"tag": { "tag": {
"end": 943, "end": 970,
"start": 937, "start": 964,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge2" "value": "edge2"
}, },
@ -384,8 +384,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
937, 964,
943, 970,
0 0
] ]
} }
@ -402,8 +402,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
950, 977,
999, 1026,
0 0
] ]
}, },
@ -412,8 +412,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
73.0 73.0
], ],
"tag": { "tag": {
"end": 998, "end": 1025,
"start": 992, "start": 1019,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge3" "value": "edge3"
}, },
@ -430,13 +430,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
950, 977,
999, 1026,
0 0
], ],
"tag": { "tag": {
"end": 998, "end": 1025,
"start": 992, "start": 1019,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge3" "value": "edge3"
}, },
@ -446,8 +446,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
992, 1019,
998, 1025,
0 0
] ]
} }
@ -464,8 +464,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1005, 1032,
1024, 1051,
0 0
] ]
}, },
@ -474,8 +474,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
73.0 73.0
], ],
"tag": { "tag": {
"end": 1023, "end": 1050,
"start": 1017, "start": 1044,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge4" "value": "edge4"
}, },
@ -492,13 +492,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1005, 1032,
1024, 1051,
0 0
], ],
"tag": { "tag": {
"end": 1023, "end": 1050,
"start": 1017, "start": 1044,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge4" "value": "edge4"
}, },
@ -508,8 +508,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
1017, 1044,
1023, 1050,
0 0
] ]
} }
@ -524,8 +524,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
802, 829,
827, 854,
0 0
] ]
} }
@ -570,8 +570,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
802, 829,
827, 854,
0 0
] ]
} }
@ -716,8 +716,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
833, 860,
881, 908,
0 0
] ]
}, },
@ -726,8 +726,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
0.0 0.0
], ],
"tag": { "tag": {
"end": 880, "end": 907,
"start": 874, "start": 901,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge1" "value": "edge1"
}, },
@ -744,13 +744,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
833, 860,
881, 908,
0 0
], ],
"tag": { "tag": {
"end": 880, "end": 907,
"start": 874, "start": 901,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge1" "value": "edge1"
}, },
@ -760,8 +760,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
874, 901,
880, 907,
0 0
] ]
} }
@ -779,8 +779,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
887, 914,
944, 971,
0 0
] ]
}, },
@ -789,8 +789,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
0.0 0.0
], ],
"tag": { "tag": {
"end": 943, "end": 970,
"start": 937, "start": 964,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge2" "value": "edge2"
}, },
@ -807,13 +807,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
887, 914,
944, 971,
0 0
], ],
"tag": { "tag": {
"end": 943, "end": 970,
"start": 937, "start": 964,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge2" "value": "edge2"
}, },
@ -823,8 +823,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
937, 964,
943, 970,
0 0
] ]
} }
@ -842,8 +842,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
950, 977,
999, 1026,
0 0
] ]
}, },
@ -852,8 +852,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
73.0 73.0
], ],
"tag": { "tag": {
"end": 998, "end": 1025,
"start": 992, "start": 1019,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge3" "value": "edge3"
}, },
@ -870,13 +870,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
950, 977,
999, 1026,
0 0
], ],
"tag": { "tag": {
"end": 998, "end": 1025,
"start": 992, "start": 1019,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge3" "value": "edge3"
}, },
@ -886,8 +886,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
992, 1019,
998, 1025,
0 0
] ]
} }
@ -905,8 +905,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1005, 1032,
1024, 1051,
0 0
] ]
}, },
@ -915,8 +915,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
73.0 73.0
], ],
"tag": { "tag": {
"end": 1023, "end": 1050,
"start": 1017, "start": 1044,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge4" "value": "edge4"
}, },
@ -933,13 +933,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1005, 1032,
1024, 1051,
0 0
], ],
"tag": { "tag": {
"end": 1023, "end": 1050,
"start": 1017, "start": 1044,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "edge4" "value": "edge4"
}, },
@ -949,8 +949,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
1017, 1044,
1023, 1050,
0 0
] ]
} }
@ -984,8 +984,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
1283, 1310,
1511, 1538,
0 0
] ]
} }
@ -1089,8 +1089,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
467, 494,
558, 585,
0 0
] ]
}, },
@ -1112,8 +1112,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
564, 591,
655, 682,
0 0
] ]
}, },
@ -1135,8 +1135,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
661, 688,
754, 781,
0 0
] ]
}, },
@ -1158,8 +1158,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
760, 787,
768, 795,
0 0
] ]
}, },
@ -1224,8 +1224,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
373, 396,
461, 488,
0 0
] ]
} }
@ -1238,8 +1238,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
373, 396,
461, 488,
0 0
] ]
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart i_shape.kcl description: Artifact graph flowchart i_shape.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,50 +1,50 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[399, 432, 0]"] 2["Path<br>[422, 459, 0]"]
3["Segment<br>[438, 478, 0]"] 3["Segment<br>[465, 505, 0]"]
4["Segment<br>[484, 542, 0]"] 4["Segment<br>[511, 569, 0]"]
5["Segment<br>[548, 578, 0]"] 5["Segment<br>[575, 605, 0]"]
6["Segment<br>[584, 643, 0]"] 6["Segment<br>[611, 670, 0]"]
7["Segment<br>[649, 708, 0]"] 7["Segment<br>[676, 735, 0]"]
8["Segment<br>[714, 773, 0]"] 8["Segment<br>[741, 800, 0]"]
9["Segment<br>[779, 831, 0]"] 9["Segment<br>[806, 858, 0]"]
10["Segment<br>[837, 895, 0]"] 10["Segment<br>[864, 922, 0]"]
11["Segment<br>[901, 937, 0]"] 11["Segment<br>[928, 964, 0]"]
12["Segment<br>[943, 1001, 0]"] 12["Segment<br>[970, 1028, 0]"]
13["Segment<br>[1007, 1037, 0]"] 13["Segment<br>[1034, 1064, 0]"]
14["Segment<br>[1043, 1102, 0]"] 14["Segment<br>[1070, 1129, 0]"]
15["Segment<br>[1108, 1171, 0]"] 15["Segment<br>[1135, 1198, 0]"]
16["Segment<br>[1177, 1237, 0]"] 16["Segment<br>[1204, 1264, 0]"]
17["Segment<br>[1243, 1276, 0]"] 17["Segment<br>[1270, 1303, 0]"]
18["Segment<br>[1282, 1341, 0]"] 18["Segment<br>[1309, 1368, 0]"]
19["Segment<br>[1347, 1383, 0]"] 19["Segment<br>[1374, 1410, 0]"]
20["Segment<br>[1389, 1448, 0]"] 20["Segment<br>[1416, 1475, 0]"]
21["Segment<br>[1454, 1509, 0]"] 21["Segment<br>[1481, 1536, 0]"]
22["Segment<br>[1515, 1575, 0]"] 22["Segment<br>[1542, 1602, 0]"]
23["Segment<br>[1581, 1705, 0]"] 23["Segment<br>[1608, 1732, 0]"]
24["Segment<br>[1711, 1771, 0]"] 24["Segment<br>[1738, 1798, 0]"]
25["Segment<br>[1777, 1810, 0]"] 25["Segment<br>[1804, 1837, 0]"]
26["Segment<br>[1816, 1875, 0]"] 26["Segment<br>[1843, 1902, 0]"]
27["Segment<br>[1881, 1889, 0]"] 27["Segment<br>[1908, 1916, 0]"]
28[Solid2d] 28[Solid2d]
end end
subgraph path30 [Path] subgraph path30 [Path]
30["Path<br>[1899, 1920, 0]"] 30["Path<br>[1949, 1974, 0]"]
31["Segment<br>[1926, 1939, 0]"] 31["Segment<br>[1980, 1993, 0]"]
32["Segment<br>[1945, 2003, 0]"] 32["Segment<br>[1999, 2057, 0]"]
33["Segment<br>[2009, 2045, 0]"] 33["Segment<br>[2063, 2099, 0]"]
34["Segment<br>[2051, 2110, 0]"] 34["Segment<br>[2105, 2164, 0]"]
35["Segment<br>[2116, 2130, 0]"] 35["Segment<br>[2170, 2184, 0]"]
36["Segment<br>[2136, 2196, 0]"] 36["Segment<br>[2190, 2250, 0]"]
37["Segment<br>[2202, 2241, 0]"] 37["Segment<br>[2256, 2295, 0]"]
38["Segment<br>[2247, 2306, 0]"] 38["Segment<br>[2301, 2360, 0]"]
39["Segment<br>[2312, 2320, 0]"] 39["Segment<br>[2366, 2374, 0]"]
40[Solid2d] 40[Solid2d]
end end
1["Plane<br>[399, 432, 0]"] 1["Plane<br>[399, 416, 0]"]
29["Plane<br>[1899, 1920, 0]"] 29["Plane<br>[1926, 1943, 0]"]
41["Sweep Extrusion<br>[2366, 2387, 0]"] 41["Sweep Extrusion<br>[2420, 2441, 0]"]
42[Wall] 42[Wall]
43[Wall] 43[Wall]
44[Wall] 44[Wall]

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,8 @@ corner_radius = 5.0
// At first I thought this was going to be symmetric, // At first I thought this was going to be symmetric,
// but I measured intentionally to not be symmetric, // but I measured intentionally to not be symmetric,
// because your wrist isn't a perfect cylindrical surface // because your wrist isn't a perfect cylindrical surface
brace_base = startSketchAt([corner_radius, 0]) brace_base = startSketchOn(XY)
|> startProfileAt([corner_radius, 0], %)
|> line(end = [width - corner_radius, 0.0]) |> line(end = [width - corner_radius, 0.0])
|> tangentialArcToRelative([corner_radius, corner_radius], %) |> tangentialArcToRelative([corner_radius, corner_radius], %)
|> yLine(25.0 - corner_radius, %) |> yLine(25.0 - corner_radius, %)
@ -34,7 +35,8 @@ brace_base = startSketchAt([corner_radius, 0])
|> tangentialArcToRelative([corner_radius, -corner_radius], %) |> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> close(%) |> close(%)
inner = startSketchAt([0, 0]) inner = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> xLine(1.0, %) |> xLine(1.0, %)
|> tangentialArcToRelative([corner_radius, corner_radius], %) |> tangentialArcToRelative([corner_radius, corner_radius], %)
|> yLine(25.0 - (corner_radius * 2), %) |> yLine(25.0 - (corner_radius * 2), %)

View File

@ -1,8 +1,54 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed i_shape.kcl description: Operations executed i_shape.kcl
--- ---
[ [
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
413,
415,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
399,
416,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
1940,
1942,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
1926,
1943,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"holeSketch": { "holeSketch": {
@ -13,8 +59,8 @@ description: Operations executed i_shape.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
2351, 2405,
2356, 2410,
0 0
] ]
}, },
@ -26,16 +72,16 @@ description: Operations executed i_shape.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
2358, 2412,
2359, 2413,
0 0
] ]
} }
}, },
"name": "hole", "name": "hole",
"sourceRange": [ "sourceRange": [
2346, 2400,
2360, 2414,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",
@ -58,16 +104,16 @@ description: Operations executed i_shape.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
2383, 2437,
2386, 2440,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
2366, 2420,
2387, 2441,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing i_shape.kcl description: Variables in memory after executing i_shape.kcl
--- ---
{ {
@ -13,8 +13,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
438, 465,
478, 505,
0 0
] ]
}, },
@ -36,8 +36,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
484, 511,
542, 569,
0 0
] ]
}, },
@ -64,8 +64,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
548, 575,
578, 605,
0 0
] ]
}, },
@ -87,8 +87,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
584, 611,
643, 670,
0 0
] ]
}, },
@ -115,8 +115,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
649, 676,
708, 735,
0 0
] ]
}, },
@ -138,8 +138,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
714, 741,
773, 800,
0 0
] ]
}, },
@ -166,8 +166,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
779, 806,
831, 858,
0 0
] ]
}, },
@ -189,8 +189,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
837, 864,
895, 922,
0 0
] ]
}, },
@ -217,8 +217,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
901, 928,
937, 964,
0 0
] ]
}, },
@ -240,8 +240,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
943, 970,
1001, 1028,
0 0
] ]
}, },
@ -268,8 +268,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1007, 1034,
1037, 1064,
0 0
] ]
}, },
@ -291,8 +291,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1043, 1070,
1102, 1129,
0 0
] ]
}, },
@ -319,8 +319,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1108, 1135,
1171, 1198,
0 0
] ]
}, },
@ -342,8 +342,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1177, 1204,
1237, 1264,
0 0
] ]
}, },
@ -370,8 +370,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1243, 1270,
1276, 1303,
0 0
] ]
}, },
@ -393,8 +393,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1282, 1309,
1341, 1368,
0 0
] ]
}, },
@ -421,8 +421,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1347, 1374,
1383, 1410,
0 0
] ]
}, },
@ -444,8 +444,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1389, 1416,
1448, 1475,
0 0
] ]
}, },
@ -472,8 +472,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1454, 1481,
1509, 1536,
0 0
] ]
}, },
@ -495,8 +495,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1515, 1542,
1575, 1602,
0 0
] ]
}, },
@ -523,8 +523,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1581, 1608,
1705, 1732,
0 0
] ]
}, },
@ -546,8 +546,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1711, 1738,
1771, 1798,
0 0
] ]
}, },
@ -574,8 +574,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1777, 1804,
1810, 1837,
0 0
] ]
}, },
@ -597,8 +597,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1816, 1843,
1875, 1902,
0 0
] ]
}, },
@ -625,8 +625,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1881, 1908,
1889, 1916,
0 0
] ]
}, },
@ -691,8 +691,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
399, 422,
432, 459,
0 0
] ]
} }
@ -705,8 +705,8 @@ description: Variables in memory after executing i_shape.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
399, 422,
432, 459,
0 0
] ]
} }
@ -848,8 +848,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
438, 465,
478, 505,
0 0
], ],
"tag": null, "tag": null,
@ -859,8 +859,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
484, 511,
542, 569,
0 0
], ],
"tag": null, "tag": null,
@ -870,8 +870,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
548, 575,
578, 605,
0 0
], ],
"tag": null, "tag": null,
@ -881,8 +881,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
584, 611,
643, 670,
0 0
], ],
"tag": null, "tag": null,
@ -892,8 +892,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
649, 676,
708, 735,
0 0
], ],
"tag": null, "tag": null,
@ -903,8 +903,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
714, 741,
773, 800,
0 0
], ],
"tag": null, "tag": null,
@ -914,8 +914,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
779, 806,
831, 858,
0 0
], ],
"tag": null, "tag": null,
@ -925,8 +925,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
837, 864,
895, 922,
0 0
], ],
"tag": null, "tag": null,
@ -936,8 +936,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
901, 928,
937, 964,
0 0
], ],
"tag": null, "tag": null,
@ -947,8 +947,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
943, 970,
1001, 1028,
0 0
], ],
"tag": null, "tag": null,
@ -958,8 +958,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1007, 1034,
1037, 1064,
0 0
], ],
"tag": null, "tag": null,
@ -969,8 +969,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1043, 1070,
1102, 1129,
0 0
], ],
"tag": null, "tag": null,
@ -980,8 +980,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1108, 1135,
1171, 1198,
0 0
], ],
"tag": null, "tag": null,
@ -991,8 +991,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1177, 1204,
1237, 1264,
0 0
], ],
"tag": null, "tag": null,
@ -1002,8 +1002,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1243, 1270,
1276, 1303,
0 0
], ],
"tag": null, "tag": null,
@ -1013,8 +1013,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1282, 1309,
1341, 1368,
0 0
], ],
"tag": null, "tag": null,
@ -1024,8 +1024,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1347, 1374,
1383, 1410,
0 0
], ],
"tag": null, "tag": null,
@ -1035,8 +1035,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1389, 1416,
1448, 1475,
0 0
], ],
"tag": null, "tag": null,
@ -1046,8 +1046,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1454, 1481,
1509, 1536,
0 0
], ],
"tag": null, "tag": null,
@ -1057,8 +1057,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1515, 1542,
1575, 1602,
0 0
], ],
"tag": null, "tag": null,
@ -1068,8 +1068,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1581, 1608,
1705, 1732,
0 0
], ],
"tag": null, "tag": null,
@ -1079,8 +1079,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1711, 1738,
1771, 1798,
0 0
], ],
"tag": null, "tag": null,
@ -1090,8 +1090,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1777, 1804,
1810, 1837,
0 0
], ],
"tag": null, "tag": null,
@ -1101,8 +1101,8 @@ description: Variables in memory after executing i_shape.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1816, 1843,
1875, 1902,
0 0
], ],
"tag": null, "tag": null,
@ -1117,8 +1117,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
438, 465,
478, 505,
0 0
] ]
}, },
@ -1140,8 +1140,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
484, 511,
542, 569,
0 0
] ]
}, },
@ -1168,8 +1168,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
548, 575,
578, 605,
0 0
] ]
}, },
@ -1191,8 +1191,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
584, 611,
643, 670,
0 0
] ]
}, },
@ -1219,8 +1219,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
649, 676,
708, 735,
0 0
] ]
}, },
@ -1242,8 +1242,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
714, 741,
773, 800,
0 0
] ]
}, },
@ -1270,8 +1270,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
779, 806,
831, 858,
0 0
] ]
}, },
@ -1293,8 +1293,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
837, 864,
895, 922,
0 0
] ]
}, },
@ -1321,8 +1321,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
901, 928,
937, 964,
0 0
] ]
}, },
@ -1344,8 +1344,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
943, 970,
1001, 1028,
0 0
] ]
}, },
@ -1372,8 +1372,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1007, 1034,
1037, 1064,
0 0
] ]
}, },
@ -1395,8 +1395,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1043, 1070,
1102, 1129,
0 0
] ]
}, },
@ -1423,8 +1423,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1108, 1135,
1171, 1198,
0 0
] ]
}, },
@ -1446,8 +1446,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1177, 1204,
1237, 1264,
0 0
] ]
}, },
@ -1474,8 +1474,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1243, 1270,
1276, 1303,
0 0
] ]
}, },
@ -1497,8 +1497,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1282, 1309,
1341, 1368,
0 0
] ]
}, },
@ -1525,8 +1525,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1347, 1374,
1383, 1410,
0 0
] ]
}, },
@ -1548,8 +1548,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1389, 1416,
1448, 1475,
0 0
] ]
}, },
@ -1576,8 +1576,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1454, 1481,
1509, 1536,
0 0
] ]
}, },
@ -1599,8 +1599,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1515, 1542,
1575, 1602,
0 0
] ]
}, },
@ -1627,8 +1627,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1581, 1608,
1705, 1732,
0 0
] ]
}, },
@ -1650,8 +1650,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1711, 1738,
1771, 1798,
0 0
] ]
}, },
@ -1678,8 +1678,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1777, 1804,
1810, 1837,
0 0
] ]
}, },
@ -1701,8 +1701,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1816, 1843,
1875, 1902,
0 0
] ]
}, },
@ -1729,8 +1729,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1881, 1908,
1889, 1916,
0 0
] ]
}, },
@ -1795,8 +1795,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
399, 422,
432, 459,
0 0
] ]
} }
@ -1809,8 +1809,8 @@ description: Variables in memory after executing i_shape.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
399, 422,
432, 459,
0 0
] ]
} }
@ -1825,8 +1825,8 @@ description: Variables in memory after executing i_shape.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
399, 422,
432, 459,
0 0
] ]
} }
@ -1865,8 +1865,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1926, 1980,
1939, 1993,
0 0
] ]
}, },
@ -1888,8 +1888,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1945, 1999,
2003, 2057,
0 0
] ]
}, },
@ -1916,8 +1916,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2009, 2063,
2045, 2099,
0 0
] ]
}, },
@ -1939,8 +1939,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2051, 2105,
2110, 2164,
0 0
] ]
}, },
@ -1967,8 +1967,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2116, 2170,
2130, 2184,
0 0
] ]
}, },
@ -1990,8 +1990,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2136, 2190,
2196, 2250,
0 0
] ]
}, },
@ -2018,8 +2018,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2202, 2256,
2241, 2295,
0 0
] ]
}, },
@ -2041,8 +2041,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2247, 2301,
2306, 2360,
0 0
] ]
}, },
@ -2069,8 +2069,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
2312, 2366,
2320, 2374,
0 0
] ]
}, },
@ -2135,8 +2135,8 @@ description: Variables in memory after executing i_shape.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
1899, 1949,
1920, 1974,
0 0
] ]
} }
@ -2149,8 +2149,8 @@ description: Variables in memory after executing i_shape.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
1899, 1949,
1920, 1974,
0 0
] ]
} }

View File

@ -1,450 +0,0 @@
---
source: kcl/src/simulation_tests.rs
description: Result of parsing multi_transform.kcl
snapshot_kind: text
---
{
"Ok": {
"body": [
{
"declarations": [
{
"end": 111,
"id": {
"end": 12,
"name": "transform",
"start": 3,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"argument": {
"elements": [
{
"end": 68,
"properties": [
{
"end": 66,
"key": {
"end": 50,
"name": "translate",
"start": 41,
"type": "Identifier"
},
"start": 41,
"type": "ObjectProperty",
"value": {
"elements": [
{
"end": 59,
"left": {
"end": 55,
"raw": "30",
"start": 53,
"type": "Literal",
"type": "Literal",
"value": 30
},
"operator": "*",
"right": {
"end": 59,
"name": "i",
"start": 58,
"type": "Identifier",
"type": "Identifier"
},
"start": 53,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 62,
"raw": "0",
"start": 61,
"type": "Literal",
"type": "Literal",
"value": 0
},
{
"end": 65,
"raw": "0",
"start": 64,
"type": "Literal",
"type": "Literal",
"value": 0
}
],
"end": 66,
"start": 52,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"start": 39,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 105,
"properties": [
{
"end": 103,
"key": {
"end": 84,
"name": "rotation",
"start": 76,
"type": "Identifier"
},
"start": 76,
"type": "ObjectProperty",
"value": {
"end": 103,
"properties": [
{
"end": 101,
"key": {
"end": 93,
"name": "angle",
"start": 88,
"type": "Identifier"
},
"start": 88,
"type": "ObjectProperty",
"value": {
"end": 101,
"left": {
"end": 97,
"raw": "45",
"start": 95,
"type": "Literal",
"type": "Literal",
"value": 45
},
"operator": "*",
"right": {
"end": 101,
"name": "i",
"start": 100,
"type": "Identifier",
"type": "Identifier"
},
"start": 95,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 86,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
}
],
"start": 74,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
],
"end": 109,
"start": 33,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
"end": 109,
"start": 26,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"end": 111,
"start": 22
},
"end": 111,
"params": [
{
"type": "Parameter",
"identifier": {
"end": 17,
"name": "i",
"start": 16,
"type": "Identifier"
},
"optional": false
}
],
"start": 15,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 3,
"type": "VariableDeclarator"
}
],
"end": 111,
"kind": "fn",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"end": 303,
"expression": {
"body": [
{
"arguments": [
{
"elements": [
{
"end": 128,
"raw": "0",
"start": 127,
"type": "Literal",
"type": "Literal",
"value": 0
},
{
"end": 131,
"raw": "0",
"start": 130,
"type": "Literal",
"type": "Literal",
"value": 0
}
],
"end": 132,
"start": 126,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
],
"callee": {
"end": 125,
"name": "startSketchAt",
"start": 112,
"type": "Identifier"
},
"end": 133,
"optional": false,
"start": 112,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 241,
"properties": [
{
"end": 166,
"key": {
"end": 162,
"name": "radius",
"start": 156,
"type": "Identifier"
},
"start": 156,
"type": "ObjectProperty",
"value": {
"end": 166,
"raw": "10",
"start": 164,
"type": "Literal",
"type": "Literal",
"value": 10
}
},
{
"end": 186,
"key": {
"end": 183,
"name": "numSides",
"start": 175,
"type": "Identifier"
},
"start": 175,
"type": "ObjectProperty",
"value": {
"end": 186,
"raw": "4",
"start": 185,
"type": "Literal",
"type": "Literal",
"value": 4
}
},
{
"end": 209,
"key": {
"end": 201,
"name": "center",
"start": 195,
"type": "Identifier"
},
"start": 195,
"type": "ObjectProperty",
"value": {
"elements": [
{
"end": 205,
"raw": "0",
"start": 204,
"type": "Literal",
"type": "Literal",
"value": 0
},
{
"end": 208,
"raw": "0",
"start": 207,
"type": "Literal",
"type": "Literal",
"value": 0
}
],
"end": 209,
"start": 203,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"end": 234,
"key": {
"end": 227,
"name": "inscribed",
"start": 218,
"type": "Identifier"
},
"start": 218,
"type": "ObjectProperty",
"value": {
"end": 234,
"raw": "false",
"start": 229,
"type": "Literal",
"type": "Literal",
"value": false
}
}
],
"start": 147,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 244,
"start": 243,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 146,
"name": "polygon",
"start": 139,
"type": "Identifier"
},
"end": 245,
"optional": false,
"start": 139,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 260,
"raw": "4",
"start": 259,
"type": "Literal",
"type": "Literal",
"value": 4
},
{
"end": 263,
"start": 262,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 258,
"name": "extrude",
"start": 251,
"type": "Identifier"
},
"end": 264,
"optional": false,
"start": 251,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 288,
"raw": "3",
"start": 287,
"type": "Literal",
"type": "Literal",
"value": 3
},
{
"end": 299,
"name": "transform",
"start": 290,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 302,
"start": 301,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 286,
"name": "patternTransform",
"start": 270,
"type": "Identifier"
},
"end": 303,
"optional": false,
"start": 270,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 303,
"start": 112,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 112,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"end": 305,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 305,
"start": 303,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": []
},
"start": 0
}
}

View File

@ -4,7 +4,8 @@ fn transform = (i) => {
{ rotation: { angle: 45 * i } } { rotation: { angle: 45 * i } }
] ]
} }
startSketchAt([0, 0]) startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> polygon({ |> polygon({
radius: 10, radius: 10,
numSides: 4, numSides: 4,

View File

@ -1,7 +1,6 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact commands parametric_with_tan_arc.kcl description: Artifact commands parametric_with_tan_arc.kcl
snapshot_kind: text
--- ---
[ [
{ {
@ -286,7 +285,7 @@ snapshot_kind: text
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
239, 239,
260, 256,
0 0
], ],
"command": { "command": {
@ -314,8 +313,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
239, 262,
260, 287,
0 0
], ],
"command": { "command": {
@ -334,8 +333,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
239, 262,
260, 287,
0 0
], ],
"command": { "command": {
@ -345,8 +344,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
239, 262,
260, 287,
0 0
], ],
"command": { "command": {
@ -362,8 +361,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
266,
293, 293,
320,
0 0
], ],
"command": { "command": {
@ -383,8 +382,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
299, 326,
350, 377,
0 0
], ],
"command": { "command": {
@ -403,8 +402,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
356, 383,
385, 412,
0 0
], ],
"command": { "command": {
@ -424,8 +423,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
391,
418, 418,
445,
0 0
], ],
"command": { "command": {
@ -445,8 +444,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
424, 451,
452, 479,
0 0
], ],
"command": { "command": {
@ -466,8 +465,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
458, 485,
541, 568,
0 0
], ],
"command": { "command": {
@ -486,8 +485,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
547, 574,
575, 602,
0 0
], ],
"command": { "command": {
@ -507,8 +506,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
581, 608,
589, 616,
0 0
], ],
"command": { "command": {
@ -519,8 +518,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
581, 608,
589, 616,
0 0
], ],
"command": { "command": {
@ -530,8 +529,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -550,8 +549,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -564,8 +563,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -575,8 +574,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -587,8 +586,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -600,8 +599,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -614,8 +613,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -628,8 +627,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -642,8 +641,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -656,8 +655,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -670,8 +669,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -684,8 +683,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -698,8 +697,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -712,8 +711,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -726,8 +725,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -740,8 +739,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -754,8 +753,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -768,8 +767,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -782,8 +781,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -796,8 +795,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {
@ -810,8 +809,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
595, 622,
618, 645,
0 0
], ],
"command": { "command": {

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart parametric_with_tan_arc.kcl description: Artifact graph flowchart parametric_with_tan_arc.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,19 +1,19 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[239, 260, 0]"] 2["Path<br>[262, 287, 0]"]
3["Segment<br>[266, 293, 0]"] 3["Segment<br>[293, 320, 0]"]
4["Segment<br>[299, 350, 0]"] 4["Segment<br>[326, 377, 0]"]
5["Segment<br>[356, 385, 0]"] 5["Segment<br>[383, 412, 0]"]
6["Segment<br>[391, 418, 0]"] 6["Segment<br>[418, 445, 0]"]
7["Segment<br>[424, 452, 0]"] 7["Segment<br>[451, 479, 0]"]
8["Segment<br>[458, 541, 0]"] 8["Segment<br>[485, 568, 0]"]
9["Segment<br>[547, 575, 0]"] 9["Segment<br>[574, 602, 0]"]
10["Segment<br>[581, 589, 0]"] 10["Segment<br>[608, 616, 0]"]
11[Solid2d] 11[Solid2d]
end end
1["Plane<br>[239, 260, 0]"] 1["Plane<br>[239, 256, 0]"]
12["Sweep Extrusion<br>[595, 618, 0]"] 12["Sweep Extrusion<br>[622, 645, 0]"]
13[Wall] 13[Wall]
14[Wall] 14[Wall]
15[Wall] 15[Wall]

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Result of parsing parametric_with_tan_arc.kcl description: Result of parsing parametric_with_tan_arc.kcl
--- ---
{ {
@ -366,7 +366,7 @@ description: Result of parsing parametric_with_tan_arc.kcl
}, },
{ {
"declaration": { "declaration": {
"end": 618, "end": 645,
"id": { "id": {
"end": 236, "end": 236,
"name": "bracket", "name": "bracket",
@ -377,44 +377,21 @@ description: Result of parsing parametric_with_tan_arc.kcl
"body": [ "body": [
{ {
"arguments": [ "arguments": [
{
"elements": [
{ {
"end": 255, "end": 255,
"raw": "0", "name": "XY",
"start": 254,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 258,
"raw": "0",
"start": 257,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 259,
"start": 253, "start": 253,
"type": "ArrayExpression", "type": "Identifier",
"type": "ArrayExpression" "type": "Identifier"
} }
], ],
"callee": { "callee": {
"end": 252, "end": 252,
"name": "startSketchAt", "name": "startSketchOn",
"start": 239, "start": 239,
"type": "Identifier" "type": "Identifier"
}, },
"end": 260, "end": 256,
"start": 239, "start": 239,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
@ -422,12 +399,6 @@ description: Result of parsing parametric_with_tan_arc.kcl
{ {
"arguments": [ "arguments": [
{ {
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "end"
},
"arg": {
"elements": [ "elements": [
{ {
"end": 279, "end": 279,
@ -441,28 +412,84 @@ description: Result of parsing parametric_with_tan_arc.kcl
} }
}, },
{ {
"end": 291, "end": 282,
"name": "wallMountL", "raw": "0",
"start": 281, "start": 281,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 283,
"start": 277,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 286,
"start": 285,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 276,
"name": "startProfileAt",
"start": 262,
"type": "Identifier"
},
"end": 287,
"start": 262,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "end"
},
"arg": {
"elements": [
{
"end": 306,
"raw": "0",
"start": 305,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 318,
"name": "wallMountL",
"start": 308,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
], ],
"end": 292, "end": 319,
"start": 277, "start": 304,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 270, "end": 297,
"name": "line", "name": "line",
"start": 266, "start": 293,
"type": "Identifier" "type": "Identifier"
}, },
"end": 293, "end": 320,
"start": 266, "start": 293,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -470,40 +497,40 @@ description: Result of parsing parametric_with_tan_arc.kcl
{ {
"arguments": [ "arguments": [
{ {
"end": 346, "end": 373,
"properties": [ "properties": [
{ {
"end": 331, "end": 358,
"key": { "key": {
"end": 321, "end": 348,
"name": "radius", "name": "radius",
"start": 315, "start": 342,
"type": "Identifier" "type": "Identifier"
}, },
"start": 315, "start": 342,
"type": "ObjectProperty", "type": "ObjectProperty",
"value": { "value": {
"end": 331, "end": 358,
"name": "filletR", "name": "filletR",
"start": 324, "start": 351,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
}, },
{ {
"end": 344, "end": 371,
"key": { "key": {
"end": 339, "end": 366,
"name": "offset", "name": "offset",
"start": 333, "start": 360,
"type": "Identifier" "type": "Identifier"
}, },
"start": 333, "start": 360,
"type": "ObjectProperty", "type": "ObjectProperty",
"value": { "value": {
"end": 344, "end": 371,
"raw": "90", "raw": "90",
"start": 342, "start": 369,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -513,25 +540,25 @@ description: Result of parsing parametric_with_tan_arc.kcl
} }
} }
], ],
"start": 313, "start": 340,
"type": "ObjectExpression", "type": "ObjectExpression",
"type": "ObjectExpression" "type": "ObjectExpression"
}, },
{ {
"end": 349, "end": 376,
"start": 348, "start": 375,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 312, "end": 339,
"name": "tangentialArc", "name": "tangentialArc",
"start": 299, "start": 326,
"type": "Identifier" "type": "Identifier"
}, },
"end": 350, "end": 377,
"start": 299, "start": 326,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -547,22 +574,22 @@ description: Result of parsing parametric_with_tan_arc.kcl
"elements": [ "elements": [
{ {
"argument": { "argument": {
"end": 380, "end": 407,
"name": "shelfMountL", "name": "shelfMountL",
"start": 369, "start": 396,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"end": 380, "end": 407,
"operator": "-", "operator": "-",
"start": 368, "start": 395,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
}, },
{ {
"end": 383, "end": 410,
"raw": "0", "raw": "0",
"start": 382, "start": 409,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -571,21 +598,21 @@ description: Result of parsing parametric_with_tan_arc.kcl
} }
} }
], ],
"end": 384, "end": 411,
"start": 367, "start": 394,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 360, "end": 387,
"name": "line", "name": "line",
"start": 356, "start": 383,
"type": "Identifier" "type": "Identifier"
}, },
"end": 385, "end": 412,
"start": 356, "start": 383,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -601,9 +628,9 @@ description: Result of parsing parametric_with_tan_arc.kcl
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 404, "end": 431,
"raw": "0", "raw": "0",
"start": 403, "start": 430,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -613,34 +640,34 @@ description: Result of parsing parametric_with_tan_arc.kcl
}, },
{ {
"argument": { "argument": {
"end": 416, "end": 443,
"name": "thickness", "name": "thickness",
"start": 407, "start": 434,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"end": 416, "end": 443,
"operator": "-", "operator": "-",
"start": 406, "start": 433,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
} }
], ],
"end": 417, "end": 444,
"start": 402, "start": 429,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 395, "end": 422,
"name": "line", "name": "line",
"start": 391, "start": 418,
"type": "Identifier" "type": "Identifier"
}, },
"end": 418, "end": 445,
"start": 391, "start": 418,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -656,16 +683,16 @@ description: Result of parsing parametric_with_tan_arc.kcl
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 447, "end": 474,
"name": "shelfMountL", "name": "shelfMountL",
"start": 436, "start": 463,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
{ {
"end": 450, "end": 477,
"raw": "0", "raw": "0",
"start": 449, "start": 476,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -674,21 +701,21 @@ description: Result of parsing parametric_with_tan_arc.kcl
} }
} }
], ],
"end": 451, "end": 478,
"start": 435, "start": 462,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 428, "end": 455,
"name": "line", "name": "line",
"start": 424, "start": 451,
"type": "Identifier" "type": "Identifier"
}, },
"end": 452, "end": 479,
"start": 424, "start": 451,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -696,55 +723,55 @@ description: Result of parsing parametric_with_tan_arc.kcl
{ {
"arguments": [ "arguments": [
{ {
"end": 537, "end": 564,
"properties": [ "properties": [
{ {
"end": 509, "end": 536,
"key": { "key": {
"end": 487, "end": 514,
"name": "radius", "name": "radius",
"start": 481, "start": 508,
"type": "Identifier" "type": "Identifier"
}, },
"start": 481, "start": 508,
"type": "ObjectProperty", "type": "ObjectProperty",
"value": { "value": {
"end": 509, "end": 536,
"left": { "left": {
"end": 497, "end": 524,
"name": "filletR", "name": "filletR",
"start": 490, "start": 517,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"operator": "-", "operator": "-",
"right": { "right": {
"end": 509, "end": 536,
"name": "thickness", "name": "thickness",
"start": 500, "start": 527,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"start": 490, "start": 517,
"type": "BinaryExpression", "type": "BinaryExpression",
"type": "BinaryExpression" "type": "BinaryExpression"
} }
}, },
{ {
"end": 530, "end": 557,
"key": { "key": {
"end": 524, "end": 551,
"name": "offset", "name": "offset",
"start": 518, "start": 545,
"type": "Identifier" "type": "Identifier"
}, },
"start": 518, "start": 545,
"type": "ObjectProperty", "type": "ObjectProperty",
"value": { "value": {
"argument": { "argument": {
"end": 530, "end": 557,
"raw": "90", "raw": "90",
"start": 528, "start": 555,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -752,33 +779,33 @@ description: Result of parsing parametric_with_tan_arc.kcl
"suffix": "None" "suffix": "None"
} }
}, },
"end": 530, "end": 557,
"operator": "-", "operator": "-",
"start": 527, "start": 554,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
} }
} }
], ],
"start": 472, "start": 499,
"type": "ObjectExpression", "type": "ObjectExpression",
"type": "ObjectExpression" "type": "ObjectExpression"
}, },
{ {
"end": 540, "end": 567,
"start": 539, "start": 566,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 471, "end": 498,
"name": "tangentialArc", "name": "tangentialArc",
"start": 458, "start": 485,
"type": "Identifier" "type": "Identifier"
}, },
"end": 541, "end": 568,
"start": 458, "start": 485,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -793,9 +820,9 @@ description: Result of parsing parametric_with_tan_arc.kcl
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 560, "end": 587,
"raw": "0", "raw": "0",
"start": 559, "start": 586,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -805,34 +832,34 @@ description: Result of parsing parametric_with_tan_arc.kcl
}, },
{ {
"argument": { "argument": {
"end": 573, "end": 600,
"name": "wallMountL", "name": "wallMountL",
"start": 563, "start": 590,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"end": 573, "end": 600,
"operator": "-", "operator": "-",
"start": 562, "start": 589,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
} }
], ],
"end": 574, "end": 601,
"start": 558, "start": 585,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 551, "end": 578,
"name": "line", "name": "line",
"start": 547, "start": 574,
"type": "Identifier" "type": "Identifier"
}, },
"end": 575, "end": 602,
"start": 547, "start": 574,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -840,20 +867,20 @@ description: Result of parsing parametric_with_tan_arc.kcl
{ {
"arguments": [ "arguments": [
{ {
"end": 588, "end": 615,
"start": 587, "start": 614,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 586, "end": 613,
"name": "close", "name": "close",
"start": 581, "start": 608,
"type": "Identifier" "type": "Identifier"
}, },
"end": 589, "end": 616,
"start": 581, "start": 608,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -866,28 +893,28 @@ description: Result of parsing parametric_with_tan_arc.kcl
"name": "length" "name": "length"
}, },
"arg": { "arg": {
"end": 617, "end": 644,
"name": "width", "name": "width",
"start": 612, "start": 639,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 602, "end": 629,
"name": "extrude", "name": "extrude",
"start": 595, "start": 622,
"type": "Identifier" "type": "Identifier"
}, },
"end": 618, "end": 645,
"start": 595, "start": 622,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 618, "end": 645,
"start": 239, "start": 239,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -895,14 +922,14 @@ description: Result of parsing parametric_with_tan_arc.kcl
"start": 229, "start": 229,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 618, "end": 645,
"kind": "const", "kind": "const",
"start": 229, "start": 229,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 619, "end": 646,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"0": [ "0": [

View File

@ -8,7 +8,8 @@ filletR = thickness * 2
shelfMountL = 9 shelfMountL = 9
wallMountL = 8 wallMountL = 8
bracket = startSketchAt([0, 0]) bracket = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, wallMountL]) |> line(end = [0, wallMountL])
|> tangentialArc({ radius = filletR, offset = 90 }, %) |> tangentialArc({ radius = filletR, offset = 90 }, %)
|> line(end = [-shelfMountL, 0]) |> line(end = [-shelfMountL, 0])

View File

@ -1,8 +1,31 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed parametric_with_tan_arc.kcl description: Operations executed parametric_with_tan_arc.kcl
--- ---
[ [
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
253,
255,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
239,
256,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"length": { "length": {
@ -20,16 +43,16 @@ description: Operations executed parametric_with_tan_arc.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
612, 639,
617, 644,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
595, 622,
618, 645,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing parametric_with_tan_arc.kcl description: Variables in memory after executing parametric_with_tan_arc.kcl
--- ---
{ {
@ -36,8 +36,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
266,
293, 293,
320,
0 0
], ],
"tag": null, "tag": null,
@ -47,8 +47,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
299, 326,
350, 377,
0 0
], ],
"tag": null, "tag": null,
@ -58,8 +58,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
356, 383,
385, 412,
0 0
], ],
"tag": null, "tag": null,
@ -69,8 +69,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
391,
418, 418,
445,
0 0
], ],
"tag": null, "tag": null,
@ -80,8 +80,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
424, 451,
452, 479,
0 0
], ],
"tag": null, "tag": null,
@ -91,8 +91,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
458, 485,
541, 568,
0 0
], ],
"tag": null, "tag": null,
@ -102,8 +102,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
547, 574,
575, 602,
0 0
], ],
"tag": null, "tag": null,
@ -113,8 +113,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
581, 608,
589, 616,
0 0
], ],
"tag": null, "tag": null,
@ -129,8 +129,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
266,
293, 293,
320,
0 0
] ]
}, },
@ -152,8 +152,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
299, 326,
350, 377,
0 0
] ]
}, },
@ -180,8 +180,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
356, 383,
385, 412,
0 0
] ]
}, },
@ -203,8 +203,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
391,
418, 418,
445,
0 0
] ]
}, },
@ -226,8 +226,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
424, 451,
452, 479,
0 0
] ]
}, },
@ -249,8 +249,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
458, 485,
541, 568,
0 0
] ]
}, },
@ -277,8 +277,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
547, 574,
575, 602,
0 0
] ]
}, },
@ -300,8 +300,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
581, 608,
589, 616,
0 0
] ]
}, },
@ -366,8 +366,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
239, 262,
260, 287,
0 0
] ]
} }
@ -380,8 +380,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
239, 262,
260, 287,
0 0
] ]
} }
@ -396,8 +396,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
239, 262,
260, 287,
0 0
] ]
} }

View File

@ -1,7 +1,6 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact commands pipe_as_arg.kcl description: Artifact commands pipe_as_arg.kcl
snapshot_kind: text
--- ---
[ [
{ {
@ -314,8 +313,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
177, 202,
194, 223,
0 0
], ],
"command": { "command": {
@ -334,8 +333,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
177, 202,
194, 223,
0 0
], ],
"command": { "command": {
@ -345,8 +344,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
177, 202,
194, 223,
0 0
], ],
"command": { "command": {
@ -362,8 +361,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
202, 231,
224, 253,
0 0
], ],
"command": { "command": {
@ -383,8 +382,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
232, 261,
254, 283,
0 0
], ],
"command": { "command": {
@ -404,8 +403,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
262, 291,
284, 313,
0 0
], ],
"command": { "command": {
@ -425,8 +424,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
292, 321,
314, 343,
0 0
], ],
"command": { "command": {
@ -446,8 +445,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
322, 351,
330, 359,
0 0
], ],
"command": { "command": {
@ -458,8 +457,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
322, 351,
330, 359,
0 0
], ],
"command": { "command": {
@ -469,8 +468,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -489,8 +488,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -503,8 +502,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -514,8 +513,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -526,8 +525,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -539,8 +538,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -553,8 +552,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -567,8 +566,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -581,8 +580,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -595,8 +594,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -609,8 +608,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -623,8 +622,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {
@ -637,8 +636,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
338, 367,
362, 391,
0 0
], ],
"command": { "command": {

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart pipe_as_arg.kcl description: Artifact graph flowchart pipe_as_arg.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,16 +1,16 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[177, 194, 0]"] 2["Path<br>[202, 223, 0]"]
3["Segment<br>[202, 224, 0]"] 3["Segment<br>[231, 253, 0]"]
4["Segment<br>[232, 254, 0]"] 4["Segment<br>[261, 283, 0]"]
5["Segment<br>[262, 284, 0]"] 5["Segment<br>[291, 313, 0]"]
6["Segment<br>[292, 314, 0]"] 6["Segment<br>[321, 343, 0]"]
7["Segment<br>[322, 330, 0]"] 7["Segment<br>[351, 359, 0]"]
8[Solid2d] 8[Solid2d]
end end
1["Plane<br>[177, 194, 0]"] 1["Plane<br>[177, 194, 0]"]
9["Sweep Extrusion<br>[338, 362, 0]"] 9["Sweep Extrusion<br>[367, 391, 0]"]
10[Wall] 10[Wall]
11[Wall] 11[Wall]
12[Wall] 12[Wall]

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Result of parsing pipe_as_arg.kcl description: Result of parsing pipe_as_arg.kcl
--- ---
{ {
@ -7,7 +7,7 @@ description: Result of parsing pipe_as_arg.kcl
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 364, "end": 393,
"id": { "id": {
"end": 7, "end": 7,
"name": "cube", "name": "cube",
@ -453,7 +453,7 @@ description: Result of parsing pipe_as_arg.kcl
"arguments": [ "arguments": [
{ {
"end": 193, "end": 193,
"name": "p0", "name": "XY",
"start": 191, "start": 191,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
@ -461,7 +461,7 @@ description: Result of parsing pipe_as_arg.kcl
], ],
"callee": { "callee": {
"end": 190, "end": 190,
"name": "startSketchAt", "name": "startSketchOn",
"start": 177, "start": 177,
"type": "Identifier" "type": "Identifier"
}, },
@ -470,6 +470,33 @@ description: Result of parsing pipe_as_arg.kcl
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
{
"arguments": [
{
"end": 219,
"name": "p0",
"start": 217,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 222,
"start": 221,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 216,
"name": "startProfileAt",
"start": 202,
"type": "Identifier"
},
"end": 223,
"start": 202,
"type": "CallExpression",
"type": "CallExpression"
},
{ {
"arguments": [ "arguments": [
{ {
@ -479,80 +506,51 @@ description: Result of parsing pipe_as_arg.kcl
"name": "endAbsolute" "name": "endAbsolute"
}, },
"arg": { "arg": {
"end": 223, "end": 252,
"name": "p1", "name": "p1",
"start": 221, "start": 250,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 206, "end": 235,
"name": "line", "name": "line",
"start": 202, "start": 231,
"type": "Identifier" "type": "Identifier"
}, },
"end": 224,
"start": 202,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 253, "end": 253,
"start": 231,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 282,
"name": "p2", "name": "p2",
"start": 251, "start": 280,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 236, "end": 265,
"name": "line", "name": "line",
"start": 232, "start": 261,
"type": "Identifier" "type": "Identifier"
}, },
"end": 254,
"start": 232,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 283, "end": 283,
"name": "p3", "start": 261,
"start": 281,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 266,
"name": "line",
"start": 262,
"type": "Identifier"
},
"end": 284,
"start": 262,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -566,22 +564,22 @@ description: Result of parsing pipe_as_arg.kcl
"name": "endAbsolute" "name": "endAbsolute"
}, },
"arg": { "arg": {
"end": 313, "end": 312,
"name": "p0", "name": "p3",
"start": 311, "start": 310,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 296, "end": 295,
"name": "line", "name": "line",
"start": 292, "start": 291,
"type": "Identifier" "type": "Identifier"
}, },
"end": 314, "end": 313,
"start": 292, "start": 291,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -589,20 +587,49 @@ description: Result of parsing pipe_as_arg.kcl
{ {
"arguments": [ "arguments": [
{ {
"end": 329, "type": "LabeledArg",
"start": 328, "label": {
"type": "Identifier",
"name": "endAbsolute"
},
"arg": {
"end": 342,
"name": "p0",
"start": 340,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 325,
"name": "line",
"start": 321,
"type": "Identifier"
},
"end": 343,
"start": 321,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"end": 358,
"start": 357,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 327, "end": 356,
"name": "close", "name": "close",
"start": 322, "start": 351,
"type": "Identifier" "type": "Identifier"
}, },
"end": 330, "end": 359,
"start": 322, "start": 351,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -615,39 +642,39 @@ description: Result of parsing pipe_as_arg.kcl
"name": "length" "name": "length"
}, },
"arg": { "arg": {
"end": 361, "end": 390,
"name": "length", "name": "length",
"start": 355, "start": 384,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"callee": { "callee": {
"end": 345, "end": 374,
"name": "extrude", "name": "extrude",
"start": 338, "start": 367,
"type": "Identifier" "type": "Identifier"
}, },
"end": 362, "end": 391,
"start": 338, "start": 367,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 362, "end": 391,
"start": 177, "start": 177,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
}, },
"end": 362, "end": 391,
"start": 170, "start": 170,
"type": "ReturnStatement", "type": "ReturnStatement",
"type": "ReturnStatement" "type": "ReturnStatement"
} }
], ],
"end": 364, "end": 393,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"6": [ "6": [
@ -665,7 +692,7 @@ description: Result of parsing pipe_as_arg.kcl
}, },
"start": 24 "start": 24
}, },
"end": 364, "end": 393,
"params": [ "params": [
{ {
"type": "Parameter", "type": "Parameter",
@ -693,7 +720,7 @@ description: Result of parsing pipe_as_arg.kcl
"start": 3, "start": 3,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 364, "end": 393,
"kind": "fn", "kind": "fn",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
@ -701,11 +728,11 @@ description: Result of parsing pipe_as_arg.kcl
}, },
{ {
"declaration": { "declaration": {
"end": 397, "end": 426,
"id": { "id": {
"end": 375, "end": 404,
"name": "double", "name": "double",
"start": 369, "start": 398,
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
@ -713,19 +740,19 @@ description: Result of parsing pipe_as_arg.kcl
"body": [ "body": [
{ {
"argument": { "argument": {
"end": 395, "end": 424,
"left": { "left": {
"end": 391, "end": 420,
"name": "x", "name": "x",
"start": 390, "start": 419,
"type": "Identifier", "type": "Identifier",
"type": "Identifier" "type": "Identifier"
}, },
"operator": "*", "operator": "*",
"right": { "right": {
"end": 395, "end": 424,
"raw": "2", "raw": "2",
"start": 394, "start": 423,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -733,51 +760,51 @@ description: Result of parsing pipe_as_arg.kcl
"suffix": "None" "suffix": "None"
} }
}, },
"start": 390, "start": 419,
"type": "BinaryExpression", "type": "BinaryExpression",
"type": "BinaryExpression" "type": "BinaryExpression"
}, },
"end": 395, "end": 424,
"start": 383, "start": 412,
"type": "ReturnStatement", "type": "ReturnStatement",
"type": "ReturnStatement" "type": "ReturnStatement"
} }
], ],
"end": 397, "end": 426,
"start": 379 "start": 408
}, },
"end": 397, "end": 426,
"params": [ "params": [
{ {
"type": "Parameter", "type": "Parameter",
"identifier": { "identifier": {
"end": 377, "end": 406,
"name": "x", "name": "x",
"start": 376, "start": 405,
"type": "Identifier" "type": "Identifier"
} }
} }
], ],
"start": 375, "start": 404,
"type": "FunctionExpression", "type": "FunctionExpression",
"type": "FunctionExpression" "type": "FunctionExpression"
}, },
"start": 369, "start": 398,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 397, "end": 426,
"kind": "fn", "kind": "fn",
"start": 366, "start": 395,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
}, },
{ {
"declaration": { "declaration": {
"end": 425, "end": 454,
"id": { "id": {
"end": 406, "end": 435,
"name": "width", "name": "width",
"start": 401, "start": 430,
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
@ -785,9 +812,9 @@ description: Result of parsing pipe_as_arg.kcl
"body": [ "body": [
{ {
"argument": { "argument": {
"end": 423, "end": 452,
"raw": "200", "raw": "200",
"start": 420, "start": 449,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -795,37 +822,37 @@ description: Result of parsing pipe_as_arg.kcl
"suffix": "None" "suffix": "None"
} }
}, },
"end": 423, "end": 452,
"start": 413, "start": 442,
"type": "ReturnStatement", "type": "ReturnStatement",
"type": "ReturnStatement" "type": "ReturnStatement"
} }
], ],
"end": 425, "end": 454,
"start": 409 "start": 438
}, },
"end": 425, "end": 454,
"params": [], "params": [],
"start": 406, "start": 435,
"type": "FunctionExpression", "type": "FunctionExpression",
"type": "FunctionExpression" "type": "FunctionExpression"
}, },
"start": 401, "start": 430,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 425, "end": 454,
"kind": "fn", "kind": "fn",
"start": 398, "start": 427,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
}, },
{ {
"declaration": { "declaration": {
"end": 468, "end": 497,
"id": { "id": {
"end": 433, "end": 462,
"name": "myCube", "name": "myCube",
"start": 427, "start": 456,
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
@ -833,9 +860,9 @@ description: Result of parsing pipe_as_arg.kcl
{ {
"body": [ "body": [
{ {
"end": 444, "end": 473,
"raw": "200", "raw": "200",
"start": 441, "start": 470,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -846,35 +873,35 @@ description: Result of parsing pipe_as_arg.kcl
{ {
"arguments": [ "arguments": [
{ {
"end": 458, "end": 487,
"start": 457, "start": 486,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 456, "end": 485,
"name": "double", "name": "double",
"start": 450, "start": 479,
"type": "Identifier" "type": "Identifier"
}, },
"end": 459, "end": 488,
"start": 450, "start": 479,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
} }
], ],
"end": 459, "end": 488,
"start": 441, "start": 470,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
}, },
{ {
"elements": [ "elements": [
{ {
"end": 463, "end": 492,
"raw": "0", "raw": "0",
"start": 462, "start": 491,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -883,9 +910,9 @@ description: Result of parsing pipe_as_arg.kcl
} }
}, },
{ {
"end": 466, "end": 495,
"raw": "0", "raw": "0",
"start": 465, "start": 494,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -894,40 +921,40 @@ description: Result of parsing pipe_as_arg.kcl
} }
} }
], ],
"end": 467, "end": 496,
"start": 461, "start": 490,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
], ],
"callee": { "callee": {
"end": 440, "end": 469,
"name": "cube", "name": "cube",
"start": 436, "start": 465,
"type": "Identifier" "type": "Identifier"
}, },
"end": 468, "end": 497,
"start": 436, "start": 465,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
"start": 427, "start": 456,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 468, "end": 497,
"kind": "const", "kind": "const",
"start": 427, "start": 456,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 469, "end": 498,
"nonCodeMeta": { "nonCodeMeta": {
"nonCodeNodes": { "nonCodeNodes": {
"0": [ "0": [
{ {
"end": 366, "end": 395,
"start": 364, "start": 393,
"type": "NonCodeNode", "type": "NonCodeNode",
"value": { "value": {
"type": "newLine" "type": "newLine"
@ -936,8 +963,8 @@ description: Result of parsing pipe_as_arg.kcl
], ],
"2": [ "2": [
{ {
"end": 427, "end": 456,
"start": 425, "start": 454,
"type": "NonCodeNode", "type": "NonCodeNode",
"value": { "value": {
"type": "newLine" "type": "newLine"

View File

@ -7,7 +7,8 @@ fn cube(length, center) {
p2 = [l + x, l + y] p2 = [l + x, l + y]
p3 = [l + x, -l + y] p3 = [l + x, -l + y]
return startSketchAt(p0) return startSketchOn(XY)
|> startProfileAt(p0, %)
|> line(endAbsolute = p1) |> line(endAbsolute = p1)
|> line(endAbsolute = p2) |> line(endAbsolute = p2)
|> line(endAbsolute = p3) |> line(endAbsolute = p3)

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed pipe_as_arg.kcl description: Operations executed pipe_as_arg.kcl
--- ---
[ [
@ -7,15 +7,15 @@ description: Operations executed pipe_as_arg.kcl
"type": "UserDefinedFunctionCall", "type": "UserDefinedFunctionCall",
"name": "double", "name": "double",
"functionSourceRange": [ "functionSourceRange": [
375, 404,
397, 426,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
450, 479,
459, 488,
0 0
] ]
}, },
@ -27,17 +27,40 @@ description: Operations executed pipe_as_arg.kcl
"name": "cube", "name": "cube",
"functionSourceRange": [ "functionSourceRange": [
7, 7,
364, 393,
0 0
], ],
"unlabeledArg": null, "unlabeledArg": null,
"labeledArgs": {}, "labeledArgs": {},
"sourceRange": [ "sourceRange": [
436, 465,
468, 497,
0 0
] ]
}, },
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
191,
193,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
177,
194,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"length": { "length": {
@ -49,16 +72,16 @@ description: Operations executed pipe_as_arg.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
355, 384,
361, 390,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
338, 367,
362, 391,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing pipe_as_arg.kcl description: Variables in memory after executing pipe_as_arg.kcl
--- ---
{ {
@ -9,7 +9,7 @@ description: Variables in memory after executing pipe_as_arg.kcl
{ {
"sourceRange": [ "sourceRange": [
7, 7,
364, 393,
0 0
] ]
} }
@ -20,8 +20,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
375, 404,
397, 426,
0 0
] ]
} }
@ -38,8 +38,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
202, 231,
224, 253,
0 0
], ],
"tag": null, "tag": null,
@ -49,8 +49,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
232, 261,
254, 283,
0 0
], ],
"tag": null, "tag": null,
@ -60,8 +60,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
262, 291,
284, 313,
0 0
], ],
"tag": null, "tag": null,
@ -71,8 +71,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
292, 321,
314, 343,
0 0
], ],
"tag": null, "tag": null,
@ -87,8 +87,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
202, 231,
224, 253,
0 0
] ]
}, },
@ -110,8 +110,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
232, 261,
254, 283,
0 0
] ]
}, },
@ -133,8 +133,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
262, 291,
284, 313,
0 0
] ]
}, },
@ -156,8 +156,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
292, 321,
314, 343,
0 0
] ]
}, },
@ -179,8 +179,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
322, 351,
330, 359,
0 0
] ]
}, },
@ -245,8 +245,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
177, 202,
194, 223,
0 0
] ]
} }
@ -259,8 +259,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
177, 202,
194, 223,
0 0
] ]
} }
@ -275,8 +275,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
177, 202,
194, 223,
0 0
] ]
} }
@ -288,8 +288,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
406, 435,
425, 454,
0 0
] ]
} }

View File

@ -1,7 +1,6 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact commands tangential_arc.kcl description: Artifact commands tangential_arc.kcl
snapshot_kind: text
--- ---
[ [
{ {
@ -286,7 +285,7 @@ snapshot_kind: text
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
12, 12,
33, 29,
0 0
], ],
"command": { "command": {
@ -314,8 +313,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
12, 35,
33, 60,
0 0
], ],
"command": { "command": {
@ -334,8 +333,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
12, 35,
33, 60,
0 0
], ],
"command": { "command": {
@ -345,8 +344,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
12, 35,
33, 60,
0 0
], ],
"command": { "command": {
@ -362,8 +361,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
39, 66,
58, 85,
0 0
], ],
"command": { "command": {
@ -383,8 +382,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
64, 91,
109, 136,
0 0
], ],
"command": { "command": {
@ -403,8 +402,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
115, 142,
135, 162,
0 0
], ],
"command": { "command": {
@ -424,8 +423,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -444,8 +443,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -458,8 +457,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -469,8 +468,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -481,8 +480,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -494,8 +493,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -508,8 +507,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -522,8 +521,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -536,8 +535,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -550,8 +549,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {
@ -564,8 +563,8 @@ snapshot_kind: text
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [
141, 168,
161, 188,
0 0
], ],
"command": { "command": {

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart tangential_arc.kcl description: Artifact graph flowchart tangential_arc.kcl
extension: md extension: md
snapshot_kind: binary snapshot_kind: binary

View File

@ -1,13 +1,13 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[12, 33, 0]"] 2["Path<br>[35, 60, 0]"]
3["Segment<br>[39, 58, 0]"] 3["Segment<br>[66, 85, 0]"]
4["Segment<br>[64, 109, 0]"] 4["Segment<br>[91, 136, 0]"]
5["Segment<br>[115, 135, 0]"] 5["Segment<br>[142, 162, 0]"]
end end
1["Plane<br>[12, 33, 0]"] 1["Plane<br>[12, 29, 0]"]
6["Sweep Extrusion<br>[141, 161, 0]"] 6["Sweep Extrusion<br>[168, 188, 0]"]
7[Wall] 7[Wall]
8[Wall] 8[Wall]
9[Wall] 9[Wall]

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Result of parsing tangential_arc.kcl description: Result of parsing tangential_arc.kcl
--- ---
{ {
@ -7,7 +7,7 @@ description: Result of parsing tangential_arc.kcl
"body": [ "body": [
{ {
"declaration": { "declaration": {
"end": 161, "end": 188,
"id": { "id": {
"end": 9, "end": 9,
"name": "boxSketch", "name": "boxSketch",
@ -18,44 +18,21 @@ description: Result of parsing tangential_arc.kcl
"body": [ "body": [
{ {
"arguments": [ "arguments": [
{
"elements": [
{ {
"end": 28, "end": 28,
"raw": "0", "name": "XY",
"start": 27,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 31,
"raw": "0",
"start": 30,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 32,
"start": 26, "start": 26,
"type": "ArrayExpression", "type": "Identifier",
"type": "ArrayExpression" "type": "Identifier"
} }
], ],
"callee": { "callee": {
"end": 25, "end": 25,
"name": "startSketchAt", "name": "startSketchOn",
"start": 12, "start": 12,
"type": "Identifier" "type": "Identifier"
}, },
"end": 33, "end": 29,
"start": 12, "start": 12,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
@ -63,12 +40,6 @@ description: Result of parsing tangential_arc.kcl
{ {
"arguments": [ "arguments": [
{ {
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "end"
},
"arg": {
"elements": [ "elements": [
{ {
"end": 52, "end": 52,
@ -82,105 +53,37 @@ description: Result of parsing tangential_arc.kcl
} }
}, },
{ {
"end": 56, "end": 55,
"raw": "10", "raw": "0",
"start": 54, "start": 54,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 10.0, "value": 0.0,
"suffix": "None" "suffix": "None"
} }
} }
], ],
"end": 57, "end": 56,
"start": 50, "start": 50,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
}
}
],
"callee": {
"end": 43,
"name": "line",
"start": 39,
"type": "Identifier"
},
"end": 58,
"start": 39,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}, },
{ {
"arguments": [ "end": 59,
{ "start": 58,
"end": 105,
"properties": [
{
"end": 90,
"key": {
"end": 86,
"name": "radius",
"start": 80,
"type": "Identifier"
},
"start": 80,
"type": "ObjectProperty",
"value": {
"end": 90,
"raw": "5",
"start": 89,
"type": "Literal",
"type": "Literal",
"value": {
"value": 5.0,
"suffix": "None"
}
}
},
{
"end": 103,
"key": {
"end": 98,
"name": "offset",
"start": 92,
"type": "Identifier"
},
"start": 92,
"type": "ObjectProperty",
"value": {
"end": 103,
"raw": "90",
"start": 101,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
}
}
],
"start": 78,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 108,
"start": 107,
"type": "PipeSubstitution", "type": "PipeSubstitution",
"type": "PipeSubstitution" "type": "PipeSubstitution"
} }
], ],
"callee": { "callee": {
"end": 77, "end": 49,
"name": "tangentialArc", "name": "startProfileAt",
"start": 64, "start": 35,
"type": "Identifier" "type": "Identifier"
}, },
"end": 109, "end": 60,
"start": 64, "start": 35,
"type": "CallExpression", "type": "CallExpression",
"type": "CallExpression" "type": "CallExpression"
}, },
@ -195,9 +98,133 @@ description: Result of parsing tangential_arc.kcl
"arg": { "arg": {
"elements": [ "elements": [
{ {
"end": 128, "end": 79,
"raw": "0",
"start": 78,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 83,
"raw": "10",
"start": 81,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
}
],
"end": 84,
"start": 77,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 70,
"name": "line",
"start": 66,
"type": "Identifier"
},
"end": 85,
"start": 66,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"end": 132,
"properties": [
{
"end": 117,
"key": {
"end": 113,
"name": "radius",
"start": 107,
"type": "Identifier"
},
"start": 107,
"type": "ObjectProperty",
"value": {
"end": 117,
"raw": "5", "raw": "5",
"start": 127, "start": 116,
"type": "Literal",
"type": "Literal",
"value": {
"value": 5.0,
"suffix": "None"
}
}
},
{
"end": 130,
"key": {
"end": 125,
"name": "offset",
"start": 119,
"type": "Identifier"
},
"start": 119,
"type": "ObjectProperty",
"value": {
"end": 130,
"raw": "90",
"start": 128,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
}
}
],
"start": 105,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 135,
"start": 134,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 104,
"name": "tangentialArc",
"start": 91,
"type": "Identifier"
},
"end": 136,
"start": 91,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"type": "Identifier",
"name": "end"
},
"arg": {
"elements": [
{
"end": 155,
"raw": "5",
"start": 154,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -207,9 +234,9 @@ description: Result of parsing tangential_arc.kcl
}, },
{ {
"argument": { "argument": {
"end": 133, "end": 160,
"raw": "15", "raw": "15",
"start": 131, "start": 158,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -217,28 +244,28 @@ description: Result of parsing tangential_arc.kcl
"suffix": "None" "suffix": "None"
} }
}, },
"end": 133, "end": 160,
"operator": "-", "operator": "-",
"start": 130, "start": 157,
"type": "UnaryExpression", "type": "UnaryExpression",
"type": "UnaryExpression" "type": "UnaryExpression"
} }
], ],
"end": 134, "end": 161,
"start": 126, "start": 153,
"type": "ArrayExpression", "type": "ArrayExpression",
"type": "ArrayExpression" "type": "ArrayExpression"
} }
} }
], ],
"callee": { "callee": {
"end": 119, "end": 146,
"name": "line", "name": "line",
"start": 115, "start": 142,
"type": "Identifier" "type": "Identifier"
}, },
"end": 135, "end": 162,
"start": 115, "start": 142,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
@ -252,9 +279,9 @@ description: Result of parsing tangential_arc.kcl
"name": "length" "name": "length"
}, },
"arg": { "arg": {
"end": 160, "end": 187,
"raw": "10", "raw": "10",
"start": 158, "start": 185,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
@ -265,19 +292,19 @@ description: Result of parsing tangential_arc.kcl
} }
], ],
"callee": { "callee": {
"end": 148, "end": 175,
"name": "extrude", "name": "extrude",
"start": 141, "start": 168,
"type": "Identifier" "type": "Identifier"
}, },
"end": 161, "end": 188,
"start": 141, "start": 168,
"type": "CallExpressionKw", "type": "CallExpressionKw",
"type": "CallExpressionKw", "type": "CallExpressionKw",
"unlabeled": null "unlabeled": null
} }
], ],
"end": 161, "end": 188,
"start": 12, "start": 12,
"type": "PipeExpression", "type": "PipeExpression",
"type": "PipeExpression" "type": "PipeExpression"
@ -285,14 +312,14 @@ description: Result of parsing tangential_arc.kcl
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"
}, },
"end": 161, "end": 188,
"kind": "const", "kind": "const",
"start": 0, "start": 0,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
} }
], ],
"end": 162, "end": 189,
"start": 0 "start": 0
} }
} }

View File

@ -1,4 +1,5 @@
boxSketch = startSketchAt([0, 0]) boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10]) |> line(end = [0, 10])
|> tangentialArc({ radius = 5, offset = 90 }, %) |> tangentialArc({ radius = 5, offset = 90 }, %)
|> line(end = [5, -15]) |> line(end = [5, -15])

View File

@ -1,8 +1,31 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Operations executed tangential_arc.kcl description: Operations executed tangential_arc.kcl
--- ---
[ [
{
"labeledArgs": {
"data": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": [
26,
28,
0
]
}
},
"name": "startSketchOn",
"sourceRange": [
12,
29,
0
],
"type": "StdLibCall",
"unlabeledArg": null
},
{ {
"labeledArgs": { "labeledArgs": {
"length": { "length": {
@ -20,16 +43,16 @@ description: Operations executed tangential_arc.kcl
} }
}, },
"sourceRange": [ "sourceRange": [
158, 185,
160, 187,
0 0
] ]
} }
}, },
"name": "extrude", "name": "extrude",
"sourceRange": [ "sourceRange": [
141, 168,
161, 188,
0 0
], ],
"type": "StdLibCall", "type": "StdLibCall",

View File

@ -1,5 +1,5 @@
--- ---
source: kcl/src/simulation_tests.rs source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing tangential_arc.kcl description: Variables in memory after executing tangential_arc.kcl
--- ---
{ {
@ -14,8 +14,8 @@ description: Variables in memory after executing tangential_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
39, 66,
58, 85,
0 0
], ],
"tag": null, "tag": null,
@ -25,8 +25,8 @@ description: Variables in memory after executing tangential_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
64, 91,
109, 136,
0 0
], ],
"tag": null, "tag": null,
@ -36,8 +36,8 @@ description: Variables in memory after executing tangential_arc.kcl
"faceId": "[uuid]", "faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
115, 142,
135, 162,
0 0
], ],
"tag": null, "tag": null,
@ -52,8 +52,8 @@ description: Variables in memory after executing tangential_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
39, 66,
58, 85,
0 0
] ]
}, },
@ -75,8 +75,8 @@ description: Variables in memory after executing tangential_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
64, 91,
109, 136,
0 0
] ]
}, },
@ -103,8 +103,8 @@ description: Variables in memory after executing tangential_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
115, 142,
135, 162,
0 0
] ]
}, },
@ -169,8 +169,8 @@ description: Variables in memory after executing tangential_arc.kcl
"__geoMeta": { "__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [ "sourceRange": [
12, 35,
33, 60,
0 0
] ]
} }
@ -183,8 +183,8 @@ description: Variables in memory after executing tangential_arc.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
12, 35,
33, 60,
0 0
] ]
} }
@ -199,8 +199,8 @@ description: Variables in memory after executing tangential_arc.kcl
"__meta": [ "__meta": [
{ {
"sourceRange": [ "sourceRange": [
12, 35,
33, 60,
0 0
] ]
} }

View File

@ -99,10 +99,7 @@ export function intersectInfo({
const isAllTooltips = nodes.every( const isAllTooltips = nodes.every(
(node) => (node) =>
(node?.type === 'CallExpression' || node?.type === 'CallExpressionKw') && (node?.type === 'CallExpression' || node?.type === 'CallExpressionKw') &&
[ [...toolTips].includes(node.callee.name as any)
...toolTips,
'startSketchAt', // TODO probably a better place for this to live
].includes(node.callee.name as any)
) )
const theTransforms = getTransformInfos( const theTransforms = getTransformInfos(

View File

@ -62,10 +62,7 @@ export function horzVertDistanceInfo({
const isAllTooltips = nodes.every( const isAllTooltips = nodes.every(
(node) => (node) =>
(node?.type === 'CallExpression' || node?.type === 'CallExpressionKw') && (node?.type === 'CallExpression' || node?.type === 'CallExpressionKw') &&
[ [...toolTips].includes(node.callee.name as any)
...toolTips,
'startSketchAt', // TODO probably a better place for this to live
].includes(node.callee.name as any)
) )
const theTransforms = getTransformInfos( const theTransforms = getTransformInfos(

View File

@ -18,7 +18,8 @@ describe('testing getNodePathFromSourceRange', () => {
it('test it gets the right path for a `lineTo` CallExpression within a SketchExpression', () => { it('test it gets the right path for a `lineTo` CallExpression within a SketchExpression', () => {
const code = ` const code = `
const myVar = 5 const myVar = 5
const sk3 = startSketchAt([0, 0]) const sk3 = startSketchOn('XY')
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [1, 2]) |> line(endAbsolute = [1, 2])
|> line(endAbsolute = [3, 4], tag = $yo) |> line(endAbsolute = [3, 4], tag = $yo)
|> close() |> close()
@ -41,7 +42,8 @@ const sk3 = startSketchAt([0, 0])
}) })
it('gets path right for function definition params', () => { it('gets path right for function definition params', () => {
const code = `fn cube = (pos, scale) => { const code = `fn cube = (pos, scale) => {
const sg = startSketchAt(pos) const sg = startSketchOn('XY')
|> startProfileAt(pos, %)
|> line(end = [0, scale]) |> line(end = [0, scale])
|> line(end = [scale, 0]) |> line(end = [scale, 0])
|> line(end = [0, -scale]) |> line(end = [0, -scale])
@ -73,7 +75,8 @@ const b1 = cube([0,0], 10)`
}) })
it('gets path right for deep within function definition body', () => { it('gets path right for deep within function definition body', () => {
const code = `fn cube = (pos, scale) => { const code = `fn cube = (pos, scale) => {
const sg = startSketchAt(pos) const sg = startSketchOn('XY')
|> startProfileAt(pos, %)
|> line(end = [0, scale]) |> line(end = [0, scale])
|> line(end = [scale, 0]) |> line(end = [scale, 0])
|> line(end = [0, -scale]) |> line(end = [0, -scale])
@ -102,7 +105,7 @@ const b1 = cube([0,0], 10)`
['declaration', 'VariableDeclaration'], ['declaration', 'VariableDeclaration'],
['init', ''], ['init', ''],
['body', 'PipeExpression'], ['body', 'PipeExpression'],
[2, 'index'], [3, 'index'],
['arguments', 'CallExpressionKw'], ['arguments', 'CallExpressionKw'],
[0, ARG_INDEX_FIELD], [0, ARG_INDEX_FIELD],
['arg', LABELED_ARG_FIELD], ['arg', LABELED_ARG_FIELD],

View File

@ -384,7 +384,8 @@ describe('testing getNodePathFromSourceRange', () => {
describe('testing hasExtrudeSketch', () => { describe('testing hasExtrudeSketch', () => {
it('find sketch', async () => { it('find sketch', async () => {
const exampleCode = `length001 = 2 const exampleCode = `length001 = 2
part001 = startSketchAt([-1.41, 3.46]) part001 = startSketchOn('XY')
|> startProfileAt([-1.41, 3.46], %)
|> line(end = [19.49, 1.16], tag = $seg01) |> line(end = [19.49, 1.16], tag = $seg01)
|> angledLine([-35, length001], %) |> angledLine([-35, length001], %)
|> line(end = [-3.22, -7.36]) |> line(end = [-3.22, -7.36])
@ -403,7 +404,8 @@ part001 = startSketchAt([-1.41, 3.46])
}) })
it('find solid', async () => { it('find solid', async () => {
const exampleCode = `length001 = 2 const exampleCode = `length001 = 2
part001 = startSketchAt([-1.41, 3.46]) part001 = startSketchOn('XY')
|> startProfileAt([-1.41, 3.46], %)
|> line(end = [19.49, 1.16], tag = $seg01) |> line(end = [19.49, 1.16], tag = $seg01)
|> angledLine([-35, length001], %) |> angledLine([-35, length001], %)
|> line(end = [-3.22, -7.36]) |> line(end = [-3.22, -7.36])

View File

@ -75,7 +75,8 @@ log(5, myVar)
expect(recasted.trim()).toBe(code) expect(recasted.trim()).toBe(code)
}) })
it('recast sketch declaration', () => { it('recast sketch declaration', () => {
let code = `mySketch = startSketchAt([0, 0]) let code = `mySketch = startSketchOn('XY')
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [0, 1], tag = $myPath) |> line(endAbsolute = [0, 1], tag = $myPath)
|> line(endAbsolute = [1, 1]) |> line(endAbsolute = [1, 1])
|> line(endAbsolute = [1, 0], tag = $rightPath) |> line(endAbsolute = [1, 0], tag = $rightPath)
@ -88,7 +89,8 @@ log(5, myVar)
}) })
it('sketch piped into callExpression', () => { it('sketch piped into callExpression', () => {
const code = [ const code = [
'mySk1 = startSketchAt([0, 0])', "mySk1 = startSketchOn('XY')",
' |> startProfileAt([0, 0], %)',
' |> line(endAbsolute = [1, 1])', ' |> line(endAbsolute = [1, 1])',
' |> line(endAbsolute = [0, 1], tag = $myTag)', ' |> line(endAbsolute = [0, 1], tag = $myTag)',
' |> line(endAbsolute = [1, 1])', ' |> line(endAbsolute = [1, 1])',
@ -262,7 +264,8 @@ key = 'c'
}) })
it('comments in a pipe expression', () => { it('comments in a pipe expression', () => {
const code = [ const code = [
'mySk1 = startSketchAt([0, 0])', "mySk1 = startSketchOn('XY')",
' |> startProfileAt([0, 0], %)',
' |> line(endAbsolute = [1, 1])', ' |> line(endAbsolute = [1, 1])',
' |> line(endAbsolute = [0, 1], tag = $myTag)', ' |> line(endAbsolute = [0, 1], tag = $myTag)',
' |> line(endAbsolute = [1, 1])', ' |> line(endAbsolute = [1, 1])',
@ -278,7 +281,8 @@ key = 'c'
const code = ` const code = `
/* comment at start */ /* comment at start */
mySk1 = startSketchAt([0, 0]) mySk1 = startSketchOn('XY')
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [1, 1]) |> line(endAbsolute = [1, 1])
// comment here // comment here
|> line(endAbsolute = [0, 1], tag = $myTag) |> line(endAbsolute = [0, 1], tag = $myTag)
@ -301,7 +305,8 @@ one more for good measure
if (err(recasted)) throw recasted if (err(recasted)) throw recasted
expect(recasted).toBe(`/* comment at start */ expect(recasted).toBe(`/* comment at start */
mySk1 = startSketchAt([0, 0]) mySk1 = startSketchOn('XY')
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [1, 1]) |> line(endAbsolute = [1, 1])
// comment here // comment here
|> line(endAbsolute = [0, 1], tag = $myTag) |> line(endAbsolute = [0, 1], tag = $myTag)
@ -341,7 +346,8 @@ describe('testing call Expressions in BinaryExpressions and UnaryExpressions', (
}) })
it('with unaryExpression in sketch situation', () => { it('with unaryExpression in sketch situation', () => {
const code = [ const code = [
'part001 = startSketchAt([0, 0])', "part001 = startSketchOn('XY')",
' |> startProfileAt([0, 0])',
' |> line(end = [-2.21, -legLen(5, min(3, 999))])', ' |> line(end = [-2.21, -legLen(5, min(3, 999))])',
].join('\n') ].join('\n')
const { ast } = code2ast(code) const { ast } = code2ast(code)
@ -353,7 +359,8 @@ describe('testing call Expressions in BinaryExpressions and UnaryExpressions', (
describe('it recasts wrapped object expressions in pipe bodies with correct indentation', () => { describe('it recasts wrapped object expressions in pipe bodies with correct indentation', () => {
it('with a single line', () => { it('with a single line', () => {
const code = `part001 = startSketchAt([-0.01, -0.08]) const code = `part001 = startSketchOn('XY')
|> startProfileAt([-0.01, -0.08], %)
|> line(end = [0.62, 4.15], tag = $seg01) |> line(end = [0.62, 4.15], tag = $seg01)
|> line(end = [2.77, -1.24]) |> line(end = [2.77, -1.24])
|> angledLineThatIntersects({ |> angledLineThatIntersects({

View File

@ -126,12 +126,7 @@ export function createFirstArg(
intersectTag: val[2], intersectTag: val[2],
}) })
} else { } else {
if ( if (['xLine', 'xLineTo', 'yLine', 'yLineTo'].includes(sketchFn)) return val
['startSketchAt', 'xLine', 'xLineTo', 'yLine', 'yLineTo'].includes(
sketchFn
)
)
return val
} }
return new Error('Missing sketch line type') return new Error('Missing sketch line type')
} }
@ -2942,7 +2937,7 @@ function getFirstArgValuesForXYLineFns(callExpression: CallExpression): {
return { val: firstArg } return { val: firstArg }
} }
const tag = firstArg.properties.find((p) => p.key.name === 'tag')?.value const tag = firstArg.properties.find((p) => p.key.name === 'tag')?.value
const secondArgName = ['xLineTo', 'yLineTo', 'startSketchAt'].includes( const secondArgName = ['xLineTo', 'yLineTo'].includes(
// const secondArgName = ['xLineTo', 'yLineTo', 'angledLineToX', 'angledLineToY'].includes( // const secondArgName = ['xLineTo', 'yLineTo', 'angledLineToX', 'angledLineToY'].includes(
callExpression?.callee?.name callExpression?.callee?.name
) )
@ -3082,9 +3077,6 @@ export function getFirstArg(callExp: CallExpression):
if (['xLine', 'yLine', 'xLineTo', 'yLineTo'].includes(name)) { if (['xLine', 'yLine', 'xLineTo', 'yLineTo'].includes(name)) {
return getFirstArgValuesForXYLineFns(callExp) return getFirstArgValuesForXYLineFns(callExp)
} }
if (['startSketchAt'].includes(name)) {
return getFirstArgValuesForXYLineFns(callExp)
}
if (['angledLineThatIntersects'].includes(name)) { if (['angledLineThatIntersects'].includes(name)) {
return getAngledLineThatIntersects(callExp) return getAngledLineThatIntersects(callExp)
} }

View File

@ -93,7 +93,8 @@ export function isSketchVariablesLinked(
and will keep checking the second arguments recursively until it runs out of variable declarations and will keep checking the second arguments recursively until it runs out of variable declarations
to check or it finds a match. to check or it finds a match.
that way it can find fn calls that are linked to each other through variables eg: that way it can find fn calls that are linked to each other through variables eg:
const part001 = startSketchAt([0, 0]) const part001 = startSketchOn('XY')
|> startProfileAt([0, 0],%)
|> xLineTo(1.69, %) |> xLineTo(1.69, %)
|> line(end = [myVar, 0.38]) // ❗️ <- cursor in this fn call (the primary) |> line(end = [myVar, 0.38]) // ❗️ <- cursor in this fn call (the primary)
|> line(end = [0.41, baz]) |> line(end = [0.41, baz])