* WIP: pw log error only
* Force tests to run on branch
* Remove all page.on('console', console.log)
* Remove context.console too
* Add --quiet flag
* Revert useless changes
* Supress stdio logs on e2e tests in CI
* fix: fixed selection range issue when doing a constraint when the KCL editor is closed
* fix: linter and tsc errors
* fix: trying to reuse logic instead?
* fix: removed console log
* Extra padding on 'Load a sample model' menu item
Fixes#5047
* Update src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.module.css
Co-authored-by: Frank Noirot <frank@zoo.dev>
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Add dry-run validation for Sweep
Fixes#5095
* Add sweep test failing validation
* Make naming more consistent with engine
* Fix tests after big rename
* Fix tsc after main merge
* Separate content from ToolbarItemTooltip, make simple and "rich" versions
* Add support for dropdown-arrow-only tooltip
* Add toolbar-wide hover timeouts and clears to switch between simple and rich tooltips
* Fix the dropdown arrow button hover styling now that they're separate
* Add missing doc links to rich toolbar tooltips
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Re-run CI after snapshots
* fix codespell
* fmt
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Make all geometry KclValue variants into struct variants
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add units to geometry types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Show toolbar tooltips on hover only, hide when dropdowns are open
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Re-run CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix dumb mistake in command flow for #5083
* Add e2e test for creating projects with the default interpolated name
* Drop that number to 12 ain't got all day
* Why do I have a kcl-samples submodule hanging around?
* Empty commit to remove the submodule
We don't get much value from these, we can always run criterion or valgrind locally.
If we want to measure instruction counts, we should be using codspeed.io instead because
they support visualizing and tracking over time.
If we want to track performance over time we should be using Kevin's perf monitor machine.
* Add failing playwright test
* Make create generate a unique name if the given one collides
* Add a new consolidated getUniqueProjectName function with tests
* Use getUniqueProjectName
* Replace "New project" button text with "Create project"
cc @pierremtb
* Extend the e2e test to show the incrementing behavior
cc @lf94
* 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
* WIP: mess with shell selection validation
Will eventually fix#4711
* Update from main
* WIP: not working yet
* Working loft dry run validator
* Clean up shell (still not working)
* Bump kittycad-modeling-cmds
* Clean up
* Add logging
* Add proper object_id and face_id mapping, still not working for shell
* Fix faceId
* 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: windows-latest-8-cores)
* Working validation after engine merge; Clean up
* Fix codespell
* Add pw test
* More clean up
* Back to basics
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* Clean up
* Fix tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* Remove kcl-samples
---------
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* add locator
* new test
* remove old test
* separation of setup steps
* improved click reliability
* fix ubuntu
* ubuntu fix 2
* ubuntu fix 3
* flaky cmdbar ubuntu
* ubuntu fix second yellow
* ubuntu update
* enable test for windows
* step(Initial test setup)
* extra await, just in case
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* 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)
* Trigger CI
* screenshot
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Use the project default units for the per-file unit default values
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Use per-file units in conversion functions
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* feat: enable/disable free camera aka allow orbit in sketch mode mvp
* fix: removing comments
* fix: logic for enabling and disabling in and out of sketch mode
* fix: fmt, linter, tsc fixes
* fix: added comment
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fix: current,prev check to no op the useeffect if the values are the same
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Make "Find and select command" global to commandBarMachine
* Make commands not removed based on their actor state, only disabled
* Sort commands better in CommandComboBox
* Break out sort logic, add a few unit tests
* Fix missed name change
* Needed to make one more change from source branch:
since `optionsFromContext` now only gets fired once, I/O-based options need to use the `options` config instead.
---------
Co-authored-by: 49fl <ircsurfer33@gmail.com>
* Add dragging behavior to 3 point circle
Uses our talked about technique of calling Rust functions to calculate new
geometry coordinates and parameters. It works very well!
Need to have the modeling app show "edit sketch" still.
* Cargo fmt
* cargo fmt
* Address Jon's comments
* Fix clippy
* Dont use isNaN
* Make points easier to select (enlarge)
* Fix circle button not being activated
* Ensure efficiency of updating editor vs execution
* Make cargo clippy happy
* Add icon
* Add to stdLibMap
* Add to toolbar as "kcl-only"
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Use std deprecation for int rather than a hack in the parser
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Don't allow an epsilon when converting floats to ints for property access
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fixup tests
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Fix our golden standard tests (broken by new assemblies kcl-samples)
* Finally use the right combination of env vars
* Fix the manifest
* Continue to fix multiple file kcl-samples
* Fix loading in desktop app
* Type narrow for tsc
* fmt
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
* button
* config
* hook up with ast
* cmd bar test
* button states fix and test
* little naming fix
* xState action to actor
* remove button state test updates
* fixture-based approach
* nightly
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Update src/lib/toolbar.ts
Co-authored-by: Frank Noirot <frank@zoo.dev>
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Refactor 'Delete selection' as actor
Will fix#4662
* WIP logging
* WIP: working Solid3dGetExtrusionFaceInfo for loft
* Working wall deletion of loft
* Add offset plane deletion
* Add feature tree deletion of shell
* Clean up
* Revert "Clean up"
This reverts commit 214763cc2b.
* Clean up rust changes, taking the sketch with the most paths
* Working cap selection and deletion
* Clean up
* Add test for loft and offset plane deletion via selection
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-macos-8-cores)
* Set reenter: false as it was originally
* Passing test
* Add shell deletion via feature tree test
* Revert the migration to promise actor
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* Use cmd.id as solid_id after latest engine merge
* Add feature tree deletion of offset plane and fix lint
* Add feature tree deletion of loft
* Clean up
* Better comment
* Lint fix
* Remove sketch sorting
* WIP: sweep point-and-click
* Working sweep
* Add test
* Make sweep a development command
* Fix tsc error
* Clean up for review
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: implemented axis or edge selection workflow in the commandbar
* fix: removing comment
* fix: removing console logs from testing
* fix: fixing lint and tsc errors
* fix: changed copy
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* [BUG] Shell point and click references the wrong feature
Fixes#4961
* Add test for sketch on face based on extrudes in pipe
* Add no extrude in pipe case
* Lint
* Add scene.waitForExecutionDone()
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* Update src/lang/modifyAst/addShell.ts
Co-authored-by: Frank Noirot <frank@zoo.dev>
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Refactor 'Delete selection' as actor
Will fix#4662
* WIP logging
* WIP: working Solid3dGetExtrusionFaceInfo for loft
* Working wall deletion of loft
* Add offset plane deletion
* Add feature tree deletion of shell
* Clean up
* Revert "Clean up"
This reverts commit 214763cc2b.
* Clean up rust changes, taking the sketch with the most paths
* Working cap selection and deletion
* Clean up
* Add test for loft and offset plane deletion via selection
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-macos-8-cores)
* Set reenter: false as it was originally
* Passing test
* Add shell deletion via feature tree test
* Revert the migration to promise actor
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* Trigger CI
* Use cmd.id as solid_id after latest engine merge
* Add feature tree deletion of offset plane and fix lint
* Add feature tree deletion of loft
* Clean up
* Better comment
* Lint fix
* Remove sketch sorting
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add Rust side artifacts for startSketchOn face or plane
* Add Rust-generated artifacts to ExecOutcome
* Add output of artifact commands
* Add new output files
* Wire the artifact commands to the artifact graph creation
* Fix to use real PartialEq implemented in modeling commands
* Fix modeling commands with zero fields to work
* Fix missing artifactCommands field in errors
* Change artifact graph to be built from artifact commands
* Wire up ExecState artifacts, but not using them yet
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Remove unneeded local var
* Fix test to fail with a helpful error message when command isn't found
* Rename and deprecate orderedCommands
* Update comment about borrowing
* Move ArtifactCommand tracking to the EngineManager trait
* Update artifact commands since tracking in the engine
* Upgrade kittycad-modeling-cmds from 0.2.85 to 0.2.86
* Remove unneeded JsonSchema derive to speed up build
* Fix to not fail on floating point differences in CI
* Update artifact commands output since truncating floating point numbers
* Fix to ensure artifact commands get cleared after a clear scene
* Update artifact commands snapshot after clearing them on clear scene
* Remove all remnants of OrderedCommands
* Update output for new simulation tests
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Skip the out/ directory produced by yarn tron:package
* Skip all dist/ dirs
Produced when building rollup packages like codemirror-lang-kcl.
* Skip typescript build info
* Fix typo instead of excluding file
---------
Co-authored-by: Matt Mundell <matt@mundell.me>
* chore: skeleton code to initialize and detect the global WASM panic
* chore: implementing a reimport method to fix the wasm instance being bricked
* fix: cleaning up tsc/lint
* fix: renaming file to be more accurate
* fix: added toast message
* fix: types...
* fix: typed the functions with arg spreads
* fix: Hook into markdown-generated anchors to avoid e.g breaking the desktop app
* add comment
* Disable eslint on copied line from ts-stack
---------
Co-authored-by: marc2332 <mespinsanz@gmail.com>
* Add failing test for current behavior
* Change stream behavior so that stream is played regardless of `isExecuting`
* Change expected pixel color
* Widen possible pixel color diff because local and CI produce slightly different colors
* general clean up
* 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: ubuntu-latest-8-cores)
* trigger CI
* 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
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* implementing naive array pop
* multi-profile follow up. (#4802)
* multi-profile work
* fix enter sketch on cap
* fix coderef problem for walls and caps
* allow sketch mode entry from circle
* clean up
* update snapshot
* Look at this (photo)Graph *in the voice of Nickelback*
* trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* add test
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* fix how expression index is corrected, to make compatible with offset planes
* another test
* tweak test
* more test tweaks
* break up test to fix it hopfully
* fix onboarding test
* remove bad comment
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* get ready to bump (kcl-lib and friends) world (#4794)
get ready to bump world
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Revert multi-profile (#4812)
* 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>
* Add tracking of operations for the feature tree (#4746)
* Add operations tracking for the timeline
* Change to only track certain stdlib functions as operations
* Update gen files
* Add operations to simulation snapshot tests
* Add tracking of positional function calls
* Fix generated field names to be camel case in TS
* Fix generated TS field names to match and better docs
* Fix order of ops with patternTransform
* Fix sweep to be included
* Add new expected test outputs
* Add tracking for startSketchOn
* Update ops output to include startSketchOn
* Fix serde field name
* Fix output field name
* Add tracking of operations that fail
* Add snapshots of operations even when there's a KCL execution error
* Add ops output for error executions
* Add operations output to executor error
* Update op source ranges
* Remove tracking of circle() and polygon() since they're not needed
* Update output without circle and polygon
* Fix to track patternCircular3d and patternLinear3d
* Remove tracking for mirror2d
* Update ops output
* Fix to track the correct source range of function definitions
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Change KCL completion to use new object/record syntax (#4815)
* Reserve syntax for units of measure (#4783)
* Allow underscores but only for un-referenced names
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Support numeric suffixes for UoM types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* UoM type arguments
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* warnings -> non-fatal errors
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* type ascription
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Whole module imports (#4767)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Support completions from import statements (#4768)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Implements boolean logical and/or in kcl (#4678)
* redoing bool logic impl on latest main
* adding snapshot tests (removing .new)
* removing accidental change smh:(
* accepting client side scene snapshot
* accepting png snapshot and triggering ci
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* accepting png again?
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* accepting grid visibility snapshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* accepting png snapshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* accepting png snapshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* accepting png snapshot
* rerunning simtest creation to get ops.snap files
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Annotations syntax and per-file default units preparatory work (#4822)
* Parse annotations
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Propagate settings from annotations to exec_state
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* KCL: Unlabeled first param defaults to % (#4817)
Part of #4600
KCL functions can declare one special argument that doesn't require a label on its parameter when called.
This PR will default that arg to % (the current pipeline) if not given.
* Deprecate startSketchAt() stdlib function (#4819)
* Deprecate startSketchAt() stdlib function
* Remove uses of startSketchAt() from the doc tests
* Update docs
* Add dry-run validation for Loft (#4820)
* WIP: mess with shell selection validation
Will eventually fix#4711
* Update from main
* WIP: not working yet
* Working loft dry run validator
* Clean up shell (still not working)
* Bump kittycad-modeling-cmds
* Clean up
* Add logging
* Add proper object_id and face_id mapping, still not working for shell
* Fix faceId
* 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: windows-latest-8-cores)
* Add dry-run validation to Loft
Checks one box for #4711
* Add extra check for non solid2ds
---------
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Double click label on sketch to dimension (#4816)
* 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>
* KCL: Show beautiful Miette errors when a KCL example test fails (#4829)
* KCL: Show beautiful Miette errors when a KCL example test fails
Background: KCL example tests are generated from the stdlib KCL examples in the `#[stdlib]` macro in derive-docs.
Problem: When these tests fail, they output a really unhelpful error message like Kcl(Semantic(KclErrorDetails { source_ranges: [156, 160, 0], message: "Expected a sketch but found array" } )).
Solution: Use miette. Now the errors highlight the KCL code that failed and show exactly what went wrong, on which line, presenting nice diagnostics that look like cargo/rustc output.
* Update helix snapshots
* Move all tests over to electron (#4484)
* Move all tests over to electron
* Pass the correct param to playwright-electron.sh
* Add shebang to script and add macos-14-large as a target
* Get sketch-tests.spec.ts passing in electron
* Try out 4 workers
* Got testing-segment-overlays passing
* Pass testing-selections.spec.ts
* Go back to fix up sketch-tests test
* Pass various.spec.ts, by far the hardest one
* Pass can-sketch-on-all-planes... with ease
* Pass command bar tests
* fmt
* Completely fix code mirror text navigating for tests
* Pass debug pane tests
* Pass desktop export tests
* Pass editor tests
* Pass file tree tests
* Pass onboarding tests
* Corrected a fixme in file-tree.spec!
* Painfully fix hardcoded coordinates in point-click.spec
* Pass machine.spec tests
* Pass projects, fought hard with filechooser
* Pass regresion-tests.spec tests
* Pass network and connection tests
* Pass camera-movement.spec tests
* Extreme time eaten by gizmo test fixes. All passing now.
* Merge main (tests changed x_x) and pass all constraints.spec tests (pain)
* Pass another painful spec suite: testing-settings
* Pass perspective-toggle, interesting note
* Pass samples loading tests
* Pass app header tests
* Pass text-to-cad tests
* Pass segment-overlays (minor ache) and ability to switch to web if needed :)
* Fix a ton of syntax changes and deflake 2 more tests (pain)
* Correct all tsc errors
* Remove to-electron script
* Add an f-ton of shit because playwright doesnt want S P R E A D
* Try CI again
* Stop snapshots of exports (already test in e2e)
* Fix flake in double click editor
* Hopefully help CI flake
* Fixmes, fixmes everywhere
* One more fixme to settings
* Skip another code pane flake
* Port jess's projects.spec tests
* fixup
* Reuse electron window; difficult task
* Rebased and refixed
* Remove duplicate cases
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Reduce the workers to something CI can handle
* Lower it further, we need to think about the others
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Fix the last tests and tsc errors
* Timeout to 120 and windows-2022-16core
* Fix windows runner detection, enable concurrency temporarily
* Hopefully this time fix windows runner detection
* Comment out Vector, add back removed camera test code
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* Fix camera tests again
* Massively deflake a whole class of tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Try new CI and fix small onboarding test
* Derp
* No github tuning
* Try mac
* Add back all the OS
* Lord, hallow be thy name
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* One last try with window-16-cores
* Trigger CI
* Try AWS Windows runner
* Passing on windows locally with a few skips
* Skip more win tests, add back all three oses
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Add two more fixmes
* 2 more fixmes
* skip segment overlays on win32
* Another fixme
* Trigger CI
* Trigger CI
* Quick clean up
* Move all tests over to electron
* Pass the correct param to playwright-electron.sh
* Add shebang to script and add macos-14-large as a target
* Get sketch-tests.spec.ts passing in electron
* Try out 4 workers
* Got testing-segment-overlays passing
* Pass testing-selections.spec.ts
* Go back to fix up sketch-tests test
* Pass various.spec.ts, by far the hardest one
* Pass can-sketch-on-all-planes... with ease
* Pass command bar tests
* fmt
* Completely fix code mirror text navigating for tests
* Pass debug pane tests
* Pass desktop export tests
* Pass editor tests
* Pass file tree tests
* Pass onboarding tests
* Corrected a fixme in file-tree.spec!
* Painfully fix hardcoded coordinates in point-click.spec
* Pass machine.spec tests
* Pass projects, fought hard with filechooser
* Pass regresion-tests.spec tests
* Pass network and connection tests
* Pass camera-movement.spec tests
* Extreme time eaten by gizmo test fixes. All passing now.
* Merge main (tests changed x_x) and pass all constraints.spec tests (pain)
* Pass another painful spec suite: testing-settings
* Pass perspective-toggle, interesting note
* Pass samples loading tests
* Pass app header tests
* Pass text-to-cad tests
* Pass segment-overlays (minor ache) and ability to switch to web if needed :)
* Fix a ton of syntax changes and deflake 2 more tests (pain)
* Correct all tsc errors
* Remove to-electron script
* Add an f-ton of shit because playwright doesnt want S P R E A D
* Try CI again
* Stop snapshots of exports (already test in e2e)
* Fix flake in double click editor
* Hopefully help CI flake
* Fixmes, fixmes everywhere
* One more fixme to settings
* Skip another code pane flake
* Port jess's projects.spec tests
* fixup
* Reuse electron window; difficult task
* Rebased and refixed
* Remove duplicate cases
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Reduce the workers to something CI can handle
* Lower it further, we need to think about the others
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Fix the last tests and tsc errors
* Timeout to 120 and windows-2022-16core
* Fix windows runner detection, enable concurrency temporarily
* Hopefully this time fix windows runner detection
* Comment out Vector, add back removed camera test code
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* Fix camera tests again
* Massively deflake a whole class of tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* Try new CI and fix small onboarding test
* Derp
* No github tuning
* Try mac
* Add back all the OS
* Lord, hallow be thy name
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Try AWS Windows runner
* Passing on windows locally with a few skips
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fmt, tsc, lint
* Enable two fixmes again
* Fix lint, codespell, fmt
* Fix lint
* Don't run e2e on draft, add back concurrency, clean up
* One last windows skip
---------
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>
* Add blank line to discord bot message (#4814)
* Add blank link to discord bot message
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Implement some basic cache program generation (#4840)
Implement some basic cache program generation
A bit ago, @jessfraz added the ability to control reexecution from the
executor. When we did this, it used the digest to determine if there
was a code change rather than a non-code change (whitespace, comment,
etc).
This allows the creation of a new program to be run without clearing the
scene. This, in conjunction with being able to delete Engine objects by
ID will allow us to do some clever stuff when incrementally executing
a program.
I'm still working on something a bit more advanced, but a good first
step to derisk some of the caching behavior here fully is to implement a
basic "changed program" stub.
This process the ast programs (old and new) if it doesn't exactly match.
This would have been a complete refresh before this commit.
1) Check all overlapping top-level statements of the body of the new and
old AST and ensure they all match.
- If this is true, this means that one of the two AST programs has more
elements then the other, and they all otherwise match (addition or
deletion of the end of the program). We continue to #2 in this
case.
- If this is false, we have a meaingful difference in a section of
overlapping code. This will result in a cache miss and rebuild
the scene. We short-cut here and the scene is rebuilt.
2) Check the lengths of the two bodies.
- If they're the same, we shouldn't have even been called. We will
short-cut with a noop cache return (no clear, no program).
- if the old ast is longer, we've removed instructions from the
program. We can't delete things now, so this will result in a cache
miss and rebuild the scene. We short-cut here and the scene is
rebuilt.
- If the new ast is longer, we have an insertion of code at the end.
3) construct a new program using only the new elements from the new
ast, and return a `CacheResult` that *does not clear the scene*.
This means nothing will be rebuilt, and only a new object will polp
onto the scene. This is the first case where we diverge with
existing behavior.
Signed-off-by: Paul R. Tagliamonte <paul@zoo.dev>
* Fix mac issue after electron test migration PR (#4842)
Fix mac issue after electron test migration pR
* Remove guards from modeling commands in the toolbar (#4800)
* Remove guards from modeling commands in the toolbar
* 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)
* Remove the deprecated function, update doc comment for the one still in use
* 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)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Remove more selection check functions that are no longer used
* Update E2E tests that assumed the extrude button could be disabled due to selection
* Update a few fillet tests that expected the button to disable based on selection
* 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: windows-16-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-macos-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Prompt to edit (#4830)
* initial plumbing for getting the new option into the cmd-bar
* start of prompt edit
* update AI poll
* add spinner
* more prompt engineering
* add success toast, allowing user's to reject code
* select code that changed in prompt to edit
* selection in scene should not disappear when opening prompt cmd
* tweak
* fmt
* add tests
* some clean up
* clean up
* fix tests
* Yeet telemetry to text to cad endpoint (#4847)
yeet telemetry to text to cad endpoint
* Tweak prompt wording (#4846)
tweak prompt wording
* update discord bot (#4837)
* Re-enable test 'code pane closed at start' after electron migration (#4841)
* Re-enable 'code pane closed at start'
Relates to #4838
* Enable test on current branch
* Revert "Enable test on current branch"
This reverts commit 0d970b9ad6.
* Add 3-point circle tool (#4832)
* Add 3-point circle tool
This adds a 1st pass for the 3-point circle tool.
There is disabled code to drag around the 3 points and redraw the circle and
a triangle created by those points. It will be enabled in a follow-up PR
when we have circle3Point in the stdlib.
For now, all it does is after the 3rd click, will insert circle center-radius
KCL code for users to modify.
* PR comments
* First draft of a feature tree pane (#4782)
* Fix e2e default planes tests to use mask on state indicator (#4849)
* Fix e2e default planes tests to use mask on state indicator
* 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: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: don't error on failure to fetch privacy settings (#4799)
* fix: dont error on failure to fetch privacy settings
* Add console warning when we ignore it
---------
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
* Match package license to LICENSE file (#4882)
* Remove the old Loft GitHub issue link in the toolbar (#4848)
Now that it's available, it shouldn't be there anymore.
* Fix fuzz crate lints and update deps (#4873)
* Fix fuzz to use new API
* Fix fuzz Cargo.toml lints and update lock
* Use app foreground color for focus outline button color so there's no hue collision (#4894)
Towards #4851
* Add support for float numbers in rem() arguments (#4858)
* Add support for float numbers in rem() arguments
* Update docs
* Rename to prevent name collision in docs
* Update docs after rename to NumberArg
* Fix parameter types to follow naming convention
* Change doc comment description to not refer to floating point
* Update docs after NumberArg doc change
* Change function to be more condensed
* Change to not try to preserve ints
* Update docs to use f64
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-macos-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add auto-retries to macOS build notarization (#4892)
* Add DEBUG=electron-notarize* to build-apps
* Force IS_RELEASE: true
* Temp: Disable version setting based on tag
* Remove deprecated notarize.teamId and add retry logic
* Revert "Remove deprecated notarize.teamId and add retry logic"
This reverts commit 6ff98d784d.
* Retry only on macOS
* Better retry logic for macOS
* Use nick-fields/retry
* Clean up Temp: commits for PR
* Clean up
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-macos-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Bump nanoid from 3.3.7 to 3.3.8 (#4731)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)
---
updated-dependencies:
- dependency-name: nanoid
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Enable enter for autocompletions in the command palette KCL input (#4896)
* Enable enter for autocompletions in the command palette KCL input
* Oops I commented out code for the variable name input
Thanks for the catch @pierremtb
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Bump rollup from 4.21.0 to 4.29.1 (#4888)
* Bump rollup from 4.21.0 to 4.29.1
Bumps [rollup](https://github.com/rollup/rollup) from 4.21.0 to 4.29.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.0...v4.29.1)
---
updated-dependencies:
- dependency-name: rollup
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Louder Windows codesign errors (#4762)
* WIP: Silent failure in signWin.js
Fixes#4582
* Temp: force release build
* Fake throw
* Temp: another test
* Clean up for merge
* Add parsing keyword function calls inside pipelines (#4907)
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
* Remove draft PR filter on e2e tests (#4908)
* Add three point circle stdlib function (#4893)
* Add parsing keyword function calls inside pipelines
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
* Add three point circle stdlib function
* Generate new documentation
* Fix 20:20 for the circle three point test
* Convert to using keyword arguments
* Wtf yo
* Remove unused structure
* Use the new simulation tests
* Regenerate documentation
---------
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
* Move the base CodeMirror KCL support to a local package (#4897)
* Move CodeMirror LRLanguage to new file
This separates the base language support from the LSP and color picker.
* Move the base CodeMirror KCL support to a local package
* Start CodeMirror grammar tests
* Exclude vitest config in tsconfig
* Add KCL path to tsconfig
* Remove stray import
* Drop extension from import
* Use __filename for commonjs compat
* Check exec return before access
* Build ES and CJS to dist
* Format
* Exclude all.test.ts from codespell
This is to work around "fileTests" imported from Lezer. Future codespell versions look
like they'll allow the code to be annotated, which would be nicer.
---------
Co-authored-by: Matt Mundell <matt@mundell.me>
* Fix typo in README (#3843)
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* remove backwards compatibility for snake case in objects (#4920)
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* CM KCL: Support `=` in record init (#4933)
Support `=` in record init
Co-authored-by: Matt Mundell <matt@mundell.me>
* Bump clap from 4.5.21 to 4.5.23 in /src/wasm-lib (#4928)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.21 to 4.5.23.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.21...clap_complete-v4.5.23)
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump @kittycad/lib from 2.0.7 to 2.0.12 (#4922)
Bumps [@kittycad/lib](https://github.com/KittyCAD/kittycad.ts) from 2.0.7 to 2.0.12.
- [Release notes](https://github.com/KittyCAD/kittycad.ts/releases)
- [Commits](https://github.com/KittyCAD/kittycad.ts/compare/v2.0.7...v2.0.12)
---
updated-dependencies:
- dependency-name: "@kittycad/lib"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump anyhow from 1.0.94 to 1.0.95 in /src/wasm-lib (#4929)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.94 to 1.0.95.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.94...1.0.95)
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump url from 2.5.3 to 2.5.4 in /src/wasm-lib (#4930)
Bumps [url](https://github.com/servo/rust-url) from 2.5.3 to 2.5.4.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.5.3...v2.5.4)
---
updated-dependencies:
- dependency-name: url
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump wasm-streams from 0.4.1 to 0.4.2 in /src/wasm-lib (#4926)
Bumps [wasm-streams](https://github.com/MattiasBuelens/wasm-streams) from 0.4.1 to 0.4.2.
- [Release notes](https://github.com/MattiasBuelens/wasm-streams/releases)
- [Changelog](https://github.com/MattiasBuelens/wasm-streams/blob/main/CHANGELOG.md)
- [Commits](https://github.com/MattiasBuelens/wasm-streams/compare/v0.4.1...v0.4.2)
---
updated-dependencies:
- dependency-name: wasm-streams
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump @csstools/postcss-oklab-function from 4.0.2 to 4.0.7 (#4923)
Bumps [@csstools/postcss-oklab-function](https://github.com/csstools/postcss-plugins/tree/HEAD/plugins/postcss-oklab-function) from 4.0.2 to 4.0.7.
- [Changelog](https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-oklab-function/CHANGELOG.md)
- [Commits](https://github.com/csstools/postcss-plugins/commits/HEAD/plugins/postcss-oklab-function)
---
updated-dependencies:
- dependency-name: "@csstools/postcss-oklab-function"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: writes to disk when the user accepts the prompt to edit (#4942)
* fix: writes to disk when the user accepts the prompt to edit
* fix: then catch
* Make circle3Point tool an actor (#4906)
* Reduce the amount of data sent to TS and make new fields opt-in (#4913)
* Reduce the amount of data sent back to JS/TS from WASM
* Remove unneeded derives since we shouldn't expose these types
* Alias type to be clearer
* Bump syn from 2.0.87 to 2.0.95 to be compatible with modeling-cmds 0.… (#4945)
Bump syn from 2.0.87 to 2.0.95 to be compatible with modeling-cmds 0.2.86
* fix out of range error (#4931)
* fix out of range error
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* remove console logs
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* add a regression test
Signed-off-by: Jess Frazelle <github@jessfraz.com>
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Run chrome e2e snapshots only on linux (#4947)
* Run chrome e2e snapshots only on linux
* Wtf is this 1-indexed
* Force 1/1 sharding
* Add TODO
* Nadro/3079/screenshot improvements (#3917)
* chore: swapped screenshot to only use the video stream
* feat: video stream screenshot, native electron screenshot
* fix: auto tsc, fmt, xgen, lint
* fix: fixing tsc errors
* fix: removing debug console.log
* fix: renaming ScreenShot to Screenshot
* fix: deleting console log from debugging
* fix: bug with what source was referenced
* fix: using a productName
* fix: improving usage for native screenshots and detecthing support
* fix: fmt
* chore: updated rust test documentation
* fix: typo in readme
* fix: leaving package.json and yarn.lock the same as main??
* bump
* bump
* bump again
* bump again2
* feat: implemented zoom to fit on code change if previous AST was empty (#3925)
* feat: implemented zoom to fit on code change if previous AST was empty
* feat: implementing selectAll text logic to enable select all and copy and paste and zoom to fit will work
* 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)
* fix: clarifying comment in _isAstEmpty
* 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: ubuntu-latest)
* 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)
* bump
* 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)
* bump again
* fix: fixing new type since this branch is old
* 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: 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)
* 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: 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)
* 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)
* bump
* 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)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: 49fl <ircsurfer33@gmail.com>
* Add dependabot group for all serde dependencies (#4944)
* Fix formatting of dependabot.yml
* Add dependabot group for all serde dependencies
* CM KCL: = and => are optional in fn declarations (#4941)
CM KCL: `=` and `=>` are optional in fn declarations
Co-authored-by: Matt Mundell <matt@mundell.me>
* Bump ts-rs from 10.0.0 to 10.1.0 (#4949)
* Add toolbar buttons for text-to-cad and prompt-to-edit (#4938)
* Add toolbar buttons for text-to-cad and prompt-to-edit
Resolves#4890
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-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)
* 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-macos-8-cores)
* `preventDefault` on <kbd>Enter</kbd> with textarea input so buttons aren't clicked as well
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Bump quote from 1.0.37 to 1.0.38 in /src/wasm-lib (#4951)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.37...1.0.38)
---
updated-dependencies:
- dependency-name: quote
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* array pop with unlabled kw arg
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Signed-off-by: Paul R. Tagliamonte <paul@zoo.dev>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
Co-authored-by: 49fl <ircsurfer33@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Paul Tagliamonte <paul@zoo.dev>
Co-authored-by: Josh Gomez <114548659+jgomez720@users.noreply.github.com>
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
Co-authored-by: Matt Mundell <32057441+mattmundell@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matt Mundell <matt@mundell.me>
Co-authored-by: alteous <david@harvey-macaulay.com>
* Add toolbar buttons for text-to-cad and prompt-to-edit
Resolves#4890
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-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)
* 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-macos-8-cores)
* `preventDefault` on <kbd>Enter</kbd> with textarea input so buttons aren't clicked as well
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* feat: implemented zoom to fit on code change if previous AST was empty
* feat: implementing selectAll text logic to enable select all and copy and paste and zoom to fit will work
* 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)
* fix: clarifying comment in _isAstEmpty
* 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: ubuntu-latest)
* 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)
* bump
* 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)
* bump again
* fix: fixing new type since this branch is old
* 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: 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)
* 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: 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)
* 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)
* bump
* 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)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: 49fl <ircsurfer33@gmail.com>
* chore: swapped screenshot to only use the video stream
* feat: video stream screenshot, native electron screenshot
* fix: auto tsc, fmt, xgen, lint
* fix: fixing tsc errors
* fix: removing debug console.log
* fix: renaming ScreenShot to Screenshot
* fix: deleting console log from debugging
* fix: bug with what source was referenced
* fix: using a productName
* fix: improving usage for native screenshots and detecthing support
* fix: fmt
* chore: updated rust test documentation
* fix: typo in readme
* fix: leaving package.json and yarn.lock the same as main??
* bump
* bump
* bump again
* bump again2
* Move CodeMirror LRLanguage to new file
This separates the base language support from the LSP and color picker.
* Move the base CodeMirror KCL support to a local package
* Start CodeMirror grammar tests
* Exclude vitest config in tsconfig
* Add KCL path to tsconfig
* Remove stray import
* Drop extension from import
* Use __filename for commonjs compat
* Check exec return before access
* Build ES and CJS to dist
* Format
* Exclude all.test.ts from codespell
This is to work around "fileTests" imported from Lezer. Future codespell versions look
like they'll allow the code to be annotated, which would be nicer.
---------
Co-authored-by: Matt Mundell <matt@mundell.me>
* Add parsing keyword function calls inside pipelines
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
* Add three point circle stdlib function
* Generate new documentation
* Fix 20:20 for the circle three point test
* Convert to using keyword arguments
* Wtf yo
* Remove unused structure
* Use the new simulation tests
* Regenerate documentation
---------
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
* Enable enter for autocompletions in the command palette KCL input
* Oops I commented out code for the variable name input
Thanks for the catch @pierremtb
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Add DEBUG=electron-notarize* to build-apps
* Force IS_RELEASE: true
* Temp: Disable version setting based on tag
* Remove deprecated notarize.teamId and add retry logic
* Revert "Remove deprecated notarize.teamId and add retry logic"
This reverts commit 6ff98d784d.
* Retry only on macOS
* Better retry logic for macOS
* Use nick-fields/retry
* Clean up Temp: commits for PR
* Clean up
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-macos-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add support for float numbers in rem() arguments
* Update docs
* Rename to prevent name collision in docs
* Update docs after rename to NumberArg
* Fix parameter types to follow naming convention
* Change doc comment description to not refer to floating point
* Update docs after NumberArg doc change
* Change function to be more condensed
* Change to not try to preserve ints
* Update docs to use f64
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-macos-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: dont error on failure to fetch privacy settings
* Add console warning when we ignore it
---------
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
* Fix e2e default planes tests to use mask on state indicator
* 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: windows-16-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add 3-point circle tool
This adds a 1st pass for the 3-point circle tool.
There is disabled code to drag around the 3 points and redraw the circle and
a triangle created by those points. It will be enabled in a follow-up PR
when we have circle3Point in the stdlib.
For now, all it does is after the 3rd click, will insert circle center-radius
KCL code for users to modify.
* PR comments
* Re-enable 'code pane closed at start'
Relates to #4838
* Enable test on current branch
* Revert "Enable test on current branch"
This reverts commit 0d970b9ad6.
* initial plumbing for getting the new option into the cmd-bar
* start of prompt edit
* update AI poll
* add spinner
* more prompt engineering
* add success toast, allowing user's to reject code
* select code that changed in prompt to edit
* selection in scene should not disappear when opening prompt cmd
* tweak
* fmt
* add tests
* some clean up
* clean up
* fix tests
* Remove guards from modeling commands in the toolbar
* 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)
* Remove the deprecated function, update doc comment for the one still in use
* 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)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Remove more selection check functions that are no longer used
* Update E2E tests that assumed the extrude button could be disabled due to selection
* Update a few fillet tests that expected the button to disable based on selection
* 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: windows-16-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-macos-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Implement some basic cache program generation
A bit ago, @jessfraz added the ability to control reexecution from the
executor. When we did this, it used the digest to determine if there
was a code change rather than a non-code change (whitespace, comment,
etc).
This allows the creation of a new program to be run without clearing the
scene. This, in conjunction with being able to delete Engine objects by
ID will allow us to do some clever stuff when incrementally executing
a program.
I'm still working on something a bit more advanced, but a good first
step to derisk some of the caching behavior here fully is to implement a
basic "changed program" stub.
This process the ast programs (old and new) if it doesn't exactly match.
This would have been a complete refresh before this commit.
1) Check all overlapping top-level statements of the body of the new and
old AST and ensure they all match.
- If this is true, this means that one of the two AST programs has more
elements then the other, and they all otherwise match (addition or
deletion of the end of the program). We continue to #2 in this
case.
- If this is false, we have a meaingful difference in a section of
overlapping code. This will result in a cache miss and rebuild
the scene. We short-cut here and the scene is rebuilt.
2) Check the lengths of the two bodies.
- If they're the same, we shouldn't have even been called. We will
short-cut with a noop cache return (no clear, no program).
- if the old ast is longer, we've removed instructions from the
program. We can't delete things now, so this will result in a cache
miss and rebuild the scene. We short-cut here and the scene is
rebuilt.
- If the new ast is longer, we have an insertion of code at the end.
3) construct a new program using only the new elements from the new
ast, and return a `CacheResult` that *does not clear the scene*.
This means nothing will be rebuilt, and only a new object will polp
onto the scene. This is the first case where we diverge with
existing behavior.
Signed-off-by: Paul R. Tagliamonte <paul@zoo.dev>
* Add blank link to discord bot message
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Move all tests over to electron
* Pass the correct param to playwright-electron.sh
* Add shebang to script and add macos-14-large as a target
* Get sketch-tests.spec.ts passing in electron
* Try out 4 workers
* Got testing-segment-overlays passing
* Pass testing-selections.spec.ts
* Go back to fix up sketch-tests test
* Pass various.spec.ts, by far the hardest one
* Pass can-sketch-on-all-planes... with ease
* Pass command bar tests
* fmt
* Completely fix code mirror text navigating for tests
* Pass debug pane tests
* Pass desktop export tests
* Pass editor tests
* Pass file tree tests
* Pass onboarding tests
* Corrected a fixme in file-tree.spec!
* Painfully fix hardcoded coordinates in point-click.spec
* Pass machine.spec tests
* Pass projects, fought hard with filechooser
* Pass regresion-tests.spec tests
* Pass network and connection tests
* Pass camera-movement.spec tests
* Extreme time eaten by gizmo test fixes. All passing now.
* Merge main (tests changed x_x) and pass all constraints.spec tests (pain)
* Pass another painful spec suite: testing-settings
* Pass perspective-toggle, interesting note
* Pass samples loading tests
* Pass app header tests
* Pass text-to-cad tests
* Pass segment-overlays (minor ache) and ability to switch to web if needed :)
* Fix a ton of syntax changes and deflake 2 more tests (pain)
* Correct all tsc errors
* Remove to-electron script
* Add an f-ton of shit because playwright doesnt want S P R E A D
* Try CI again
* Stop snapshots of exports (already test in e2e)
* Fix flake in double click editor
* Hopefully help CI flake
* Fixmes, fixmes everywhere
* One more fixme to settings
* Skip another code pane flake
* Port jess's projects.spec tests
* fixup
* Reuse electron window; difficult task
* Rebased and refixed
* Remove duplicate cases
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Reduce the workers to something CI can handle
* Lower it further, we need to think about the others
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Fix the last tests and tsc errors
* Timeout to 120 and windows-2022-16core
* Fix windows runner detection, enable concurrency temporarily
* Hopefully this time fix windows runner detection
* Comment out Vector, add back removed camera test code
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* Fix camera tests again
* Massively deflake a whole class of tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Try new CI and fix small onboarding test
* Derp
* No github tuning
* Try mac
* Add back all the OS
* Lord, hallow be thy name
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* One last try with window-16-cores
* Trigger CI
* Try AWS Windows runner
* Passing on windows locally with a few skips
* Skip more win tests, add back all three oses
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-16-cores)
* Add two more fixmes
* 2 more fixmes
* skip segment overlays on win32
* Another fixme
* Trigger CI
* Trigger CI
* Quick clean up
* Move all tests over to electron
* Pass the correct param to playwright-electron.sh
* Add shebang to script and add macos-14-large as a target
* Get sketch-tests.spec.ts passing in electron
* Try out 4 workers
* Got testing-segment-overlays passing
* Pass testing-selections.spec.ts
* Go back to fix up sketch-tests test
* Pass various.spec.ts, by far the hardest one
* Pass can-sketch-on-all-planes... with ease
* Pass command bar tests
* fmt
* Completely fix code mirror text navigating for tests
* Pass debug pane tests
* Pass desktop export tests
* Pass editor tests
* Pass file tree tests
* Pass onboarding tests
* Corrected a fixme in file-tree.spec!
* Painfully fix hardcoded coordinates in point-click.spec
* Pass machine.spec tests
* Pass projects, fought hard with filechooser
* Pass regresion-tests.spec tests
* Pass network and connection tests
* Pass camera-movement.spec tests
* Extreme time eaten by gizmo test fixes. All passing now.
* Merge main (tests changed x_x) and pass all constraints.spec tests (pain)
* Pass another painful spec suite: testing-settings
* Pass perspective-toggle, interesting note
* Pass samples loading tests
* Pass app header tests
* Pass text-to-cad tests
* Pass segment-overlays (minor ache) and ability to switch to web if needed :)
* Fix a ton of syntax changes and deflake 2 more tests (pain)
* Correct all tsc errors
* Remove to-electron script
* Add an f-ton of shit because playwright doesnt want S P R E A D
* Try CI again
* Stop snapshots of exports (already test in e2e)
* Fix flake in double click editor
* Hopefully help CI flake
* Fixmes, fixmes everywhere
* One more fixme to settings
* Skip another code pane flake
* Port jess's projects.spec tests
* fixup
* Reuse electron window; difficult task
* Rebased and refixed
* Remove duplicate cases
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Reduce the workers to something CI can handle
* Lower it further, we need to think about the others
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Update package.json
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Fix the last tests and tsc errors
* Timeout to 120 and windows-2022-16core
* Fix windows runner detection, enable concurrency temporarily
* Hopefully this time fix windows runner detection
* Comment out Vector, add back removed camera test code
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* Fix camera tests again
* Massively deflake a whole class of tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: macos-14-large)
* Try new CI and fix small onboarding test
* Derp
* No github tuning
* Try mac
* Add back all the OS
* Lord, hallow be thy name
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Try AWS Windows runner
* Passing on windows locally with a few skips
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fmt, tsc, lint
* Enable two fixmes again
* Fix lint, codespell, fmt
* Fix lint
* Don't run e2e on draft, add back concurrency, clean up
* One last windows skip
---------
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>
* KCL: Show beautiful Miette errors when a KCL example test fails
Background: KCL example tests are generated from the stdlib KCL examples in the `#[stdlib]` macro in derive-docs.
Problem: When these tests fail, they output a really unhelpful error message like Kcl(Semantic(KclErrorDetails { source_ranges: [156, 160, 0], message: "Expected a sketch but found array" } )).
Solution: Use miette. Now the errors highlight the KCL code that failed and show exactly what went wrong, on which line, presenting nice diagnostics that look like cargo/rustc output.
* Update helix snapshots
* 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>
* WIP: mess with shell selection validation
Will eventually fix#4711
* Update from main
* WIP: not working yet
* Working loft dry run validator
* Clean up shell (still not working)
* Bump kittycad-modeling-cmds
* Clean up
* Add logging
* Add proper object_id and face_id mapping, still not working for shell
* Fix faceId
* 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: windows-latest-8-cores)
* Add dry-run validation to Loft
Checks one box for #4711
* Add extra check for non solid2ds
---------
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Part of #4600
KCL functions can declare one special argument that doesn't require a label on its parameter when called.
This PR will default that arg to % (the current pipeline) if not given.
* Parse annotations
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Propagate settings from annotations to exec_state
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* redoing bool logic impl on latest main
* adding snapshot tests (removing .new)
* removing accidental change smh:(
* accepting client side scene snapshot
* accepting png snapshot and triggering ci
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* accepting png again?
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* accepting grid visibility snapshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* accepting png snapshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* accepting png snapshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* accepting png snapshot
* rerunning simtest creation to get ops.snap files
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Allow underscores but only for un-referenced names
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Support numeric suffixes for UoM types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* UoM type arguments
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* warnings -> non-fatal errors
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* type ascription
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add operations tracking for the timeline
* Change to only track certain stdlib functions as operations
* Update gen files
* Add operations to simulation snapshot tests
* Add tracking of positional function calls
* Fix generated field names to be camel case in TS
* Fix generated TS field names to match and better docs
* Fix order of ops with patternTransform
* Fix sweep to be included
* Add new expected test outputs
* Add tracking for startSketchOn
* Update ops output to include startSketchOn
* Fix serde field name
* Fix output field name
* Add tracking of operations that fail
* Add snapshots of operations even when there's a KCL execution error
* Add ops output for error executions
* Add operations output to executor error
* Update op source ranges
* Remove tracking of circle() and polygon() since they're not needed
* Update output without circle and polygon
* Fix to track patternCircular3d and patternLinear3d
* Remove tracking for mirror2d
* Update ops output
* Fix to track the correct source range of function definitions
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* 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
* fix enter sketch on cap
* fix coderef problem for walls and caps
* allow sketch mode entry from circle
* clean up
* update snapshot
* Look at this (photo)Graph *in the voice of Nickelback*
* trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* add test
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* fix how expression index is corrected, to make compatible with offset planes
* another test
* tweak test
* more test tweaks
* break up test to fix it hopfully
* fix onboarding test
* remove bad comment
---------
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>
When engine merged their big extrude ID bugfix,
they changed the response for extrudes on face.
Basically there's no longer a start face for
something you extrude from a face, because there
just isn't. There's a hole in a previous face,
it's just a gap.
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Bump wasm-bindgen from 0.2.91 to 0.2.99 and wasm-bindgen-futures from 0.4.44 to 0.4.49
* Upgrade in the kcl crate also
* Update web-sys version constraint to match lock
Remove non code from Digests
@jessfraz and I talked it over; for the time being we're going to remove
comments from the AST digest. We already exclude source position, so
this is just increasing the degree to which we're going to ignore things
that are not germane to execution.
Before, we'd digest *some* but not all of the comments in the AST.
Silly, I know, right?
So, this code:
```
firstSketch = startSketchOn('XY')
|> startProfileAt([-12, 12], %)
|> line([-24, 0], %) // my thing
|> close(%)
|> extrude(6, %)
```
Would digest differently than:
```
firstSketch = startSketchOn('XY')
|> startProfileAt([-12, 12], %)
|> line([-24, 0], %)
|> close(%)
|> extrude(6, %)
```
Which is wrong. We've fully divested of hashing code comments, so this
will now hash to be the same. Hooray.
* More Walk cleanup
- The `Node` type contained two enums by mistake. Those have been
removed.
- Export the `Visitor` and `Visitable` traits, as I start to migrate
stuff to them.
- Add a wrapper to pull the `digest` off the node without doing a
`match` elsewhere.
* update camera controls to Zoo
* update e2e and initial settings
* update types and camera controls ts
* update mod.rs test
* update test, test locally
* Refactor ContextMenu to be able to take a guard and other event types
* refactor: break out ViewControlMenu into its own component
* Add ViewControlMenu to Stream, but only on right-click non-drag mouseup
* Fix lints
* Don't use `useCallback` for contextmenu guard
* Update context menu position on subsequent right-clicks
* Reapply "More aggressive using of cache on engine settings changes (#4691)" (#4729)
This reverts commit 3f1f40eeba.
* Add a utility to get all the current values from the settings object
* Use an XState selector to get the latest settings snapshot for WASM
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
* selection stuff
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* trigger CI
* fix bugs
* some edge cut stuff
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* fix sketch mode issues
* fix more tests, selection in sketch related
* more test fixing
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger ci
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger ci
* more sketch mode selection fixes
* fix unit tests
* rename function
* remove .only
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* lint
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* fix bad pathToNode issue
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* fix sketch on face
* migrate a more selections types
* migrate a more selections types
* fix code selection of fillets
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* migrate a more selections types
* fix bad path to node, looks like a race
* migrate a more selections types
* migrate a more selections types
* fix cmd bar selections
* fix cmd bar selections
* fix display issues
* feat: implementing axis selection for point and click revolve
* feat: enforcing selection of 2 options for axis rotation
* feat: added negative rotations for the revolve
* fix: fmt, tsc fixes
* migrate a more selections types
* Revert "migrate a more selections types"
This reverts commit 0d0e453bbb.
* migrate a more selections types
* clean up1
* clean up 2
* chore: improving the copy after discussing with Frank
* fix: merge main fixes
* chore: was able to add a seg to a line. Does not check if one exists already
* saving off some code
* chore: moving revolveSketch into own file for readability, improving variable names instead of node1
* chore: renaming more variables for readability
* chore: more renaming
* fix: allows creating a custom rotation on axis
* fix: added opposite edge logic and adj, need to error handle still
* fix: use other import
* feat: point and click on edges, crude implementation
* feat: implemented toast message and returned error message from validation
* fix: auto linter
* fix: addressing tsc errors
* fix: fighting typescript
* fix: cleaning up PR
* fix: trying to resolve more typescript issues
* fix: save off tsc fixes
* fix: adding comments
* fix: resolving tsc errors
* fix: tsc errors
* fix: auto linter fixes and tsc fixes
* fix:??
* fix: revolve ast works with declaration
* fix: retry logic to make sure the disable dry run actually runs
* fix: codespell typo
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Part of https://github.com/KittyCAD/modeling-app/issues/4600
You can now call a user-defined function via keyword args. E.g.
```
fn increment(@x) {
return x + 1
}
fn add(@x, delta) {
return x + delta
}
two = increment(1)
three = add(1, delta: 2)
```
* Add test with tag parameter
* Fix to not define TagIdentifiers pointing to nothing
* Add fixed test output
* Rename function to be clearer
* Remove optional param so that unparse works
* Fix to not allow redefining tags
* Fix to only ever define tags in memory when used with stdlib functions
* Fix to not define local variables when non-literal tag declarator is used
* Add removing mutability
* Change function signature since it isn't falliable
* Refactor TokenStream (and some minor changes to Token)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Tidy up lexer tests
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
# Problem
Before this PR, our formatter reformats
```
squares_out = reduce(arr, 0, fn (i, squares) {
return 1
})
```
to
```
squares_out = reduce(arr, 0, (i, squares) {
return 1
})
```
i.e. it removes the `fn` keyword from the closure. This keyword is required, so, our formatter turned working code into invalid code.
# Cause
When this closure parameter is formatted, the ExprContext is ::Decl, so `Expr::recast` skips adding the `fn` keyword. The reason it's ::Decl is because the `squares_out = ` declaration sets it, and no subsequent call sets the context to something else.
# Solution
When recasting a call expression, set the context for every argument to `ExprContext::Other`.
* Fix nightly release page link in bottom bar
Fixes#4713
* Working now
* Cleaner
* Add IS_NIGHTLY var to make these checks more consistent
* Review from Kevin
* Update url for settings content too
* start a rework of the walk module
I'd like to have the code explicitly recurse in the visitor rather than
implicitly. This allows the calling code to build up an idea of the
depth of each node, or skip parts of the AST entirely.
i'm going to rebuild this enough to get the old API to work before
looking to merge this.
I've also discovered a number of new AST types that were just papered
over and/or excluded entirely -- I'm going to have to go through and
make sure that both Digest and the walker are still current, or if we
silently added types or, more likely, fields getting ignored.
* 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>
* 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>
When declaring a function, its first parameter is allowed to be prefixed with `@`. This means that when users call this function, they don't have to label this argument.
Only the first parameter is allowed this prefix, no others.
Part of https://github.com/KittyCAD/modeling-app/issues/4600
* fix: make variable declaration errors Cut instead of Backtrace
* fix: clippy, move comma to empty case and add test
* fix: add missing TokenType case
* fix: incorrect fn args after merge
* fix: clippy lint
* fix: update error message being looked for in e2e test
---------
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Parse more import syntax
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Remove unnecessary Vec from VariableDeclaration
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Parse export import
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Factor out an execution module
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* imports: constants, globs, export import
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* test fixups
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
Pure refactor, should not change any behaviour.
Previously, optional parameters in KCL function calls always set the parameter to KclNone.
As of this PR, they can be set to KCL literals in addition to KCL none. However the parser does not actually ever use this (that'll be in a follow-up PR).
Also adds a `labeled: bool` to all parameters, which is always true. But it lays the groundwork for the unlabeled first parameter in a follow-up PR.
* 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>
We don't have any of these, and I don't think it's
worth the complexity. The goal was to let us write
KCL stdlib functions in KCL not Rust. But who cares
really. We can always put this back if we need it.
* Fix broken test from previous PR
* Look at this (photo)Graph *in the voice of Nickelback*
* void
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Part of https://github.com/KittyCAD/modeling-app/issues/4600
Adds support for keyword arguments to the stdlib, and calling stdlib functions with keyword arguments.
So far, I've changed one function: `rem`. Previously you would have used `rem(7, 2)` but now it's `rem(7, divisor: 2)`.
This is a proof-of-concept. If it's approved, we will:
1. Support closures with keyword arguments, and calling them
2. Move the rest of the stdlib to use kw arguments
* Fix default planes to be created in deterministic order
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Trigger CI
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 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
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Make some fields of lint::Discovered public again; update kittycad
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Empty commit to try to unstick CI
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* update fn syntax
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* Trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* refactor code mod and tests
* tsc
* make lint happy
* remove dumby data
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
KCL functions are a weird edge case, and the `FunctionExpression` field should not be included in its public API. That field is only there for implementation details, it shouldn't be exposed to users.
What's worse is that `FunctionExpression` includes a `Program` so every single AST node wound up being included in our docs.
* fix: only count something as a directory if it has children
* fix: playwright tests
* fix: return 0 if you cant find the projectfolder
* fix: remove folder count from e2e tests since it is unused currently
---------
Co-authored-by: Tom Pridham <pridham.tom@gmail.com>
* Implement the functionality
* Another fmt
* Fix handler to not rely on modelingMachine's context,
because that creates an implicit race
* Write an E2E test
* Fix tsc and fmt
* Use artifactGraph helpers for more concise code
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Fix up imports and whatnot from commit 2bfc5f5c
* Make early return more clear with curly braces
* Whoops should have linted
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Make `=` and `=>` optional in function declarations
And requires `:` for return types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Tests
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Format types in function decls
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Require in anon function decls
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
2024-11-27 15:46:58 +13:00
1312 changed files with 427909 additions and 220550 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.
## Windows
1. Download the [Zoo Modeling App 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.
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.
## macOS
1. Download the [Zoo Modeling App 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.
3. You can then open your `Applications` directory and double-click on `Zoo Modeling App` to open.
## Linux
1. Download the [Zoo Modeling App 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.
```bash
sudo apt update
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`.
- `appimaged` should automatically find it and make it executable. If not, run:
Create a new tag and push it to the repo (eg.`v0.28.0`for `$VERSION`)
Create a new tag and push it to the repo. The `semantic-release.sh` script will automatically bump the minor part, which we use the most. For instance going from`v0.27.0`to `v0.28.0`.
```
VERSION=$(./scripts/semantic-release.sh)
@ -146,16 +146,14 @@ git push origin --tags
This will trigger the `build-apps` workflow, set the version, build & sign the apps, and generate release files as well as updater-test artifacts.
Once the workflow succeeds, a draft release will be created at https://github.com/KittyCAD/modeling-app/releases.
The workflow should be listed right away [in this list](https://github.com/KittyCAD/modeling-app/actions/workflows/build-apps.yml?query=event%3Apush)).
#### 3. Manually test artifacts from the Cut Release PR
#### 3. Manually test artifacts
##### Release builds
The release builds can be found under the `out-{arch}-{platform}` zip files, at the very bottom of the `build-apps` summary page for the workflow (triggered by the tag in 2.).
Alternatively, the draft release will also include these builds.
Manually test against this [list](https://github.com/KittyCAD/modeling-app/issues/3588) across Windows, MacOS, Linux and posting results as comments in the issue.
##### Updater-test builds
@ -178,9 +176,11 @@ If the prompt doesn't show up, start the app in command line to grab the electro
#### 4. Publish the release
Head over to https://github.com/KittyCAD/modeling-app/releases, paste in the changelog discussed in the issue, and publish the draft release created by the `build-apps` workflow from step 2.
Head over to https://github.com/KittyCAD/modeling-app/releases/new, pick the newly created tag and type it in the _Release title_ field as well.
A new Action kicks in at https://github.com/KittyCAD/modeling-app/actions, which can be found under `release` event filter. On success, the files will be uploaded to the public bucket and the announcement on Discord will be sent.
Hit _Generate release notes_ as a starting point to discuss the changelog in the issue. Once done, make sure _Set as the latest release_ is checked, and hit _Publish release_.
A new `publish-apps-release` will kick in and you should be able to find it [here](https://github.com/KittyCAD/modeling-app/actions?query=event%3Arelease). On success, the files will be uploaded to the public bucket as well as to the GitHub release, and the announcement on Discord will be sent.
#### 5. Close the issue
@ -337,13 +337,47 @@ For individual testing:
yarn test abstractSyntaxTree -t "unexpected closed curly brace" --silent=false
```
Which will run our suite of [Vitest unit](https://vitest.dev/) and [React Testing Library E2E](https://testing-library.com/docs/react-testing-library/intro/) tests, in interactive mode by default.
Which will run our suite of [Vitest unit](https://vitest.dev/) and [React Testing Library E2E](https://testing-library.com/docs/react-testing-library/intro) tests, in interactive mode by default.
### Rust tests
```bash
**Dependencies**
-`KITTYCAD_API_TOKEN`
-`cargo-nextest`
-`just`
#### Setting KITTYCAD_API_TOKEN
Use the production zoo.dev token, set this environment variable before running the tests
#### Installing cargonextest
```
cd src/wasm-lib
KITTYCAD_API_TOKEN=XXX cargo test -- --test-threads=1
# Make sure KITTYCAD_API_TOKEN=<prod zoo.dev token> is set
# Make sure you installed cargo-nextest
# Make sure you installed just
cd src/wasm-lib
just test
```
```bash
# Without just
# Make sure KITTYCAD_API_TOKEN=<prod zoo.dev token> is set
# Make sure you installed cargo-nextest
cd src/wasm-lib
exportRUST_BRACKTRACE="full"&& cargo nextest run --workspace --test-threads=1
```
Where `XXX` is an API token from the production engine (NOT the dev environment).
@ -388,23 +422,6 @@ yarn test:unit:local
#### E2E Tests
**Playwright Browser**
These E2E tests run in a browser (without electron).
There are tests that are skipped if they are ran in a windows OS or Linux OS. We can use playwright tags to implement test skipping.
Breaking down the command `yarn test:playwright:browser:chrome:windows`
- The application is `playwright`
- The runtime is a `browser`
- The specific `browser` is `chrome`
- The test should run in a `windows` environment. It will skip tests that are broken or flaky in the windows OS.
```
yarn test:playwright:browser:chrome
yarn test:playwright:browser:chrome:windows
yarn test:playwright:browser:chrome:ubuntu
```
**Playwright Electron**
These E2E tests run in electron. There are tests that are skipped if they are ran in a windows, linux, or macos environment. We can use playwright tags to implement test skipping.
@ -450,3 +467,9 @@ PS: for the debug panel, the following JSON is useful for snapping the camera
## KCL
For how to contribute to KCL, [see our KCL README](https://github.com/KittyCAD/modeling-app/tree/main/src/wasm-lib/kcl).
### Logging
To display logging (to the terminal or console) set `ZOO_LOG=1`. This will log some warnings and simple performance metrics. To view these in test runs, use `-- --nocapture`.
To enable memory metrics, build with `--features dhat-heap`.
KCL value for an optional parameter which was not given an argument. (remember, parameters are in the function declaration, arguments are in the function call/application).
| `revolutions` |`number`| Number of revolutions. | No |
| `angleStart` |`number`| Start angle (in degrees). | No |
| `ccw` |`boolean`| Is the helix rotation counter clockwise? The default is `false`. | No |
| `length` |`number`| Length of the helix. If this argument is not provided, the height of the solid is used. | No |
| `length` |`number`| Length of the helix. This is not necessary if the helix is created around an edge. If not given the length of the edge is used. | No |
| `radius` |`number`| Radius of the helix. | No |
| `axis` |[`Axis3dOrEdgeReference`](/docs/kcl/types/Axis3dOrEdgeReference)| Axis to use as mirror. | No |
**This schema accepts exactly one of the following:**
An inline comment. Here are examples: `1 + 1 // This is an inline comment`. `1 + 1 /* Here's another */`.
**Type:**`object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `inlineComment`| | No |
| `value` |`string`| | No |
| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)| | No |
----
A block comment. An example of this is the following: ```python,no_run /* This is a block comment */ 1 + 1 ``` Now this is important. The block comment is attached to the next line. This is always the case. Also the block comment doesn't have a new line above it. If it did it would be a `NewLineBlockComment`.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `blockComment`| | No |
| `value` |`string`| | No |
| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)| | No |
----
A block comment that has a new line above it. The user explicitly added a new line above the block comment.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `newLineBlockComment`| | No |
| `value` |`string`| | No |
| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)| | No |
| `path` |[`SweepPath`](/docs/kcl/types/SweepPath)| The path to sweep along. | No |
| `sectional` |`boolean`| If true, the sweep will be broken up into sub-sweeps (extrusions, revolves, sweeps) based on the trajectory path components. | No |
| `tolerance` |`number`| Tolerance for the sweep operation. | No |
awaitsketchOnPlaneAndBackSideTest(page,'XZ',{x: 700,y: 427})// back of blue plane
test('-XZ',async({page,homePage})=>{
awaitsketchOnPlaneAndBackSideTest(page,homePage,'XZ',{x: 700,y: 427})// back of blue plane
})
})
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.