aae34cf1e5
Deterministic artifact graph - bring back the clockwork universe ( #7483 )
...
* Change to use deterministic artifact graph
* Update output to use the new order
* Fix to clear everything when scene is cleared
* Fix lots
* Update artifact graph output for the last time
* Delete unused sorting code
* Remove unneeded cfg
* Fix to preserve top-level artifacts when there's an error
* Update output after error fix
* Add better doc comments
* Remove duplicate global operations
* Update comments
* Update ignored tests that were flaky
* Update graph for new samples after rebase
* Fix test assertion message
2025-06-16 17:55:24 +00:00
85ccc6900c
Do multiple chamfer/fillet in one API call ( #6750 )
...
KCL's `fillet` function takes an array of edges to fillet. Previously this would do `n` fillet API commands, one per edge. This PR combines them all into one call, which should improve performance. You can see the effect in the artifact_commands snapshots, e.g. `rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_commands.snap`
Besides performance, this should fix a bug where some KCL fillets would fail, when they should have succeeded. Example from @max-mrgrsk:
```kcl
sketch001 = startSketchOn(XY)
|> startProfile(at = [-12, -6])
|> line(end = [0, 12], tag = $seg04)
|> line(end = [24, 0], tag = $seg03)
|> line(end = [0, -12], tag = $seg02)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
|> close()
extrude001 = extrude(
sketch001,
length = 12,
tagEnd = $capEnd001,
tagStart = $capStart001,
)
|> fillet(
radius = 5,
tags = [
getCommonEdge(faces = [seg02, capEnd001]),
getCommonEdge(faces = [seg01, capEnd001]),
getCommonEdge(faces = [seg03, capEnd001]),
getCommonEdge(faces = [seg04, capEnd001])
],
)
```
This program fails on main, but succeeds on this branch.
2025-05-22 21:25:55 +00:00
f6e26e0bab
test: Add face_code_ref to the mermaid output ( #6985 )
...
* Add face_code_ref to the mermaid output
* Update output
2025-05-15 20:14:31 -04:00
74939e5cd6
Fix execution caching to cache artifact graph NodePath ( #6978 )
...
* Fix to add NodePaths to SketchOnFace and SketchOnPlane artifacts
* Fix to only compute the new part of the artifact graph
* Change to early-return sooner when in mock mode
* Add another test
* Fix to propagate NodePath for sketch on face
* Update output
2025-05-15 19:18:03 -04:00
2516df3a39
fix my insta test fubar ( #6981 )
...
* fix my insta test fubar
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more python tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
* more python tests
Signed-off-by: Jess Frazelle <github@jessfraz.com >
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com >
2025-05-15 13:37:12 -07: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
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
14ce66bcc1
Fix to have stable sorting for end cap artifacts ( #6589 )
...
* Fix to have stable sorting for end cap artifacts
* Update output
2025-04-30 04:34:35 +00: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
3a23ec1bee
Create std::units module ( #6528 )
...
Signed-off-by: Nick Cameron <nrc@ncameron.org >
2025-04-29 08:41:31 +12: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
8de648f0db
getCommonEdge as default way of filleting ( #6043 )
...
* Common edge faces into artifact graph
* clean up
* kingdom of tags
* add tests
* hook up tags with edge treatments
* update unit tests
* update e2e
* clean up
* more fix up after main merge
* fmt
* revolve fix
* fix new circular dependency
* fix revolve
* remove numbers from circ deps, makes diffs bad
* sim test updates
* try and get tests working
* update
* Fix tsc error
---------
Co-authored-by: max-mrgrsk <156543465+max-mrgrsk@users.noreply.github.com >
Co-authored-by: max <margorskyi@gmail.com >
Co-authored-by: Jonathan Tran <jonnytran@gmail.com >
2025-04-26 04:00:28 +00: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
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
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
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