* Improve docs around PI
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Refactor and polish type error messages
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add suggestion to fix unknown numbers error
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Don't warn so often about unknown units
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add degrees annotations to examples
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix a units bug with the modulo operation
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* pierremtb/adhoc-quick-sharelink-follow-up
* Update snapshots
* Update snapshots
* Remove Linux from 2000 tests
* Revert "Remove Linux from 2000 tests"
This reverts commit ad9bc58dd7.
* Remove Linux from 2000 tests and guard linux in the app too
* Revert "Remove Linux from 2000 tests and guard linux in the app too"
This reverts commit e13983eb12.
* Break out test in two
* Not
* Add debug prints
* Try to force userAgent in pw config
* Revert "Try to force userAgent in pw config"
This reverts commit d1e6d7c7be.
* Clean up
* Add sad fix
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Change so that operations are stored per module
* Refactor so that all modeling commands go through ExecState
* Remove unneeded PartialOrd implementations
* Remove artifact_commands from KclError since it was only for debugging
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* desktop app should remember the last window size
* localStorage doesnt work in electron, use a settings file
* save bounds (position too)
* only restore saved bounds if its still valid for current displays
* typo
* remove logs
* cleanup
* typo
* add version to LastWindowConfig
* rename window_config.json to device_state.json
* Rename nightly to staging and have it point to dev infra
Fixes#7421
* To revert: force IS_STAGING
* chmod +x ./scripts/flip-files-to-staging.sh
* Fix mix up dev and prod
* Revert "To revert: force IS_STAGING"
This reverts commit 0178604a55.
* WIP: Use namespace windows-2-cores for build-apps
* WIP: 8-cores to see if it's different
* WIP: macos-6-cores and windows-4-cores
* To revert: test IS_RELEASE
* Change d drive to c for cert
* Maintain job naming
* Revert "To revert: test IS_RELEASE"
This reverts commit 5d4eadce6c.
* Change job names
* Add HammerJS
* Fmt and little type cleanup
* Implement multi-touch through HammerJS
* Add velocity-decay "flick" behavior for orbit
* Update src/clientSideScene/CameraControls.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* tsc fix
* Update src/clientSideScene/CameraControls.ts
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Release KCL 80 (#7391)
* Check for updates button in moar menus & toasts (#7369)
* Check for update button in more menus
Fixes#7368
* Add menubar item
* Another one
* Add Checking for updates... and No new update toasts
* Lint
* Trigger CI
* Update src/main.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Update electron-builder.yml
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Update electron-builder.yml
* Moar clean up
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Format examples in docs (#7378)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix some typos in previous PR (#7392)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Remove the untyped getters from std::args (#7377)
* Move last uses of untypeed arg getters
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Rename _typed functions
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* WIP #7226 Fix remove constraints (#7304)
* handle if graphSelections is empty
* fix removeConstrainingValuesInfo by using pathToNodes if available instead of selectionRanges: current selection should not be required to remove constraints
* selectionRanges not needed for removeConstrainingValuesInfo anymore
* fix remove constraint unit test: pass line's pathToNode instead of argument to remove constraint
* Change to use artifact pathToNode (#7361)
* Change to use artifact pathToNode
* Fix to do bounds checking
* move TTC capture to unit test (#7268)
* move TTC capture to unit test
* progress with artifact
* fmt
* abstract cases
* add another case
* add another test
* update snapshots with proper file names
* force to JSON
* fmt
* make jest happy
* add another example and other tweaks
* fix
* tweak
* add logs
* more logs
* strip out kcl version
* remove logs
* add comment explainer
* more comments
* more comment
* remove package-lock line
* Add support for tag on close segment when the last sketch edge is missing (#7375)
* add test
* fix
* Update snapshots
* Update snapshots
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Use namespace for windows e2e tests (#7398)
* Use namespace for windows e2e tests
* Change to the new profile
* Remove TODO
* Commit new snapshots even if some tests failed (#7399)
* Commit new snapshots even if some tests failed
* Update snapshots
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Clean up share link tests (#7372)
* pierremtb/adhoc/clean-up-share-link-tests
* Lint
* WIP labels
* Trigger CI
* Change to skips
* Remove old docs files (#7381)
* Remove old files; no longer generated.
* Update snapshots
* Update snapshots
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* #7199 Fix broken links in docs (#7397)
* update broken links
* update github discussion links, fmt
* update comment
---------
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* Inline engine issue from @Irev-Dev
* Add commented-out test to be implemented later https://github.com/KittyCAD/modeling-app/issues/7403
* Update e2e/playwright/test-utils.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: Andrew Varga <grizzly33@gmail.com>
Co-authored-by: max <margorskyi@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
Co-authored-by: Nick McCleery <34814836+nickmccleery@users.noreply.github.com>
* fix edge case of sketch not being exited out of properly
* Update e2e/playwright/sketch-tests.spec.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* Commit new snapshots even if some tests failed
* Update snapshots
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* move TTC capture to unit test
* progress with artifact
* fmt
* abstract cases
* add another case
* add another test
* update snapshots with proper file names
* force to JSON
* fmt
* make jest happy
* add another example and other tweaks
* fix
* tweak
* add logs
* more logs
* strip out kcl version
* remove logs
* add comment explainer
* more comments
* more comment
* remove package-lock line
* handle if graphSelections is empty
* fix removeConstrainingValuesInfo by using pathToNodes if available instead of selectionRanges: current selection should not be required to remove constraints
* selectionRanges not needed for removeConstrainingValuesInfo anymore
* fix remove constraint unit test: pass line's pathToNode instead of argument to remove constraint
* Move last uses of untypeed arg getters
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Rename _typed functions
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Check for update button in more menus
Fixes#7368
* Add menubar item
* Another one
* Add Checking for updates... and No new update toasts
* Lint
* Trigger CI
* Update src/main.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Update electron-builder.yml
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Update electron-builder.yml
* Moar clean up
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Add NodePath to operations
* Change to use nodePath to get pathToNode instead of sourceRange
* Add additional node path unit test
* Update output
* Fix import statement NodePaths
* Update output
* Factor into function
* remove nested <button> elements to avoid dom warning about nested buttons
* keep using Popover.Button to allow popover functionality
* fmt
* match ShareButton margin to main branch to make snapshot tests happy
Previously in a member expression like `foo.x` or `foo[3]`, `foo` had to be an identifier. You could not do something like `f().x` (and if you tried, you got a cryptic error). Rather than make the error better, we should just accept any expression to be the LHS of a member expression (aka its 'object').
This does knock our "parse lots of function calls" from 58 to 55 calls before it stack overflows. But I think it's fine, we'll address this in https://github.com/KittyCAD/modeling-app/pull/6226 when I get back to it.
Closes https://github.com/KittyCAD/modeling-app/issues/7273
* Move import graph to execution
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Refactor artifact handling
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Refactor caching to separate global state from per-module state
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
This brings the `execute_mock` function into line with the `execute` function, which I tweaked in https://github.com/KittyCAD/modeling-app/pull/7351. Now mock execution, like real execution, will always return a properly-formatted KCL error, instead of any possible JS value.
Also, incidentally, I noticed that send_response always succeeds, so I changed it from Result<()> to void.
Specifically this warning:
```
[vite] warning: This case clause will never be evaluated because it duplicates an earlier case clause
| case 'angledLine':
| case 'startProfile':
| case 'arcTo':
| ^
| return fnName
| default:
```