* Give a warning when using per-project default units
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Factor non-settings out of MetaSettings
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix formatting
* Fix code pane e2e test
* Fix callstack blowup in edit flow
* Avoid dumb timeout issue with command registration in test
* Use a safer way to wait for modeling command registration in test
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* 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>
* 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>
* Add more tests for sweep sectional
* A snapshot a day keeps the bugs away! 📷🐛
* Add rust doc test for sectional
* A snapshot a day keeps the bugs away! 📷🐛
* Ran redo-kcl-stdlib-docs
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* WIP: Expose the sectional argument in the Sweep command flow
Fixes#5301
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Working edit flow
* Lint
* Allow in place editing, more consistent code
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Remove validation on non-selection arg
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Comment out bad test
* Clean up for review
* Hack sectional
* Made selection args hidden
* Fix edit issue in e2e
* Clean up
* Add face filtering filter for opposite and next adjacent faces
* Lint
* Fixme back
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Use updateModelingState in codemod
* 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! 📷🐛
* 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! 📷🐛
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Improve filtering readibility
* Fix base test
* I liked return but clippy didn't
* Working tests, isolating the change to sectional sweep, don't like the api change
* 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! 📷🐛
* Clean up snapshots
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 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>
* Ensure batches in the engine are cleared between scenes
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Avoid panicking reading arguments out of bounds
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* 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>
* show we can revolve around paths
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* show we can revolve around paths
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! 📷🐛
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* bare minimum
* start of segment util added
* remove redundant handle
* some probably buggy handling of arc handles, can fix later
* probably bug implementation of update args, but data flow through is mostly there can fix bugs after
* fix update for arc
* fix math for center handle
* fix up length indicator
* tweak math
* stub out xState logic for arc
* more progress on adding point and click, implemented more of sketchLineHelper for arc
* small unrelated tweak
* fix up draft arc bugs
* fix arc last click
* fix draft segment animation and add comment
* add draft point snapping for arcs
* add helper stuff to arc
* clone arc point and click as base for arc-three-point
* rust change for arc three point
* can draw three point arc
* make arcTo editable
* can add new three point arc, so long as it continues existing profile
* get overlays working
* make snap to for continuing profile work for three point arcs
* add draft animation
* tangent issue fix
* action rename
* tmp test fix up
* fix silly bug
* fix couple problems causing tests to fail
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fix up
* add delet segment test for new segments
* update docs
* draft segments should look right
* add test for dragging new segment handles
* arc tools can be chained now
* make three point arc can start a new profile (not only extend existing paths)
* add test for equiping and unequiping the tool plus drawing with it
* fix console noise
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* clean up
* update rust/docs
* put toolbar mode check into fixture
* do thing for lee
* use TEST_COLORSs
* fix colors
* don't await file write
* remove commented code
* remove unneeded template strings
* power to **2
* remove magic numbers
* more string templates
* some odd bits of clean up
* arc should be enable in dev
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* add new simulation test
* fix test code from kwark migration
* issues Frank found
* fix deleting half complete ark
* fix
* small fix on dele index
* tsc post main merge
* fix up snaping to profile start
* add cross hari for three point arc
* block snapping if it's the only segment
* add tests for canceling arcTo halfway through
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 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>
* Make tag identifiers monotonic
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Use epochs rather than snapshots in memory
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add warning when using a module with no return value
* Update output files since changing source range of the pipeline argument
* Change wording of error message to not use the term unlabeled
Fixes https://github.com/KittyCAD/modeling-app/issues/4307
Now if you try to fillet the same edge twice in a single fillet command,
the error message is clearer, and the source range will highlight
the specific edges in the array which are duplicated.
Same goes for chamfer.
Note: although the Rust KCL interpreter sends back an array of SourceRange
for each KCL error, the frontend only puts the first one into CodeMirror
diagnostics. We should fix that: https://github.com/KittyCAD/modeling-app/issues/5754
Previous error message:
"Expected a kcl_lib::execution::geometry::SolidSet but found Sketch"
New error message:
"Expected a SolidSet but found Sketch. You can convert a sketch (2D) into a Solid (3D) by calling a function like `extrude` or `revolve`"
Two improvements:
- Don't print the fully-qualified Rust name (e.g. kcl_lib::executor::Solid) instead use the last part of that (e.g. just Solid)
- Allow specific suggestions for combinations of got/want (e.g. "You can convert a sketch (2D) into a Solid (3D) by calling a function like `extrude` or `revolve`")
Closes#5616
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.
* Make some things a little less public
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Rename KclValue::Array to MixedArray
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add settings to KclValue::Function
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Remove a bunch of dead code, simplifying mock exec and meaning KclValue no longer needs to deserialize
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* 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>
* Show more info on hover for variables
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Move hover impls to lsp module
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Make hover work on names inside calls, fix doc line breaking, trim docs in tool tips
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Test the new hovers; fix signature syntax
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Hover tips for kwargs
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>