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": [] }