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
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
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
aca5fdb521
Remove some deprecated functions from std ( #6531 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-28 20:24:18 -04:00
efba773635
Move operations on solids to be declared in KCL ( #6462 )
...
* Declare chamfer in KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Ignore more in the simulation tests
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Declare fillet in KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Move shell and hollow to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-28 14:20:38 +12: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
b02dbd4fe6
Kwargs: leg helpers ( #6459 )
...
legLen, legAngX, legAngY moved to keyword arguments
2025-04-24 09:53:19 -05:00
668f6671a9
BREAKING: Remove angleToMatchLengthX and angleToMatchLengthY ( #6451 )
...
* Remove angleToMatchLengthX and angleToMatchLengthY from constraint code generation
* Change KCL stdlib functions to be deprecated
* Remove references from TS tests
* Remove angleToMatchLengthX and angleToMatchLengthY
* Update docs
* Fix file paths
2025-04-24 14:33:27 +00:00
83a87b046f
Declare std::offsetPlane in KCL ( #6344 )
...
* Declare std::offsetPlane in KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Use two axes to define planes in KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-24 22:01:27 +12:00
510d74f2c7
Add clone ( #5462 )
...
* 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 >
update the extrude idds
Signed-off-by: Jess Frazelle <github@jessfraz.com >
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
fix sample
Signed-off-by: Jess Frazelle <github@jessfraz.com >
better docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
fix the start and end tag
Signed-off-by: Jess Frazelle <github@jessfraz.com >
better docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
new tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
codespell
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 >
* fix examples
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fix some stuff
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 >
* add another test for fillet
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Update rust/kcl-lib/src/std/clone.rs
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add sweep test
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* revolve test;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* Update rust/kcl-lib/src/std/clone.rs
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
* add another test for fillet
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* allow cloning an imported geometry;
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* allow for imported geometry
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 >
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
2025-04-24 04:26:09 +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
f99e44e371
Kwargs: assert functions ( #6406 )
...
Closes https://github.com/KittyCAD/modeling-app/issues/6408
2025-04-22 17:44:52 +00:00
e4e18dfd4b
Coerce the result of a function call to the function's return type ( #6309 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-22 11:00:53 +12:00
90acc00369
Kwargs migration: arc/arcTo ( #6334 )
2025-04-18 17:40:44 -05:00
9e1f1152e3
Involute curve for sketch ( #6258 )
...
* WIP: Involute circles in KCL
* first pass involute end calculation
* fmt
* cleanup
* involute snapshot
* actually update markdown
* remove debug build stuff
* spacing
---------
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev >
2025-04-11 21:59:11 +01: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
a63e51e2ad
Remove import function from std ( #6241 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-11 03:11:59 +00: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
5b653fb558
Change unit conversion functions to operate on input rather than return a conversion factor ( #6181 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-08 02:21:23 +00:00
ababe24b97
Implement polar std function in KCL ( #6180 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-07 15:16:43 -05: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
d8e84cb5e3
Change default tolerance value to not depend on units ( #6055 )
2025-03-31 19:28:15 +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
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
9ddb4e629f
Stub csg functions for front end ( #5899 )
...
* initial placeholder csg functions
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* generate docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* generate docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-20 02:26:57 +00:00
b54295f2f7
get common edge ( #5869 )
...
* get common edge
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* add get common edge
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* docs
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-03-20 09:12:27 +11: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
5d25f4a0e5
Support types in the standard library ( #5651 )
...
* Parse an unparse type decls (and refactor impl attributes slightly)
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Remove special treatment of geometric types from parser and executor
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Generate docs for std types
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Hover tool-tips for types and fixup the frontend
Signed-off-by: Nick Cameron <nrc@ncameron.org >
* Fixes
Signed-off-by: Nick Cameron <nrc@ncameron.org >
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-03-07 09:53:34 -05: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