* Start of basic test (not yet failing)
* Add a little logging to get the lay of the scene object land
* Move test colors to utility, test broken
* Get accurate test that is only broken with highlighted color behavior
* Working implementation but now initial segment color sticks around too long
* Make sure segment base color is always the theme color
* Remove console logs, refactor a couple lines to use if statements instead of inline booleans
* Fix new test
* Make origin color update like the other segment types
* fmt
* Fix issue where initially-selected segments lose highlight after hover
* Undo this tweaking of the selection logic, this is really only about the clientSideEntities
* Remove unused exports
* Remove unnecessary code change from ModelingMachineProvider
* Remove newline
* Update src/clientSideScene/sceneEntities.ts
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* allow for editing a sketch where extrude or revolve is in the same pipe
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* update tests
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* add playwright test for extrude
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* add test for revolve
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* remove log
Signed-off-by: Jess Frazelle <github@jessfraz.com>
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* update out of bounds
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* more
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* be in charge of own fate for code mirror versions
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Revert "be in charge of own fate for code mirror versions"
This reverts commit 796ecfdd8f.
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Make sure we always reset the code on important steps no matter what the user did to it
* Convert comments in codeManager to JSDoc comments so they appear in diagnostics
* Was using the wrong codeManager callback
* Make sure editorView is available before resetting code
* Add Playwright test that shows the code being reset
* Fix up text that looks like linksÏ
* fmt
* Skip test on MacOS, make test more reliable on Chrome
* Update cargo-clippy to run based on paths on PRs as well
* playw fix
* try keep reports
* add fix me
* try one last thing
* fmt
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
Clear the AST if there was a parse error.
This leads to an unfortunate loop (good -> invalid -> original) that
wouldn't clear the diagnostics from the invalid step.
* WIP: Break the tauri e2e tests apart
Will fix#2658
* Clean up
* Longer before timeout
* Also exclude tauri tests from vitest
* Utils fn back in app.spec.ts
* Remove utils
* Change before back to it
* Remove explicit mocha dep
* Revert other attemps at fixing the browser issues. mocha dep was the issue
* Clean up
* Signin/out sep with auth flows
* Lint
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Add in a prototype KCL linter
This is a fork-and-replce of an experimental project I hacked up called
"kcl-vet", which was mostly the same code. This integrates kcl-vet into
the kcl_lib crate, which will let us use this from the zoo cli, as well
as via wasm in the lsp. this contains the intial integration with the
lsp, adding all lints as informational to start.
I need to go back and clean some of this up (and merge some of this back
into other parts of kcl_lib); but this has some pretty good progress
already.
Co-authored-by: jess@zoo.dev
Signed-off-by: Paul R. Tagliamonte <paul@zoo.dev>
* ty clippy :)
* add in a lint test
* add in some docstrings
* whoops
* sigh
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* uno reverse card
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* wtf stop it robot fuck
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)"
This reverts commit 5b18f3c035.
* hurm
* try harder to type slower
* try harder? this all passes locally.
* try this now
* simplify, add debugging for trace
* fix enter use
* re-order again
* reorder a bit more
* enter
* ok fine no other enters?
* nerd
* wip
* move control of clearing to typescript
* move result out
* err check
* remove log
* remove clear
* remove add to diag
* THERE CAN BE ONLY ONE
* _err
* dedupe
* Revert "dedupe"
This reverts commit f66de88200.
* attempt to dedupe
* clear diagnostics on mock execute, too
* handle dupe diagnostics
* fmt
* dedupe tsc
* == vs ===
* fix dedupe
* return this to the wasm for now
* clear the map every go around
this is different than the old code isnce it won't republish
---------
Signed-off-by: Paul R. Tagliamonte <paul@zoo.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* add bug icon, swap out refresh icon
* remove lame theme color outline from tooltips
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Basic context menu components
* Working context menu!
* Show keyboard shortcuts in file tree context menu
* Add context menu to Gizmo
* Little polish on components
* Add a test for the gizmo, firm up other gizmo tests
* Updated Cargo lock
* Updated Cargo.lock
* Remove zoom throttling
And use the mouse zoom for sketch mode
* test tweaks
* test tweak
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* gizmo 2.0
nice and clickable
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* initial mouse position fix
when the scene first loads, mouse position is 0,0, which renders the gizmo selected.
* animation loop / disposal optimization
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* reset camera tweak
* add cam target to debug panel
* test stub
* reset camera position handle removed from gizmo
it is now a button in the debug panel
* gizmo refactoring
* small fix
* reset camera view
bug fix
* nicer updateCameraToAxis
now gizmo rotates around the target instead of world 0,0,0
* micro refactoring
* playwright update
* playwright remove timeout + fmt
* hide gizmo while loading stream
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)"
This reverts commit f0a506d6b9.
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)"
This reverts commit 2781261331.
* try make gizmo test more realiable
* tweak
* refactoring
* increase timeout time
* 1 sec wait after mouse click
* 3 sec timeout
* better clickPosition
* test with 10 sec timeout
* 0.5 sec timeout
* add passive update for gizmo to avoid some edge cases
* default_camera_get_settings after click
* try and remove timeouts
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* Make sketch and extrude produce separate top-level constants
* Fix most tests
* Add a breaking test for sketch on face AST mod
* Use `extrude` instead of `part`
* Implement @Irev-Dev's branch changes from https://github.com/KittyCAD/modeling-app/pull/2472
* Get extrude on face working
* Update incorrect sketch on face test
* Update unit tests
* Fix up E2E test changes
* fmt
* Fix a couple of goofed up test updates
* More specific names for paths to node sent to modelingMachine
* Bump down playwright workers for now
* Slightly more explicit type coercion
* Update snapshot tests
* Missed one other new flow test that wasn't updated to use "sketch001"
* Typo
* Damn missed one more sorry
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Re-run CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* I think the multiple sketches test reverted from under me
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add keyboard custom icon
* Refactor Settings to be more modular
* Add basic keybindings view to settings
* Add more shortcuts
* Add link to see keyboard shortcuts tab
* Little more bottom padding
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Add keybindings to settings search
* Add a playwright test for opening the the keyboard shortcuts
* fmt
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Reapply "Add ping pong health, remove a timeout interval, fix up netwo… (#1771)
This reverts commit 1913519f68.
* Fix build errors
* Add new error states to network status notification
* Remove unused variable
* Refactor to use Context API for network status
* Don't do any stream events if network is not ok
* Catch LSP errors on bad auth
* Show when authentication is bad (cookie header only)
* Fix formatting
* Fix up types
* Revert awaiting on lsp failure
* Fix tsc
* wip
* wip
* fmt
* Fix typing
* Incorporate ping health; yarn make:dev; faster video stream loss notice
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* run ci pls
* run ci pls
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* run ci pls again
* Remove unused variables
* Add new instructions on running Playwright anywhere
* Please the Playwright. Praise the Playwright.
* Correct a vitest
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* ci again
* Fix tests unrelated to this PR
* Fix flakiness in for segments tests
* Bump to 2 workers
* fmt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fmt
* fmt
* Fixups
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* ci
* Set workers to 1
* Wait for network status listeners before connecting
* Fix initial connection requirements and trying 2 workers again
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Update rectangle code gen to use profileStart to close shape
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Re-run CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* WIP: Get existing tauri e2e tests to work on Windows
Will fix#2393
* Enable windows stage (will fail)
* WIP msedge version sync
* Move setup edge before build
* Manual debug build (no action)
* Specify v119 for npm package
* Fixes on auth test
* Working test on win10
* Clean up
* Disable yarn cache to help debug the mismatch issue
* Revert "Disable yarn cache to help debug the mismatch issue"
This reverts commit e6abc7db42.
* Explicit webviewOptions and remove tauri driver fork
* Double \\ workaround for windows
* Clean up
* Clean up and readme
* Quick fix
* Lint
* Clippy fix
* Back to tauri-action and disable windows CI tests for early merge
* Back to 10sec delay
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Timer reset
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Trigger CI
* Back to 1 pw worker
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* migrate one constraint
* typo
* update snap to y, snap to x, horz align, vert align, equal length
* add some e2e tests
* add e2e test for snap to axis contsraits
* remove works for now
* Add loading and success toasts to export engine command
* Move doExport out to a test utility, test visibility of loading spinner
* Add playwright test for export success toast
* Update Cargo.lock
* Remove loading assertion, it flashes too quickly for Playwright to pick up
* Navigate between files with single-click
* Better semantic name for optional event passed into FileTree
* Bug fix: reset modeling state when navigating to a new file
* Add more context to E2E test TODO comment
* Newly-created file tree items are immediately set to renaming mode
* Bug fix: redirect to working file if you delete your current one
* Remove ContextMenu, unrelated branch
* Turn off autocorrect in renaming form
* Gracefully handle renaming a folder that our current file is inside of
* Update cargo.lock
* Fix renaming queue
* Navigate to newly-created files
* Make delete project and delete file/folder share deletion confirmation component
* Bug fix: navigate to project root if we delete our current file's parent directory
* Don't navigate to newly-created directories
* remove semver from snapshots
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* trigger ci
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* start of overlay work
* add new icons
* add constraint symbols
* add three dots
* add primary colours
* refactor how we get constraint info for overlays
* refactor how we get constraint info for overlays
* get symbols working for tangential arc too
* extra data on constraint info
* add initial delete
* fix types and circular dep issue after rebase
* fix quirk with horz vert line overlays
* fix setup and tear down of overlays
* remove overlays that are too small
* throttle overlay updates and prove tests selecting html instead of hardcoded px coords
* initial show overaly on segment hover
* remove overlays when tool is equipped
* dounce overlay updates
* tsc
* make higlighting robust to small changes in source ranges
* replace with variable for unconstrained values, and improve styles for popover
* background tweak
* make overlays unconstrain inputs
* fix small regression
* write query for finding related tag references
* make delete segment safe
* typo
* un used imports
* test deleteSegmentFromPipeExpression
* add getConstraintInfo test
* test removeSingleConstraintInfo
* more tests
* tsc
* add tests for overlay buttons
* rename tests
* fmt
* better naming structure
* more reliablity
* more test tweaks
* fix selection test
* add delete segments with overlays tests
* dependant tag tests for segment delet
* typo
* test clean up
* fix some perf issus
* clean up
* clean up
* make things a little more dry
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* trigger ci
* Make constraint hover popovers readable on light mode
* Touch up the new variable dialog
* Little touch-up to three-dot menu style
* fix highlight issue
* fmt
* use optional chain
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)"
This reverts commit be3d61e4a3.
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* disable var panel in sketch mode
* fix overlay tests after mergi in main
* test tweak
* try fix ubuntu
* fmt
* more test tweaks
* tweak
* tweaks
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@kittycad.io>
* actually test that we dont exit sketch mode on first escape
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* better test
Signed-off-by: Jess Frazelle <github@jessfraz.com>
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* zoom to fit on load
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* lint
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* add zoom to fit calls to the correct places
* update comment
* clean up comment
* add snapshot test zoom to git
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* subscribe to camera updates from zoom to fit
* fix types
* partial test fix
* updatges
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix another test
* remove my enhancements
Signed-off-by: Jess Frazelle <github@jessfraz.com>
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* draft #2279
Add client side gizmo #2279, work in progress
* draft #2279
unreliableSubscriptions
* draft #2279
nice Gizmo
* blue ring
give the canvas a round shape and a border, wrapping rounded div element around the canvas
* Refactor Gizmo Component
Extracted reusable constants
Modularized the code
Simplified the useEffect logic
Added TypeScript type annotations
Improved overall code structure and readability
* remove old gizmo
* fmt
* styling and relocation
Add className "pointer-events-none" to gizmo wrapper div (for now to prevent context menu)
Make LowerRightControls container element have these classNames: flex flex-col items-end gap-3
Move gizmo into LowerRightControls.tsx as the first child of the section element
Remove the fixed styling from the gizmo div so it flows in flexbox
* fmt
* fix camera up problem
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* up tweak
* Revert "up tweak"
This reverts commit a53a0ef240.
* test tweak
* tweak test
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@kittycad.io>