* Shuffle around function call code
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Refactor function calls to share more code
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Hack to leave the result of revolve as a singleton rather than array
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Make warning toast not appear if the URL has any search params
This should avoid the scenario where someone clicks an "open sample"
type link and dismisses the command palette before they can finish what
they're doing.
* Update src/App.tsx
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>
* 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>
* Remove tan warning from ml commands, move to experimental green branding
* Oops
* Removed unused var
---------
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* First pass at consistency in modelingMachine codemods
* Add 'no kcl errors' guard instead of if check for all the existing ones
* Add more commands and improve consistency
* Add comments
* Fix test with old kcl that was showcasing the very behavior we're trying to fix
https://kittycadworkspace.slack.com/archives/C07A80B83FS/p1747231832870739?thread_ts=1747231178.515289&cid=C07A80B83FS
* Add test for sketch and helix
* Remove guard use and move hasErrors check closer to updateAst calls
* Revert "Remove guard use and move hasErrors check closer to updateAst calls"
This reverts commit 868ea4b605.
* Remove toasts from guards
* Remove some scene.settled calls
* Lint
* More shaky fixes
* Clean up and more test fixes
---------
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* Add a Stop command that does a bit of cleanup in the engineStateMachine
* Major network code startup refactor; backoff reconnect; many more logs for us
* Save camera state after every user interaction in case of disconnection and restoral
* Translate basic WebSocket error numbers into useful text
* Add a RestartRequest event to the engineCommandManager
* Adjust for a rebase
* Add E2E test for stream pause behavior
* Fix snapshot test
* fmt, lint
* small issue
* Fix tests
* Fix up idle test
* One last fix
* fixes
* Remove circ dep
* fix test
* use a const for time
* TEST -> isPlaywright instead
* whoops
* Make the Reset View button do the same view_isometric behavior as load
Just copying some logic from the EngineStream code to make that button
behave the same way: old initial camera position while in Playwright,
isometric view for normal users.
* Move duplicate code into shared `resetCameraPosition` function
* Fix lints
* Restore the native file menu tests
* fix: saving off progress
* chore: making progress cleaning up these verbose tests and improving app logic for e2e
* chore: rewriting tests
* fix: reworking application logic for file menu in the scene and e2e scene file menu test
* chore: updating more e2e tests
* fix: updated all the tests, auto fixers
* fix: trying to improve tests within E2E, they aren't failing locally even with --repeat-each=10
* fix: application logic has a bug that you can navigate instantly but the scroll to view code will not trigger which breaks end to end tests
* fix: improving E2E tests
* fix: fixing clipboard typo
* fix: porting test() for each native file menu to a test.step to speed it up
* fix: auto fixes and console log helper function for playwright runtimes
* fix: more cleanup
* fix: trying to fix these...
* fix: got the tests working
* fix: addressing PR comments
* fix: trying to stablize the tests
* fix: auto fixes
* fix: trying to make it the command name and not arg? could be a source of race condition if the input is not written fast enough?
* fix: maybe because this close locator was running too quickly?
* fix: panic timeout, classic
* fix: these are gone
* fix: shorter waits
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* fix: clear scene and bust cache if rust panics
* Update onboarding following @jgomez720
* chore: hopefully made a safe navigate to kcl file to call executeAST without a race condition
* chore: hopefully made a safe navigate to kcl file to call executeAST without a race condition
* fix: clean up
* fix: FUCK
* fix: FUCK 2.0
* fix: oh boi
* fix: oh boi
* fix: idk man
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix: take main on this, do not need a single line from my testing code
* fix: more PR cleanup from all of the testing code
* fix: trying to clean up more, ope this has a lot of other code
* fix: PR clean up
* fix: trying to get a clean branch, I had multiple other branches in here ope
* fix: more cleanup
* fix: another one
* fix: fixed the comment to be accurate
* fix: removed confusing comment
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com>
* Allow adding and removing commands from any command bar state
* Allow commands to be configured disabled in the combobox
* Set up modeling commands to toggle `disabled` based on network status, instead of filtering
* Fix tsc
* fix going into rename mode for files with parents
* lastDirectoryClicked is not used
* fix file/folder rename bugs: renaming within folders
* Turn form into div to fix issue of child renaming continues into renaming the parent folder when hitting enter
* ContextMenu stopPropagation not needed anymore, maybe because of form refactor
* ContextMenu IS needed actually, with multiple nested folders
* make lint happy
* Update src/components/ContextMenu.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* re-add <form> instead of <div> for file renaming
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Fix bug with `undo startSketchOn` removing existing sketch
Fixes#6822, I believe. in this case the `variableName` was not being
marked as in-use, so I just logged out the AST and made sure this case
was covered. @Irev-Dev this is probably worth a check from you.
* Add a regression test
It's an E2E test because I'm being lazy, but it should probably be an
XState unit test at some point.
* check what's checked
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* constrain profile start
* add test
* make sure it works on segment drag too, fix tests
* remove old log
* some tests fixes
* Bump more segment counters
* Two more fixes
* Two more test fixes
* small test fix
* moretest fixes
* another test
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
The ability to orbit while in sketch mode is not well-tested or
well-used, so we should pull it from the app. The easiest way to do that
is leave the setting in the WASM definition, but configure the setting
to be uneditable from the interface.
* Remove gnarly fake union hotkeys
* Enable hotkey for items buried in ActionButtonDropdown
I'm kinda over `useHotkeys` as a hook
* Add hotkeys for other sketch tools
* Fix lint and tsc
* Fix duplicate locator
* The circular dependecies got reordered somehow
* Update src/lib/toolbar.ts
* Remove unused `telemetryLoader`
* Remove onboarding redirect behavior
* Allow subRoute to be passed to navigateToProject
* Replace warning dialog routes with toasts
* Wire up new utilities and toasts to UI components
* Add home sidebar buttons for tutorial flow
* Rename menu item
* Add flex-1 so home-layout fills available space
* Remove onboarding avatar tests, they are becoming irrelevant
* Consolidate onboarding tests to one longer one
and update it to not use pixel color checks, and use fixtures.
* Shorten warning toast button text
* tsc, lint, and circular deps
* Update circular dep file
* Fix mistakes made in circular update tweaking
* One more dumb created circular dep
* Update src/routes/Onboarding/utils.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Fix narrow screen home layout breaking
* fix: kevin, navigation routes fixed
* fix: filename parsing is correct now for onboarding with the last file sep
* Fix e2e test state checks that are diff on Linux
* Create onboarding project entirely through systemIOMachine
* Fix Windows path construction
* Make utility to verify a string is an onboarding value
* Little biome formatting suggestion fix
* Units onboarding step was not using OnboardingButtons
* Add type checking of next and previous status, fix useNextClick
* Update `OnboardingStatus` type on WASM side
* Make onboarding different on browser and web, placeholder component
* Show proof of concept with custom content per route
* Make text type args not insta dismiss when you click anywhere
* Make some utility hooks for the onboarding
* Update requestedProjectName along with requestedProjectName
* Build out a rough draft of desktop onboarding
* Remove unused onboarding route files
* Build out rough draft of browser onboarding content
* @jgomez720 browser flow feedback
* @jgomez420 desktop feedback
* tsc and lints
* Tweaks
* Import is dead, long live Add files
* What's up with my inability to type "highlight"?
* Codespell and String casting
* Update browser sample to be axial fan
* lint and tsc
* codespell again
* Remove unused nightmare function `useDemoCode`
* Add a few unit tests
* Update desktop to use bulk file creation from #6747
* Oops overwrote main.kcl on the modify with text-to-cad step
* Undo the dumb use of `sep` that I introduced
* Fix up project test
which was fragile to the number of steps in the onboarding smh
* Fix up onboarding flow test
* typo
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
* fix: how?
* fix: 0 byte thumbnail png loading bug
* fix: adding navigate to single file back
* fix: cargo fmt
* fix: sorting files to match manifest and unit test
* fix: restoring back to main
* fix: cargo fmt
* fix: ope, I forgot I deleted some code that renamed single files to the samples name to track easier within the file tree
* fix: ope
* Update src/lib/commandBarConfigs/applicationCommandConfig.ts
Co-authored-by: Frank Noirot <frank@zoo.dev>
* fix: unique name for project, ope
* fix: filtered samples for web and skeleton create a sample command
* fix: Create A Sample specifically desktop home page instead of overloading the add to file
* fix: hiding source
* fix: gotcha on add to file with existing project default args and assemblies
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Fix trackball camera by weaving through EngineStream
Fixes#6472. Just a missing setting moved in #5312, which wasn't caught
because testing that the orbit maneuver is actually performing a
"trackball-like" movement is nonexistent. I don't know how to test that
reliably, but typing this object provides the red squiggles to reveal
the missing property.
* Update src/components/EngineStream.tsx
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* start of migrate to multi file endpoint
* get some relative path stuff sorted
* blobifying files, and making selections work with imports working
* add write to disk
* warn about big projects
* update known circular
* update snapshot
* remove log
* tweak selection filters
* Update src/components/ModelingMachineProvider.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* fmt
* fix one thing
* typo
* raw dog form data like a fucking peasant
* remove fake data
* fmt
* steal Kevin's stuff
* good progress
* clean up
* fix writing to files when response returns
* comment the terriable code
* push fix of sorts
* better fix
* spot of clean up
* fix: Needed to support the bad request flow, the toast will hang forever, the return control flows don't dismiss a forever toast
* fix: handling more error flows by dismissing the toast
* chore: leaving a comment for a confusing workflow
* fix: trying to clean up some async logic
* fix: trying to fix a few things at once...
* fix: fixing toast success
* fix: how did this desync?
* fix: removing useless logic, we write to disk ahead of time, the continue is to say ya no problem
* fix: typo
* Change back to `spawnChild`, forego `actors` by reference
* fix: updating PR comments
* fix: found a bug with paths from rust! it is actually OS paths!
* fix: updated type still is failing tsc
* fix: the type of the machine was wrong, we always set it to at least ''
* fix: idk man
* Fix happy path test (button labels)
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* put xy back into default plane feature tree
* color code
* Update src/components/ModelingSidebar/ModelingPanes/FeatureTreePane.tsx
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>
* submit zoom_to_fit when kcl file is created on web
* add test for zoom to fit on shared model on web - only works with a hack so far
* resolve circular deps
* fix Zoom to fit to shared model on web, test still not passing without timeout
* Clean up zoom_to_fit for web sharing, stabilize test
* fmt
* small import refactor
* fmt
* Make Zoom to fit test web-only