f5c244dbb1
KCL: stdlib macro should now assume all functions use keywords ( #7158 )
...
This has been enforced by the parser since #6639 , so there's no need for `keywords = true` in every stdlib function anymore.
2025-05-21 21:10:40 +00: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
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
1bd570ceb9
Remove unnecessary docs ( #6559 )
...
These aren't used anymore
2025-04-28 22:42:01 +00:00
24465cf463
Parallelize the artifact graph only time suck ( #6482 )
...
* parallelize the artifact only time suck
Signed-off-by: Jess Frazelle <github@jessfraz.com >
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
make wasm safe
Signed-off-by: Jess Frazelle <github@jessfraz.com >
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* artifact graph things
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-04-27 04:21:26 +00:00
6e115c19d5
KCL: Migrate hole to kwargs ( #6382 )
...
Previously:
`|> hole(circle(radius = 2, center = p), %)`
Now:
`|> subtract2d(tool = circle(radius = 2, center = p))`
2025-04-26 15:31:51 -05:00
ffbe20b586
Kwargs: startProfileAt ( #6424 )
...
Previous:
```
startProfileAt([x, y], %)
startProfileAt([x, y], sketch001)
```
New:
```
startProfile(%, at = [x, y])
startProfile(sketch001, at = [x, y])
```
2025-04-25 21:01:35 +00:00
457ab28f74
Appearance import fixes ( #6466 )
...
* fix appearance imports
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix appearance
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-04-24 00:43:16 +00:00
b7385d5f25
Turn on units of measure (BREAKING CHANGE) ( #6343 )
...
* Turn on uom checks
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Convert all lengths to mm for engine calls
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-22 22:58:35 +00:00
bd4bad0020
allow sending async commands to engine ( #6342 )
...
* start of async
Signed-off-by: Jess Frazelle <github@jessfraz.com >
check at end if the async commands completed
Signed-off-by: Jess Frazelle <github@jessfraz.com >
run at the end of inner_run
Signed-off-by: Jess Frazelle <github@jessfraz.com >
set import as async
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 to the wasm side
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 >
* fire
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* flake
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixup for awaiting on import
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 mock
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix mock
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 >
* add a test where we import then do a bunch of other stuff
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixup to see
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fixups
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 >
* cross platform time
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 >
* another appearance tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* new docs and tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* dont loop so tight
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-04-17 17:22:19 -07:00
160f55ede5
BREAKING: More units of measure work and keyword args ( #6291 )
...
* More units of measure work
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Update CSG output since engine change
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
Co-authored-by: Nick Cameron <nrc@ncameron.org >
2025-04-14 09:58:19 +00:00
7d7b153085
Add START and END constants to std ( #6270 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-14 20:37:45 +12:00
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
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
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
1d550da40b
More types stuff ( #5901 )
...
* parse union and fancy array types
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* type aliases
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Treat Helix and Face as primitive types
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* code motion: factor our execution::types module
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Tests for type coercion and subtyping
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Add Point2D/3D to std
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Rebasing and fixes
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-03-21 10:56:55 +13: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
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