* Bug fix: make dismiss during export not fire success toast
* Fix export fail test, since this failure errors early now
* Remove throttling from send side
* Move toast.loading out to when first engine command is sent, so it is shown immediately
* Use shared, named constants for toast messages
* Hook up a couple other error toasts to the `pendingExport.toastId`
* chore: Implemented a executeAst interrupt to stop processing a KCL program
* fix: added a catch since this promise was not being caught
* fix: fmt formatting, need to fix some tsc errors next.
* fix: fixing tsc errors
* fix: cleaning up comment
* fix: only rejecting pending modeling commands
* fix: adding constant for rejection message, adding rejection in WASM send command
* fix: tsc, lint, fmt checks
* feat: first pass over revolve with basic hard coded X axis
* fix: updated revolve status for DEV only
* fix: adding some TODOs to warn others about the Revolve MVP
* fix: fmt, lint, tsc checks
* fix: codespell got me
* fix: xstate v5 upgrade
* fix: removing this fix for a different PR. Not needed for initial MVP
* fix: renaming extrude function to sweep since it fixes extrude and revolve now
* fix: updating selection logic to support revolve
* fix: renaming extrude to sweep since it adds revolve
* fix: swapping as for type in function parameters
* fix: updated from object destruct to structuredClone
* fix: addressing PR comments
* fix: one other typo for return value of revolve
* refactor clientSide scene
* start consolidate threejs segment funcitons
* rename stuff
* first pass of integrating threejs segment create and update into one
* reduce create segment complexity
* add color back in
* use input
* fix comment
* feedback changes
* Add lints for floating and misued promises
* Add logging async errors in main
* Add async error catch in test-utils
* Change any to unknown
* Trap promise errors and ignore more await warnings
* Add more ignores and toSync helper
* Fix more lint warnings
* Add more ignores and fixes
* Add more reject reporting
* Add accepting arbitrary parameters to toSync()
* Fix more lints
* Revert unintentional change to non-arrow function
* Revert unintentional change to use arrow function
* Fix new warnings in main with auto updater
* Fix formatting
* Change lints to error
This is what the recommended type checked rules do.
* Fix to properly report promise rejections
* Fix formatting
* Fix formatting
* Remove unused import
* Remove unused convenience function
* Move type helpers
* Fix to not return promise when caller doesn't expect it
* Add ignores to lsp code
* migrate settingsMachine
* Guard events with properties instead
* migrate settingsMachine
* Migrate auth machine
* Migrate file machine
* Migrate depracated types
* Migrate home machine
* Migrate command bar machine
* Version fixes
* Migrate command bar machine
* Migrate modeling machine
* Migrate types, state.can, state.matches and state.nextEvents
* Fix syntax
* Pass in modelingState into editor manager instead of modeling event
* Fix issue with missing command bar provider
* Fix state transition
* Fix type issue in Home
* Make sure no guards rely on event type
* Fix up command bar submission logic
* Home machine tweaks to get things running
* Fix AST fillet function args
* Handle "Set selection" when it is called by actor onDone
* Remove unused imports
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Fix injectin project to the fileTree machine
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"
This reverts commit 4b43ff69d1.
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Re-run CI
* Restore success toasts on file/folder deletion
* Replace casting with guarding against event.type
* Remove console.log
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Replace all instances of event casting with guards against event.type
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Remove isFirstRender because isExecuting means the same and remove building scene
* add small makefile util
* Remove waiting for building scene prompt
* Add a new model state indicator
* fmt lint tsc
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
* Some colors and export file size changes occurred engine-side, update tests to match
* Fix up focusrite example after adjacent edge switch
* Yay now the export file is yet another new size
* Update bracket example code and some test colors that broke
* Use a shorter KCL sample so we don't experience weird locator behavior
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* bump electron playwright timeout
* Relax color expectations a little bit, as they can be different on web and electron
* fix double export test
* unused var
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Re-run CI
* Bump getGreatestPixDiff comparisons from 10 to 15 in projects.spec.ts
* bump another pix diff to 15
* make retries work
* update expect numbers
* remove some logs
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* Add actual support for makeUnique parameter
* Add uniqueness logic to dirs, make text-to-cad receive unique filename
* No longer need makeUnique flag, it's always on
* fmt
* Don't show toast when name hasn't changed during a rename
* fmt
* Get "interact with many" text-to-cad test passing again
* Get "engine fails export" back to reliably green
* Maybe more stable click target for text-to-cad test
* Make "export is already going" test moderately more reliable
* Mark "export is already going" as fixme
* Undo that fixme thing I take it back
* Reload everything on a disconnect
* fix unit-integration tests
* Further improvements to connection manager; persist theme across reconnects
* Fix up artifactGraph.test
* Actually pass the callback
* Kurt hmmm (#3308)
* kurts attempts
* we're almost sane
* get tests working, praise be
---------
Co-authored-by: 49lf <ircsurfer33@gmail.com>
* typo
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* adjust engine connection to opt out of webRTC connection
* refactor start and test setup
* add env to unit test
* spell config update
* fix beforeAll order bug
* initial integration of new artifact map with tests passing
* remove old artifact map and clean up
* graph artifact map
* have graph commited
* have graph commited
* remove bad file
* install playwright
* fmt
* commit permissions
* typo
* flesh out tests more
* Look at this (photo)Graph *in the voice of Nickelback*
* multi highlight
* redo image logic
* add in solid 2d data into artifactMap
* fix snapshots
* stabiles graph images
* Look at this (photo)Graph *in the voice of Nickelback*
* tweak tests
* rename blend to edgeCut
* Look at this (photo)Graph *in the voice of Nickelback*
* fix playw tests
* start of artifact map rename to graph
* rename file
* rename test
* rename clearup
* comments
* docs
* docs proof read
* few tweaks here and there
* typos
* delete get parent logic
* nit, combine if statements
* remove unused param
* fix silly test bug
* rename surfId to sufaceId
* rename types
* update comments
* add comment
* add extra check
* Look at this (photo)Graph *in the voice of Nickelback*
* pull out merge artifact function
* update comments
* fix test
* fmt
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* start of seperating pending message from artifact map
* continue migration to sendCommandVersion2
* mostly massage types
* process artifact after the fact
* clean up
* draft: fillet ast mod + test
* Kurt's rejig
* playwright
* update button enable logic
* remove fillet button in production build
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* trigger CI
* fix typo
* give a way to turn on fillets
---------
Co-authored-by: max-mrgrsk <margorskyi@gmail.com>
Co-authored-by: max-mrgrsk <156543465+max-mrgrsk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Make machine command type names more explicit
* Prepare "change tool" event for command bar
* Make it so that state machine events can each map to multiple command configs
* Make commands with all skippable args possible
* Add back the tools to the command bar
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Update to use new `groupId` property name
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Oops didn't save this other instance of `ownerMachine`
* Add a playwright test
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* After a sketch keep the extrude button active
* add test
* Compare to 0,0 not any x,x or y,y
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* inital migration with a couple lingering concerns
* move is stream ready back
* put htmlRef back in useStore
* final tidy of useStore
* test tweaks
* tweak more
* more test tweaks
* fmt
* test tweaks
* attempts at fixing 'Basic default modeling and sketch hotkeys work'
* more tries
* 😭
* try again
* fmt
* Add a setting for showScaleGrid
* Fix up setting persistence, move under modeling
* Make the setting actually do something
* the lamest fmt I've seen in a while
* Fix clippy warnings
* Add snapshot tests for grid (first time using Playwright masks)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Re-run CI after new screenshots added
---------
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add coredump to refresh button - this one indicates that there should be something like a core dump that is triggered.
* Added lower right control bug report button - included custom toasts for bug reporting, supports fallback bug reporting when app cannot generate a core dump