* Start porting artifact graph creation to Rust
* Add most of artifact graph creation
* Add handling loft command from recent PR
* Refactor artifact merge code so that it errors when a new artifact type is added
* Add sweep subtype
* Finish implementation of build artifact graph
* Fix wasm.ts to use new combined generated ts-rs file
* Fix Rust lints
* Fix lints
* Fix up replacement code
* Add artifact graph to WASM outcome
* Add artifact graph to simulation test output
* Add new artifact graph output snapshots
* Fix wall field and reduce unreachable code
* Change field order for subtype
* Change subtype to be determined from the request, like the TS
* Fix plane sweep_id
* Condense code
* Change ID types to be properly optional
* Change to favor the new ID, the same as TS
* Fix to make error impossible
* Rename artifact type tag values to match TS
* Fix name of field on Cap
* Update outputs
* Change to use Rust source range
* Update output snapshots
* Add conversion to mermaid mind map and add to snapshot tests
* Add new mermaid mind map output
* Add flowchart
* Remove raw artifact graph from tests
* Remove JSON artifact graph output
* Update output file with header
* Update output after adding flowchart
* Fix flowchart to not have duplicate edges, one in each direction
* Fix not not output duplicate edges in flowcharts
* Change flowchart edge style to be more obvious when a direction is missing
* Update output after deduplication of edges
* Fix not not skip sketch-on-face artifacts
* Add docs
* Fix edge iteration order to be stable
* Update output after fixing order
* Port TS artifactGraph.test.ts tests to simulation tests
* Add grouping segments and solid2ds with their path
* Update output flowcharts since grouping paths
* Remove TS artifactGraph tests
* Remove unused d3 dependencies
* Fix to track loft ID on paths
* Add command ID to error messages
* Move artifact graph test code to a separate file since it's a large file
* Reduce function visibility
* Remove TS artifact graph code
* Fix spelling error with serde
* Add TODO for edge cut consumed ID
* Add comment about mermaid edge rank
* Fix mermaid flowchart edge cuts to appear as children of their edges
* Update output since fixing flowchart order
* Fix to always build the artifact graph even when there's a KCL error
* Add artifact graph to error output
* Change optional ID merge to match TS
* Remove redundant SourceRange definition
* Remove Rust-flavored default source range function
* Add helper for source range creation
* Update doc comment for the website
* Update docs after doc comment change
* Fix to save engine responses in execution cache
* Remove unused import
* Fix to not call WASM function before beforeAll callback is run
* Remove more unused imports
* feat: double click segment label to dimension length, POC, need to clean up code!
* fix: cleaning up the PR for review
* fix: cleaning for the PR. Adding more comments and moving some logic
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* fix: mergining main, auto linter and tsc fixes. Need to make some more
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* fix: tsc errors are resolved
* chore: added test for constraint
* fix: fixing overlay bug since length labels can now be clicked.
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Revert "multi-profile follow up. (#4802)"
This reverts commit 2b2ed470c1.
* Revert "multi profile (#4532)"
This reverts commit 04e586d07b.
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Re-run CI after snapshots
* Re-run CI after snapshots
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Re-run CI after snapshots
* Add `fixme` to onboarding test
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* multi-profile work
* another test
* clean up
* cover a quirk with a test
* last of tests
* fix typos
* Fix source range in snap test
---------
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Extend KCL argument input
* Migrate length constraint to be a command
* Add ability for `kcl` arguments to provide an initial variable name
* Move named variable flow into command palette
* Fix one e2e test
* Remove unwanted `ZERO` behavior when length constraint has no `variableName`
* Fix issue with `getSelectionCountByType` with sketches not yet in artifactGraph
* Update broken constraint tests
* Look at this (photo)Graph *in the voice of Nickelback*
* Fix segment overlays tests, which had out-of-date selectors
* Return early from `useConvertToVariable` if no selectionRanges
* Fixup for review comment from #4677 (#4696)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Invalidate nightly bucket files after publish (#4627)
* Invalidate nightly bucket files after publish
* Fix conflict resolution
* Add some more warnings (#4697)
* Add installation instructions for all platforms (#4592)
* Add installation instructions for all platforms
Fixes#4511
* Typo
* Typo2
* Improve linux instructions, thanks @TomPridham
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
---------
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
* Bump node to v22.12.0 (LTS) (#4706)
* Point-and-click Shell (#4666)
* WIP: experimenting with Loft UI
Relates to #4470
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Add selection guard
* Working loft for two sketches in the right hardcoded order
* First pass at handling more than 2 sketches
* WIP selections
* WIP selections
* More checks
* Appends the loft line after the 'last' sketch in the code
* Clean up
* Enable multiple selections after the button click
* First point-click loft test (not working locally, loft gets inserted at the wrong place)
* Lint
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Clean up and working pw test
* Add test for doesSceneHaveSweepableSketch with count = 2
* Clean up loftSketches function
* Add pw test for preselected sketches
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Move to fromPromise-based Actor
* Move error logic out of loftSketches, fix pw tests
* Remove comments
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Fix typo
* Revert snapshots
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* WIP: initial shell code addition
* Rollback pw values to pre cam change
* WIP: more additions
* WIP: closer
* WIP: first time working shell mod
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Add extrude lookup for more generic shell
* Handle walls
* Add pw tests for cap shell
* Add shell wall test
* Fix lint
* Add selection guard and clean up
* Lint fix
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* WIP mutliple faces
* WIP circular dep
* Lint
* Look at this (photo)Graph *in the voice of Nickelback*
* Trigger CI
* Working multi-face shell across types
* Cap and wall pw test
* Apply suggestions from Frank's review
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Fix test annotations
* Add unit tests for doesSceneHaveExtrudedSketch
* Manual resolution of snapshot conflicts
* Fix assertParse
* Updated pathToNode construct
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* More aggressive using of cache on engine settings changes (#4691)
* move around the files for cache to better localtions
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* cleanup
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* udpates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* cleanup
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* ensure we can change the grid setting via the command bar
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* pass thru all setttings
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix playwright test
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* emoty
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix use of `as`
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* Send multiple errors and warnings to the frontend and LSP
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Refactor the parser to use CompilationError for parsing errors rather than KclError
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Refactoring: move CompilationError, etc.
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Integrate compilation errors with the frontend and CodeMirror
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix tests
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Review comments
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix module id/source range stuff
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* More test fixups
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Reapply "Deflake project settings override on desktop (#4370)" (#4450)
This reverts commit b11040c23c.
* Refactor writeToFile and updateCodeEditor to happen at appropriate times
* Turn error into warning about out of date AST.
* Rename setUp to setup
* ONLY reload current file on changes.
* If value is falsey then don't try to executeAst
* Fix up code based selections after constraints
* Correct any last missing code mods
* Update src/clientSideScene/ClientSideSceneComp.tsx
Remove eslint rule no-floating-promises
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Fixups
* Fix FileTree failing
---------
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Add ID generator to ExecState
* Change default plane IDs to be hardcoded
* Fix lint warning
* Add exposing ID generator as output of executor
* Change to use generated definition of ExecState in TS
* Fix IdGenerator to use camel case in TS
* Fix TS type errors
* Add exposing id_generator parameter
* Add using the previously generated ID generator
* wip: Add display of feature tree in debug pane
* Remove artifact graph augmentation
* Change default planes to use id generator instead of hardcoded UUIDs
* Fix to reuse previously generated IDs
* Add e2e test
* Change feature tree to be collapsed by default
* Remove debug prints
* Fix unit test to use execState
* Fix type to be more general
* Remove outdated comment
* Update derive-docs output
* Fix object display component to be more general
* Remove unused ArtifactId type
* Fix test to be less brittle
* Remove codeRef and pathToNode from display
* Fix to remove test.only
Co-authored-by: Frank Noirot <frank@zoo.dev>
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* Move plane conversion code to be next to type
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)"
This reverts commit 3455cc951b.
* Rename file
* Rename components and add doc comments
* Revive the collapse button
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* Confirm
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Confirm
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Confirm
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add cameraProjection setting
* Add UI to toggle the user-level projection setting.
* Make cameraProjection setting respected at startup
* Add an E2E test for the perspective toggle
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Don't force user back into perspective when exiting sketch
* Make the projection setting more searchable
* Make `current` label apply to the default option if not set
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* Re-run CI
* Ohh *cargo fmt*
* @lf94 feedback, fix found toggling bug, make command bar instantly toggle setting
* Roll back the instant toggling behavior, it breaks the tests
* Make ortho the default, keep tests using perspective
* Move projection below camera controls setting
* Fix up gizmo tests, which broke because the gizmo moved
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* Look at this (photo)Graph *in the voice of Nickelback*
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: 49fl <ircsurfer33@gmail.com>
* 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>
* refactor clientSide scene
* start consolidate threejs segment funcitons
* rename stuff
* first pass of integrating threejs segment create and update into one
* reduce create segment complexity
* add color back in
* use input
* fix comment
* feedback changes
* Add lints for floating and misued promises
* Add logging async errors in main
* Add async error catch in test-utils
* Change any to unknown
* Trap promise errors and ignore more await warnings
* Add more ignores and toSync helper
* Fix more lint warnings
* Add more ignores and fixes
* Add more reject reporting
* Add accepting arbitrary parameters to toSync()
* Fix more lints
* Revert unintentional change to non-arrow function
* Revert unintentional change to use arrow function
* Fix new warnings in main with auto updater
* Fix formatting
* Change lints to error
This is what the recommended type checked rules do.
* Fix to properly report promise rejections
* Fix formatting
* Fix formatting
* Remove unused import
* Remove unused convenience function
* Move type helpers
* Fix to not return promise when caller doesn't expect it
* Add ignores to lsp code
* migrate settingsMachine
* Guard events with properties instead
* migrate settingsMachine
* Migrate auth machine
* Migrate file machine
* Migrate depracated types
* Migrate home machine
* Migrate command bar machine
* Version fixes
* Migrate command bar machine
* Migrate modeling machine
* Migrate types, state.can, state.matches and state.nextEvents
* Fix syntax
* Pass in modelingState into editor manager instead of modeling event
* Fix issue with missing command bar provider
* Fix state transition
* Fix type issue in Home
* Make sure no guards rely on event type
* Fix up command bar submission logic
* Home machine tweaks to get things running
* Fix AST fillet function args
* Handle "Set selection" when it is called by actor onDone
* Remove unused imports
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Fix injectin project to the fileTree machine
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"
This reverts commit 4b43ff69d1.
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Re-run CI
* Restore success toasts on file/folder deletion
* Replace casting with guarding against event.type
* Remove console.log
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Replace all instances of event casting with guards against event.type
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
Rename kcl's Value to Expr
As Jon pointed out, kcl's `Value` enum is actually an expression.
"2+2" isn't a value, it's an expression, which can compute a value.
So I renamed it `Expr`.
* adjust engine connection to opt out of webRTC connection
* refactor start and test setup
* add env to unit test
* spell config update
* fix beforeAll order bug
* initial integration of new artifact map with tests passing
* remove old artifact map and clean up
* graph artifact map
* have graph commited
* have graph commited
* remove bad file
* install playwright
* fmt
* commit permissions
* typo
* flesh out tests more
* Look at this (photo)Graph *in the voice of Nickelback*
* multi highlight
* redo image logic
* add in solid 2d data into artifactMap
* fix snapshots
* stabiles graph images
* Look at this (photo)Graph *in the voice of Nickelback*
* tweak tests
* rename blend to edgeCut
* Look at this (photo)Graph *in the voice of Nickelback*
* fix playw tests
* start of artifact map rename to graph
* rename file
* rename test
* rename clearup
* comments
* docs
* docs proof read
* few tweaks here and there
* typos
* delete get parent logic
* nit, combine if statements
* remove unused param
* fix silly test bug
* rename surfId to sufaceId
* rename types
* update comments
* add comment
* add extra check
* Look at this (photo)Graph *in the voice of Nickelback*
* pull out merge artifact function
* update comments
* fix test
* fmt
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Rough impl of line lengths, still duplicating
* Make sure the labels get cleared along with the rest of the sketch
* Show current units in segment length indicators
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Re-run CI after snapshots
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Re-run CI
* Make sure `close` segments get insert segment handles
* Skip engine connection tests on Safari with a todo
* Fmt
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* inital migration with a couple lingering concerns
* move is stream ready back
* put htmlRef back in useStore
* final tidy of useStore
* test tweaks
* tweak more
* more test tweaks
* fmt
* test tweaks
* attempts at fixing 'Basic default modeling and sketch hotkeys work'
* more tries
* 😭
* try again
* fmt
* 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>
* 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>
* Split ModelingSidebar out into own component
* Consolidate all ModelingPane components and config
* Make ModelingSidebar a directory of components and config
* Remove unused components
* Proper pane styling
* Make tooltip configurable to visually appear on hover only
* Remove debug panel from App
* Fix current tests
* Rename to more intuitive names
* Fix useEffect loop bug with showDebugPanel
* Fix snapshot tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Rerun CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Merge branch 'main' into franknoirot/sidebar
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Rerun CI
* Maybe some flakiness in the validation initScripts?
* Avoid test flakiness by waiting for more signals that loading is completed
* Don't assert, just wait for the element to be enabled
* Don't let users accidentally click the gap between the pane and the side of the window
* Firm up extrude from command bar test
* Get rid of unused imports
* Add setting to disable blinking cursor (#2065)
* Add support for "current" marker in command bar for boolean settings
* Add a cursorBlinking setting
* Rename setting to blinkingCursor, honor it in the UI
* Fix scroll layout bug in settings modal
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Rerun CI
* CSS tweaks
* Allow settings hotkey within KclEditorPane
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Rerun CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Rerun CI
* Ensure the KCL code panel is closed for camera movement test
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Make sure that the camera position inputs are ready to be read from
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Remove repeat awaits
* Make camera position fields in debug pane update when the pane is initialized
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Undo that CameraControls change because it made other things weird
* retry fixing camera move test
* Fix race condition where cam setting cam position parts were overwriting each other
* Rerun CI
* Rerun CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* dynamic cursor depending on mouse scene state
* hover stuff
* bump min length
* clean up
* sketch on face failing randomly
* more time out for extrude snapshots
* Update src/clientSideScene/sceneEntities.ts
Co-authored-by: Frank Noirot <frank@zoo.dev>
* move for profileStart handle, and select when no tool equiped
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* 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>
* solve a couple of scene scale bugs
* Some cam fixes (#1520)
* rotate and zoom basics working
* intergrate mouse guards, and add pan
* implement orthographic camera again
* implement switch to perspective camera again
* migrate dollyzoom
* make pan robust for differnt FOV and orthographic cam
* tween to quaternion and default plane selection working with quirks
* fix pan
It the up and right was derived from the camera's up, which is a static [0,0,1] not the camera's current cameras real up, which aligns itself as best to [0,0,1] but is not that especially when looking straight up or down, and the pan felt very awkward in these vertical look sintuations
* fix raycastRing to use new camera
* fix tween to quaternion for camera lock situations
And get all playwright tests passing
* fix up CamToggle, even thought this component is not setup properly to use react properties from our scene class
* add animation to cameras back in
* first big clean up of sceneInfra
* move more cam stuff out of sceneInfra
* clean up mouse guard logic
* clean up camera change callbacks
* fix some sitations where animation to xy doesn't work great
* needs to take the target into consideration
* last bits of clean up
* more clean up
* make vitest happ
* fix up remaining interaction guards
* make scrolling less sensative for trackpads
* remove debug cube
* fix snapshot tests
* respect camera target
* make default planes scale
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Rename GlobalStateContext to SettingsAuthContext
* Naive initial impl of settings persistence to file system
* Update app identifier in tauri config
* Add "show in folder" tauri command
* Load from and save to file system in Tauri app
* Add documents drive to tauri permission scope
* Add recursive prop to default dir selection dialog
* Add success toast to web restore defaults action
* Add a way to validate read-in settings
* Update imports to use separate settings lib file
* Validate localStorage-loaded settings, combine error message
* Add a e2e test for validation
* Clean up state state bugs
* Reverse validation looping so new users don't error
* update settingsMachine typegen to remove conflicts
* Fmt
* Fix TS errors
* rename for clarity
* typo
* make coverage happ+
somewhat pointless since we don't use coverage because its not complete with both vitest and playwright
* local storage issue
* fmt
* fix