From b6769889e38f1668807c7aa3157ded4dc5bd81ae Mon Sep 17 00:00:00 2001 From: mlfarrell Date: Wed, 20 Sep 2023 17:36:26 -0700 Subject: [PATCH] Handle relative paths at kcl level (#506) * handle relative paths at kcl level * fmt * update kittycad Signed-off-by: Jess Frazelle * updates Signed-off-by: Jess Frazelle * bump Signed-off-by: Jess Frazelle * fix tests Signed-off-by: Jess Frazelle --------- Signed-off-by: Jess Frazelle Co-authored-by: Jess Frazelle Co-authored-by: Jess Frazelle --- package.json | 2 +- src/wasm-lib/Cargo.lock | 28 ++++++++++-- src/wasm-lib/kcl/src/std/sketch.rs | 43 ++++++++++++------ .../member_expression_sketch_group.png | Bin 70387 -> 75496 bytes yarn.lock | 8 ++-- 5 files changed, 60 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 718cd6f7d..f1a7616cb 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@headlessui/react": "^1.7.13", "@headlessui/tailwindcss": "^0.2.0", - "@kittycad/lib": "^0.0.37", + "@kittycad/lib": "^0.0.38", "@lezer/javascript": "^1.4.7", "@open-rpc/client-js": "^1.8.1", "@react-hook/resize-observer": "^1.2.6", diff --git a/src/wasm-lib/Cargo.lock b/src/wasm-lib/Cargo.lock index cb4cb7366..2ef7ef782 100644 --- a/src/wasm-lib/Cargo.lock +++ b/src/wasm-lib/Cargo.lock @@ -226,6 +226,20 @@ dependencies = [ "num-traits", ] +[[package]] +name = "bigdecimal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "454bca3db10617b88b566f205ed190aedb0e0e6dd4cad61d3988a72e8c5594cb" +dependencies = [ + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + [[package]] name = "bincode" version = "1.3.3" @@ -1397,13 +1411,14 @@ dependencies = [ [[package]] name = "kittycad" -version = "0.2.25" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9cf962b1e81a0b4eb923a727e761b40672cbacc7f5f0b75e13579d346352bc7" +checksum = "e2623ee601ce203476229df3f9d3a14664cb43e3f7455e9ac8ed91aacaa6163d" dependencies = [ "anyhow", "async-trait", "base64 0.21.4", + "bigdecimal 0.4.1", "bytes", "chrono", "data-encoding", @@ -1465,6 +1480,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "libm" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2429,7 +2450,8 @@ version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f7b0ce13155372a76ee2e1c5ffba1fe61ede73fbea5630d61eee6fac4929c0c" dependencies = [ - "bigdecimal", + "bigdecimal 0.3.1", + "bigdecimal 0.4.1", "bytes", "chrono", "dyn-clone", diff --git a/src/wasm-lib/kcl/src/std/sketch.rs b/src/wasm-lib/kcl/src/std/sketch.rs index 68756853d..86b0374e5 100644 --- a/src/wasm-lib/kcl/src/std/sketch.rs +++ b/src/wasm-lib/kcl/src/std/sketch.rs @@ -67,6 +67,7 @@ fn inner_line_to( y: to[1], z: 0.0, }, + relative: false, }, }, )?; @@ -201,6 +202,7 @@ fn inner_line(data: LineData, sketch_group: Box, args: &mut Args) - LineData::Point(to) => *to, }; + let delta = inner_args; let to = [from.x + inner_args[0], from.y + inner_args[1]]; let id = uuid::Uuid::new_v4(); @@ -211,10 +213,11 @@ fn inner_line(data: LineData, sketch_group: Box, args: &mut Args) - path: sketch_group.id, segment: kittycad::types::PathSegment::Line { end: Point3D { - x: to[0], - y: to[1], + x: delta[0], + y: delta[1], z: 0.0, }, + relative: true, }, }, )?; @@ -349,10 +352,15 @@ fn inner_angled_line( AngledLineData::AngleWithTag { angle, length, .. } => (*angle, *length), AngledLineData::AngleAndLength(angle_and_length) => (angle_and_length[0], angle_and_length[1]), }; - let to: [f64; 2] = [ - from.x + length * f64::cos(angle.to_radians()), - from.y + length * f64::sin(angle.to_radians()), + + //double check me on this one - mike + let delta: [f64; 2] = [ + length * f64::cos(angle.to_radians()), + length * f64::sin(angle.to_radians()), ]; + let relative = true; + + let to: [f64; 2] = [from.x + delta[0], from.y + delta[1]]; let id = uuid::Uuid::new_v4(); @@ -378,10 +386,11 @@ fn inner_angled_line( path: sketch_group.id, segment: kittycad::types::PathSegment::Line { end: Point3D { - x: to[0], - y: to[1], + x: delta[0], + y: delta[1], z: 0.0, }, + relative, }, }, )?; @@ -832,9 +841,14 @@ fn inner_arc(data: ArcData, sketch_group: Box, args: &mut Args) -> angle_end: angle_end.degrees(), center: center.into(), radius, + relative: false, }, }, )?; + + // TODO: Dont do this (move path pen) - mike + // lets review what the needs are here and see if any existing arc endpoints can accomplish this + // Move the path pen to the end of the arc. // Since that is where we want to draw the next path. // TODO: the engine should automatically move the pen to the end of the arc. @@ -927,6 +941,8 @@ fn inner_bezier_curve( BezierData::Points { to, control1, control2 } => (to, control1, control2), }; + let relative = true; + let delta = to; let to = [from.x + to[0], from.y + to[1]]; let id = uuid::Uuid::new_v4(); @@ -937,20 +953,21 @@ fn inner_bezier_curve( path: sketch_group.id, segment: kittycad::types::PathSegment::Bezier { control1: Point3D { - x: from.x + control1[0], - y: from.y + control1[1], + x: control1[0], + y: control1[1], z: 0.0, }, control2: Point3D { - x: from.x + control2[0], - y: from.y + control2[1], + x: control2[0], + y: control2[1], z: 0.0, }, end: Point3D { - x: to[0], - y: to[1], + x: delta[0], + y: delta[1], z: 0.0, }, + relative, }, }, )?; diff --git a/src/wasm-lib/tests/executor/outputs/member_expression_sketch_group.png b/src/wasm-lib/tests/executor/outputs/member_expression_sketch_group.png index 6ec5801c3ccd3537eb536f6b880f8599554d69aa..364ead9ef266633b9439b797e78504c09f5131ec 100644 GIT binary patch literal 75496 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

tI@Rz6O+wnFYuB1iu-Cg*%IFk;6E}r8E?E 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 literal 70387 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 D?q}YK diff --git a/yarn.lock b/yarn.lock index 2078a9c62..3f484b51e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1530,10 +1530,10 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== -"@kittycad/lib@^0.0.37": - version "0.0.37" - resolved "https://registry.yarnpkg.com/@kittycad/lib/-/lib-0.0.37.tgz#ec4f6c4fb5d06402a19339f3374036b6582d2265" - integrity sha512-P8p9FeLV79/0Lfd0RioBta1drzhmpROnU4YV38+zsAA4LhibQCTjeekRkxVvHztGumPxz9pPsAeeLJyuz2RWKQ== +"@kittycad/lib@^0.0.38": + version "0.0.38" + resolved "https://registry.yarnpkg.com/@kittycad/lib/-/lib-0.0.38.tgz#50474266f679990bd414c30f884f2d42a0d5dba9" + integrity sha512-Lv9P7jqVRoGgOnCsRCsG8OwZH5n3scxXYrElR+5/Rsd6/KIarLB4bSBngJrXebOnmTw5md0OPeY+b3ZDbZFDeg== dependencies: node-fetch "3.3.2" openapi-types "^12.0.0"