083bfe6ec2
Only consider staight lines for colinear check when doing a full revolve ( #7209 )
...
* Only consider staight lines for colinear check
* Neaten up code and add test
* Sir, a second sphere has hit the unit test
* Update test snapshots
---------
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
2025-05-27 14:44:32 +01:00
0c2785df67
Round floats in simulation tests to 3dp ( #7211 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-26 11:17:12 +12:00
fa9d5a0104
KCL: Another example of how to use hex color strings ( #7195 )
2025-05-23 23:09:37 -04:00
08dfaba7f7
Updating the rail to modern practice ( #7180 )
...
* Updating the rail to modern practice
* rename 8020 to generic T-slot
2025-05-23 20:59:44 +00:00
1f53dd1357
KCL: [number; 3] to RGB hex string color function ( #7184 )
...
Closes https://github.com/KittyCAD/modeling-app/issues/6805 . Enables users to programatically construct colors, which will be helpful for
- Applying color to visualize program execution and help debugging
- Doing weird cool shit
2025-05-23 13:53:58 -05:00
db9e35d686
Fix mirror2d selection by adding artifact graph support ( #7178 )
...
* Add artifact graph support for mirror2d
* Update output
* Disable test that can't pass
2025-05-23 11:16:36 -04:00
85ccc6900c
Do multiple chamfer/fillet in one API call ( #6750 )
...
KCL's `fillet` function takes an array of edges to fillet. Previously this would do `n` fillet API commands, one per edge. This PR combines them all into one call, which should improve performance. You can see the effect in the artifact_commands snapshots, e.g. `rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_commands.snap`
Besides performance, this should fix a bug where some KCL fillets would fail, when they should have succeeded. Example from @max-mrgrsk:
```kcl
sketch001 = startSketchOn(XY)
|> startProfile(at = [-12, -6])
|> line(end = [0, 12], tag = $seg04)
|> line(end = [24, 0], tag = $seg03)
|> line(end = [0, -12], tag = $seg02)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
|> close()
extrude001 = extrude(
sketch001,
length = 12,
tagEnd = $capEnd001,
tagStart = $capStart001,
)
|> fillet(
radius = 5,
tags = [
getCommonEdge(faces = [seg02, capEnd001]),
getCommonEdge(faces = [seg01, capEnd001]),
getCommonEdge(faces = [seg03, capEnd001]),
getCommonEdge(faces = [seg04, capEnd001])
],
)
```
This program fails on main, but succeeds on this branch.
2025-05-22 21:25:55 +00:00
04a2c184d7
KCL: Absolute point bezier curves ( #7172 )
...
Previously KCL bezier curves could only use relative control points. Now you can use absolute control points too.
Here's an example of the new arguments:
```kcl
startSketchOn(XY)
|> startProfile(at = [300, 300])
|> bezierCurve(control1Absolute = [600, 300], control2Absolute = [-300, -100], endAbsolute = [600, 300])
|> close()
|> extrude(length = 10)
```
Closes https://github.com/KittyCAD/modeling-app/issues/7083
2025-05-22 13:06:06 -04:00
825d34718a
Update telemetry antenna entity names ( #7155 )
...
* Update telemetry antenna entity names
Changed the generic sketch and profile entity names to more specific names
* Update kcl-samples simulation test output
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-21 15:46:05 +00:00
f877b52898
Update telemetry antenna ( #7150 )
...
* Update telemetry antenna
* Update kcl-samples simulation test output
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-21 10:05:56 -04:00
d9afc50f91
Nickmccleery/add more samples ( #7145 )
2025-05-21 12:27:43 +00:00
bbf4f1d251
Add title line which I didn't know did anything important. ( #7135 )
2025-05-21 09:00:21 +00:00
0f0fc39d07
Add display of array element types in error messages ( #7113 )
...
* Add test showing unhelpful error message
* Add display of array element types in error messages
* Change to prose description
* Update output
2025-05-20 20:50:24 -04:00
4212b95232
Add KCL importing relative to where you're importing from ( #7125 )
...
* add test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Add importing relative to where you're importing from
* Update output
* Remove runtime panics
* Change to debug_assert
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: Jess Frazelle <github@jessfraz.com >
2025-05-21 00:47:32 +00:00
815ff7dc2b
more subtract regression tests ( #7123 )
...
* more regression tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* snaps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* iupdates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-20 16:02:44 -07:00
c7baa26b2d
idiomatic kcl for hip sample ( #7095 )
...
* idiomatic kcl for hip sample
* Update kcl-samples simulation test output
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com >
2025-05-20 11:36:08 -07:00
c5cd460595
Show error when trying to export at non-top-level ( #7110 )
2025-05-20 12:43:11 -04:00
511334683a
test: Add regression test for importing only at the top level ( #7104 )
...
Add regression test for importing only at the top level
2025-05-20 11:43:48 -04:00
651181e62c
Restrict subdirectory imports to main.kcl ( #7094 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-20 18:13:17 +12:00
38a245f2fc
fix typos in the kcl samples ( #7078 )
...
typos
2025-05-20 05:47:33 +00:00
1b4289f93f
allow nested files imported ( #7090 )
...
* allow nested files
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* disallow bad things
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add playwright test on windows
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add playwright test on windows
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Update rust/kcl-lib/tests/nested_windows_main_kcl/unparsed@main.kcl.snap
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
2025-05-19 22:42:25 -04:00
d0697c24fd
Change Sketch to use the units of the module ( #7076 )
...
* Change Sketch to use the units of the module
* Update output
2025-05-19 20:20:47 -04:00
553e650fbe
Add brake disc to samples. ( #7059 )
...
* Add brake disc.
* Update kcl-samples simulation test output
* Update public/kcl-samples/brake-rotor/main.kcl
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
* Update public/kcl-samples/brake-rotor/main.kcl
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com >
Co-authored-by: Jess Frazelle <github@jessfraz.com >
2025-05-19 15:24:37 -07:00
978d5d44a2
rotate a named axis ( #7087 )
...
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-19 22:11:35 +00:00
9df476543a
turn on the revolve test ( #7075 )
...
* turn on the revolve test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-19 14:51:44 -07:00
cf303ebe97
Declare pattern transform functions in KCL ( #7057 )
...
* Declare pattern transform using KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Boolean function param defaults
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Parse empty record types in fn types
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-20 08:25:29 +12:00
b19acd550d
Type check and coerce arguments to user functions and return values from std Rust functions ( #6958 )
...
* Shuffle around function call code
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Refactor function calls to share more code
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Hack to leave the result of revolve as a singleton rather than array
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-19 16:50:15 +12:00
658497da1d
Allow same syntax for patterns as mirror revolve ( #7054 )
...
* allow named axis for patterns
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* images
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Fix typo
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
2025-05-19 02:25:35 +00:00
bd01059a92
more csg regression tests ( #7032 )
...
* more csg regression tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* artifacts
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-18 16:50:51 -07:00
3168c22de7
Remove false positive missing messages for other module SourceRanges ( #7050 )
2025-05-18 06:21:10 -04:00
b0a41939e8
Max's KCL samples ( #7041 )
...
* 3d models
* Update kcl-samples simulation test output
* typos
* Update kcl-samples simulation test output
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-17 11:16:22 -04:00
416de9a9fb
allow more than one tool ( #6945 )
...
* allow more than one tool
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* bump kcl
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-16 23:22:50 +00:00
e7d2289a14
Revolve adjacency info ( #7008 )
...
* check edge colinear
* cleanup
* revert cargo.toml
* revert cargo.toml properly
* undo yarn.lock
* clippy
* add new sim test
* move tolerance2
* typo
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update snap
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* push real snap
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com >
Co-authored-by: Jess Frazelle <github@jessfraz.com >
2025-05-16 22:02:30 +00:00
729e0a7949
add a subtract regression test ( #7018 )
...
* add a subtraact regression test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* also rename some github actions job so we can require them;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* artifacts
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-16 20:06:56 +00:00
a280a8c3f0
Nickmccleery/i have no idea what im doing ( #6967 )
...
* Yeet in alt param structure.
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: Jess Frazelle <github@jessfraz.com >
2025-05-16 02:16:32 +00:00
f6e26e0bab
test: Add face_code_ref to the mermaid output ( #6985 )
...
* Add face_code_ref to the mermaid output
* Update output
2025-05-15 20:14:31 -04:00
74939e5cd6
Fix execution caching to cache artifact graph NodePath ( #6978 )
...
* Fix to add NodePaths to SketchOnFace and SketchOnPlane artifacts
* Fix to only compute the new part of the artifact graph
* Change to early-return sooner when in mock mode
* Add another test
* Fix to propagate NodePath for sketch on face
* Update output
2025-05-15 19:18:03 -04:00
2516df3a39
fix my insta test fubar ( #6981 )
...
* fix my insta test fubar
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more python tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more python tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-15 13:37:12 -07:00
92fc294eae
Update mesh clone test ( #6597 )
2025-05-15 16:46:37 +00:00
94f194a984
new sweep default ( #6965 )
...
snaps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-15 11:50:55 +00:00
334145f0be
fix sketch on face of union ( #6949 )
...
* fix sketch on face of union
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* rotate the model
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-14 23:25:12 +00:00
078b7f3bf7
fix errors from the wasm side ( #6939 )
...
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* playwright tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* change order of operations
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* lint
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixups
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Revert "fixups"
This reverts commit c54fd71074
.
* fixups
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-14 13:20:46 -07:00
ce566fb6e5
Accept idents as KW args ( #6644 )
...
Support kw arg/local variable shorthand
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-15 07:42:48 +12:00
5c2dfb8e40
Support new sweep flag ( #6932 )
...
Closes https://github.com/KittyCAD/engine/issues/3115
2025-05-14 13:54:10 -05:00
696222a070
Change KCL error messages to display principal type of values ( #6906 )
2025-05-14 10:04:51 -04:00
1e487ef3bd
Include NodePath in artifact graph mermaid charts as comments ( #6884 )
...
* Display NodePath in artifact graph mermaid charts
* Update output
* Change node path display to be only comments
* Update output
* Update output after rebase
2025-05-14 05:31:58 +00:00
78b6854c6b
bump modeling-cmds, nuke slow world ( #6753 )
...
* bump modeling-cmds, nuke slow world
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more stuffs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* i mechanical engineered today
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* reverse uno your revolves
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* retry logic
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-14 04:07:24 +00:00
7944a4ce41
New single-file samples for the website ( #6670 )
...
* New single-file samples for the website
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* Delete public/kcl-samples/piston directory
* More
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* move another test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com >
Co-authored-by: Jess Frazelle <github@jessfraz.com >
2025-05-13 15:05:57 -07:00
4640f1a3ad
Teaching t2c how to counterbore, countersink, and counterdrill ( #6833 )
...
* Teaching t2c how to counterbore, countersink, and counterdrill
* Delete public/kcl-samples/parametric-bearing-pillow-block directory
* Update mounting-wire.kcl
* new artifiacts
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Update kcl-samples simulation test output
* Update kcl-samples simulation test output
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com >
Co-authored-by: Jess Frazelle <github@jessfraz.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-13 14:11:50 -07:00
cd79059d97
Subtract tests ( #6913 )
...
* add subtract test and cleanup some other tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-13 14:06:10 -07:00