# Problem
This is my proposal for fixing #1107 . I've only done it for one stdlib function, `tangentialArcTo` -- if y'all like it, I'll apply this idea to the rest of the stdlib.
Previously, if users want to put a tag on the arc, the function's parameters change type.
```
// Tag missing: first param is array
tangentialArcTo([x, y], %)
// Tag present: first param is object
tangentialArcTo({to: [x, y], tag: "myTag"}, %)
```
# Solution
My proposal in #1006 is that KCL should have optional values. This means we can change the stdlib `tangentialArcTo` function to use them. In this PR, the calls are now like
```
// Tag missing: first param is array
tangentialArcTo([x, y], %)
// Tag present: first param is array still, but we now pass a tag at the end.
tangentialArcTo([x, y], %, "myTag")
```
This adds an "option" type to KCL typesystem, but it's not really revealed to users (no KCL types are revealed to users right now, they write untyped code and only interact with types when they get type errors upon executing programs). Also adds a None type, which is the default case of the Optional enum.
* Add new logomarks
* Replace KittyCAD and KCMA with Zoo and ZMA anywhere it's safe
* fmt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Make README logo a PNG instead of an SVG
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* delete old exports
* update test
* tweaks and assets
* install kittycad cli
* fix weird typo
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Put a proper overlay behind the web app warning banner
Resolves#1197
* Add outline to kcma logo in readme
Resolves#1159
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* retrigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Tweak toaster look and feel
* Add icons, tweak plus icon names
* Rename commandBarMeta to commandBarConfig
* Refactor command bar, add support for icons
* Create a tailwind plugin for aria-pressed button state
* Remove overlay from behind command bar
* Clean up toolbar
* Button and other style tweaks
* Icon tweaks follow-up: make old icons work with new sizing
* Delete unused static icons
* More CSS tweaks
* Small CSS tweak to project sidebar
* Add command bar E2E test
* fumpt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fix typo in a comment
* Fix icon padding (built version only)
* Update onboarding and warning banner icons padding
* Misc minor style fixes
* Get Extrude opening and canceling from command bar
* Iconography tweaks
* Get extrude kind of working
* Refactor command bar config types and organization
* Move command bar configs to be co-located with each other
* Start building a state machine for the command bar
* Start converting command bar to state machine
* Add support for multiple args, confirmation step
* Submission behavior, hotkeys, code organization
* Add new test for extruding from command bar
* Polish step back and selection hotkeys, CSS tweaks
* Loading style tweaks
* Validate selection inputs, polish UX of args re-editing
* Prevent submission with multiple selection on singlular arg
* Remove stray console logs
* Tweak test, CSS nit, remove extrude "result" argument
* Fix linting warnings
* Show Ctrl+/ instead of ⌘K on all platforms but Mac
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Add "Enter sketch" to command bar
* fix command bar test
* Fix flaky cmd bar extrude test by waiting for engine select response
* Cover both button labels '⌘K' and 'Ctrl+/' in test
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Tweak toaster look and feel
* Add icons, tweak plus icon names
* Rename commandBarMeta to commandBarConfig
* Refactor command bar, add support for icons
* Create a tailwind plugin for aria-pressed button state
* Remove overlay from behind command bar
* Clean up toolbar
* Button and other style tweaks
* Icon tweaks follow-up: make old icons work with new sizing
* Delete unused static icons
* More CSS tweaks
* Small CSS tweak to project sidebar
* Add command bar E2E test
* fumpt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fix typo in a comment
* Fix icon padding (built version only)
* Update onboarding and warning banner icons padding
* Misc minor style fixes
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* update default plane size after grid update
* use similar scale
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fix test numbers
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
KCEP's memory model stores 'values', which can be either numbers or strings. But we'll need to support storing complex objects like points, lines, sketchgroups, etc in memory too.
This PR adds a trait for KCEP composite types, which are laid out in KCEP memory as a consecutive series of values, one for each field.
Part of https://github.com/KittyCAD/modeling-app/issues/993
We want to be able to extract the execution plan (EP) from a KCL program, copy it, and paste it into an engine unit test. Therefore they must be de/serializable.
* update select logic for axis
* add abs Y and X constraints
* make selection tests much more thorough including axis selections
* fmt
* tweak
* tweak
* add snap to XY constraints
* side just for screenshot diffs
* update angle constraint to allow axis seleciton
* fix bux in absY constraint
* add sorting to constraintns
* add issue to TODO
* Revert "side just for screenshot diffs"
This reverts commit aae7874859.
* fix number because something must have updated in the engine
* typo
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* Revert "add sorting to constraintns"
This reverts commit 36054a4069.
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* triggre CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* more e2e export fixes
* fixes
* fmt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* WIP: Add tauri e2e test for auth on Linux
Fixes#968
* WIP
* WIP
* Working of through /tmp file for user code sharing
* rust int
* User code only in /tmp, fixes
* Longer timeout for github actions
* Remove timeout
* Fmt
* Fmt, 30sec timeout
* Test BUILD_RELEASE true
* Revert "Test BUILD_RELEASE true"
This reverts commit d3b59d4a6c.
* Disable concurrency limit for faster iterations on this PR
* Add logs for responses
* Test manual tauri build before e2e
* WIP
* Catch error on tauri::api:🐚:open
* Clean up
* Clean up
* timeout
* Force BUILD_RELEASE: true
* Back to debug, longer timeout
* Print if url opens ok too
* Check default browser in actions
* Remote shell call on linux (aka e2e for now)
* Fix fmt
* Move to data-testid, clean up
* Add log out section
* Clean up
* Fix typo
* Fix text detection
* Test AppImage
* Revert "Test AppImage"
This reverts commit cf126b1aa6.
* Add comments
* Change to env var
* Clean up
* Fmt fix
* Better package json name
* Add import @wdio/globals
* Back to require
* Update wdio, fix globals
* Move to typescript
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix ply and stl exports
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* trigger ci
* explanation comment
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* selections e2e test
* .only
* adde test
* make invalid kcl test pass on macos runner
* further attempt to solve invalid code test on macos
* add comment