978d5d44a2
rotate a named axis ( #7087 )
...
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-19 22:11:35 +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
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
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
bae875382c
Replace plane strings with literals ( #6592 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-30 05:13:11 +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
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
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
96e12b5aba
update transform samples with mesh moving ( #6080 )
...
* update transform samples with mesh moving
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* chjanges
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* update docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-04-02 15:11:06 -07:00
f1cccc22cd
roll pitch yaw optional, can provide only 1 ( #6115 )
...
* roll pitch yaw optional, can provide only 1
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-02 18:52:28 +00:00
964d81dc0e
transform w optional args ( #6095 )
...
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-04-01 14:23:36 -07:00
358b34de4c
Fix translate scale & better docs ( #6053 )
...
* change translate & scale to be better & docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* autocomplete
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* gen std
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* kcl-samples
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-28 21:14:29 +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
e7d00f148b
transform after fillet bug fix ( #5882 )
...
* 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 >
* rotate
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 >
* its not jsut translate
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* its not jsut translate
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-19 12:28:56 -07:00
3b1d1307c4
transform a sketch ( #5867 )
...
* transform a sketch
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 >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* 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! 📷 🐛
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* A snapshot a day keeps the bugs away! 📷 🐛
* A snapshot a day keeps the bugs away! 📷 🐛
* 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>
2025-03-18 16:36:48 -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
58e0c0e916
Improve KCL Samples ( #5767 )
...
* improve KCL Samples & .gitignore
* update block and car wheel assembly
* update flange and lego, delete flange xy
* artifacts
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 >
* scale
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 >
* 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-03-13 23:38:51 -07:00
f31c2c6f81
Import geometry work w transforms ( #5757 )
...
* make work with imported geometry
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* iupdates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* A snapshot a day keeps the bugs away! 📷 🐛 (OS: namespace-profile-ubuntu-8-cores)
* update known issues
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>
2025-03-12 01:23:21 +00: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