* 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>
* 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>
* Fix the black screen of death
* fmt
* make check
* Clean up
* Fix up zoom to fit
* Change how emulateNetworkConditions work
* Do NOT use browser's offline/online mechanisms
* Fix test
* Improve network error messages
* Signal offline when failed event comes in
* Don't use logic on components that only want a loader
* Remove unnecessary pause state transition
---------
Co-authored-by: jacebrowning <jacebrowning@gmail.com>
* fix test
* fix e2e test in another way so it doesnt break unit tests
* Cleanup
* Update src/hooks/useQueryParamEffects.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* hasAskToOpen should only be used if not in desktop
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Fix orbit style setting not updating in camControls
* Break apart camera movement tests, add trackball to orbit one
* I don't think zoom was actually testing changes, this fixes that
* test refactor: pass in expected cam pos, not its inverse
* Lints
* Lint fix broke the test, fix fix
* Gah biome whyyy did you format other test names like that?
* fix bug of not saving project when dragging a segment, add a test
* Update e2e/playwright/projects.spec.ts
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
---------
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* Don't use WEAK and yellow
* fmt && lint && tsc
* Fix up the rebase & dark mode colors
* Update src/hooks/useNetworkStatus.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Change Weak to Ok
* Change Connected to Strong
* fmt
* Sync selectors for start sketch
* Remove unused test-util brought back in a rebase
* Align the other OKs
* Add an else statement to overallState
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* first step of UI using trelative angentialArc
* use tangentialArcTo when snapping to one of the axes
* remove duplications via tangentialArcHelpers
* update test: snapToProfile start only works for current profile
* add test: Can add multiple profiles to a sketch (all tool types)
* update test: Straight line snapping to previous tangent
* fixes for removing individual constraints (should keep endAbsolute for lines, tangentialArcs)
* fix fnNameToToolTipFromSegment arcTo
* update snapshot test to use relative tangentialArc
* stabilize some snapshot tests
* stabilize and update Inch snapshot test on ubuntu
* fix tsc
* stabilize and update Millimeter scale snapshot test on ubuntu
* update snapshot for Inch scale test
* Update snapshots
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Move some sketch functions to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Move asserts to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* sweep, loft -> KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Move pattern transforms to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix the black screen of death
* fmt
* make check
* Clean up
* Fix up zoom to fit
* Change how emulateNetworkConditions work
* Do NOT use browser's offline/online mechanisms
* Fix test
* Rename desktop e2e scripts and tags for consistency
* Show local command in main test step
* Restore 'e2e' prefix to clarify GitHub UI
* Add web script to contributor guide
* Fix error of not showing errors when reopening KCL code pane
* add test for errors not shown after reopening code pane
* rename test
* typo in e2e/playwright/editor-tests.spec.ts
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* lint
* fmt
* fix test: Opening and closing the code pane will consistently show error diagnostics
* PR feedback: use catch(reportRejection) for safeParse
* no need for lint rule
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Before, the LSP snippet for `startProfile` was
```
startProfile(%, at = [3.14, 3.14])
```
Now it's
```
startProfile(%, at = [0, 0])
```
This is configured by adding a `snippet_value=` field to the stdlib macro. For example:
```diff
#[stdlib {
name = "startProfile",
keywords = true,
unlabeled_first = true,
args = {
sketch_surface = { docs = "What to start the profile on" },
- at = { docs = "Where to start the profile. An absolute point." },
+ at = { docs = "Where to start the profile. An absolute point.", snippet_value = "[0, 0]" }, tag = { docs = "Tag this first starting point" },
},
tags = ["sketch"]
}]
```
## Work for follow-up PRs
- Make this work for KCL functions defined in KCL, e.g. [`fn circle`](36c8ad439d/rust/kcl-lib/std/sketch.kcl (L31-L32)) -- something like `@(snippet_value = "[0, 0]")` perhaps
- Go through the stdlib and change defaults where appropriate
* fix: saving off code
* fix: saving off progress
* chore: implemented kcl sample assembly unique sub dir creation
* fix: removing testing console logs
* fix: cleaning up old comment
* fix: add to file always does subdir/main.kcl now for single files
* fix: auto fmt
* fix: delete project and folder from ttc
* fix: fixed deleting projects and subdirs
* fix: if statement logic fixed for deleting project or subdir
* fix: TTC isProjectNew makes main.kcl not a subdir.
* fix: fixing e2e test
* fix: this should pass now
* pierremtb/make-insert-take-over-the-import-world
* Add test that doesn't work locally yet :(
* Fix test 🤦
* Change splice for push
* Fix up windows path
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
* fix: saving off code
* fix: saving off progress
* chore: implemented kcl sample assembly unique sub dir creation
* fix: removing testing console logs
* fix: cleaning up old comment
* fix: add to file always does subdir/main.kcl now for single files
* fix: auto fmt
* fix: delete project and folder from ttc
* fix: fixed deleting projects and subdirs
* fix: if statement logic fixed for deleting project or subdir
* fix: TTC isProjectNew makes main.kcl not a subdir.
* fix: fixing e2e test
* fix: this should pass now
* Revert "Update failing E2E tests with new behavior, which allows skip with preselection"
This reverts commit d72bee8637.
* Fix: Can't go back to Profiles step in sweep commands
Fixes#7080
* Make it better but still not quite there
* I think I got it: this was likely the real bug making submit fire twice
* Bring timemouts back
* use effect for focus of command palette submit button, not autoFocus
autoFocus is being overridden by the Headless UI Dialog component's
focus management here
https://headlessui.com/v1/react/dialog#focus-management (we do not have
access to pass back initialFocus in this case). So we can use an effect
to imperatively focus the button when this component is mounted.
* Update sweep tests to submit the command with Enter
* Add backtrace to errors
* Add display of backtraces with hints
* Change pane badge to only show count of errors
* Fix property name to not collide with Error superclass
* Increase min stack again
* Add e2e test that checks that the diagnostics are created in CodeMirror
* Remove unneeded code
* Change to the new hotness
* Submit selection to command on unmount of selection arg input
This fixes#7024 by saving the user's selection to the command even if
they click another argument in the command palette's header. It does no
harm to save the selection to the argument, even if it's being torn down
because the user dismissed it has no negative effect.
* Refactor to not auto-submit before selection is cleared on mount
Thanks E2E test suite
* Update failing E2E tests with new behavior, which allows skip with preselection
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Disallow segment selection in sweep, plus displayName: Profiles for clarity
Fixes#7044
* Change selection hints for solid2d to be profile instead of face
* Update tests
* More fixes
* Fix tests following behavior change: we don't select segments in code anymore but profiles
* Remove Create with Text-to-CAD from the toolbar
* Remove "prompt-to-edit" wording, call commands "create" and "edit"
* Use sparkles for the ML feature, not chat
* lints
* Start fixing up tests, there are probably more though
* Fix up a few more tests
* Fix up prompt-to-edit tests (yay using fixtures!)
* Fix native file menu tests
* Update snapshots
* Fix menu test
* Fix snaps
---------
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* fix: when creating a t2c in a new project make the file name main.kcl
* fix: when creating a sample in a new project and there is only 1 file make the filename main.kcl
* fix: auto fixes
* fix: share links generate main.kcl
* fix: codespell typoe
* fix: fixing E2E tests
* Fix 3 more tests
* fix: share url link e2e file name fix
---------
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Improve url sharing for orgs and pros
* Remove sharing via menu item
* fmt
* Not sure what's different but it is
* fmt & lint
* whoops
* Update snapshots
* Typos from codespell
* Fix alignment
* Update snapshots
* Prune
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Make "skip = false" non-required args appear in header
* Make non-required, unskippable selection args work
* Make prompt-to-edit's selection arg optional but non-skippable
* Update src/components/CommandBar/CommandBarSelectionInput.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Fix dumb logic bug
Thanks for user testing @Irev-dev
* Update mixed input to show selection
Feel free to revert @Irev-Dev if this is the wrong move, but I found it
odd that this component doesn't show the current selection in the text
like the other selection input does, so I copied that over.
* Merge branch 'main' into franknoirot/adhoc/optional-selection-args
* Merge branch 'main' into franknoirot/adhoc/optional-selection-args
* Merge remote-tracking branch 'origin' into franknoirot/adhoc/optional-selection-args
* fix tests
* change copy again
* Update src/components/CommandBar/CommandBarSelectionMixedInput.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>