* refactor code mod and tests
* tsc
* make lint happy
* remove dumby data
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
KCL functions are a weird edge case, and the `FunctionExpression` field should not be included in its public API. That field is only there for implementation details, it shouldn't be exposed to users.
What's worse is that `FunctionExpression` includes a `Program` so every single AST node wound up being included in our docs.
* fix: only count something as a directory if it has children
* fix: playwright tests
* fix: return 0 if you cant find the projectfolder
* fix: remove folder count from e2e tests since it is unused currently
---------
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
* Implement the functionality
* Another fmt
* Fix handler to not rely on modelingMachine's context,
because that creates an implicit race
* Write an E2E test
* Fix tsc and fmt
* Use artifactGraph helpers for more concise code
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Fix up imports and whatnot from commit 2bfc5f5c
* Make early return more clear with curly braces
* Whoops should have linted
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Make `=` and `=>` optional in function declarations
And requires `:` for return types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Tests
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Format types in function decls
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Require in anon function decls
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add a code mod for offset plane
* Add support for default plane selections to our `otherSelections` object
* Make availableVars work without a selection range
(because default planes don't have one)
* Make default planes selectable in cmdbar even if AST is empty
* Add offset plane command and activate in toolbar
* Avoid unnecessary error when sketching on offset plane by returning early
* Add supporting test features for offset plane E2E test
* Add WIP E2E test for offset plane
Struggling to get local electron test suite running properly
* Typos
* Lints
* Fix test by making it a web-based one:
I couldn't use the cmdBar fixture with an electron test for some reason.
* Update src/lib/commandBarConfigs/modelingCommandConfig.ts
* Update src/machines/modelingMachine.ts
* Revert changes to `homePageFixture`, as they were unused
* @Irev-Dev feedback: convert action to actor, fix machine layout
* Update plane icon to be not dashed, follow conventions closer
* fix selection bugs found by QA-wolf
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* trigger ci
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* AST: Factor shebangs out of non-code metadata and into Progam
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Empty commit to try to unstick CI
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Right now our KCL tests output a debug representation of the KCLError
value. This works OK, but it's difficult to read an error like
"runtime error: SourceRange([44, 48])" because I don't fucking know what
the 44th character in my KCL program is.
In the modeling app, source ranges are turned into nice red squiggly
underlines in the editor. I want nice squiggly underline when I run the
Rust unit tests too, damnit. The JS world should NEVER have fancy toys
that I, a Rust programmer, cannot access. I deserve this. I need this.
So anyway instead of snapshotting debug repr, snapshot a fancy error
via the miette library.
Some clients (e.g. the simulation tests) want to know why a KCL program failed. Was it because of a network error? Or because the client wasn't authorized properly? Or was it a KCL runtime type error?
It's difficult for clients to ask these questions, because the interpreter just returns Anyhow error, basically just a string.
Instead, we should return different variants of an Error enum for different kinds of errors.
This lets us render nice Cargo-style error messages that show the exact KCL line where an error occurred, instead of just printing off a source range. We have that in the CLI, but I'd like it for running normal KCL unit tests.
# Testing
This is a pure refactor, it doesn't change any behaviour, it just stops hiding the specific error types via anyhow. No testing needed. If it compiles, it works.
* Add nightly link in about sectoin
* Add nightly detection
* Lint
* Change APP_NAME to PACKAGE_NAME
* To be improved: working implementation on mac for click to download
* Revert "To be improved: working implementation on mac for click to download"
This reverts commit 7ced32a533.
* Nevermind, will process on the website
* Release KCL, KCL test server and derive-docs
derive-docs 0.1.31
kcl-test-server 0.1.17
kcl-lib 0.2.25
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
KCL stdlib has a function `patternTransform` which works for 3D solids. This adds a similar function `patternTransform2d` which, as you might have guessed, is like `patternTransform` but for 2D. I know. I'm really, really really good at naming things.
This shares almost all of its implementation with 3D patterns via 💖the power of traits💖
This will assist with https://github.com/KittyCAD/modeling-app/issues/4543
* WIP: Improve current nightly implementation
* Add nightly icons
* Clean up script
* Clean up
* Clean up
* Clean up2
* Clean up3
* WIP: Make the release process non-blocking
First commit to fix#4522
* Quick fix
* Test release and updater-test
* Try nightly build
* WIP nightly tag creation
* Change of direction
* Quick fix
* Test nightly
* Better release notes for nightly
* Migrate to artifact@v4 and prepare publish release
* Fix out-yml for artifact@v4
* Progress towards publish-release
* merge-multiple: true
* Add dependency
* Clean up. Change direction again on updater-test (now with RELEASE workflow)
* Clean up and test release builds
* Fix name
* Clean up, add README
* Add release notes override, another release test
* Fake release version & better draft release
* Test nightly
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Clean up and first attempt at publish-release-apps
* Add GH_TOKEN
* Add github-token to download-artifact step
* Add github-token to all download-artifact steps
* Add checkout and node steps
* Clean up
* Remove whitespace
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Quick typo
* Add Kevin's semantic-release.sh script to replace make-release.sh
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Fix argument error to point to the arg at the call site
* Change MemoryFunction to accept Vec<Arg> instead of Vec<KclValue>
* Rename variable to be clearer
* Fix one more argument error message
* Clean up from PR feedback