* Remove E2E test behavior for projection toggle UI
Even though the test is `fixme`'d this should make it easier to
ressurect. The test is still flaky but it runs now.
* Remove projection toggle from the UI
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
* Change default project name to 'untitled'
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Clean up
* More renaming
* Fix test
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 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>
* Map dependencies between Windows scripts
* Skip unix-specific command on Windows
* Handle missing directory
* Explicitly run with PowerShell
This makes the scripts with work CMD out-of-the-box.
* Update main.kcl
Finally making this bracket smarter
correcting fillet issues
single body w/ SSI extruded cuts
it even works as a sendcutsend upload now
* Update kcl-samples simulation test output
* Update main.kcl
descriptive variable names
* Update kcl-samples simulation test output
* Update main.kcl
spelling corrections
* Update kcl-samples simulation test output
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Josh Gomez <114548659+jgomez720@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
* Add failing test
* Update output to show execution error
* Fix circular pattern to not error in isolated or mock mode
* Update output after fix
* Add failing test for pattern linear 2D
* Add failing output
* Fix isolated execution in linear patterns
* Update output after linear fix
* WIP: Add edge and segment selection in point-and-click Helix flow
Fixes#5393
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Working edge based helix edit
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Add utility function for shared code between revolve and helix
* 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! 📷🐛
* Use updateModelingState in codemod
* A snapshot a day keeps the bugs away! 📷🐛
* Add skip: true for edge helix to be consistent with axis as options
* A snapshot a day keeps the bugs away! 📷🐛
* Add support for sweepEdge and tests
* Lint
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Clean up snapshots
* WIP: Add edit flow for Revolve
Fixes#5504
* A snapshot a day keeps the bugs away! 📷🐛
* Clean up, add edit steps to three e2e tests
* Fix up tests after ccw change
* Use displayName: 'CounterClockWise' cause ccw not cutting it
* Fix tsc
* Remove uneeded return
* Update 2020 snapshots after helix change
* Update 2020 snapshots after helix change
* 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! 📷🐛
* Another one :djkhaled:
* 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! 📷🐛
* Move to fromPromise actor, fix test
* A snapshot a day keeps the bugs away! 📷🐛
* Clean up
* 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! 📷🐛
* Lint
* Fix third test
* A snapshot a day keeps the bugs away! 📷🐛
* Lint
* Fix edit insert order
* Fix axis, edge cases with new var, edit new var
* Add test case for new variable creation
* Clean up addRevolve with getSafeInsertIndex
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* add test for rect panning bug
* tweak timeouts
* cleanups, handle both center and corner rectangle
* revert regression that was used for the test
* apply PR feedback
* Show a toast if the user tries to save their work
And store the fact that they've seen it in localStorage so we don't spam
them every time they hit it after they see it.
* Remove any localStorage logic, toast every time
* 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 operation tracking for CSG boolean functions
* Add CSG operations to the Feature Tree
* Add just command
* Add union sim test
* Update output with new sim test
* Add CSG subtract test
* Update output from subtract test
* Add intersect sim test
* Update output for intersect test
* 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
* Add a test to confirm console errors fail tests
* Check for console errors on all browsers
* Ignore error impacting lots of tests
* Add more detected errors to the allowlist for now
* add makeup mirror
* m -> M
* add metal sink unit
* Update kcl-samples simulation test output
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 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: 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* 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
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* 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
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore: cleanup to get named views released!
* fix: fixed gizmo, client side camera sync and remove DEV flag
* yarp
* chore: implementing E2E tests for creating a named view
* fix: cleaning up and commenting E2E tests for named views
* fix: we did it bois, the skip ceral i zation bricked my E2E test :(
* fix: auto formatter
* fix: snapshot uuid matching because rust will randomly generate thme
* fix: auto fmt
* fix: trying to resolve typescript issues
* fix: handling NamedView vs CameraViewState type checking
* fix: no idea I just mapped export to 3d export because we have no 2d export yet...
* fix: random file I wrote because my editor was too slow
* fix: git merge did not do what I wanted
* A snapshot a day keeps the bugs away! 📷🐛
* fix: linter errors
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: 49fl <ircsurfer33@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* WIP: Add edit flow for Fillet
Fixes#5521
* Support sweepedge fillet and add edit tests
* A snapshot a day keeps the bugs away! 📷🐛
* Lint and cleanup
* Add edit flow for Chamfer
Fixes#5950
* Change to shared prepareToEdit function
* Clean up
* Lint
* Clean up of types and use of getEdgeCutConsumedCodeRef
* Find pipeIndex instead of hardcode
* Add error for non-pipe fillet and test it
* A snapshot a day keeps the bugs away! 📷🐛
* Fix lint
* A snapshot a day keeps the bugs away! 📷🐛
* Utility function to reduce code reuse across fillet and chamfer
* Clean up test diff
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Lint
* 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! 📷🐛
* Remove change not needed
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Fix typo in toast
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Remove ['segment', 'sweepEdge'] const as it was causing some sort of circ dep
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Give a warning when using per-project default units
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Factor non-settings out of MetaSettings
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix formatting
* Fix code pane e2e test
* Fix callstack blowup in edit flow
* Avoid dumb timeout issue with command registration in test
* Use a safer way to wait for modeling command registration in test
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* Fix callstack blowup in edit flow
* Avoid dumb timeout issue with command registration in test
* A snapshot a day keeps the bugs away! 📷🐛
* Use a safer way to wait for modeling command registration in test
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* De-flake create parameter test step
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add tests for utility to bypass unreliable tests
* Limit skip to just Windows
* Ignore unit tests from Playwright
* 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! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: fixed use effect logic to use .current, fixed useEffect file watcher to not watch .kcl files when loading settings
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* bump
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* bump
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* bump
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fix: merge wrote this back...
* fix: deleted unused variable init
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* bump
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Extract extrude to variables and format onboarding code
* A snapshot a day keeps the bugs away! 📷🐛
* add spaces between sketches and extrudes
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jgomez720 <114548659+jgomez720@users.noreply.github.com>
* WIP: Add edge and segment selection in point-and-click Helix flow
Fixes#5393
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Working edge based helix edit
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Add utility function for shared code between revolve and helix
* 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! 📷🐛
* Use updateModelingState in codemod
* A snapshot a day keeps the bugs away! 📷🐛
* Add skip: true for edge helix to be consistent with axis as options
* A snapshot a day keeps the bugs away! 📷🐛
* Add support for sweepEdge and tests
* Lint
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Clean up snapshots
* Fix up tests after ccw change
* Use displayName: 'CounterClockWise' cause ccw not cutting it
* Fix tsc
* Update 2020 snapshots after helix change
* Update 2020 snapshots after helix change
* A snapshot a day keeps the bugs away! 📷🐛
* Another one :djkhaled:
* Clean up
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore: skeleton to detect read write directories and if we have access to notify user
* chore: adding buttont to easily change project directory
* chore: cleaning up home page error bar layout and button
* fix: adding clearer comments
* fix: ugly console debugging but I need to save off progress
* fix: removing project dir check on empty string
* fix: debug progress to save off listProjects once. Still bugged...
* fix: more hard coded debugging to get project loading optimizted
* fix: yarp, we got another one bois
* fix: cleaning up code
* fix: massive bug comment to warn devs about chokidar bugs
* fix: returning error instead of throwing
* fix: cleaning up PR
* fix: fixed loading the projects when the project directory changes
* fix: remove testing code
* fix: only skip directories if you can access the project directory since we don't need to view them
* fix: unit tests, turning off noisey localhost vitest garbage
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fix: deleted testing state
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Update 2020 snapshots after helix change
* Another one :djkhaled:
* 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! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Support calling KCL std KW fns, and move circle to KCL std
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Doc comments on parameters
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Update grammar
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Change use of counterClockWise to ccw
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Support paths to names rather than just raw idents
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* 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! 📷🐛
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: REVERT REVERT REVERT
* fix: one more unused remove
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Make sure connection is established before advancing settings theme test
* 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! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* Add more tests for sweep sectional
* A snapshot a day keeps the bugs away! 📷🐛
* Add rust doc test for sectional
* A snapshot a day keeps the bugs away! 📷🐛
* Ran redo-kcl-stdlib-docs
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Make changes to ML button
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: Zookeeper Lee <lee@zoo.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Only show axis planes when there are no errors
* run prettier
* A snapshot a day keeps the bugs away! 📷🐛
* KclSingleton hasErrors refactor
* 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! 📷🐛
* 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! 📷🐛
* 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! 📷🐛
* 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! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Automatic fixing of deprecations and use non-quoted default planes by default
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* 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! 📷🐛
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Fix snapshot test to use mask
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Fix ToolBar WebkitAppRegion warning
* make intersectionPlane non-nullable, avoid trying to create it multiple times to get rid of warning
* remove derived scene from sceneEntities
* intersectionPlane is now always non-null, make it readonly too
* sceneInfra small cleanups
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Clean up snapshots
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* WIP: Expose the sectional argument in the Sweep command flow
Fixes#5301
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Working edit flow
* Lint
* Allow in place editing, more consistent code
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Remove validation on non-selection arg
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Comment out bad test
* Clean up for review
* Hack sectional
* Made selection args hidden
* Fix edit issue in e2e
* Clean up
* Add face filtering filter for opposite and next adjacent faces
* Lint
* Fixme back
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Use updateModelingState in codemod
* 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! 📷🐛
* 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! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
* Improve filtering readibility
* Fix base test
* I liked return but clippy didn't
* Working tests, isolating the change to sectional sweep, don't like the api change
* 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! 📷🐛
* Clean up snapshots
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* parse union and fancy array types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* type aliases
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Treat Helix and Face as primitive types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* code motion: factor our execution::types module
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Tests for type coercion and subtyping
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add Point2D/3D to std
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Rebasing and fixes
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add support for forcing kcl input create variable
* Command palette padding tweak
* Make traverse function work for ExpressionStatements
* Add utilities for getting earliest safe index in AST
* Fix the insertIndex logic to not be based on the selection anymore
* Add workflow to create a named constant
* Fix bug with nameEndInDigits matcher
* Tweak command config
* Add a three-dot menu to feature tree pane to create parameters
* Add E2E test for create parameter flow
* Remove edit flow oops
* Fix tsc error
* Fix E2E test
* Update named constant position in edit flow test
* Add tags into consideration for safe insert index
Per @Irev-dev's helpful feedback, with unit tests!
* Fix tsc by removing a generic type
* Remove unused imports
* Fix lints
* A snapshot a day keeps the bugs away! 📷🐛
* Add utilities for working with variable declarations
* Add "edit parameter" user flow
* Add edit flow config
* WIP working on de-bloating useCalculateKclExpreesion
* Add the ability to specify a `displayName` for an arg
* Add utility to type check on SourceRanges
* Review step design tweak fixes
* Refactor useCalculateKclExpression to take a sourceRange
* Make option arg validation work for objects and arrays
Using an admittedly dumb stringification approach
* Make edit flow never move the constant to be edited
* Add E2E test section
* Fix lints
* Remove lying comment, tiny CSS tweak
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Install Vector on Ubuntu to log failed test to Axiom
* Allow flaky tests to run on main for Axiom metrics
* Enable problematic tests on a dedicated branch
* Only show "Edit sketch" button when code pane is focused with sketch selected
Closes#4273. WIP until tests are updated, since this will impact many
that look for the "Edit sketch" button.
* Start removing "edit sketch" point-and-click from E2E
* Update more E2E tests
* Update more tests that assumed Edit Sketch button
* A snapshot a day keeps the bugs away! 📷🐛
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Ensure batches in the engine are cleared between scenes
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Avoid panicking reading arguments out of bounds
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Improve snapshot testing
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* A snapshot a day keeps the bugs away! 📷🐛
* A snapshot a day keeps the bugs away! 📷🐛
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix no profile errors
* add test and tweak a couple things
* quick fix
* fix animation
* add another test
* Use actor.getSnapshot in the debug function
So we don't have to rebuild that listener every time that the state
changes.
* try fix tests
---------
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
2025-03-20 08:30:11 +11:00
1792 changed files with 449048 additions and 847628 deletions
Compared to other CAD software, getting Zoo Modeling App up and running is quick and straightforward across platforms. It's about 100MB to download and is quick to install.
Compared to other CAD software, getting Zoo Design Studio up and running is quick and straightforward across platforms. It's about 100MB to download and is quick to install.
## Windows
1. Download the [Zoo Modeling App installer](https://zoo.dev/modeling-app/download) for Windows and for your processor type.
1. Download the [Zoo Design Studio installer](https://zoo.dev/modeling-app/download) for Windows and for your processor type.
2. Once downloaded, run the installer `Zoo Modeling App-{version}-{arch}-win.exe` which should take a few seconds.
2. Once downloaded, run the installer `Zoo Design Studio-{version}-{arch}-win.exe` which should take a few seconds.
3. The installation happens at `C:\Program Files\Zoo Modeling App`. A shortcut in the start menu is also created so you can run the app easily by clicking on it.
3. The installation happens at `C:\Program Files\Zoo Design Studio`. A shortcut in the start menu is also created so you can run the app easily by clicking on it.
## macOS
1. Download the [Zoo Modeling App installer](https://zoo.dev/modeling-app/download) for macOS and for your processor type.
1. Download the [Zoo Design Studio installer](https://zoo.dev/modeling-app/download) for macOS and for your processor type.
2. Once downloaded, open the disk image `Zoo Modeling App-{version}-{arch}-mac.dmg` and drag the applications to your `Applications` directory.
2. Once downloaded, open the disk image `Zoo Design Studio-{version}-{arch}-mac.dmg` and drag the applications to your `Applications` directory.
3. You can then open your `Applications` directory and double-click on `Zoo Modeling App` to open.
3. You can then open your `Applications` directory and double-click on `Zoo Design Studio` to open.
## Linux
1. Download the [Zoo Modeling App installer](https://zoo.dev/modeling-app/download) for Linux and for your processor type.
1. Download the [Zoo Design Studio installer](https://zoo.dev/modeling-app/download) for Linux and for your processor type.
2. Install the dependencies needed to run the [AppImage format](https://appimage.org/).
- On Ubuntu, install the FUSE library with these commands in a terminal.
@ -30,7 +30,7 @@ Compared to other CAD software, getting Zoo Modeling App up and running is quick
sudo apt install libfuse2
```
- Optionally, follow [these steps](https://github.com/probonopd/go-appimage/blob/master/src/appimaged/README.md#initial-setup) to install `appimaged`. It is a daemon that makes interacting with AppImage files more seamless.
- Once installed, copy the downloaded `Zoo Modeling App-{version}-{arch}-linux.AppImage` to the directory of your choice, for instance `~/Applications`.
- Once installed, copy the downloaded `Zoo Design Studio-{version}-{arch}-linux.AppImage` to the directory of your choice, for instance `~/Applications`.
- `appimaged` should automatically find it and make it executable. If not, run:
download at [zoo.dev/modeling-app/download](https://zoo.dev/modeling-app/download)
A CAD application from the future, brought to you by the [Zoo team](https://zoo.dev).
Modeling App is our take on what a modern modelling experience can be. It is applying several lessons learned in the decades since most major CAD tools came into existence:
Design Studio is our take on what a modern modelling experience can be. It is applying several lessons learned in the decades since most major CAD tools came into existence:
- All artifacts—including parts and assemblies—should be represented as human-readable code. At the end of the day, your CAD project should be "plain text"
- This makes version control—which is a solved problem in software engineering—trivial for CAD
- All GUI (or point-and-click) interactions should be actions performed on this code representation under the hood
- This unlocks a hybrid approach to modeling. Whether you point-and-click as you always have or you write your own KCL code, you are performing the same action in Modeling App
- This unlocks a hybrid approach to modeling. Whether you point-and-click as you always have or you write your own KCL code, you are performing the same action in Design Studio
- Everything graphics _has_ to be built for the GPU
- Most CAD applications have had to retrofit support for GPUs, but our geometry engine is made for GPUs (primarily Nvidia's Vulkan), getting the order of magnitude rendering performance boost with it
- Make the resource-intensive pieces of an application auto-scaling
@ -19,9 +19,9 @@ Modeling App is our take on what a modern modelling experience can be. It is app
We are excited about what a small team of people could build in a short time with our API. We welcome you to try our API, build your own applications, or contribute to ours!
Modeling App is a _hybrid_ user interface for CAD modeling. You can point-and-click to design parts (and soon assemblies), but everything you make is really just [`kcl` code](https://github.com/KittyCAD/kcl-experiments) under the hood. All of your CAD models can be checked into source control such as GitHub and responsibly versioned, rolled back, and more.
Design Studio is a _hybrid_ user interface for CAD modeling. You can point-and-click to design parts (and soon assemblies), but everything you make is really just [`kcl` code](https://github.com/KittyCAD/kcl-experiments) under the hood. All of your CAD models can be checked into source control such as GitHub and responsibly versioned, rolled back, and more.
The 3D view in Modeling App is just a video stream from our hosted geometry engine. The app sends new modeling commands to the engine via WebSockets, which returns back video frames of the view within the engine.
The 3D view in Design Studio is just a video stream from our hosted geometry engine. The app sends new modeling commands to the engine via WebSockets, which returns back video frames of the view within the engine.
## Tools
@ -198,13 +198,13 @@ If the prompt doesn't show up, start the app in command line to grab the electro
For formats lacking unit data (such as STL, OBJ, or PLY files), the default unit of measurement is millimeters. Alternatively you may specify the unit by passing your desired measurement unit in the options parameter. When importing a GLTF file, the bin file will be imported as well. Import paths are relative to the current project directory.
Note: The import command currently only works when using the native Modeling App.
Note: The import command currently only works when using the native Design Studio.
```js
import(
@ -69,7 +69,7 @@ model = import("tests/inputs/cube.step")
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.