* Make the Reset View button do the same view_isometric behavior as load
Just copying some logic from the EngineStream code to make that button
behave the same way: old initial camera position while in Playwright,
isometric view for normal users.
* Move duplicate code into shared `resetCameraPosition` function
* Fix lints
* Keep test toast messages around for longer
* Check for at least two locators
I wasn't able to reproduce, but it's possible one stuck around from a previous test.
* Fix "include settings" setting to have an effect
I'm not sold on if we should have this setting, but this fixes it for
now. The issue is was that the new callback actor approach was using a
stale version of the settings every time it received an "update" event:
JS closure problems. Now it receives the new settings as an event
payload.
* Update src/machines/settingsMachine.ts
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Restore the native file menu tests
* fix: saving off progress
* chore: making progress cleaning up these verbose tests and improving app logic for e2e
* chore: rewriting tests
* fix: reworking application logic for file menu in the scene and e2e scene file menu test
* chore: updating more e2e tests
* fix: updated all the tests, auto fixers
* fix: trying to improve tests within E2E, they aren't failing locally even with --repeat-each=10
* fix: application logic has a bug that you can navigate instantly but the scroll to view code will not trigger which breaks end to end tests
* fix: improving E2E tests
* fix: fixing clipboard typo
* fix: porting test() for each native file menu to a test.step to speed it up
* fix: auto fixes and console log helper function for playwright runtimes
* fix: more cleanup
* fix: trying to fix these...
* fix: got the tests working
* fix: addressing PR comments
* fix: trying to stablize the tests
* fix: auto fixes
* fix: trying to make it the command name and not arg? could be a source of race condition if the input is not written fast enough?
* fix: maybe because this close locator was running too quickly?
* fix: panic timeout, classic
* fix: these are gone
* fix: shorter waits
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Display NodePath in artifact graph mermaid charts
* Update output
* Change node path display to be only comments
* Update output
* Update output after rebase
Avoid using revolve for now
When we moved to concurrent execution of KCL modules, we begun to see an
error we never fully understood, and because it was pretty hard to
trigger, we wound up never being able to fix it. Today we were able to
track it down to the `revolve` call here.
Specifically, the problem is triggered when we're doing a "Full Revolve"
(e.g., `angle = 359.999999` passes, but *not* `angle = 360` or the
default, as it is in `main`), and concurrently executing modules will
see something weird happen with `getNextAdjacentEdge`.
From all the smoke I believe this happens only when we are doing a *full
revolve*, *AND* we're executing other modules which are calling
`getNextAdjacentEdge`.
When the `revolve` is present, we can lose the race in *either*
`talk-button.kcl` OR `case.kcl`.
If I move back to single-threaded execution OR I add imports to sequence
things carefully, I can get the tests to pass. If the revolve is an
`extrude` or not a full revolve, it works fine.
My best guess is that it seems like the world got flipped upside down or
something, such that "next edge" has a different orentation for two
calls. My even further guess is that inside `revolve` we mutate
something connection-global such that it alters the intepretation of
calls made during the revolve implementation's "critical section".
* Give example info for failing std example tests
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Shard example tests into 10
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* fix: clear scene and bust cache if rust panics
* Update onboarding following @jgomez720
* chore: hopefully made a safe navigate to kcl file to call executeAST without a race condition
* chore: hopefully made a safe navigate to kcl file to call executeAST without a race condition
* fix: clean up
* fix: FUCK
* fix: FUCK 2.0
* fix: oh boi
* fix: oh boi
* fix: idk man
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix: take main on this, do not need a single line from my testing code
* fix: more PR cleanup from all of the testing code
* fix: trying to clean up more, ope this has a lot of other code
* fix: PR clean up
* fix: trying to get a clean branch, I had multiple other branches in here ope
* fix: more cleanup
* fix: another one
* fix: fixed the comment to be accurate
* fix: removed confusing comment
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com>
Only include the file pane on desktop. This should encourage users to
try point-and-click and feature tree workflows. After #6629 is
completed, we should default to the code pane being closed.
* Change Fn to fn for function types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Support args and return types in function types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Use fancy function types in the docs
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Allow adding and removing commands from any command bar state
* Allow commands to be configured disabled in the combobox
* Set up modeling commands to toggle `disabled` based on network status, instead of filtering
* Fix tsc
**Problem:**
KCL's xLine and yLine functions were telling users to supply either "end" or "endAbsolute" arguments. But "end" is not a valid argument for xLine/yLine, it's actually "length" instead.
**Cause:**
xLine/yLine were using a helper function designed for `line` KCL stdlib functions, which do use `end`.
**Solution**
Add a new param to the helper function, indicating what the label should be for relative lines. "end" for `line` calls, `length` for x/yline
* Move the leg functions to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Move array functions to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Move clone to KCL
Signed-off-by: Nick Cameron <nrc@ncameron.org>
* Add a function type
Signed-off-by: Nick Cameron <nrc@ncameron.org>
---------
Signed-off-by: Nick Cameron <nrc@ncameron.org>