* Remove all use of bold mono font
A few mono font points are left, mostly for numbers which look better in
monospace.
* make React happy with `clipRule`
* WIP: Add point-and-click Import for geometry
Will eventually fix#6120
Right now the whole loop is there but the codemod doesn't work yet
* Better pathToNOde, log on non-working cm dispatch call
* Add workaround to updateModelingState not working
* Back to updateModelingState with a skip flag
* Better todo
* Change working from Import to Insert, cleanups
* Sister command in kclCommands to populate file options
* Improve path selector
* Unsure: move importAstMod to kclCommands onSubmit 😶
* Add e2e test
* Clean up for review
* Add native file menu entry and test
* No await yo lint said so
* WIP: UX improvements around foreign file imports
Fixes#6152
* WIP: Set translate and rotate via point-and-click on imports. Boilerplate code
Will eventually close#6020
* Full working loop of rotate and translate pipe mutation, including edits, only on module imports. VERY VERBOSE
* Add first e2e test for set transform. Bunch of caveats listed as TODOs
* @lrev-Dev's suggestion to remove a comment
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Update to scene.settled(cmdBar)
* Add partNNN default name for alias
* Lint
* Lint
* Fix unit tests
* Add sad path insert test
Thanks @Irev-Dev for the suggestion
* Add step insert test
* Lint
* Add test for second foreign import thru file tree click
* WIP: Add point-and-click Load to copy files from outside the project into the project
Towards #6210
* Move Insert button to modeling toolbar, update menus and toolbars
* Add default value for local name alias
* Aligning tests
* Fix tests
* Add padding for filenames starting with a digit
* Lint
* Lint
* Update snapshots
* Merge branch 'main' into pierremtb/issue6210-Add-point-and-click-Load-to-copy-files-from-outside-the-project-into-the-project
* Add disabled transform subbutton
* Allow start of Transform flow from toolbar with selection
* Merge kcl-samples and local disk load into one 'Load external model' command
* Fix em tests
* Fix test
* Add test for file pick import, better input
* Fix non .kcl loading
* Lint
* Update snapshots
* Fix issue leading to test failure
* Fix clone test
* Add note
* Fix nested clone issue
* Clean up for review
* Add valueSummary for path
* Fix test after path change
* Clean up for review
* Support much wider range for transform
* Set display names
* Bug fixed itself moment...
* Add test for extrude tranform
* Oops missed a thing
* Clean up selection arg
* More tests incl for variable stuff
* Fix imports
* Add supportsTransform: true on all solids returning operations
* Fix edit flow on variables, add test
* Split transform command into translate and rotate
* Clean up and comment
* Clean up operations.ts
* Add comment
* Improve assemblies test
* Support more things
* Typo
* Fix test after unit change on import
* Last clean up for review
* Fix remaining test
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Use the engineStreamState that's available right there silly
* fix lint
* Just look at playing/paused
---------
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* maybe use biome
* import organising
* Removed unused new fmt commands; fix to not use linter
* Don't use fmt:generated - fmt is fast, but also use Makefile for this sort of thing
---------
Co-authored-by: lee-at-zoo-corp <lee@zoo.dev>
* use artifact id for sketch mode entry plane
* fix up re-eval as best as possible
* remove some async dodgyness
* fmt
* fix old sycronous re-execute shit
* add a test
* fix existing test
* add toast for error state
* spelling
* test stuff
* fmt
* fix toast
* test fix
* some other fix ups
* fix test
* WIP: Add point-and-click Import for geometry
Will eventually fix#6120
Right now the whole loop is there but the codemod doesn't work yet
* Better pathToNOde, log on non-working cm dispatch call
* Add workaround to updateModelingState not working
* Back to updateModelingState with a skip flag
* Better todo
* Change working from Import to Insert, cleanups
* Sister command in kclCommands to populate file options
* Improve path selector
* Unsure: move importAstMod to kclCommands onSubmit 😶
* Add e2e test
* Clean up for review
* Add native file menu entry and test
* No await yo lint said so
* WIP: UX improvements around foreign file imports
Fixes#6152
* @lrev-Dev's suggestion to remove a comment
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Update to scene.settled(cmdBar)
* Add partNNN default name for alias
* Lint
* Lint
* Fix unit tests
* Add sad path insert test
Thanks @Irev-Dev for the suggestion
* Add step insert test
* Lint
* Add test for second foreign import thru file tree click
* WIP: Add point-and-click Load to copy files from outside the project into the project
Towards #6210
* Move Insert button to modeling toolbar, update menus and toolbars
* Add default value for local name alias
* Aligning tests
* Fix tests
* Add padding for filenames starting with a digit
* Lint
* Lint
* Update snapshots
* Merge branch 'main' into pierremtb/issue6210-Add-point-and-click-Load-to-copy-files-from-outside-the-project-into-the-project
* Add disabled transform subbutton
* Merge kcl-samples and local disk load into one 'Load external model' command
* Fix em tests
* Fix test
* Add test for file pick import, better input
* Fix non .kcl loading
* Lint
* Update snapshots
* Fix issue leading to test failure
* Fix clone test
* Add note
* Fix nested clone issue
* Clean up for review
* Add valueSummary for path
* Fix test after path change
* Clean up for review
* Update src/lib/kclCommands.ts
Thanks @franknoirot!
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Improve path input arg
* Fix tests
* Merge branch 'main' into pierremtb/issue6210-Add-point-and-click-Load-to-copy-files-from-outside-the-project-into-the-project
* Fix path header not showing and improve tests
* Clean up
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Add an engine error type for an "outage"
* Add a loading spinner back to the stream just for engine connection
* Refactor Loading spinner to account for early errors
* Add styling and state logic for unrecoverable errors in Loading
* Let engine error messages contain markdown
* Clarify 'too many connections' error message
* Add a "VeryLongLoadTime" error that suggests checking firewall
* Give the engine connection spinner a test ID and use it
* Use a dropdown for stream idle setting
* Add support for undefined values in dropdowns
* Move cache bust to the beginning of engine open for reconnections
* yarn tsc
* Don't setup model feature highlighters until the connection is ready
* Wait 2s to give engine time to serve video, then listen for modeling commands
* Undo teardown
* yarn fmt
* Fix circular module dependency; fmt & lint & tsc
* Fix editor-test waiting for 2 instead of 1
* Increment another 2 numbers ...
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
The connection can't be bad if there is not yet `:galaxy-brain:`.
But seriously this behavior regressed share links because we would bail
from the command palette because the connection wasn't healthy.
* initPromise in main.ts
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* move initPromise so dep tree doesnt shit the bed
Signed-off-by: Jess Frazelle <github@jessfraz.com>
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix: increasing timeout to reduce failures..?
* fix: removing debugging code
* Remove unnecessary pixel color check
* Only close the command palette on disconnection events
This code closes the palette on *any* network event, including it
getting established. This made tests like "Create a few projects using
the default project name" unreliable.
Also adds a block comment about how we should do something more
sophisticated than bail out in the future.
* Show a toast to explain why the user just lost their command flow
* Remove unnecessary click in test. `fill` focuses already
* Oop don't spam this disconnection toast if the palette isn't open
Honoring exhausting hook dependency checks
* Skip circle snapshot test, it's being weird
* Disable the export button if engine connection is unavailable
* Refactor useDemoCode to hopefully be more reliable
* allow weak connections to receive demo code
* revert Refactor useDemoCode to hopefully be more reliable
Commit:
2625c14783 [2625c1478]
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
Co-authored-by: Andrew Varga <grizzly33@gmail.com>
* Improve ActionButtonDropdown selection
* center rectangle icon fixed
* ignore Esc key when displaying hotkeys
* add ability to escape 3 point circle tool
* remove focus from ActionButton, ActionButtonDropdown
* remove focus outline from buttons
* remember lastly selected multi action item
* Add tests for toolbar buttons
* fix sketch-tests by turning toolbar dropdown arrays into an object with an id - this got broken because dropdown now remember the last selected option so we cant rely on cant reference the first option in tests
* update other tests with open menu click
* WIP: Add point-and-click Import for geometry
Will eventually fix#6120
Right now the whole loop is there but the codemod doesn't work yet
* Better pathToNOde, log on non-working cm dispatch call
* Add workaround to updateModelingState not working
* Back to updateModelingState with a skip flag
* Better todo
* Change working from Import to Insert, cleanups
* Sister command in kclCommands to populate file options
* Improve path selector
* Unsure: move importAstMod to kclCommands onSubmit 😶
* Add e2e test
* Clean up for review
* Add native file menu entry and test
* No await yo lint said so
* WIP: UX improvements around foreign file imports
Fixes#6152
* @lrev-Dev's suggestion to remove a comment
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Update to scene.settled(cmdBar)
* Add partNNN default name for alias
* Lint
* Lint
* Fix unit tests
* Add sad path insert test
Thanks @Irev-Dev for the suggestion
* Add step insert test
* Lint
* Add test for second foreign import thru file tree click
* Add default value for local name alias
* Aligning tests
* Fix tests
* Add padding for filenames starting with a digit
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Fix unclickable state, don't show warning if query present
* Leave a note about need for a web test
* Fix browser share links by waiting for network connection
* Don't worry about engineConnection on home route
* WIP: Add point-and-click Import for geometry
Will eventually fix#6120
Right now the whole loop is there but the codemod doesn't work yet
* Better pathToNOde, log on non-working cm dispatch call
* Add workaround to updateModelingState not working
* Back to updateModelingState with a skip flag
* Better todo
* Change working from Import to Insert, cleanups
* Sister command in kclCommands to populate file options
* Improve path selector
* Unsure: move importAstMod to kclCommands onSubmit 😶
* Add e2e test
* Clean up for review
* Add native file menu entry and test
* No await yo lint said so
* @lrev-Dev's suggestion to remove a comment
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Update to scene.settled(cmdBar)
* Lint
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Add back stream idle mode
* Shut up codespell
* Correct serialization; only expose at user level
* cargo fmt
* tsc lint fmt
* Move engineStreamMachine as a global actor; tons of more work
* Fix up everything after bumping kittycad/lib
* Remove camera sync
* Use pause/play iconology
* Add back better ping indicator
* wip
* Fix streamIdleMode checkbox being wonky
* yarn fmt
* Massive extinction event for waitForExecutionDone; try to stop projects view switching from crashing
* Clear diagnostics when unmounting code editor!
* wip
* Rework initial root projects dir + deflake many projects tests
* More e2e fixes
* Deflake revolve some revolve tests
* Fix the rest of the mfing tests
* yarn fmt
* yarn lint
* yarn tsc
* Fix tsc after rebase
* wip
* less flaky point and click
* wip
* Fixup after rebase
* Fix more tests
* Fix 2 more
* Fix up named-views tests
* yarn fmt lint tsc
* Fix up new changes
* Get rid of 1 cyclic dependency
* Fix another cyclic mfer!
* fmt
* fmt tsc
* Fix zoom to fit being frigged
* a new list of circular deps
* Remove NetworkHealthIndicator test that was shit
* Fix the bad reload repeat issue kevin started on
* Fix zoom to fit at the right moments...
* Fix cache count numbers in editor test
* Remove a test race - poll window info.
* Qualify fail function
* Try something
* Use scene.connectionEstablished
* Hopefully fix snapshots at least
* Add app console.log
* Fix native menu tests more
* tsc lint
* Fix camera failure
* Try again
* Test attempt number 15345203, action!
* Add back old window detection heuristic
* Remove firstWindow to complete the work of 2342d04fe2
* Tweak some tests for MacOS
* Tweak "set appearance" test for MacOS
Revert this if it messes up any other platform's color checks!
* Are you serious? This was all that needed formatting?
* More color tweaks
Local MacOS and CI MacOS don't agree
* Fixes on apperance e2e test for stream idle branch (#6168)
pierremtb/stream-idle-revamp-appearance-fixes
* Another apperance fix
* Skip one native menu test to make stream idle green (#6169)
* pierremtb/stream-idle-revamp-more-fixes
* Fix lint
* Update snapshot for test_generate_settings_docs
---------
Co-authored-by: lee-at-zoo-corp <lee@zoo.dev>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Get rid of risky useEffect in restart onboarding flow
In certain cases this would cause an infinite loop in the web version of
the app. We should eliminate all uses of this "fire and listen with a
useEffect" antipattern in the code base, it was a mistake I introduced.
This uses the XState `waitFor` function to wait **only once** for the
transition to complete, with some error handling in case it fails.
* chore: skeleton for building and creating menus. Need electron to renderer interface to dynamically set the menu
* chore: skeleton typing for communication between nodes and web side
* chore: more skeleton for the different roles within the menu options, need more type safety
* chore: adding more skeleton and templates of what the menus could be
* chore: implemented first pass for helpRole links
* fix: syntax issue stopped the build step
* feature: loading different menus based on your page
* feature: Home page file role implemented
* chore: handling the build workflow for the signin page
* fix: moving edit actionst to the edit menu
* chore: adding preferences to the file role
* chore: redoing help roles based on the question mark widget
* fix: auto fmt
* chore: examples of accelerator strings for Menu.MenuItems keyboard shortcuts!
* chore: oddly specific toggle API for disabling MenuItems from JS. No rules!
* fix: do not implement a custom label disable thingy, use id on menu and use the native APIga
* fix: auto fmt
* fix: adding some typechecks and auto fmt fixes
* fix: trying to fix custom type?
* fix: nvm we back, the lsp on my editor borked for a second
* fix: adding one more level to the custom type for the labels
* chore: cleaning up type definitions to read easier
* fix: resolving yarn lint errors
* chore: adding file sign out
* chore: adding more file bar actions
* chore: ready for PR draft
* fix: preemptive GC collectoin bug fix if somehow a user interacts with a menu while it is being GCed
* fix: linking the OG source
* fix: set application menu to null to avoid default electron menu
* chore: trying to add more typescript
* chore: BIG workflow changes... better typing, less IPC junk
* fix: remapping the icp functions to the cb option select...
* chore: all og events are rehooked up with new workflow pattern
* feat: adding more options to the native bar!
* fix: todo
* chore: cleaning up some menus and adding more
* fix: desktop vs browser and lint errors
* fix: typescript did not like sample electorn JS code for the basic templates with isMac conditionals...
* fix: PR clean up
* fix: more PR cleanup
* A snapshot a day keeps the bugs away! 📷🐛
* fix: added the new help menu to the default sign in and modeling page
* fix: disabled two menu actions within sign in page since they will not do anything.
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* fix: mergining main, auto fixes
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* fix: saving off progress found an IPC on/off bug thanks electron!
* fix: fixed ipc renderer off/remove listener bug
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* chore: skeleton layout for the file menu in the modeling page.
* fix: adding types
* A snapshot a day keeps the bugs away! 📷🐛
* fix: more skeleton
* feat: adding file preferences project settings
* feat: adding share current part link to file menu
* fix: report a bug to refresha and report a bug
* fix: new type for webContents send payload that does not brick TS
* fix: removing import file from url since it is not working in the command palette for manual user input
* fix: removing old comment
* chore: adding user default units
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* fix: trying to create a new file but I don't think this the correct workflow...
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* fix: disabling create a file and folder until we get it properly implemented at the commad bar level
* fix: hooking up more commands
* fix: auto fixes
* chore: adding standard views
* chore: adding some E2E tests.
* chore: added E2E tests for each file menu
* fix: auto fixes
* chore: adding more edit role E2E tests
* chore: e2e test
* chore: adding help role e2e test
* A snapshot a day keeps the bugs away! 📷🐛
* chore: e2e test for all the menu options you can interact with in the frontend
* chore: hooking up more menu actions
* chore: adding pane actions
* fix: mac only menu fix and added start sketch
* chore: big edit for state management and command registration
* fix: auto fixes, tsc
* fix: codespell typo
* chore: implementing E2E tests for the menus since we cleared them.
* chore: file export current part e2e test
* chore: added all file role tests in modeling page
* chore: modeling page edit e2e tests
* chore: implemented view e2e test for modeling page
* chore: add all design e2e playright tests
* fix: auto linter,fmt
* chore: added modeling help role e2e tests
* fix: ugh this function isn't available in electron evalulate
* fix: new default project name
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* WIP: Change the name of the app
Fixes#5971
* Force release build
* More renames
* Fix release builds on PR
* Remove alpha on home page, replace with nightly if nightly
* Change appId back to dev.zoo.modeling-app after updater test failure
* Cleanup towards review
* Lint
* Lint plus @jacebrowning's suggestion
* Lint
* Rename operations to be more generic grouping
* Add group enum
* Add module instance groups
* Change to export all operation ts-rs types to the same file
* Fix Feature Tree display of modules to use name
* Ignore clippy warning
* Update output after operation changes
* Change module instances in Feature Tree use to import icon
* Fix error message when attempting to delete module instance
* Remove trivial floating promise in authMachine
* Add catch statement so LSP promise is considered non-floating
* Remove trivial float in AllSettingsFields
* Add error reporting for ensureWasmInit
* Remove pointless floating promise in Modeling
* Add comment and reportRejection to floating promise in "set selection"
* Read comment, put back await that should be there
* Fix dumb imports rebase botch
* Missed an import
---------
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* fix sketch mode scale issue
* fmt
* Fix snapshot tests in kurt-5621-scale-issue (#6111)
* Change test function to share units with settings (#6114)
* Change test function to share units with settings
* Consolidate to the same module
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* Fix to not call onMouseLeave with no selected object
* Add no this alias lint
* Add more lints and fix JSON formatting
* Fix to use lower-case string type
* Add another namespace lint
* Fix to not use plus on possibly non-string values
* Move turns to a submodule of std
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Cache module infos as well as memory; fix a bug with deprecated constants
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add as const lint
* Add lint for no implied eval
* Fix incorrect type and add lints
* Add more type lints
* Remove redundant type assertions and add lint
* Fix to turn off incorrect base rules
* Fix yarn lint workflow to wait for build:wasm
* Change so that we don't build:wasm more than once in the workflow
* first steps, add to cmd bar etc
* cmdbar working well enough
* mvp
* lint
* fix after rebase
* intersect and union mvps
* add test
* some clean up
* further fix up
* Update src/lang/modifyAst/boolean.ts
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Update src/lang/modifyAst/boolean.ts
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* pierre's comments
* tsc
* add comment
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Add a loading state to CommandBarKclInput while calculating
This is so that we can more reliably await for the calculation to be
completed before advancing the command bar in Playwright E2E tests.
* Make sure the spinner shows on first frame, before `isExecuting` is set too