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
978d5d44a2
rotate a named axis ( #7087 )
...
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-19 22:11:35 +00: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
ddb034b14d
Show KCL backtraces ( #7033 )
...
* Add backtrace to errors
* Add display of backtraces with hints
* Change pane badge to only show count of errors
* Fix property name to not collide with Error superclass
* Increase min stack again
* Add e2e test that checks that the diagnostics are created in CodeMirror
* Remove unneeded code
* Change to the new hotness
2025-05-19 18:13:10 +00: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
f3e9d110c0
KCL: Default circular pattern rotateDuplicates=true, arcDegrees=360 ( #7052 )
...
KCL: Default circular pattern rotateDuplicates=true, arcDeg=360
Seems like most users would want these.
2025-05-19 14:46:00 +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
29d511d085
[Fix] Updating docs for mirror2d ( #7013 )
...
* fix: mirror2d works on closed sketches
* fix: generating docs
2025-05-17 13:00:29 -05: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
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
9906c9947a
Do not coerce unknown numbers and preserve known units if present ( #6961 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-16 10:58:21 +12:00
e489222b6a
expose mock executing to python library; ( #6980 )
...
* expose mock executing to python library;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* bump
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Update rust/kcl-python-bindings/src/lib.rs
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.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-15 12:35:29 -07:00
94f194a984
new sweep default ( #6965 )
...
snaps
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-15 11:50:55 +00:00
4fe880a970
Revert "fixes"
...
This reverts commit 8f5fbfc273
.
2025-05-15 04:28:20 -07:00
8f5fbfc273
fixes
...
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-15 04:27:59 -07: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
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
128e1093fb
Update snaps ( #6911 )
...
* update pattern entity ids since that pr merged
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-13 19:27:34 +00:00
e297f8286f
KCL: Fix incorrect error messages ( #6883 )
...
**Problem:**
KCL's xLine and yLine functions were telling users to supply either "end" or "endAbsolute" arguments. But "end" is not a valid argument for xLine/yLine, it's actually "length" instead.
**Cause:**
xLine/yLine were using a helper function designed for `line` KCL stdlib functions, which do use `end`.
**Solution**
Add a new param to the helper function, indicating what the label should be for relative lines. "end" for `line` calls, `length` for x/yline
2025-05-13 00:26:43 +00:00
a049768f1c
Move some more functions to be declared in KCL ( #6856 )
...
* Move the leg functions to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Move array functions to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Move clone to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Add a function type
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-13 08:29:38 +12:00
1240b23080
Don't truncate extrude arg docs ( #6854 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-12 16:48:30 +12:00
8445080d7a
Some improvements to math::sqrt ( #6853 )
...
* Treat number as any rather than default
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Don't square root negative numbers
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-12 16:47:01 +12:00
bbe89f56a7
Fix the KCL any type and array coercion incorrectly nesting ( #6816 )
...
* Add sim test for any type
* Fix doc comments to match code
* Add array ascription tests
* Commit new test output
* Fix to not panic when type is undefined
* Fix to not panic on use of the any type
* Update test and generated output
* Fix error message after rebase
* Fix subtype of any
* Fix KCL to use new keyword args
* Fix to not nest MixedArray in HomArray
* Update output
* Remove all creation of MixedArray and use HomArray instead
* Rename MixedArray to Tuple
* Fix to coerce arrays the way tuples are done
* Restructure to appease the type signature extraction
* Fix TS unit test
* Update output after switch to HomArray
* Update docs
* Fix to remove edge case when creating points
* Update docs with broken point signature
* Fix display of tuples to not collide with arrays
* Change push to an array with type mismatch to be an error
* Add sim test for push type error
* Fix acription to more general array element type
* Fix to coerce point types
* Change array push to not error when item type differs
* Fix coercion tests
* Change to only flatten as a last resort and remove flattening tuples
* Contort code to appease doc generation
* Update docs
* Fix coerce axes
* Fix flattening test to test arrays instead of tuples
* Remove special subtype case for singleton coercion
2025-05-12 03:57:31 +00:00
97594b9a9e
Proper type-checking where a function requires a tag identifier not just a tag ( #6848 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-12 12:57:50 +12:00
f36b69f4f0
Source range for pipe value used as unlabelled arg ( #6787 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-11 17:43:12 +12:00
7ac4a9507b
fix unwrap ( #6825 )
...
* fix unwrap
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* udaptes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-10 13:00:14 -07:00
923feadfa5
Suggest a list of possible arg labels when an argument is unlabelled ( #6755 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-09 14:28:04 +12:00
e960d4d8a4
BREAKING: Change array functions to call user function with keyword args ( #6779 )
...
* Change array functions to call user function with keyword args
* Fix KCL to use keyword params
* Remove unneeded positional call code
* Update docs
* Update output
2025-05-08 19:10:47 +00:00
b65ea8e0a9
Change pattern functions to call user function with keyword args ( #6772 )
...
* Change pattern functions to call user function with keyword args
* Fix KCL code to use unlabeled syntax
* Update generated output
2025-05-08 13:43:50 -05:00
e9f6ebb6d1
Bump modeling cmds ( #6746 )
...
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* bump modeling-cmds
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-07 21:10:18 +00:00
f938364d54
Better, faster typo checker ( #6716 )
...
* Fix typo 'horizonal'
* Fix typos
* Fix more typos
* Fix more typos
* Update CI action
* Fix typos
* Update src/lang/queryAst.test.ts
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
* Update src/lang/queryAst.test.ts
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
* Update typos
* Update snap
---------
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
2025-05-07 12:48:23 -05:00
1841e63021
Misc docs polishing ( #6712 )
...
* Fake modules for Rust std lib functions
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Include the missing @ in Rust std lib fns
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Move revolve and mirror2d to better modules
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Use docs from KCL mods for type summaries
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Use type docs to describe types from KCL std lib
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-06 16:09:59 +12:00
9c246d6621
Fix units bug with involuteCircular ( #6711 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-06 14:58:53 +12:00
9c52f5b19a
Add tags to Rust std lib functions ( #6701 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-05-06 14:14:11 +12:00
1ed6bb8a7c
change to no longer parallel for edges ( #6705 )
...
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-06 01:06:20 +00:00
89bae66257
KCL: User-defined KCL functions in examples etc now use keywords ( #6603 )
...
Preparing for the removal of positional functions from the language. The first big step is to change all our KCL code examples, test code, public samples etc to all use keyword functions.
Apologies for how large this PR is. Most of it is:
- Changing example KCL that defined its own functions, so the functions now use keyword arguments rather than positional arguments. E.g. change `cube([20, 20])` to be `cube(center = [20, 20])`.
- Some parts of the code assumed positional code and didn't handle keyword calls, e.g. the linter would only check for positional calls to startSketchOn. Now they should work with either positional or keyword.
- Update all the artifacts
This does _not_ remove support for positional calls. That will be in a follow-up PR.
2025-05-01 12:36:51 -04:00
ccd5b0272d
Add math functions back to the prelude ( #6595 )
...
* Add math functions back to the prelude
* Update output
* Update docs
2025-04-30 11:07:05 -04:00
bae875382c
Replace plane strings with literals ( #6592 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-30 05:13:11 +00:00
644c561815
Declare std::math in KCL (BREAKING) ( #6588 )
...
Declare std::math in KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-30 03:59:19 +00:00
9c29756a38
lint default planes and add a suggestion ( #6587 )
...
lint default planes and other plane cleanup
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-04-30 02:11:02 +00:00
0ea0d1703e
Remove deprecated syntax ( #6561 )
...
* Remove deprecated syntax
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* fix one test
* fix sketch on revolved face test
* fix test: empty-scene default-planes act as expected
* fix up more tests
* another fix
* remove another const
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch >
2025-04-30 13:12:40 +12:00
844f229b5a
Remove trig functions from prelude and change their unit handling (BREAKING) ( #6565 )
...
Remove trig functions from prelude and change their unit handling
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-30 12:40:11 +12:00
e0cd3efc64
fix edge cuts & clone ( #6572 )
...
* fix edge cuts & clone
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix edge_id
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* code comemnt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-04-29 16:51:52 +00:00
77e3efde9a
Deterministic parallelized snaps ( #6527 )
...
* initial pass
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 >
changes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
more updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
more updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
serde variant name
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 >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
Signed-off-by: Jess Frazelle <github@jessfraz.com >
some sort
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 >
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 >
sort the edges
Signed-off-by: Jess Frazelle <github@jessfraz.com >
fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
u[dates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
u[dates
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 >
cleanups
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 >
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 >
add bs-to-kcl
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 >
* fixes
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-04-29 13:38:52 +00:00
aca5fdb521
Remove some deprecated functions from std ( #6531 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-28 20:24:18 -04:00