* Add a shell script to get the list of KCL samples into the app
* Add support for overwriting current file with sample
* Move these KCL commands down into FileMachineProvider
* Add support for creating a new file on desktop
* Make it so these files aren't set to "renaming mode" right away
* Add support for initializing default values that are functions
* Add E2E tests
* Add a code menu item to load a sample
* Fix tsc issues
* Remove `yarn fetch:samples` from `yarn postinstall`
* Remove change to arg initialization logic, I was holding it wrong
* Switch to use new manifest file from kcl-samples repo
* Update tests now that we use proper sample titles
* Remove double-load from units menu test
* @jtran feedback
* Don't encode `https://` that's silly
* fmt
* Update e2e/playwright/testing-samples-loading.spec.ts
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Test feedback
* Add a test step to actually check the file contents were written to (@Irev-Dev feedback)
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* circle
* fix another example
* fix bad comment
* toPoint fix
* cargo fmt
* resolve most of the tests
* fix last test
* missed circle in bracket
* remove console error
* fmt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* trigger ci
* remove three dot menu for circle
* make sure circle can be extruded
* fix up after merge
* add extrude test for circle
* clean up
* typo
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"
This reverts commit 03f8eeb542.
* update docs again
* cmd bar test serialisation improvements
* tiny clean up
* fix after: Replace kittycad crate with kittycad-modeling-cmds
* fmt
* rename fix
* Update src/lib/toolbar.ts
Co-authored-by: Frank Noirot <frank@zoo.dev>
* add another error to list
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* image updates
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)"
This reverts commit 505bb20bea.
* update markdown
* skip un reproducable windows test failure
* rust review
* leave issue todo comment
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Add exclamationMark icon
* Add basic LowerRightControls component
* Create a help menu
* Remove NetworkHealthIndicator from AppHeader
* Refactor Tooltip to be able to be corner-anchored
* Add a better flag back to the Tooltip
* Give tooltip a faint theme outline on light mode too
* Fix broken reset onboarding behavior on home page
* Fix bug with isInProject
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add a setting for themeColor
* Add primary-color to Tailwind, driven by themeColor setting
* Get rid of most uses of "energy" colors
* Change out the rest of the energy colors
* Tweak NetworkHealthIndicator light mode checkmarks
* Handful of other CSS tweaks while I'm here:
- remove the AppHeader bg and border
- pane margins
- better dark mode button styles
* Make Zoo logomark a badge
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Re-run CI post-snapshots
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Retrigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* BROKEN: start of scopes for each setting
* Clean up later: mostly-functional scoped settings!
Broken command bar, unimplemented generated settings components
* Working persisted project settings in-folder
* Start working toward automatic commands and settings UI
* Relatively stable, settings-menu-editable
* Settings persistence tweaks after merge
* Custom settings UI working properly, cleaner types
* Allow boolean command types, create Settings UI for them
* Add support for option and string Settings input types
* Proof of concept settings from command bar
* Add all settings to command bar
* Allow settings to be hidden on a level
* Better command titles for settings
* Hide the settings the settings from the commands bar
* Derive command defaultValue from *current* settingsMachine context
* Fix generated settings UI for 'options' type settings
* Pretty settings modal 💅
* Allow for rollback to parent level setting
* fmt
* Fix tsc errors not related to loading from localStorage
* Better setting descriptions, better buttons
* Make displayName searchable in command bar
* Consolidate constants, get working in browser
* Start fixing tests, better types for saved settings payloads
* Fix playwright tests
* Add a test for the settings modal
* Add AtLeast to codespell ignore list
* Goofed merge of codespellrc
* Try fixing linux E2E tests
* Make codespellrc word lowercase
* fmt
* Fix data-testid in Tauri test
* Don't set text settings if nothing changed
* Turn off unimplemented settings
* Allow for multiple "execution-done" messages to have appeared in snapshot tests
* Try fixing up snapshot tests
* Switch from .json to .toml settings file format
* Use a different method for overriding the default units
* Try to force using the new common storage state in snapshot tests
* Update tests to use TOML
* fmt and remove console logs
* Restore units to export
* tsc errors, make snapshot tests use TOML
* Ensure that snapshot tests use the basicStorageState
* Re-organize use of test.use()
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Update snapshots one more time since lighting changed
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Fix broken "Show in folder" for project-level settings
* Fire all relevant actions after settings reset
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Properly reset the default directory
* Hide settings by platform
* Actually honor showDebugPanel
* Unify settings hiding logic
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fix first extrusion snapshot
* another attempt to fix extrustion snapshot
* Rerun test suite
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* trigger CI
* more extrusion stuff
* Replace resetSettings console log with comment
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* try and make test more robust
* unused import
* add logging
* fix bug in export test
* Revert "unused import"
This reverts commit 0fb7090eca.
* revert more
* more fixes
* fix
* ultra snapshot test
* Revert "ultra snapshot test"
This reverts commit 17a883727e.
* Add new exportFile icon
* Isolate exportFromEngine command
* Naive initial export command
* Update types to accept functions for arg defaultValue, required, and options
* Make existing helper functions and configs work with new types
* Make UI components work with new types
support resolving function values and conditional logic
* Add full export command to command bar
* Replace ExportButton with thin wrapper on cmd bar command
* fmt
* Fix stale tests and bugs found by good tests
* fmt
* Update src/components/CommandBar/CommandArgOptionInput.tsx
* Update snapshot tests and onboarding wording
* Move the panel open click into doExport
* Don't need to input storage step in export tests anymore
* Remove console logs, fmt, select options if we need to
* Increase test timeout
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Rename useCalc
* Move CommandBar so it has access to settings and kcl
* Create codemirror variable mention extension
* Make project path a dep of TextEditor useMemo
* Add incomplete KCL input for CommandBar
to replace current number arg type
* Add previous variables autocompletion to kcl input
* Fix missed typos from merge
* Working AST mods, not working variable additions
* Add ability to create a new variable
* Add icon and tooltip to command arg tag if a variable is added
* Polish variable naming logic, preserve when going back
* Allow stepping back from KCL input
* Don't prevent keydown of enter, it's used by autocomplete
* Round the variable value in cmd bar header
* Add Playwright test
* Formatting, polish TS types
* More type wrangling
* Needed to fmt after above type wrangling
* Update snapshot tests to account for new variable name autogeneration
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Merge branch 'main' into cmd-bar-make-variable
* Update all test instances of var name with number index after merge with main
* Partial revert of "Polish variable naming logic, preserve when going back"
This reverts commit dddcb13c36.
* Revert "Update all test instances of var name with number index after merge with main"
This reverts commit 8c4b63b523.
* Revert "Update snapshot tests to account for new variable name autogeneration"
This reverts commit 11bfce3832.
* Retry a refactoring of findUniqueName
* minor feedback from @jgomez720
- better highlighting of kcl input
- consistent hotkeys
- disallow invalid var names
* Polish stepping back state logic
* Fix tests now that keyboard shortcut changed
* Remove unused imports
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Fix tests
* Trigger CI
* Update src/components/ProjectSidebarMenu.test.tsx
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* re-trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Make commands able to be configured as 'skippable'
* Make command machine able to skip arguments
* Add support for skippable selections, which are not known until within input component
* Update extrude command config to skippable
* Use defaultValue to seed initial arg values, not payload
* Remove unused `payload` command config prop
* Make skip and defaultValue types more exact
* Remove console logs
* fmt
* Revert type tightening, not worth the headache
* Tweak toaster look and feel
* Add icons, tweak plus icon names
* Rename commandBarMeta to commandBarConfig
* Refactor command bar, add support for icons
* Create a tailwind plugin for aria-pressed button state
* Remove overlay from behind command bar
* Clean up toolbar
* Button and other style tweaks
* Icon tweaks follow-up: make old icons work with new sizing
* Delete unused static icons
* More CSS tweaks
* Small CSS tweak to project sidebar
* Add command bar E2E test
* fumpt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fix typo in a comment
* Fix icon padding (built version only)
* Update onboarding and warning banner icons padding
* Misc minor style fixes
* Get Extrude opening and canceling from command bar
* Iconography tweaks
* Get extrude kind of working
* Refactor command bar config types and organization
* Move command bar configs to be co-located with each other
* Start building a state machine for the command bar
* Start converting command bar to state machine
* Add support for multiple args, confirmation step
* Submission behavior, hotkeys, code organization
* Add new test for extruding from command bar
* Polish step back and selection hotkeys, CSS tweaks
* Loading style tweaks
* Validate selection inputs, polish UX of args re-editing
* Prevent submission with multiple selection on singlular arg
* Remove stray console logs
* Tweak test, CSS nit, remove extrude "result" argument
* Fix linting warnings
* Show Ctrl+/ instead of ⌘K on all platforms but Mac
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Add "Enter sketch" to command bar
* fix command bar test
* Fix flaky cmd bar extrude test by waiting for engine select response
* Cover both button labels '⌘K' and 'Ctrl+/' in test
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>