diff --git a/docs/kcl-std/functions/std-solid-chamfer.md b/docs/kcl-std/functions/std-solid-chamfer.md
index 5a890b507ca..7b87df187bf 100644
--- a/docs/kcl-std/functions/std-solid-chamfer.md
+++ b/docs/kcl-std/functions/std-solid-chamfer.md
@@ -12,6 +12,8 @@ chamfer(
@solid: Solid,
length: number(Length),
tags: [Edge; 1+],
+ secondLength?: number(Length),
+ angle?: number(Angle),
tag?: TagDecl,
): Solid
```
@@ -25,8 +27,10 @@ a sharp, straight transitional edge.
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| `solid` | [`Solid`](/docs/kcl-std/types/std-types-Solid) | The solid whose edges should be chamfered | Yes |
-| `length` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The length of the chamfer | Yes |
+| `length` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Chamfering cuts away two faces to create a third face. This is the length to chamfer away from each face. The larger this length to chamfer away, the larger the new face will be. | Yes |
| `tags` | [`[Edge; 1+]`](/docs/kcl-std/types/std-types-Edge) | The paths you want to chamfer | Yes |
+| `secondLength` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Chamfering cuts away two faces to create a third face. If this argument isn't given, the lengths chamfered away from both the first and second face are both given by `length`. If this argument _is_ given, it determines how much is cut away from the second face. Incompatible with `angle`. | No |
+| `angle` | [`number(Angle)`](/docs/kcl-std/types/std-types-number) | Chamfering cuts away two faces to create a third face. This argument determines the angle between the two cut edges. Requires `length`, incompatible with `secondLength`. The valid range is 0deg < angle < 90deg. | No |
| `tag` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | Create a new tag which refers to this chamfer | No |
### Returns
@@ -120,4 +124,37 @@ sketch001 = startSketchOn(part001, face = chamfer1)
>
+```kcl
+// Specify a custom chamfer angle.
+fn cube(pos, scale) {
+ sg = startSketchOn(XY)
+ |> startProfile(at = pos)
+ |> line(end = [0, scale])
+ |> line(end = [scale, 0])
+ |> line(end = [0, -scale])
+
+ return sg
+}
+
+part001 = cube(pos = [0, 0], scale = 20)
+ |> close(tag = $line1)
+ |> extrude(length = 20)
+ |> chamfer(length = 10, angle = 30deg, tags = [getOppositeEdge(line1)])
+
+```
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index eaa429f2f1e..4081559fead 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2512,6 +2512,7 @@
},
"node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0",
+ "extraneous": true,
"inBundle": true,
"license": "MIT",
"engines": {
diff --git a/public/kcl-samples/screenshots/surgical-drill-guide.png b/public/kcl-samples/screenshots/surgical-drill-guide.png
index c4e6dfbbccf..e69de29bb2d 100644
Binary files a/public/kcl-samples/screenshots/surgical-drill-guide.png and b/public/kcl-samples/screenshots/surgical-drill-guide.png differ
diff --git a/public/kcl-samples/screenshots/teapot.png b/public/kcl-samples/screenshots/teapot.png
index eeb9cbbc25b..e69de29bb2d 100644
Binary files a/public/kcl-samples/screenshots/teapot.png and b/public/kcl-samples/screenshots/teapot.png differ
diff --git a/public/kcl-samples/screenshots/zoo-logo.png b/public/kcl-samples/screenshots/zoo-logo.png
index 07650ba8891..e69de29bb2d 100644
Binary files a/public/kcl-samples/screenshots/zoo-logo.png and b/public/kcl-samples/screenshots/zoo-logo.png differ
diff --git a/rust/Cargo.lock b/rust/Cargo.lock
index 7c12644b27e..59e014d81b0 100644
--- a/rust/Cargo.lock
+++ b/rust/Cargo.lock
@@ -2532,9 +2532,9 @@ dependencies = [
[[package]]
name = "kittycad-modeling-cmds"
-version = "0.2.144"
+version = "0.2.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58c575ffec0c363c3cfcffcfcce8891dc365f9cbe7fe79404ed2087e7664f10c"
+checksum = "dfc08235cb273fb7b317f8f072dadfe523d809e4fca4dfcfee80490ef5965d74"
dependencies = [
"anyhow",
"chrono",
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index 51cbd272127..2a78be33093 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -29,7 +29,7 @@ kittycad = { version = "0.4.2", default-features = false, features = [
"js",
"requests",
] }
-kittycad-modeling-cmds = { version = "0.2.144", features = [
+kittycad-modeling-cmds = { version = "0.2.145", features = [
"ts-rs",
"websocket",
] }
@@ -83,6 +83,7 @@ insta = { opt-level = 3 }
debug = "line-tables-only"
#Example: how to point modeling-app at a different repo (e.g. a branch or a local clone)
-#[patch.crates-io]
-#kittycad-modeling-cmds = { path = "../../modeling-api/modeling-cmds" }
-#kittycad-modeling-session = { path = "../../modeling-api/modeling-session" }
+# [patch.crates-io]
+# kittycad-modeling-cmds = { git = "https://github.com/KittyCAD/modeling-api.git", branch = "ben/chamfer_angle" }
+# kittycad-modeling-session = { git = "https://github.com/KittyCAD/modeling-api.git", branch = "ben/chamfer_angle" }
+# #kittycad-modeling-session = { path = "../../modeling-api/modeling-session" }
diff --git a/rust/kcl-derive-docs/src/example_tests.rs b/rust/kcl-derive-docs/src/example_tests.rs
index 6fce5102e69..ce125e0ad0f 100644
--- a/rust/kcl-derive-docs/src/example_tests.rs
+++ b/rust/kcl-derive-docs/src/example_tests.rs
@@ -213,6 +213,7 @@ pub const TEST_NAMES: &[&str] = &[
"std-solid-appearance-9",
"std-solid-chamfer-0",
"std-solid-chamfer-1",
+ "std-solid-chamfer-2",
"std-solid-fillet-0",
"std-solid-fillet-1",
"std-solid-hollow-0",
diff --git a/rust/kcl-lib/src/execution/artifact.rs b/rust/kcl-lib/src/execution/artifact.rs
index 7b24a94702a..b6b4781c233 100644
--- a/rust/kcl-lib/src/execution/artifact.rs
+++ b/rust/kcl-lib/src/execution/artifact.rs
@@ -294,6 +294,7 @@ pub struct EdgeCut {
pub enum EdgeCutSubType {
Fillet,
Chamfer,
+ Custom,
}
impl From for EdgeCutSubType {
@@ -305,6 +306,16 @@ impl From for EdgeCutSubType {
}
}
+impl From for EdgeCutSubType {
+ fn from(cut_type: kcmc::shared::CutTypeV2) -> Self {
+ match cut_type {
+ kcmc::shared::CutTypeV2::Fillet { .. } => EdgeCutSubType::Fillet,
+ kcmc::shared::CutTypeV2::Chamfer { .. } => EdgeCutSubType::Chamfer,
+ kcmc::shared::CutTypeV2::Custom { .. } => EdgeCutSubType::Custom,
+ }
+ }
+}
+
#[derive(Debug, Clone, Serialize, PartialEq, ts_rs::TS)]
#[ts(export_to = "Artifact.ts")]
#[serde(rename_all = "camelCase")]
@@ -1301,6 +1312,31 @@ fn artifacts_to_update(
}
return Ok(return_arr);
}
+ ModelingCmd::Solid3dCutEdges(cmd) => {
+ let mut return_arr = Vec::new();
+ let edge_id = if let Some(edge_id) = cmd.edge_ids.first() {
+ edge_id.into()
+ } else {
+ internal_error!(range, "Solid3dCutEdges command has no edge ID: id={id:?}, cmd={cmd:?}");
+ };
+ return_arr.push(Artifact::EdgeCut(EdgeCut {
+ id,
+ sub_type: cmd.cut_type.into(),
+ consumed_edge_id: edge_id,
+ edge_ids: Vec::new(),
+ surface_id: None,
+ code_ref,
+ }));
+ let consumed_edge = artifacts.get(&edge_id);
+ if let Some(Artifact::Segment(consumed_edge)) = consumed_edge {
+ let mut new_segment = consumed_edge.clone();
+ new_segment.edge_cut_id = Some(id);
+ return_arr.push(Artifact::Segment(new_segment));
+ } else {
+ // TODO: Handle other types like SweepEdge.
+ }
+ return Ok(return_arr);
+ }
ModelingCmd::EntityMakeHelixFromParams(_) => {
let return_arr = vec![Artifact::Helix(Helix {
id,
diff --git a/rust/kcl-lib/src/std/chamfer.rs b/rust/kcl-lib/src/std/chamfer.rs
index 1b1a0fac9cb..db83ab95e04 100644
--- a/rust/kcl-lib/src/std/chamfer.rs
+++ b/rust/kcl-lib/src/std/chamfer.rs
@@ -1,14 +1,18 @@
//! Standard library chamfers.
use anyhow::Result;
-use kcmc::{ModelingCmd, each_cmd as mcmd, length_unit::LengthUnit, shared::CutType};
-use kittycad_modeling_cmds as kcmc;
+use kcmc::{
+ ModelingCmd, each_cmd as mcmd,
+ length_unit::LengthUnit,
+ shared::{CutStrategy, CutTypeV2},
+};
+use kittycad_modeling_cmds::{self as kcmc, shared::Angle};
use super::args::TyF64;
use crate::{
errors::{KclError, KclErrorDetails},
execution::{
- ChamferSurface, EdgeCut, ExecState, ExtrudeSurface, GeoMeta, KclValue, ModelingCmdMeta, Solid,
+ ChamferSurface, EdgeCut, ExecState, ExtrudeSurface, GeoMeta, KclValue, ModelingCmdMeta, Sketch, Solid,
types::RuntimeType,
},
parsing::ast::types::TagNode,
@@ -22,18 +26,26 @@ pub async fn chamfer(exec_state: &mut ExecState, args: Args) -> Result = tags.into_iter().map(|item| item.0).collect();
- let value = inner_chamfer(solid, length, tags, tag, exec_state, args).await?;
+ let value = inner_chamfer(solid, length, tags, second_length, angle, None, tag, exec_state, args).await?;
Ok(KclValue::Solid { value })
}
+#[allow(clippy::too_many_arguments)]
async fn inner_chamfer(
solid: Box,
length: TyF64,
tags: Vec,
+ second_length: Option,
+ angle: Option,
+ custom_profile: Option,
tag: Option,
exec_state: &mut ExecState,
args: Args,
@@ -47,6 +59,53 @@ async fn inner_chamfer(
)));
}
+ if angle.is_some() && second_length.is_some() {
+ return Err(KclError::new_semantic(KclErrorDetails::new(
+ "Cannot specify both an angle and a second length. Specify only one.".to_string(),
+ vec![args.source_range],
+ )));
+ }
+
+ let strategy = if second_length.is_some() || angle.is_some() || custom_profile.is_some() {
+ CutStrategy::Csg
+ } else {
+ Default::default()
+ };
+
+ let second_distance = second_length.map(|x| LengthUnit(x.to_mm()));
+ let angle = angle.map(|x| Angle::from_degrees(x.to_degrees(exec_state, args.source_range)));
+ if let Some(angle) = angle
+ && (angle.ge(&Angle::quarter_circle()) || angle.le(&Angle::zero()))
+ {
+ return Err(KclError::new_semantic(KclErrorDetails::new(
+ "The angle of a chamfer must be greater than zero and less than 90 degrees.".to_string(),
+ vec![args.source_range],
+ )));
+ }
+
+ let cut_type = if let Some(custom_profile) = custom_profile {
+ // Hide the custom profile since it's no longer its own profile
+ exec_state
+ .batch_modeling_cmd(
+ ModelingCmdMeta::from(&args),
+ ModelingCmd::from(mcmd::ObjectVisible {
+ object_id: custom_profile.id,
+ hidden: true,
+ }),
+ )
+ .await?;
+ CutTypeV2::Custom {
+ path: custom_profile.id,
+ }
+ } else {
+ CutTypeV2::Chamfer {
+ distance: LengthUnit(length.to_mm()),
+ second_distance,
+ angle,
+ swap: false,
+ }
+ };
+
let mut solid = solid.clone();
for edge_tag in tags {
let edge_id = match edge_tag {
@@ -58,15 +117,13 @@ async fn inner_chamfer(
exec_state
.batch_end_cmd(
ModelingCmdMeta::from_args_id(&args, id),
- ModelingCmd::from(mcmd::Solid3dFilletEdge {
- edge_id: None,
+ ModelingCmd::from(mcmd::Solid3dCutEdges {
edge_ids: vec![edge_id],
extra_face_ids: vec![],
- strategy: Default::default(),
+ strategy,
object_id: solid.id,
- radius: LengthUnit(length.to_mm()),
tolerance: LengthUnit(DEFAULT_TOLERANCE), // We can let the user set this in the future.
- cut_type: CutType::Chamfer,
+ cut_type,
}),
)
.await?;
diff --git a/rust/kcl-lib/std/solid.kcl b/rust/kcl-lib/std/solid.kcl
index 08b5126ae24..655069570be 100644
--- a/rust/kcl-lib/std/solid.kcl
+++ b/rust/kcl-lib/std/solid.kcl
@@ -139,14 +139,50 @@ export fn fillet(
/// |> close()
/// |> extrude(length = 10)
/// ```
+///
+/// ```
+/// // Specify a custom chamfer angle.
+/// fn cube(pos, scale) {
+/// sg = startSketchOn(XY)
+/// |> startProfile(at = pos)
+/// |> line(end = [0, scale])
+/// |> line(end = [scale, 0])
+/// |> line(end = [0, -scale])
+///
+/// return sg
+/// }
+///
+/// part001 = cube(pos = [0,0], scale = 20)
+/// |> close(tag = $line1)
+/// |> extrude(length = 20)
+/// |> chamfer(
+/// length = 10,
+/// angle = 30deg,
+/// tags = [getOppositeEdge(line1)],
+/// )
+/// ```
@(impl = std_rust, feature_tree = true)
export fn chamfer(
/// The solid whose edges should be chamfered
@solid: Solid,
- /// The length of the chamfer
+ /// Chamfering cuts away two faces to create a third face.
+ /// This is the length to chamfer away from each face.
+ /// The larger this length to chamfer away, the larger the
+ /// new face will be.
length: number(Length),
/// The paths you want to chamfer
tags: [Edge; 1+],
+ /// Chamfering cuts away two faces to create a third face.
+ /// If this argument isn't given, the lengths chamfered away from both
+ /// the first and second face are both given by `length`.
+ /// If this argument _is_ given, it determines how much is cut away
+ /// from the second face. Incompatible with `angle`.
+ secondLength?: number(Length),
+ /// Chamfering cuts away two faces to create a third face.
+ /// This argument determines the angle between the two cut edges.
+ /// Requires `length`, incompatible with `secondLength`.
+ /// The valid range is 0deg < angle < 90deg.
+ angle?: number(Angle),
/// Create a new tag which refers to this chamfer
tag?: TagDecl,
): Solid {}
diff --git a/rust/kcl-lib/tests/invalid_index_fractional/execution_error.snap b/rust/kcl-lib/tests/invalid_index_fractional/execution_error.snap
index 17498ed13ae..be801117f7d 100644
--- a/rust/kcl-lib/tests/invalid_index_fractional/execution_error.snap
+++ b/rust/kcl-lib/tests/invalid_index_fractional/execution_error.snap
@@ -1,5 +1,5 @@
---
-source: kcl/src/simulation_tests.rs
+source: kcl-lib/src/simulation_tests.rs
description: Error from executing invalid_index_fractional.kcl
---
KCL Semantic error
diff --git a/rust/kcl-lib/tests/kcl_samples/coilover-assembly/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/coilover-assembly/artifact_commands.snap
index 5e15c0e4edf..41dc334bb47 100644
--- a/rust/kcl-lib/tests/kcl_samples/coilover-assembly/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/coilover-assembly/artifact_commands.snap
@@ -182,15 +182,20 @@ description: Artifact commands coilover-assembly.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.7,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.7,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -469,15 +474,20 @@ description: Artifact commands coilover-assembly.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1641,15 +1651,20 @@ description: Artifact commands coilover-assembly.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 6.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 6.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1928,15 +1943,20 @@ description: Artifact commands coilover-assembly.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 19.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 19.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap
index 11d36a6c9d9..ca52e7e6630 100644
--- a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap
@@ -347,15 +347,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 12.7,
+ "cut_type": {
+ "chamfer": {
+ "distance": 12.7,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -364,15 +369,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 12.7,
+ "cut_type": {
+ "chamfer": {
+ "distance": 12.7,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -381,15 +391,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 12.7,
+ "cut_type": {
+ "chamfer": {
+ "distance": 12.7,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -398,15 +413,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 12.7,
+ "cut_type": {
+ "chamfer": {
+ "distance": 12.7,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -673,15 +693,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.3675960454009326,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.3675960454009326,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -948,15 +973,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.3675960454009326,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.3675960454009326,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1223,15 +1253,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.3675960454009326,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.3675960454009326,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1498,15 +1533,20 @@ description: Artifact commands counterdrilled-weldment.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.3675960454009326,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.3675960454009326,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap
index fb92ed536da..7327765faa7 100644
--- a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap
@@ -501,15 +501,20 @@ description: Artifact commands countersunk-plate.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 6.35,
+ "cut_type": {
+ "chamfer": {
+ "distance": 6.35,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -647,15 +652,20 @@ description: Artifact commands countersunk-plate.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 6.35,
+ "cut_type": {
+ "chamfer": {
+ "distance": 6.35,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap
index 28c9cea60d1..7cfae78af44 100644
--- a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap
@@ -7040,15 +7040,20 @@ description: Artifact commands cpu-cooler.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.59375,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.59375,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10439,15 +10444,20 @@ description: Artifact commands cpu-cooler.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10456,15 +10466,20 @@ description: Artifact commands cpu-cooler.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10473,15 +10488,20 @@ description: Artifact commands cpu-cooler.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10490,15 +10510,20 @@ description: Artifact commands cpu-cooler.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/engine-valve/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/engine-valve/artifact_commands.snap
index 19a6811dd10..8914b186ae9 100644
--- a/rust/kcl-lib/tests/kcl_samples/engine-valve/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/engine-valve/artifact_commands.snap
@@ -1359,15 +1359,20 @@ description: Artifact commands engine-valve.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 0.5,
+ "cut_type": {
+ "chamfer": {
+ "distance": 0.5,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/holder-rod-angle/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/holder-rod-angle/artifact_commands.snap
index 5224d4dc50e..abb74e08338 100644
--- a/rust/kcl-lib/tests/kcl_samples/holder-rod-angle/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/holder-rod-angle/artifact_commands.snap
@@ -1103,15 +1103,20 @@ description: Artifact commands holder-rod-angle.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 2.05,
+ "cut_type": {
+ "chamfer": {
+ "distance": 2.05,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1189,15 +1194,20 @@ description: Artifact commands holder-rod-angle.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 2.05,
+ "cut_type": {
+ "chamfer": {
+ "distance": 2.05,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1275,15 +1285,20 @@ description: Artifact commands holder-rod-angle.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 2.05,
+ "cut_type": {
+ "chamfer": {
+ "distance": 2.05,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1361,15 +1376,20 @@ description: Artifact commands holder-rod-angle.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 2.05,
+ "cut_type": {
+ "chamfer": {
+ "distance": 2.05,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/multi-axis-robot/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/multi-axis-robot/artifact_commands.snap
index 1cdf975f524..3bf6c09025c 100644
--- a/rust/kcl-lib/tests/kcl_samples/multi-axis-robot/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/multi-axis-robot/artifact_commands.snap
@@ -641,15 +641,20 @@ description: Artifact commands multi-axis-robot.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.8,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.8,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -658,15 +663,20 @@ description: Artifact commands multi-axis-robot.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.8,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.8,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -675,15 +685,20 @@ description: Artifact commands multi-axis-robot.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.8,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.8,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -692,15 +707,20 @@ description: Artifact commands multi-axis-robot.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.8,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.8,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/propellant-line-brackets/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/propellant-line-brackets/artifact_commands.snap
index 3c46d4a7952..df81fd5770d 100644
--- a/rust/kcl-lib/tests/kcl_samples/propellant-line-brackets/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/propellant-line-brackets/artifact_commands.snap
@@ -1381,15 +1381,20 @@ description: Artifact commands propellant-line-brackets.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.175,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.175,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1398,15 +1403,20 @@ description: Artifact commands propellant-line-brackets.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.175,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.175,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1415,15 +1425,20 @@ description: Artifact commands propellant-line-brackets.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.175,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.175,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1432,15 +1447,20 @@ description: Artifact commands propellant-line-brackets.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 3.175,
+ "cut_type": {
+ "chamfer": {
+ "distance": 3.175,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/sls/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/sls/artifact_commands.snap
index aaaff9eb2ef..f349af08356 100644
--- a/rust/kcl-lib/tests/kcl_samples/sls/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/sls/artifact_commands.snap
@@ -680,15 +680,20 @@ description: Artifact commands sls.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 500.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 500.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/surgical-drill-guide/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/surgical-drill-guide/artifact_commands.snap
index c4aafea08d4..0b04cc78340 100644
--- a/rust/kcl-lib/tests/kcl_samples/surgical-drill-guide/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/surgical-drill-guide/artifact_commands.snap
@@ -979,15 +979,20 @@ description: Artifact commands surgical-drill-guide.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 0.6666666666666666,
+ "cut_type": {
+ "chamfer": {
+ "distance": 0.6666666666666666,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1800,15 +1805,20 @@ description: Artifact commands surgical-drill-guide.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.0666666666666667,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.0666666666666667,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/telemetry-antenna/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/telemetry-antenna/artifact_commands.snap
index d576e5b9a7b..f4538a5ac52 100644
--- a/rust/kcl-lib/tests/kcl_samples/telemetry-antenna/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/telemetry-antenna/artifact_commands.snap
@@ -570,15 +570,20 @@ description: Artifact commands telemetry-antenna.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.016,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.016,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -716,15 +721,20 @@ description: Artifact commands telemetry-antenna.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.016,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.016,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -862,15 +872,20 @@ description: Artifact commands telemetry-antenna.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.016,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.016,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1008,15 +1023,20 @@ description: Artifact commands telemetry-antenna.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.016,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.016,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1154,15 +1174,20 @@ description: Artifact commands telemetry-antenna.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.016,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.016,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -1300,15 +1325,20 @@ description: Artifact commands telemetry-antenna.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.016,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.016,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/kcl_samples/walkie-talkie/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/walkie-talkie/artifact_commands.snap
index 85d8073f41d..472f3ba1f9a 100644
--- a/rust/kcl-lib/tests/kcl_samples/walkie-talkie/artifact_commands.snap
+++ b/rust/kcl-lib/tests/kcl_samples/walkie-talkie/artifact_commands.snap
@@ -573,15 +573,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 8.254999999999999,
+ "cut_type": {
+ "chamfer": {
+ "distance": 8.254999999999999,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -590,15 +595,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 8.254999999999999,
+ "cut_type": {
+ "chamfer": {
+ "distance": 8.254999999999999,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -607,15 +617,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 8.254999999999999,
+ "cut_type": {
+ "chamfer": {
+ "distance": 8.254999999999999,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -624,15 +639,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 8.254999999999999,
+ "cut_type": {
+ "chamfer": {
+ "distance": 8.254999999999999,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10137,15 +10157,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10154,15 +10179,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10423,15 +10453,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10440,15 +10475,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10709,15 +10749,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -10726,15 +10771,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -11022,15 +11072,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -11039,15 +11094,20 @@ description: Artifact commands walkie-talkie.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.27,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.27,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/outputs/models/serial_test_example_fn_std-solid-chamfer2_output.gltf b/rust/kcl-lib/tests/outputs/models/serial_test_example_fn_std-solid-chamfer2_output.gltf
new file mode 100644
index 00000000000..ed624f89689
--- /dev/null
+++ b/rust/kcl-lib/tests/outputs/models/serial_test_example_fn_std-solid-chamfer2_output.gltf
@@ -0,0 +1,1233 @@
+{
+ "accessors": [
+ {
+ "bufferView": 0,
+ "byteOffset": 0,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0.019999999552965164,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0
+ ]
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 12,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0.019999999552965164
+ ]
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 0,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.0000000000000000044408919992389534,
+ 0.019999999552965164,
+ -0
+ ]
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 12,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 3,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0,
+ -0
+ ]
+ },
+ {
+ "bufferView": 3,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 4,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0.019999999552965164,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0.005773502867668867
+ ]
+ },
+ {
+ "bufferView": 4,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 5,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0.009999999776482582,
+ -0.005773502867668867
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0
+ ]
+ },
+ {
+ "bufferView": 5,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 6,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.009999999776482582,
+ -0
+ ]
+ },
+ {
+ "bufferView": 6,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ }
+ ],
+ "asset": {
+ "generator": "zoo.dev",
+ "version": "2.0"
+ },
+ "buffers": [
+ {
+ "byteLength": 1152,
+ "uri": "data:application/octet-stream;base64,CtejPArXozynL727AACAPwAAAAAAAAAACtejPArXIzwAAACAAACAPwAAAAAAAAAACtejPAAAAAAK16O8AACAPwAAAAAAAAAACtejPArXozwK16O8AACAPwAAAAAAAAAACtejPArXozynL727AACAPwAAAAAAAAAACtejPAAAAAAK16O8AACAPwAAAAAAAAAACtejPAAAAAAAAACAAACAPwAAAAAAAAAACtejPAAAAAAK16O8AACAPwAAAAAAAAAACtejPArXIzwAAACAAACAPwAAAAAAAAAACtejPArXozwK16O8AAAAAAAAAAAAAIC/CtejPAAAAAAK16O8AAAAAAAAAAAAAIC/AAAAAArXozwK16O8AAAAAAAAAAAAAIC/AAAAAArXozwK16O8AAAAAAAAAAAAAIC/CtejPAAAAAAK16O8AAAAAAAAAAAAAIC/AAAAAAAAAAAK16O8AAAAAAAAAAAAAIC/CtejIgrXIzwAAACAAACAvwAAAAAAAAAAAAAAAArXozynL727AACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AACAvwAAAAAAAAAAAAAAAAAAAAAAAACAAACAvwAAAAAAAAAACtejIgrXIzwAAACAAACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AACAvwAAAAAAAAAAAAAAAArXozynL727AACAvwAAAAAAAAAAAAAAAArXozwK16O8AACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AAAAgAAAgL8AAACACtejPAAAAAAK16O8AAAAgAAAgL8AAACAAAAAAAAAAAAAAACAAAAAgAAAgL8AAACACtejPAAAAAAK16O8AAAAgAAAgL8AAACACtejPAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAArXozwK16O8AAAAAAAAgD8AAAAAAAAAAArXozynL727AAAAAAAAgD8AAAAACtejPArXozwK16O8AAAAAAAAgD8AAAAACtejPArXozwK16O8AAAAAAAAgD8AAAAAAAAAAArXozynL727AAAAAAAAgD8AAAAACtejPArXozynL727AAAAAAAAgD8AAAAACtejIgrXIzwAAACAAAAAgAAAAD/Xs10/CtejPArXIzwAAACAAAAAgAAAAD/Xs10/AAAAAArXozynL727AAAAgAAAAD/Xs10/CtejPArXIzwAAACAAAAAgAAAAD/Xs10/CtejPArXozynL727AAAAgAAAAD/Xs10/AAAAAArXozynL727AAAAgAAAAD/Xs10/CtejPArXIzwAAACAAAAAAAAAAAAAAIA/CtejIgrXIzwAAACAAAAAAAAAAAAAAIA/CtejPAAAAAAAAACAAAAAAAAAAAAAAIA/CtejPAAAAAAAAACAAAAAAAAAAAAAAIA/CtejIgrXIzwAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAAAAAAAAAAIA/"
+ }
+ ],
+ "bufferViews": [
+ {
+ "buffer": 0,
+ "byteLength": 216,
+ "byteOffset": 0,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 216,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 216,
+ "byteOffset": 360,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 576,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 720,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 864,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 1008,
+ "byteStride": 24,
+ "target": 34962
+ }
+ ],
+ "scene": 0,
+ "extensions": {
+ "KITTYCAD_boundary_representation": {
+ "solids": [
+ {
+ "shells": [
+ [
+ 0,
+ 1
+ ]
+ ],
+ "mesh": 0,
+ "extras": {
+ "KITTYCAD": {
+ "material": 0
+ }
+ }
+ }
+ ],
+ "shells": [
+ {
+ "faces": [
+ [
+ 0,
+ 1
+ ],
+ [
+ 1,
+ 1
+ ],
+ [
+ 2,
+ 1
+ ],
+ [
+ 3,
+ 1
+ ],
+ [
+ 4,
+ 1
+ ],
+ [
+ 5,
+ 1
+ ],
+ [
+ 6,
+ 1
+ ]
+ ]
+ }
+ ],
+ "faces": [
+ {
+ "surface": [
+ 0,
+ 1
+ ],
+ "loops": [
+ [
+ 0,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 1,
+ 1
+ ],
+ "loops": [
+ [
+ 1,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 2,
+ 1
+ ],
+ "loops": [
+ [
+ 2,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 3,
+ -1
+ ],
+ "loops": [
+ [
+ 3,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 4,
+ 1
+ ],
+ "loops": [
+ [
+ 4,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 5,
+ -1
+ ],
+ "loops": [
+ [
+ 5,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 6,
+ 1
+ ],
+ "loops": [
+ [
+ 6,
+ 1
+ ]
+ ]
+ }
+ ],
+ "loops": [
+ {
+ "edges": [
+ [
+ 0,
+ -1
+ ],
+ [
+ 1,
+ 1
+ ],
+ [
+ 2,
+ 1
+ ],
+ [
+ 3,
+ -1
+ ],
+ [
+ 4,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 5,
+ 1
+ ],
+ [
+ 6,
+ 1
+ ],
+ [
+ 7,
+ -1
+ ],
+ [
+ 2,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 8,
+ -1
+ ],
+ [
+ 6,
+ -1
+ ],
+ [
+ 9,
+ 1
+ ],
+ [
+ 10,
+ 1
+ ],
+ [
+ 11,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 9,
+ -1
+ ],
+ [
+ 5,
+ -1
+ ],
+ [
+ 1,
+ -1
+ ],
+ [
+ 12,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 13,
+ 1
+ ],
+ [
+ 3,
+ 1
+ ],
+ [
+ 7,
+ 1
+ ],
+ [
+ 8,
+ 1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 11,
+ 1
+ ],
+ [
+ 14,
+ 1
+ ],
+ [
+ 4,
+ 1
+ ],
+ [
+ 13,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 10,
+ -1
+ ],
+ [
+ 12,
+ 1
+ ],
+ [
+ 0,
+ 1
+ ],
+ [
+ 14,
+ -1
+ ]
+ ]
+ }
+ ],
+ "edges": [
+ {
+ "curve": [
+ 0,
+ 1
+ ],
+ "start": 0,
+ "end": 1,
+ "t": [
+ 0,
+ 0.010000000000000002
+ ]
+ },
+ {
+ "curve": [
+ 1,
+ 1
+ ],
+ "start": 0,
+ "end": 2,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 2,
+ 1
+ ],
+ "start": 2,
+ "end": 3,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 3,
+ 1
+ ],
+ "start": 4,
+ "end": 3,
+ "t": [
+ 0,
+ 0.014226497308103742
+ ]
+ },
+ {
+ "curve": [
+ 4,
+ 1
+ ],
+ "start": 1,
+ "end": 4,
+ "t": [
+ 0,
+ 0.011547005383792516
+ ]
+ },
+ {
+ "curve": [
+ 5,
+ 1
+ ],
+ "start": 2,
+ "end": 5,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 6,
+ 1
+ ],
+ "start": 5,
+ "end": 6,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 7,
+ 1
+ ],
+ "start": 3,
+ "end": 6,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 8,
+ 1
+ ],
+ "start": 6,
+ "end": 7,
+ "t": [
+ 0,
+ 0.014226497308103743
+ ]
+ },
+ {
+ "curve": [
+ 9,
+ 1
+ ],
+ "start": 5,
+ "end": 8,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 10,
+ 1
+ ],
+ "start": 8,
+ "end": 9,
+ "t": [
+ 0,
+ 0.010000000000000002
+ ]
+ },
+ {
+ "curve": [
+ 11,
+ 1
+ ],
+ "start": 7,
+ "end": 9,
+ "t": [
+ 0,
+ 0.011547005383792512
+ ]
+ },
+ {
+ "curve": [
+ 12,
+ 1
+ ],
+ "start": 8,
+ "end": 0,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 13,
+ 1
+ ],
+ "start": 7,
+ "end": 4,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 14,
+ 1
+ ],
+ "start": 9,
+ "end": 1,
+ "t": [
+ 0,
+ 0.019999999999999997
+ ]
+ }
+ ],
+ "vertices": [
+ [
+ 0.02,
+ 0,
+ -0
+ ],
+ [
+ 0.02,
+ 0.010000000000000002,
+ -0
+ ],
+ [
+ 0.02,
+ 0,
+ -0.02
+ ],
+ [
+ 0.02,
+ 0.02,
+ -0.02
+ ],
+ [
+ 0.02,
+ 0.020000000000000004,
+ -0.005773502691896259
+ ],
+ [
+ 0,
+ 0,
+ -0.02
+ ],
+ [
+ 0,
+ 0.02,
+ -0.02
+ ],
+ [
+ 0,
+ 0.02,
+ -0.005773502691896257
+ ],
+ [
+ 0,
+ 0,
+ -0
+ ],
+ [
+ 0.000000000000000004440892098500626,
+ 0.010000000000000002,
+ -0
+ ]
+ ],
+ "surfaces": [
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ -0,
+ 1,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ -0,
+ 1
+ ],
+ "origin": [
+ 0.02,
+ 0.01,
+ -0.01
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ -1,
+ 0
+ ],
+ "origin": [
+ 0.01,
+ 0.01,
+ -0.02
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 0,
+ 1,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ 0,
+ -1
+ ],
+ "origin": [
+ 0,
+ 0.01,
+ -0.01
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ 0,
+ -1
+ ],
+ "origin": [
+ 0,
+ 0,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ 0,
+ -1
+ ],
+ "origin": [
+ 0,
+ 0.02,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ -0.8660254037844387,
+ 0.5
+ ],
+ "origin": [
+ 0.009999999999999967,
+ 0.015,
+ -0.002886751345948128
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ -0
+ ],
+ "yAxis": [
+ -0,
+ 1,
+ 0
+ ],
+ "origin": [
+ 0.01,
+ 0.01,
+ -0
+ ]
+ }
+ }
+ ],
+ "curves3D": [
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0
+ ],
+ "direction": [
+ 0,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0
+ ],
+ "direction": [
+ 0,
+ 0,
+ -1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0.020000000000000004,
+ -0.005773502691896259
+ ],
+ "direction": [
+ 0,
+ -0.000000000000000243872182787912,
+ -1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0.010000000000000002,
+ -0
+ ],
+ "direction": [
+ 0,
+ 0.8660254037844387,
+ -0.5000000000000001
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ -1,
+ 0,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0.02,
+ -0.02
+ ],
+ "direction": [
+ -1,
+ 0,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0.02,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 0,
+ 1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 0,
+ 1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0
+ ],
+ "direction": [
+ 0.0000000000000004440892098500625,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0.02,
+ -0.005773502691896257
+ ],
+ "direction": [
+ 0.00000000000000038459253727671286,
+ -0.8660254037844387,
+ 0.5000000000000001
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0
+ ],
+ "direction": [
+ 1,
+ 0,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0.02,
+ -0.005773502691896257
+ ],
+ "direction": [
+ 1,
+ 0.0000000000000001734723475976807,
+ -0.00000000000000008673617379884034
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.000000000000000004440892098500626,
+ 0.010000000000000002,
+ -0
+ ],
+ "direction": [
+ 1,
+ 0,
+ -0
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "extensionsUsed": [
+ "KITTYCAD_boundary_representation"
+ ],
+ "materials": [
+ {
+ "alphaMode": "OPAQUE",
+ "doubleSided": false,
+ "pbrMetallicRoughness": {
+ "baseColorFactor": [
+ 0.9,
+ 0.9,
+ 0.9,
+ 1
+ ],
+ "metallicFactor": 1,
+ "roughnessFactor": 1
+ },
+ "emissiveFactor": [
+ 0,
+ 0,
+ 0
+ ]
+ }
+ ],
+ "meshes": [
+ {
+ "primitives": [
+ {
+ "attributes": {
+ "POSITION": 0,
+ "NORMAL": 1
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 2,
+ "NORMAL": 3
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 4,
+ "NORMAL": 5
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 6,
+ "NORMAL": 7
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 8,
+ "NORMAL": 9
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 10,
+ "NORMAL": 11
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 12,
+ "NORMAL": 13
+ },
+ "material": 0
+ }
+ ]
+ }
+ ],
+ "nodes": [
+ {
+ "children": [
+ 1
+ ]
+ },
+ {
+ "children": [
+ 2
+ ]
+ },
+ {
+ "extensions": {
+ "KITTYCAD_boundary_representation": {
+ "solid": 0
+ }
+ },
+ "mesh": 0
+ }
+ ],
+ "scenes": [
+ {
+ "nodes": [
+ 0
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/rust/kcl-lib/tests/outputs/models/serial_test_example_fn_std-solid-chamfer3_output.gltf b/rust/kcl-lib/tests/outputs/models/serial_test_example_fn_std-solid-chamfer3_output.gltf
new file mode 100644
index 00000000000..947311ca939
--- /dev/null
+++ b/rust/kcl-lib/tests/outputs/models/serial_test_example_fn_std-solid-chamfer3_output.gltf
@@ -0,0 +1,1233 @@
+{
+ "accessors": [
+ {
+ "bufferView": 0,
+ "byteOffset": 0,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0.019999999552965164,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0
+ ]
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 12,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0.019999999552965164
+ ]
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 0,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.0000000000000000044408919992389534,
+ 0.019999999552965164,
+ -0
+ ]
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 12,
+ "count": 9,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 3,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0,
+ -0
+ ]
+ },
+ {
+ "bufferView": 3,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 4,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0.019999999552965164,
+ -0.019999999552965164
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0.009999999776482582
+ ]
+ },
+ {
+ "bufferView": 4,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 5,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0.0000000000000000002220446154715841,
+ 0.014226497150957584,
+ -0.009999999776482582
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.019999999552965164,
+ -0
+ ]
+ },
+ {
+ "bufferView": 5,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 6,
+ "byteOffset": 0,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3",
+ "min": [
+ 0,
+ 0,
+ -0
+ ],
+ "max": [
+ 0.019999999552965164,
+ 0.014226497150957584,
+ -0
+ ]
+ },
+ {
+ "bufferView": 6,
+ "byteOffset": 12,
+ "count": 6,
+ "componentType": 5126,
+ "type": "VEC3"
+ }
+ ],
+ "asset": {
+ "generator": "zoo.dev",
+ "version": "2.0"
+ },
+ "buffers": [
+ {
+ "byteLength": 1152,
+ "uri": "data:application/octet-stream;base64,CtejPArXozwK1yO8AACAPwAAAAAAAAAACtejPEEWaTwAAACAAACAPwAAAAAAAAAACtejPAAAAAAK16O8AACAPwAAAAAAAAAACtejPArXozwK16O8AACAPwAAAAAAAAAACtejPArXozwK1yO8AACAPwAAAAAAAAAACtejPAAAAAAK16O8AACAPwAAAAAAAAAACtejPAAAAAAAAACAAACAPwAAAAAAAAAACtejPAAAAAAK16O8AACAPwAAAAAAAAAACtejPEEWaTwAAACAAACAPwAAAAAAAAAACtejPArXozwK16O8AAAAAAAAAAAAAIC/CtejPAAAAAAK16O8AAAAAAAAAAAAAIC/AAAAAArXozwK16O8AAAAAAAAAAAAAIC/AAAAAArXozwK16O8AAAAAAAAAAAAAIC/CtejPAAAAAAK16O8AAAAAAAAAAAAAIC/AAAAAAAAAAAK16O8AAAAAAAAAAAAAIC/CtejIkEWaTwAAACAAACAvwAAAAAAAAAAbxKDIArXozwK1yO8AACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AACAvwAAAAAAAAAAAAAAAAAAAAAAAACAAACAvwAAAAAAAAAACtejIkEWaTwAAACAAACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AACAvwAAAAAAAAAAbxKDIArXozwK1yO8AACAvwAAAAAAAAAAAAAAAArXozwK16O8AACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AACAvwAAAAAAAAAAAAAAAAAAAAAK16O8AAAAgAAAgL8AAACACtejPAAAAAAK16O8AAAAgAAAgL8AAACAAAAAAAAAAAAAAACAAAAAgAAAgL8AAACACtejPAAAAAAK16O8AAAAgAAAgL8AAACACtejPAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAArXozwK16O8AAAAAAAAgD8AAAAAbxKDIArXozwK1yO8AAAAAAAAgD8AAAAACtejPArXozwK16O8AAAAAAAAgD8AAAAACtejPArXozwK16O8AAAAAAAAgD8AAAAAbxKDIArXozwK1yO8AAAAAAAAgD8AAAAACtejPArXozwK1yO8AAAAAAAAgD8AAAAACtejIkEWaTwAAACAAAAAgNezXT8AAAA/CtejPEEWaTwAAACAAAAAgNezXT8AAAA/bxKDIArXozwK1yO8AAAAgNezXT8AAAA/CtejPEEWaTwAAACAAAAAgNezXT8AAAA/CtejPArXozwK1yO8AAAAgNezXT8AAAA/bxKDIArXozwK1yO8AAAAgNezXT8AAAA/CtejPEEWaTwAAACAAAAAAAAAAAAAAIA/CtejIkEWaTwAAACAAAAAAAAAAAAAAIA/CtejPAAAAAAAAACAAAAAAAAAAAAAAIA/CtejPAAAAAAAAACAAAAAAAAAAAAAAIA/CtejIkEWaTwAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAAAAAAAAAAIA/"
+ }
+ ],
+ "bufferViews": [
+ {
+ "buffer": 0,
+ "byteLength": 216,
+ "byteOffset": 0,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 216,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 216,
+ "byteOffset": 360,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 576,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 720,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 864,
+ "byteStride": 24,
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 144,
+ "byteOffset": 1008,
+ "byteStride": 24,
+ "target": 34962
+ }
+ ],
+ "scene": 0,
+ "extensions": {
+ "KITTYCAD_boundary_representation": {
+ "solids": [
+ {
+ "shells": [
+ [
+ 0,
+ 1
+ ]
+ ],
+ "mesh": 0,
+ "extras": {
+ "KITTYCAD": {
+ "material": 0
+ }
+ }
+ }
+ ],
+ "shells": [
+ {
+ "faces": [
+ [
+ 0,
+ 1
+ ],
+ [
+ 1,
+ 1
+ ],
+ [
+ 2,
+ 1
+ ],
+ [
+ 3,
+ 1
+ ],
+ [
+ 4,
+ 1
+ ],
+ [
+ 5,
+ 1
+ ],
+ [
+ 6,
+ 1
+ ]
+ ]
+ }
+ ],
+ "faces": [
+ {
+ "surface": [
+ 0,
+ 1
+ ],
+ "loops": [
+ [
+ 0,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 1,
+ 1
+ ],
+ "loops": [
+ [
+ 1,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 2,
+ 1
+ ],
+ "loops": [
+ [
+ 2,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 3,
+ -1
+ ],
+ "loops": [
+ [
+ 3,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 4,
+ 1
+ ],
+ "loops": [
+ [
+ 4,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 5,
+ -1
+ ],
+ "loops": [
+ [
+ 5,
+ 1
+ ]
+ ]
+ },
+ {
+ "surface": [
+ 6,
+ 1
+ ],
+ "loops": [
+ [
+ 6,
+ 1
+ ]
+ ]
+ }
+ ],
+ "loops": [
+ {
+ "edges": [
+ [
+ 0,
+ -1
+ ],
+ [
+ 1,
+ 1
+ ],
+ [
+ 2,
+ 1
+ ],
+ [
+ 3,
+ -1
+ ],
+ [
+ 4,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 5,
+ 1
+ ],
+ [
+ 6,
+ 1
+ ],
+ [
+ 7,
+ -1
+ ],
+ [
+ 2,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 8,
+ -1
+ ],
+ [
+ 6,
+ -1
+ ],
+ [
+ 9,
+ 1
+ ],
+ [
+ 10,
+ 1
+ ],
+ [
+ 11,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 9,
+ -1
+ ],
+ [
+ 5,
+ -1
+ ],
+ [
+ 1,
+ -1
+ ],
+ [
+ 12,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 13,
+ 1
+ ],
+ [
+ 3,
+ 1
+ ],
+ [
+ 7,
+ 1
+ ],
+ [
+ 8,
+ 1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 11,
+ 1
+ ],
+ [
+ 14,
+ 1
+ ],
+ [
+ 4,
+ 1
+ ],
+ [
+ 13,
+ -1
+ ]
+ ]
+ },
+ {
+ "edges": [
+ [
+ 10,
+ -1
+ ],
+ [
+ 12,
+ 1
+ ],
+ [
+ 0,
+ 1
+ ],
+ [
+ 14,
+ -1
+ ]
+ ]
+ }
+ ],
+ "edges": [
+ {
+ "curve": [
+ 0,
+ 1
+ ],
+ "start": 0,
+ "end": 1,
+ "t": [
+ 0,
+ 0.014226497308103743
+ ]
+ },
+ {
+ "curve": [
+ 1,
+ 1
+ ],
+ "start": 0,
+ "end": 2,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 2,
+ 1
+ ],
+ "start": 2,
+ "end": 3,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 3,
+ 1
+ ],
+ "start": 4,
+ "end": 3,
+ "t": [
+ 0,
+ 0.010000000000000012
+ ]
+ },
+ {
+ "curve": [
+ 4,
+ 1
+ ],
+ "start": 1,
+ "end": 4,
+ "t": [
+ 0,
+ 0.0115470053837925
+ ]
+ },
+ {
+ "curve": [
+ 5,
+ 1
+ ],
+ "start": 2,
+ "end": 5,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 6,
+ 1
+ ],
+ "start": 5,
+ "end": 6,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 7,
+ 1
+ ],
+ "start": 3,
+ "end": 6,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 8,
+ 1
+ ],
+ "start": 6,
+ "end": 7,
+ "t": [
+ 0,
+ 0.010000000000000012
+ ]
+ },
+ {
+ "curve": [
+ 9,
+ 1
+ ],
+ "start": 5,
+ "end": 8,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 10,
+ 1
+ ],
+ "start": 8,
+ "end": 9,
+ "t": [
+ 0,
+ 0.014226497308103743
+ ]
+ },
+ {
+ "curve": [
+ 11,
+ 1
+ ],
+ "start": 7,
+ "end": 9,
+ "t": [
+ 0,
+ 0.0115470053837925
+ ]
+ },
+ {
+ "curve": [
+ 12,
+ 1
+ ],
+ "start": 8,
+ "end": 0,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 13,
+ 1
+ ],
+ "start": 7,
+ "end": 4,
+ "t": [
+ 0,
+ 0.02
+ ]
+ },
+ {
+ "curve": [
+ 14,
+ 1
+ ],
+ "start": 9,
+ "end": 1,
+ "t": [
+ 0,
+ 0.019999999999999997
+ ]
+ }
+ ],
+ "vertices": [
+ [
+ 0.02,
+ 0,
+ -0
+ ],
+ [
+ 0.02,
+ 0.014226497308103743,
+ -0
+ ],
+ [
+ 0.02,
+ 0,
+ -0.02
+ ],
+ [
+ 0.02,
+ 0.02,
+ -0.02
+ ],
+ [
+ 0.02,
+ 0.019999999999999993,
+ -0.009999999999999988
+ ],
+ [
+ 0,
+ 0,
+ -0.02
+ ],
+ [
+ 0,
+ 0.02,
+ -0.02
+ ],
+ [
+ 0.0000000000000000002220446049250313,
+ 0.019999999999999993,
+ -0.009999999999999988
+ ],
+ [
+ 0,
+ 0,
+ -0
+ ],
+ [
+ 0.000000000000000004440892098500626,
+ 0.014226497308103743,
+ -0
+ ]
+ ],
+ "surfaces": [
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ -0,
+ 1,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ -0,
+ 1
+ ],
+ "origin": [
+ 0.02,
+ 0.01,
+ -0.01
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ -1,
+ 0
+ ],
+ "origin": [
+ 0.01,
+ 0.01,
+ -0.02
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 0,
+ 1,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ 0,
+ -1
+ ],
+ "origin": [
+ 0,
+ 0.01,
+ -0.01
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ 0,
+ -1
+ ],
+ "origin": [
+ 0,
+ 0,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ 0,
+ -1
+ ],
+ "origin": [
+ 0,
+ 0.02,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ 0
+ ],
+ "yAxis": [
+ 0,
+ -0.5000000000000001,
+ 0.8660254037844387
+ ],
+ "origin": [
+ 0.009999999999999967,
+ 0.017113248654051873,
+ -0.004999999999999999
+ ]
+ }
+ },
+ {
+ "type": "plane",
+ "plane": {
+ "xAxis": [
+ 1,
+ 0,
+ -0
+ ],
+ "yAxis": [
+ -0,
+ 1,
+ 0
+ ],
+ "origin": [
+ 0.01,
+ 0.01,
+ -0
+ ]
+ }
+ }
+ ],
+ "curves3D": [
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0
+ ],
+ "direction": [
+ 0,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0
+ ],
+ "direction": [
+ 0,
+ 0,
+ -1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0.019999999999999993,
+ -0.009999999999999988
+ ],
+ "direction": [
+ 0,
+ 0.0000000000000006938893903907219,
+ -1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0.014226497308103743,
+ -0
+ ],
+ "direction": [
+ 0,
+ 0.5,
+ -0.8660254037844387
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ -1,
+ 0,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.02,
+ 0.02,
+ -0.02
+ ],
+ "direction": [
+ -1,
+ 0,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0.02,
+ -0.02
+ ],
+ "direction": [
+ 0.000000000000000022204460492503104,
+ -0.0000000000000006938893903907219,
+ 1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0.02
+ ],
+ "direction": [
+ 0,
+ 0,
+ 1
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0
+ ],
+ "direction": [
+ 0.00000000000000031215639396852733,
+ 1,
+ 0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.0000000000000000002220446049250313,
+ 0.019999999999999993,
+ -0.009999999999999988
+ ],
+ "direction": [
+ 0.0000000000000003653629104128777,
+ -0.5,
+ 0.8660254037844387
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0,
+ 0,
+ -0
+ ],
+ "direction": [
+ 1,
+ 0,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.0000000000000000002220446049250313,
+ 0.019999999999999993,
+ -0.009999999999999988
+ ],
+ "direction": [
+ 1,
+ 0,
+ -0
+ ]
+ }
+ },
+ {
+ "type": "line",
+ "line": {
+ "origin": [
+ 0.000000000000000004440892098500626,
+ 0.014226497308103743,
+ -0
+ ],
+ "direction": [
+ 1,
+ 0,
+ -0
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "extensionsUsed": [
+ "KITTYCAD_boundary_representation"
+ ],
+ "materials": [
+ {
+ "alphaMode": "OPAQUE",
+ "doubleSided": false,
+ "pbrMetallicRoughness": {
+ "baseColorFactor": [
+ 0.9,
+ 0.9,
+ 0.9,
+ 1
+ ],
+ "metallicFactor": 1,
+ "roughnessFactor": 1
+ },
+ "emissiveFactor": [
+ 0,
+ 0,
+ 0
+ ]
+ }
+ ],
+ "meshes": [
+ {
+ "primitives": [
+ {
+ "attributes": {
+ "POSITION": 0,
+ "NORMAL": 1
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 2,
+ "NORMAL": 3
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 4,
+ "NORMAL": 5
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 6,
+ "NORMAL": 7
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 8,
+ "NORMAL": 9
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 10,
+ "NORMAL": 11
+ },
+ "material": 0
+ },
+ {
+ "attributes": {
+ "POSITION": 12,
+ "NORMAL": 13
+ },
+ "material": 0
+ }
+ ]
+ }
+ ],
+ "nodes": [
+ {
+ "children": [
+ 1
+ ]
+ },
+ {
+ "children": [
+ 2
+ ]
+ },
+ {
+ "extensions": {
+ "KITTYCAD_boundary_representation": {
+ "solid": 0
+ }
+ },
+ "mesh": 0
+ }
+ ],
+ "scenes": [
+ {
+ "nodes": [
+ 0
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString0.png
index 67e14c9a30a..e10a3e5861c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString1.png
index b4c504e0a7b..613b3bdc940 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString2.png
index 34581071f3f..e51c184572a 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString3.png
index e50aab7c93c..5689781e86e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-appearance-hexString3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map0.png
index 0e2d23fbb60..53b8d9bcd84 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map1.png
index 0e2d23fbb60..53b8d9bcd84 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-array-map1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone0.png
index 00d647ab2f2..0780bbdc5ef 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone1.png
index 58d8020430f..e006c0cb32c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone2.png
index 46091f85dd7..bbe3caa2aba 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone3.png
index 1ca8f20b3df..50e6e791709 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone5.png
index 4b7e1451caa..18dd27538c5 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone6.png
index 12449e69462..5b497068abc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone7.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone7.png
index 2598527acf2..806d2a45ade 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone7.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone7.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone8.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone8.png
index 6875604fd04..045f3c7348c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone8.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-clone8.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-datum0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-datum0.png
index bfb244c858e..6c02fe4232f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-datum0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-datum0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness0.png
index 4414104baa1..9abb77e3f31 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness1.png
index 95a2da4635d..473a3338cd3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness2.png
index 3a26506edbb..3e62384618f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-gdt-flatness2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix0.png
index 5d77d80d62c..2740c7e7811 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix1.png
index 04de1200be9..8f28992750f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix2.png
index 7bcdd9df028..0e2cb4fdffd 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix3.png
index 91906f3d13b..039223090ea 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-helix3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-abs0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-abs0.png
index 3b74a9d67fa..86824ae1a76 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-abs0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-abs0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-acos0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-acos0.png
index 67721122ed5..96854cd48e3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-acos0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-acos0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-asin0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-asin0.png
index 9b0086a0691..d2e8c427c9b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-asin0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-asin0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-atan20.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-atan20.png
index 5cf41fc4ac5..bfa1d754588 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-atan20.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-atan20.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ceil0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ceil0.png
index 90b1439d85a..11d2fb17fd3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ceil0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ceil0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-cos0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-cos0.png
index de964298aa2..4e1d021a4e3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-cos0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-cos0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-floor0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-floor0.png
index e7639da8add..38a378d0242 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-floor0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-floor0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ln0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ln0.png
index 58e8a5e20ee..bcc9ef6ddcc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ln0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-ln0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log0.png
index faffc148ef9..23c2f6213bb 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log100.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log100.png
index dfea2eaaf1d..3d1f4af91de 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log100.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log100.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log20.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log20.png
index 88cd4a2af55..77747fae033 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log20.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-log20.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-max0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-max0.png
index 4adec4f05cb..745b3c33b47 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-max0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-max0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-min0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-min0.png
index de43b9f4a12..cfc7d100176 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-min0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-min0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-polar0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-polar0.png
index 0d090feaeb8..5d55db9dcae 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-polar0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-polar0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-pow0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-pow0.png
index 4b323f4bac0..e56894c75a9 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-pow0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-pow0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-round0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-round0.png
index e7639da8add..38a378d0242 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-round0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-round0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sin0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sin0.png
index cc39c275363..4176664b1c7 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sin0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sin0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sqrt0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sqrt0.png
index 8076e3070fa..968276e987f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sqrt0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-sqrt0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-tan0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-tan0.png
index b7d4b8f9823..2f9a6c7db05 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-tan0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-math-tan0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane0.png
index dd6ba914eea..7d8478e010f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane1.png
index 2347dc18ba0..6ef176b5b72 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane2.png
index 000b9f270ee..27b9a57e298 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane3.png
index f434be0d964..d95b4b54e3a 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-offsetPlane3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLine0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLine0.png
index ca458d08440..ee6aeefc61c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLine0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLine0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLineThatIntersects0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLineThatIntersects0.png
index 027de81c8e9..1222a7eba6d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLineThatIntersects0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-angledLineThatIntersects0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc0.png
index 5d8bf423192..74ccfbb3bac 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc1.png
index e97fcb56433..c47d4c28bc7 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-arc1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve0.png
index 98993578df9..f3e498dc2cc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve1.png
index 4e31a285415..9c174cb2e66 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-bezierCurve1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle0.png
index 5bd91244786..c452a36e70f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle1.png
index b085a4fc503..d1ba53b8183 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circle1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circleThreePoint0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circleThreePoint0.png
index 5225d07ac78..b37e7315cd4 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circleThreePoint0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-circleThreePoint0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close0.png
index 55b5a91b22a..d975e26ef7f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close1.png
index da02d90e051..675d02d9d6d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-close1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-conic0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-conic0.png
index 9022e1c5868..edee0a2d91b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-conic0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-conic0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-ellipse0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-ellipse0.png
index 4a83888fdac..bd4732fa773 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-ellipse0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-ellipse0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-elliptic0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-elliptic0.png
index 45625eadbcb..d6c52a422f7 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-elliptic0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-elliptic0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude0.png
index 5fc64f6cf3c..f9ef292d8f2 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude1.png
index b64c03eb3cd..871c8c76aac 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude2.png
index ccd5606c574..a7abd437b94 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude3.png
index bcbfba7840b..ee077943f9d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude4.png
index 1131a85d0df..3c0953406b3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude5.png
index de5830b1695..f8f47ea6538 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude6.png
index 6095ceb2272..b84f37612e9 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-extrude6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getCommonEdge0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getCommonEdge0.png
index 1bfd26418c2..d50a90206f2 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getCommonEdge0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getCommonEdge0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getNextAdjacentEdge0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getNextAdjacentEdge0.png
index 8c0718cb9a7..c26d11125c7 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getNextAdjacentEdge0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getNextAdjacentEdge0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getOppositeEdge0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getOppositeEdge0.png
index fdeab01d1d1..108b9e13fa5 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getOppositeEdge0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getOppositeEdge0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getPreviousAdjacentEdge0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getPreviousAdjacentEdge0.png
index 92ef3745dec..6399a08e8b9 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getPreviousAdjacentEdge0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-getPreviousAdjacentEdge0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegX0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegX0.png
index 44d5cc75af3..cfda581092d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegX0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegX0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegY0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegY0.png
index 90c9c22af74..ed9700b67c6 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegY0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-lastSegY0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-line0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-line0.png
index ec3f707fe1f..9dff04e8fcf 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-line0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-line0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft0.png
index 7dafae778f5..7dda79d334c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft1.png
index 4a2d1008f49..559691ecc1e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft2.png
index 4a2d1008f49..559691ecc1e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-loft2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternCircular2d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternCircular2d0.png
index e81908be06a..f5f72c0bb01 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternCircular2d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternCircular2d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d0.png
index a84c6737af5..c65a10762c8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d1.png
index a84c6737af5..c65a10762c8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternLinear2d1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternTransform2d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternTransform2d0.png
index 1df4cde0cb4..c29e609ca4e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternTransform2d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-patternTransform2d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-planeOf0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-planeOf0.png
index 2b29b2549cf..9c28cd2fd26 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-planeOf0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-planeOf0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon0.png
index f990930b991..6aa571b9f06 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon1.png
index cf30c9306bd..eb3d35b97f7 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-polygon1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-profileStart0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-profileStart0.png
index 092ea1decb0..c25c7f6ae53 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-profileStart0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-profileStart0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve0.png
index e363b267a1e..a1b61e969b5 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve1.png
index f6cfde3de07..b8ca577edf4 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve10.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve10.png
index 7712b390cb6..3926342b41f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve10.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve10.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve11.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve11.png
index 595857be029..9b51de0ef9d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve11.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve11.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve12.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve12.png
index c4868e42034..47725647d29 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve12.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve12.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve2.png
index 6875604fd04..045f3c7348c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve3.png
index 87f07dc48f3..0ca6217210e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve4.png
index 0425871880d..85f1b52ebad 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve5.png
index ddbe3868c33..86299e87a43 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve6.png
index ddbe3868c33..86299e87a43 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve7.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve7.png
index 2330dd4a8c3..993f8228ce4 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve7.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve7.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve8.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve8.png
index 015145621de..40887e6e05e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve8.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve8.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve9.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve9.png
index 79f0f1db8e4..6f9f3833079 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve9.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-revolve9.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segAng0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segAng0.png
index 46ca8d4224d..8070e692c6c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segAng0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segAng0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEnd0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEnd0.png
index 57e8d31764b..9197c07299e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEnd0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEnd0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndX0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndX0.png
index e52cdc4df73..8b8c4c0af34 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndX0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndX0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndY0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndY0.png
index fc322228e8d..3e78c1c6433 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndY0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segEndY0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segLen0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segLen0.png
index 9a0bcff41cc..ea9db243fd7 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segLen0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segLen0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStart0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStart0.png
index cbe006bfa25..39848a8d572 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStart0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStart0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartX0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartX0.png
index e52cdc4df73..8b8c4c0af34 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartX0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartX0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartY0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartY0.png
index 3592ea952b0..99bfa455c79 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartY0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-segStartY0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile0.png
index a7cbc75e1c0..ee26ca9f259 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile1.png
index 4fa95667ee6..8759108614d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile2.png
index 1c0359e1149..32bbc4e2f89 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startProfile2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn0.png
index 787bf61bfe6..e10bbbb439d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn1.png
index 787bf61bfe6..e10bbbb439d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn2.png
index 14c36c71a3a..d346c6250a2 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn3.png
index 87f07dc48f3..0ca6217210e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn4.png
index 87f07dc48f3..0ca6217210e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn5.png
index 65b5fe20523..98c6af8d56a 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn6.png
index 7856a0d2404..4944da264ee 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-startSketchOn6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d0.png
index 29c49084497..7274c63a02f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d1.png
index 399c5e7c484..e2e387ddc5a 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-subtract2d1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep0.png
index bb481d2b991..75f1d8b3059 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep1.png
index 12449e69462..5b497068abc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep2.png
index b0324e2ff20..b784d2fd020 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep3.png
index 9b23c9461f7..3473d5ff9a5 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-sweep3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd0.png
index 0983f839601..94a090063ef 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd1.png
index 67bc22ba317..bda86932634 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd2.png
index ea131cddd34..6b2b56cfd54 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd3.png
index 3e487889947..ae42c9996be 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentToEnd3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc0.png
index f73ecd75583..78072e60243 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc1.png
index 3ca65ffc281..d92b081fc86 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc2.png
index f569cb166e6..55cad2cab12 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-tangentialArc2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-xLine0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-xLine0.png
index c7573a4b810..ce8ada7c9ad 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-xLine0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-xLine0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-yLine0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-yLine0.png
index 048e9c1a216..c4e31356fe9 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-yLine0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-sketch-yLine0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance0.png
index 64894a9083c..33aa8f1c79e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance1.png
index 9f699ed1dca..9408e5c4e27 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance2.png
index 9735c27cc61..f2d494b943c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance3.png
index e1123193d36..60673e85626 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance4.png
index e1123193d36..60673e85626 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance5.png
index fd7adeacb8d..6da873eb9fb 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance6.png
index fd7adeacb8d..6da873eb9fb 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance7.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance7.png
index 9303672f401..0187f211450 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance7.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance7.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance8.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance8.png
index f1a36d4d645..1e58ba3e93f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance8.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance8.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance9.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance9.png
index 2924f716b1c..4abb18215f4 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance9.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-appearance9.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer0.png
index bf628eed0d7..10073916d69 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer1.png
index 7fd038c335c..38c65b040c8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer2.png
new file mode 100644
index 00000000000..04cfe1e5716
Binary files /dev/null and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-chamfer2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet0.png
index 143beef9515..af9bc0704d2 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet1.png
index d3ab4b65d0f..ba58559acd8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-fillet1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow0.png
index 0ac8bf9b3f6..4cc76cec42f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow1.png
index 0eb238b5d06..27b287d27dc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow2.png
index e9f2fc5bdf6..47adaba8fa0 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-hollow2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect0.png
index 21d9ba09df3..1f8dd37fb8f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect1.png
index 21d9ba09df3..1f8dd37fb8f 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-intersect1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d0.png
index 625901bbfe9..8132193b73e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d1.png
index d09f964932c..e55bd6b8b2e 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternCircular3d1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d0.png
index 4becafc0a61..1b8de473dc8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d1.png
index b0f37b7d046..22b8ac1ff3c 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d2.png
index 12fd8da2415..d280d58ab55 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d3.png
index e73af4e6338..c4612e69e97 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternLinear3d3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform0.png
index e6f80e09e06..eb8f4406bed 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform1.png
index 6a579736999..cc8ea25bad6 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform2.png
index c814e87c707..d275b7b22a8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform3.png
index c4e8f7f6b38..c4db542d85d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform4.png
index 50462a448d1..57bddef80e8 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform5.png
index 9e908f728c6..1e043ef0c14 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-patternTransform5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell0.png
index 5a6b56ef772..254e2189076 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell1.png
index 9c870d76dff..004b0b99858 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell2.png
index 4ab019b58bc..c1b3c6d0e30 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell3.png
index e7cdb17ee20..d3b45916e48 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell4.png
index 68815369264..5528ca74e1b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell5.png
index b7c4a63ef8a..0832838c9cd 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell6.png
index ba5cf966ac6..82f554bc174 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-shell6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract0.png
index 2b61de7bdd9..43242459aaa 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract1.png
index 2b61de7bdd9..43242459aaa 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-subtract1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union0.png
index 83c16ba23d4..42d20711d5b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union1.png
index 83c16ba23d4..42d20711d5b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union2.png
index 83c16ba23d4..42d20711d5b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-solid-union2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d0.png
index c37a0c249f1..1a2e2e9275b 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d1.png
index 230380dbb5c..80a6bd6a5c3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d3.png
index 230380dbb5c..80a6bd6a5c3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d4.png
index a7d238da759..c9a8918921d 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-mirror2d4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate0.png
index f96c08f8c93..7a10b90e101 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate1.png
index 3ff890493ba..980a1417d86 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate2.png
index bbb603c516e..74cb5ff21ca 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate4.png
index bbb603c516e..74cb5ff21ca 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate5.png
index 885fe9ff2bf..3e3dd8959dc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate6.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate6.png
index 46091f85dd7..bbe3caa2aba 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate6.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-rotate6.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale0.png
index 5b4d6f08673..14629d3ac56 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale2.png
index 4726a4bbec4..2c9c27cf1bc 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-scale2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate0.png
index 29e9adc3114..a557245d7b6 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate1.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate1.png
index ca1a057a841..22af2f9c2a3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate1.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate1.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate2.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate2.png
index ca1a057a841..22af2f9c2a3 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate2.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate2.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate3.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate3.png
index e8a7e8e4576..ff1a94ce377 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate3.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate3.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate4.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate4.png
index a3467211ba9..b9596f92457 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate4.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate4.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate5.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate5.png
index 46091f85dd7..bbe3caa2aba 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate5.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-transform-translate5.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toDegrees0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toDegrees0.png
index 95c6ddffab0..98db19e7da9 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toDegrees0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toDegrees0.png differ
diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toRadians0.png b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toRadians0.png
index 95c6ddffab0..98db19e7da9 100644
Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toRadians0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_fn_std-units-toRadians0.png differ
diff --git a/rust/kcl-lib/tests/pattern_into_union/artifact_graph_flowchart.snap.md b/rust/kcl-lib/tests/pattern_into_union/artifact_graph_flowchart.snap.md
index b8568aaf995..706ffb94470 100644
--- a/rust/kcl-lib/tests/pattern_into_union/artifact_graph_flowchart.snap.md
+++ b/rust/kcl-lib/tests/pattern_into_union/artifact_graph_flowchart.snap.md
@@ -141,44 +141,6 @@ flowchart LR
%% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
85["CompositeSolid Union
[1939, 1960, 0]"]
%% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 86["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 87["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 88["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 89["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 90["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 91["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 92["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 93["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 94["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 95["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 96["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 97["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 98["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 99["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 100["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 101["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 102["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 103["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
- 104["CompositeSolid Union
[1939, 1960, 0]"]
- %% [ProgramBodyItem { index: 15 }, ExpressionStatementExpr]
1 --- 2
2 --- 3
2 --- 4
@@ -190,26 +152,7 @@ flowchart LR
2 --- 10
2 --- 11
2 ---- 12
- 2 <--x 85
- 2 <--x 86
- 2 <--x 87
- 2 <--x 88
- 2 <--x 89
- 2 <--x 90
- 2 <--x 91
- 2 <--x 92
- 2 <--x 93
- 2 <--x 94
- 2 <--x 95
- 2 <--x 96
- 2 <--x 97
- 2 <--x 98
- 2 <--x 99
- 2 <--x 100
- 2 <--x 101
- 2 <--x 102
- 2 <--x 103
- 2 --- 104
+ 2 --- 85
3 --- 13
3 x--> 22
3 --- 23
@@ -307,26 +250,7 @@ flowchart LR
40 --- 44
40 --- 45
40 ---- 46
- 40 <--x 85
- 40 <--x 86
- 40 <--x 87
- 40 <--x 88
- 40 <--x 89
- 40 <--x 90
- 40 <--x 91
- 40 <--x 92
- 40 <--x 93
- 40 <--x 94
- 40 <--x 95
- 40 <--x 96
- 40 <--x 97
- 40 <--x 98
- 40 <--x 99
- 40 <--x 100
- 40 <--x 101
- 40 <--x 102
- 40 <--x 103
- 40 --- 104
+ 40 --- 85
41 --- 47
41 x--> 52
41 --- 53
@@ -428,194 +352,4 @@ flowchart LR
80 <--x 74
82 <--x 74
81 <--x 84
- 86 x--> 85
- 87 x--> 85
- 88 x--> 85
- 89 x--> 85
- 90 x--> 85
- 91 x--> 85
- 92 x--> 85
- 93 x--> 85
- 94 x--> 85
- 95 x--> 85
- 96 x--> 85
- 97 x--> 85
- 98 x--> 85
- 99 x--> 85
- 100 x--> 85
- 101 x--> 85
- 102 x--> 85
- 103 x--> 85
- 104 x--> 85
- 87 --- 86
- 88 --- 86
- 89 --- 86
- 90 --- 86
- 91 --- 86
- 92 --- 86
- 93 --- 86
- 94 --- 86
- 95 --- 86
- 96 --- 86
- 97 --- 86
- 98 --- 86
- 99 --- 86
- 100 --- 86
- 101 --- 86
- 102 --- 86
- 103 --- 86
- 104 --- 86
- 88 --- 87
- 89 --- 87
- 90 --- 87
- 91 --- 87
- 92 --- 87
- 93 --- 87
- 94 --- 87
- 95 --- 87
- 96 --- 87
- 97 --- 87
- 98 --- 87
- 99 --- 87
- 100 --- 87
- 101 --- 87
- 102 --- 87
- 103 --- 87
- 104 --- 87
- 89 --- 88
- 90 --- 88
- 91 --- 88
- 92 --- 88
- 93 --- 88
- 94 --- 88
- 95 --- 88
- 96 --- 88
- 97 --- 88
- 98 --- 88
- 99 --- 88
- 100 --- 88
- 101 --- 88
- 102 --- 88
- 103 --- 88
- 104 --- 88
- 90 --- 89
- 91 --- 89
- 92 --- 89
- 93 --- 89
- 94 --- 89
- 95 --- 89
- 96 --- 89
- 97 --- 89
- 98 --- 89
- 99 --- 89
- 100 --- 89
- 101 --- 89
- 102 --- 89
- 103 --- 89
- 104 --- 89
- 91 --- 90
- 92 --- 90
- 93 --- 90
- 94 --- 90
- 95 --- 90
- 96 --- 90
- 97 --- 90
- 98 --- 90
- 99 --- 90
- 100 --- 90
- 101 --- 90
- 102 --- 90
- 103 --- 90
- 104 --- 90
- 92 --- 91
- 93 --- 91
- 94 --- 91
- 95 --- 91
- 96 --- 91
- 97 --- 91
- 98 --- 91
- 99 --- 91
- 100 --- 91
- 101 --- 91
- 102 --- 91
- 103 --- 91
- 104 --- 91
- 93 --- 92
- 94 --- 92
- 95 --- 92
- 96 --- 92
- 97 --- 92
- 98 --- 92
- 99 --- 92
- 100 --- 92
- 101 --- 92
- 102 --- 92
- 103 --- 92
- 104 --- 92
- 94 --- 93
- 95 --- 93
- 96 --- 93
- 97 --- 93
- 98 --- 93
- 99 --- 93
- 100 --- 93
- 101 --- 93
- 102 --- 93
- 103 --- 93
- 104 --- 93
- 95 --- 94
- 96 --- 94
- 97 --- 94
- 98 --- 94
- 99 --- 94
- 100 --- 94
- 101 --- 94
- 102 --- 94
- 103 --- 94
- 104 --- 94
- 96 --- 95
- 97 --- 95
- 98 --- 95
- 99 --- 95
- 100 --- 95
- 101 --- 95
- 102 --- 95
- 103 --- 95
- 104 --- 95
- 97 --- 96
- 98 --- 96
- 99 --- 96
- 100 --- 96
- 101 --- 96
- 102 --- 96
- 103 --- 96
- 104 --- 96
- 98 --- 97
- 99 --- 97
- 100 --- 97
- 101 --- 97
- 102 --- 97
- 103 --- 97
- 104 --- 97
- 99 --- 98
- 100 --- 98
- 101 --- 98
- 102 --- 98
- 103 --- 98
- 104 --- 98
- 100 --- 99
- 101 --- 99
- 102 --- 99
- 103 --- 99
- 104 --- 99
- 101 --- 100
- 102 --- 100
- 103 --- 100
- 104 --- 100
- 102 --- 101
- 103 --- 101
- 104 --- 101
- 103 --- 102
- 104 --- 102
- 104 --- 103
```
diff --git a/rust/kcl-lib/tests/pattern_into_union/rendered_model.png b/rust/kcl-lib/tests/pattern_into_union/rendered_model.png
index e69c5cbe753..307c530f248 100644
Binary files a/rust/kcl-lib/tests/pattern_into_union/rendered_model.png and b/rust/kcl-lib/tests/pattern_into_union/rendered_model.png differ
diff --git a/rust/kcl-lib/tests/plane_of_chamfer/artifact_commands.snap b/rust/kcl-lib/tests/plane_of_chamfer/artifact_commands.snap
index f8327ab7b2d..38bf62c78d0 100644
--- a/rust/kcl-lib/tests/plane_of_chamfer/artifact_commands.snap
+++ b/rust/kcl-lib/tests/plane_of_chamfer/artifact_commands.snap
@@ -208,15 +208,20 @@ description: Artifact commands plane_of_chamfer.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 1.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 1.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/artifact_commands.snap b/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/artifact_commands.snap
index 1e24184a259..eecc69eca7d 100644
--- a/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/artifact_commands.snap
+++ b/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/artifact_commands.snap
@@ -240,15 +240,20 @@ description: Artifact commands sketch-on-chamfer-two-times-different-order.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -257,15 +262,20 @@ description: Artifact commands sketch-on-chamfer-two-times-different-order.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
diff --git a/rust/kcl-lib/tests/sketch-on-chamfer-two-times/artifact_commands.snap b/rust/kcl-lib/tests/sketch-on-chamfer-two-times/artifact_commands.snap
index 8dc0504a000..4d7c56912ea 100644
--- a/rust/kcl-lib/tests/sketch-on-chamfer-two-times/artifact_commands.snap
+++ b/rust/kcl-lib/tests/sketch-on-chamfer-two-times/artifact_commands.snap
@@ -230,15 +230,20 @@ description: Artifact commands sketch-on-chamfer-two-times.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}
@@ -257,15 +262,20 @@ description: Artifact commands sketch-on-chamfer-two-times.kcl
"cmdId": "[uuid]",
"range": [],
"command": {
- "type": "solid3d_fillet_edge",
+ "type": "solid3d_cut_edges",
"object_id": "[uuid]",
- "edge_id": null,
"edge_ids": [
"[uuid]"
],
- "radius": 50.0,
+ "cut_type": {
+ "chamfer": {
+ "distance": 50.0,
+ "second_distance": null,
+ "angle": null,
+ "swap": false
+ }
+ },
"tolerance": 0.0000001,
- "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
}