319c60d4fa
BREAKING: Change tangential arc to keyword args ( #6266 )
...
* Change tangentialArc, tangentialArcTo, and tangentialArcToRelative to keyword args
* Change tangentialArc offset to angle and convert to kw arg calls
* Fix lints
* Fix sketch errors and all unit tests passing
* Fix tangentialArcTo calls in KCL samples
* Update tangentialArc in samples
* Update sim test output
* Fix formatting
* Fix mistake in merge
* Fix gear rack sample
* Update output after more samples fixes
* Update gear rack output
* Add end label to docs snippet
* Fix to not add endAbsolute for an arc with radius or angle arguments
* Update docs outputs
* Fix formatting
* Fix executor tests
* Fix formatting
* Fix bench input files
* Fix spelling
* Improve error messages
---------
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
2025-04-11 14:17:20 -04:00
d275995dfe
KCL: Angled line should use keyword args ( #5803 )
...
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
c3097aa334
fix missing extension ( #6205 )
...
* fix missing extension
* fix e2e
* better name
2025-04-08 15:41:48 +00:00
bc22d888ee
Apply type-directed coercions to arguments in calls of user functions ( #6179 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-07 18:02:46 +12:00
aad583be2e
Move axes to std constants; move helix, revolve, and mirror2d to be declared in KCL ( #6105 )
...
Move axes to std constants; move helix, revolve, and mirror2d to be declated in KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-03 09:44:52 +00:00
efc8c82d8b
BREAKING: KCL @settings are the source of truth for units ( #5808 )
2025-03-31 10:56:03 -04:00
017fac7041
use deterministic ids in more places ( #6064 )
...
* dont redact the ids now that they are deterministic
Signed-off-by: Jess Frazelle <github@jessfraz.com >
pass arouund id generator more
Signed-off-by: Jess Frazelle <github@jessfraz.com >
change the anme space
Signed-off-by: Jess Frazelle <github@jessfraz.com >
updates and re-run
Signed-off-by: Jess Frazelle <github@jessfraz.com >
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixups
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* cleanup old files
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* cleanup old files
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-30 04:23:11 +00:00
51c16d0048
only rust changes reset scene ( #6060 )
...
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-29 11:43:42 -07:00
d1f811f91d
Boolean create UI ( #5906 )
...
* first steps, add to cmd bar etc
* cmdbar working well enough
* mvp
* lint
* fix after rebase
* intersect and union mvps
* add test
* some clean up
* further fix up
* Update src/lang/modifyAst/boolean.ts
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com >
* Update src/lang/modifyAst/boolean.ts
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com >
* pierre's comments
* tsc
* add comment
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com >
2025-03-28 03:56:48 +00:00
3b2abe5814
Declare std kwarg functions in KCL and migrate circle ( #5955 )
...
* Support calling KCL std KW fns, and move circle to KCL std
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Doc comments on parameters
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Update grammar
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Change use of counterClockWise to ccw
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-03-24 21:55:24 +13:00
dddcd5ff46
Support paths to names rather than just raw idents ( #5778 )
...
* Support paths to names rather than just raw idents
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-24 20:58:55 +13:00
eef1a28ebb
Move helix revolutions into the main helix args ( #5942 )
...
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* docs
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 >
* updaes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix
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-03-21 22:38:08 +00:00
e8feb0309b
Automatic fixing of deprecations and use non-quoted default planes by default ( #5902 )
...
* Automatic fixing of deprecations and use non-quoted default planes by default
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-21 09:39:12 +00:00
26fba71abf
Revolve changed to kw args ( #5873 )
...
* initial port
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix e2e
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update js side
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 >
* fix;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* cleanup
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-03-18 20:34:44 -07:00
a8b0e1a771
Use arrays for multiple geometry ( #5770 )
...
* Parse [T] instead of T[] for array types
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* homogenous arrays, type coercion, remove solid set and sketch set, etc
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-03-17 17:57:26 +13:00
3f02bb2065
deterministic id generator per module ( #5811 )
...
* deterministic id generator per module
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* non
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* do not remake the planes if they are alreaady made;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* do not remake the planes if they are alreaady made;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* clippy
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-15 17:08:39 +00:00
3cff26b987
make sure all enter sketch mode are with the stuff they need in the same batch order always ( #5646 )
...
* 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 >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* comment out
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update artifacts
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* small
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 >
* last of the artifacts
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update playwirght
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add crazy multi-profile test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* steps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix artifact graph
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* cleanup
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more artifact grph
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* turn back on playwright
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* playwright fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* playwright fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-13 21:59:39 -07:00
78ac5b0a11
make deterministic date cleaner ( #5777 )
...
* make deterministic date cleaner
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update all the steps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more steps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* steps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-13 18:01:47 -07:00
e894242768
Add warning when using a module with no return value ( #5771 )
...
* Add warning when using a module with no return value
* Update output files since changing source range of the pipeline argument
* Change wording of error message to not use the term unlabeled
2025-03-12 18:05:18 +00:00
865bf8ae7a
KCL: Fix cryptic error when using duplicate edges in fillet call ( #5755 )
...
Fixes https://github.com/KittyCAD/modeling-app/issues/4307
Now if you try to fillet the same edge twice in a single fillet command,
the error message is clearer, and the source range will highlight
the specific edges in the array which are duplicated.
Same goes for chamfer.
Note: although the Rust KCL interpreter sends back an array of SourceRange
for each KCL error, the frontend only puts the first one into CodeMirror
diagnostics. We should fix that: https://github.com/KittyCAD/modeling-app/issues/5754
2025-03-12 16:24:27 +00:00
d6ad4b6e66
KCL: Fix cryptic error in type mismatch ( #5735 )
...
Previous error message:
"Expected a kcl_lib::execution::geometry::SolidSet but found Sketch"
New error message:
"Expected a SolidSet but found Sketch. You can convert a sketch (2D) into a Solid (3D) by calling a function like `extrude` or `revolve`"
Two improvements:
- Don't print the fully-qualified Rust name (e.g. kcl_lib::executor::Solid) instead use the last part of that (e.g. just Solid)
- Allow specific suggestions for combinations of got/want (e.g. "You can convert a sketch (2D) into a Solid (3D) by calling a function like `extrude` or `revolve`")
Closes #5616
2025-03-10 22:53:16 -05:00
aea82e004a
KCL: Convert x/y lines to use keyword arguments ( #5615 )
...
Previously, `xLine`, `xLineTo`, `yLine` and `yLineTo` used positional arguments. Now:
- `xLineTo` and `yLineTo` have been removed
- `xLine` and `yLine` both use keyword arguments:
- `length`, optional (i.e. a relative distance along the X or Y axis)
- `endAbsolute` optional (i.e. an absolute point along the X or Y axis)
- `tag` optional
- Exactly one of `length` or `endAbsolute` must be given. Not both, not neither.
For example:
```
// Old way
|> xLine(6.04, %)
|> yLineTo(20, %, $base)
// New way
|> xLine(length = 6.04)
|> yLine(endAbsolute = 20, tag = $base)
```
This also improves some of the general-purpose keyword arguments code in modeling app's TS codebase.
2025-03-07 22:07:16 -06:00
bc3a0e3896
more updates for kcl-samples ( #5696 )
...
* screenshots and step
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* automations
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add manifest generation
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* small refactor
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update readme
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* write the readme
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixes for comments
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* derive-docs tests updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update all the generated artifact commands, since we dont need to clear scene at the start of run so we dont need to recreate all the planes
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-03-07 18:45:33 -08:00
4e1b0daacb
close websocket after test ( #5652 )
...
close the websocket properly
2025-03-06 03:09:00 +00:00
dfcea282ec
add export test so we dont break cli / kcl.py ( #5553 )
...
* add export test so we dont break cli / kcl.py
Signed-off-by: Jess Frazelle <github@jessfraz.com >
Overwrite created date (#5602 )
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-03 18:26:01 +00:00
66f3500ca9
Remove start sketch at ( #5586 )
...
* remove start sketch at
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-01 19:32:46 -05:00
c3bdc6f106
Move the wasm lib, and cleanup rust directory and all references ( #5585 )
...
* git mv src/wasm-lib rust
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* mv wasm-lib to workspace
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* mv kcl-lib
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* mv derive docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* resolve file paths
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* clippy
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* move more shit
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix more paths
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* make yarn build:wasm work
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix scripts
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixups
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* better references
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix cargo ci
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix reference
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix more ci
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* cargo sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix script
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix a dep
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* remove unused deps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Revert "remove unused deps"
This reverts commit fbabdb062e275fd5cbc1476f8480a1afee15d972.
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* deps;
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-03-01 21:59:01 +00:00