Circle function and UI tool (#3860)

* circle

* fix another example

* fix bad comment

* toPoint fix

* cargo fmt

* resolve most of the tests

* fix last test

* missed circle in bracket

* remove console error

* fmt

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* trigger ci

* remove three dot menu for circle

* make sure circle can be extruded

* fix up after merge

* add extrude test for circle

* clean up

* typo

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"

This reverts commit 03f8eeb542.

* update docs again

* cmd bar test serialisation improvements

* tiny clean up

* fix after: Replace kittycad crate with kittycad-modeling-cmds

* fmt

* rename fix

* Update src/lib/toolbar.ts

Co-authored-by: Frank Noirot <frank@zoo.dev>

* add another error to list

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* image updates

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)"

This reverts commit 505bb20bea.

* update markdown

* skip un reproducable windows test failure

* rust review

* leave issue todo comment

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
This commit is contained in:
Kurt Hutten
2024-09-23 22:42:51 +10:00
committed by GitHub
parent 7848d63177
commit f1b0e40388
122 changed files with 22670 additions and 512 deletions

View File

@ -903,6 +903,7 @@ export function doesSceneHaveSweepableSketch(ast: Program) {
let hasStartProfileAt = false
let hasStartSketchOn = false
let hasClose = false
let hasCircle = false
for (const pipe of node.init.body) {
if (
pipe.type === 'CallExpression' &&
@ -919,8 +920,15 @@ export function doesSceneHaveSweepableSketch(ast: Program) {
if (pipe.type === 'CallExpression' && pipe.callee.name === 'close') {
hasClose = true
}
if (pipe.type === 'CallExpression' && pipe.callee.name === 'circle') {
hasCircle = true
}
}
if (hasStartProfileAt && hasStartSketchOn && hasClose) {
if (
(hasStartProfileAt || hasCircle) &&
hasStartSketchOn &&
(hasClose || hasCircle)
) {
theMap[node.id.name] = true
}
} else if (