From 3d73b82c23cb46d80be8f40c202f225266360d89 Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Mon, 22 Apr 2024 20:14:06 +1000 Subject: [PATCH] project global origin for sketches and use engine animations (#2113) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use engine animations for sketch on face, but not default planes * massage things * fix type issue * small problem in playwright test< * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * some tests fixes * more test tweaks * more test tweaks * clean up * more tidy * tests are a pain * more test stuff * test stuff again * fix micro think axes in sketch mode * more test shit * more test shit more * more test tweaks * more test tweaks * more test stuff * trigger ci * clean up --------- Co-authored-by: github-actions[bot] --- e2e/playwright/flow-tests.spec.ts | 145 ++++++++++++------ ...scale-Inch-scale-2-Google-Chrome-linux.png | Bin 52027 -> 51369 bytes ...Millimeter-scale-2-Google-Chrome-linux.png | Bin 53397 -> 52664 bytes e2e/playwright/test-utils.ts | 2 +- src/clientSideScene/CameraControls.ts | 85 +++++++++- src/clientSideScene/sceneEntities.ts | 100 ++++++++---- src/components/ModelingMachineProvider.tsx | 23 +-- src/lang/KclSingleton.ts | 10 ++ src/lang/std/engineConnection.ts | 5 +- src/lib/singletons.ts | 12 ++ src/machines/modelingMachine.ts | 73 +++++++-- 11 files changed, 341 insertions(+), 114 deletions(-) diff --git a/e2e/playwright/flow-tests.spec.ts b/e2e/playwright/flow-tests.spec.ts index 82c6f6c71d..7df1ab4597 100644 --- a/e2e/playwright/flow-tests.spec.ts +++ b/e2e/playwright/flow-tests.spec.ts @@ -104,6 +104,7 @@ test('Basic sketch', async ({ page }) => { |> startProfileAt(${commonPoints.startAt}, %) |> line([${commonPoints.num1}, 0], %) |> line([0, ${commonPoints.num1}], %)`) + await page.waitForTimeout(100) await page.mouse.click(startXPx, 500 - PUR * 20) await expect(page.locator('.cm-content')) .toHaveText(`const part001 = startSketchOn('-XZ') @@ -362,7 +363,7 @@ angle: 90 await u.waitForAuthSkipAppStart() - u.openDebugPanel() + await u.openDebugPanel() await u.expectCmdLog('[data-message-type="execution-done"]') await u.closeDebugPanel() @@ -734,7 +735,7 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { await u.openDebugPanel() const xAxisClick = () => - page.mouse.click(700, 250).then(() => page.waitForTimeout(100)) + page.mouse.click(700, 253).then(() => page.waitForTimeout(100)) const emptySpaceClick = () => page.mouse.click(728, 343).then(() => page.waitForTimeout(100)) const topHorzSegmentClick = () => @@ -759,6 +760,7 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { .toHaveText(`const part001 = startSketchOn('-XZ') |> startProfileAt(${commonPoints.startAt}, %)`) + await page.waitForTimeout(100) await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 10) await expect(page.locator('.cm-content')) @@ -766,12 +768,14 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { |> startProfileAt(${commonPoints.startAt}, %) |> line([${commonPoints.num1}, 0], %)`) + await page.waitForTimeout(100) await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20) await expect(page.locator('.cm-content')) .toHaveText(`const part001 = startSketchOn('-XZ') |> startProfileAt(${commonPoints.startAt}, %) |> line([${commonPoints.num1}, 0], %) |> line([0, ${commonPoints.num1}], %)`) + await page.waitForTimeout(100) await page.mouse.click(startXPx, 500 - PUR * 20) await expect(page.locator('.cm-content')) .toHaveText(`const part001 = startSketchOn('-XZ') @@ -784,10 +788,14 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { await page.getByRole('button', { name: 'Line' }).click() await u.closeDebugPanel() - const selectionSequence = async () => { + const selectionSequence = async (isSecondTime = false) => { await expect(page.getByTestId('hover-highlight')).not.toBeVisible() - await page.mouse.move(startXPx + PUR * 15, 500 - PUR * 10) + await page.waitForTimeout(100) + await page.mouse.move( + startXPx + PUR * 15, + isSecondTime ? 430 : 500 - PUR * 10 + ) await expect(page.getByTestId('hover-highlight')).toBeVisible() // bg-yellow-200 is more brittle than hover-highlight, but is closer to the user experience @@ -797,7 +805,10 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { // check mousing off, than mousing onto another line await page.mouse.move(startXPx + PUR * 10, 500 - PUR * 15) // mouse off await expect(page.getByTestId('hover-highlight')).not.toBeVisible() - await page.mouse.move(startXPx + PUR * 10, 500 - PUR * 20) // mouse onto another line + await page.mouse.move( + startXPx + PUR * 10, + isSecondTime ? 295 : 500 - PUR * 20 + ) // mouse onto another line await expect(page.getByTestId('hover-highlight')).toBeVisible() // now check clicking works including axis @@ -807,6 +818,7 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { await page.keyboard.down('Shift') const absYButton = page.getByRole('button', { name: 'ABS Y' }) await expect(absYButton).toBeDisabled() + await page.waitForTimeout(100) await xAxisClick() await page.keyboard.up('Shift') await absYButton.and(page.locator(':not([disabled])')).waitFor() @@ -815,10 +827,12 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { // clear selection by clicking on nothing await emptySpaceClick() + await page.waitForTimeout(100) // same selection but click the axis first await xAxisClick() await expect(absYButton).toBeDisabled() await page.keyboard.down('Shift') + await page.waitForTimeout(100) await topHorzSegmentClick() await page.keyboard.up('Shift') @@ -831,6 +845,7 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { await page.getByText(` |> line([-${commonPoints.num2}, 0], %)`).click() await page.keyboard.down('Shift') await expect(absYButton).toBeDisabled() + await page.waitForTimeout(100) await xAxisClick() await page.keyboard.up('Shift') await expect(absYButton).not.toBeDisabled() @@ -873,11 +888,16 @@ test('Selections work on fresh and edited sketch', async ({ page }) => { await page.waitForTimeout(100) // enter sketch again - await page.getByRole('button', { name: 'Edit Sketch' }).click() + await u.doAndWaitForCmd( + () => page.getByRole('button', { name: 'Edit Sketch' }).click(), + 'default_camera_get_settings' + ) + await page.waitForTimeout(150) + await page.waitForTimeout(300) // wait for animation // hover again and check it works - await selectionSequence() + await selectionSequence(true) }) test.describe('Command bar tests', () => { @@ -1063,6 +1083,7 @@ test('Can add multiple sketches', async ({ page }) => { |> startProfileAt(${commonPoints.startAt}, %) |> line([${commonPoints.num1}, 0], %) |> line([0, ${commonPoints.num1}], %)`) + await page.waitForTimeout(100) await page.mouse.click(startXPx, 500 - PUR * 20) const finalCodeFirstSketch = `const part001 = startSketchOn('-XZ') |> startProfileAt(${commonPoints.startAt}, %) @@ -1078,24 +1099,33 @@ test('Can add multiple sketches', async ({ page }) => { await u.expectCmdLog('[data-message-type="execution-done"]') - await u.updateCamPosition([0, 100, 100]) + await u.updateCamPosition([100, 100, 100]) + await page.waitForTimeout(250) // start a new sketch await u.clearCommandLogs() await page.getByRole('button', { name: 'Start Sketch' }).click() - await page.waitForTimeout(100) - await page.mouse.click(673, 384) + await page.waitForTimeout(400) + await page.mouse.click(650, 450) await page.waitForTimeout(500) // TODO detect animation ending, or disable animation await u.clearAndCloseDebugPanel() + // on mock os there are issues with getting the camera to update + // it should not be selecting the 'XZ' plane here if the camera updated + // properly, but if we just role with it we can still verify everything + // in the rest of the test + const plane = process.platform === 'darwin' ? 'XZ' : 'XY' + + await page.waitForTimeout(100) await page.mouse.click(startXPx + PUR * 10, 500 - PUR * 10) - const startAt2 = '[0.93,-1.25]' + const startAt2 = + process.platform === 'darwin' ? '[9.75, -13.16]' : '[0.93, -1.25]' await expect( (await page.locator('.cm-content').innerText()).replace(/\s/g, '') ).toBe( `${finalCodeFirstSketch} -const part002 = startSketchOn('XY') +const part002 = startSketchOn('${plane}') |> startProfileAt(${startAt2}, %)`.replace(/\s/g, '') ) await page.waitForTimeout(100) @@ -1104,12 +1134,12 @@ const part002 = startSketchOn('XY') await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 10) await page.waitForTimeout(100) - const num2 = 0.94 + const num2 = process.platform === 'darwin' ? 9.84 : 0.94 await expect( (await page.locator('.cm-content').innerText()).replace(/\s/g, '') ).toBe( `${finalCodeFirstSketch} -const part002 = startSketchOn('XY') +const part002 = startSketchOn('${plane}') |> startProfileAt(${startAt2}, %) |> line([${num2}, 0], %)`.replace(/\s/g, '') ) @@ -1119,21 +1149,29 @@ const part002 = startSketchOn('XY') (await page.locator('.cm-content').innerText()).replace(/\s/g, '') ).toBe( `${finalCodeFirstSketch} -const part002 = startSketchOn('XY') +const part002 = startSketchOn('${plane}') |> startProfileAt(${startAt2}, %) |> line([${num2}, 0], %) - |> line([0, ${roundOff(num2 - 0.01)}], %)`.replace(/\s/g, '') + |> line([0, ${roundOff( + num2 + (process.platform === 'darwin' ? 0.01 : -0.01) + )}], %)`.replace(/\s/g, '') ) + await page.waitForTimeout(100) await page.mouse.click(startXPx, 500 - PUR * 20) await expect( (await page.locator('.cm-content').innerText()).replace(/\s/g, '') ).toBe( `${finalCodeFirstSketch} -const part002 = startSketchOn('XY') +const part002 = startSketchOn('${plane}') |> startProfileAt(${startAt2}, %) |> line([${num2}, 0], %) - |> line([0, ${roundOff(num2 - 0.01)}], %) - |> line([-1.87, 0], %)`.replace(/\s/g, '') + |> line([0, ${roundOff( + num2 + (process.platform === 'darwin' ? 0.01 : -0.01) + )}], %) + |> line([-${process.platform === 'darwin' ? 19.59 : 1.87}, 0], %)`.replace( + /\s/g, + '' + ) ) }) @@ -1337,10 +1375,12 @@ test('Deselecting line tool should mean nothing happens on click', async ({ await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() + await page.waitForTimeout(100) await page.mouse.click(700, 300) await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() + await page.waitForTimeout(100) await page.mouse.click(750, 300) await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() @@ -1365,16 +1405,16 @@ test('Can edit segments by dragging their handles', async ({ page }) => { page.getByRole('button', { name: 'Start Sketch' }) ).not.toBeDisabled() - const startPX = [652, 418] - const lineEndPX = [794, 416] - const arcEndPX = [893, 318] + const startPX = [665, 458] + const lineEndPX = [842, 458] + const arcEndPX = [971, 342] const dragPX = 30 await page.getByText('startProfileAt([4.61, -14.01], %)').click() await expect(page.getByRole('button', { name: 'Edit Sketch' })).toBeVisible() await page.getByRole('button', { name: 'Edit Sketch' }).click() - await page.waitForTimeout(100) + await page.waitForTimeout(400) let prevContent = await page.locator('.cm-content').innerText() const step5 = { steps: 5 } @@ -1384,7 +1424,7 @@ test('Can edit segments by dragging their handles', async ({ page }) => { await page.mouse.down() await page.mouse.move(startPX[0] + dragPX, startPX[1] - dragPX, step5) await page.mouse.up() - await page.waitForTimeout(100) + await expect(page.locator('.cm-content')).not.toHaveText(prevContent) prevContent = await page.locator('.cm-content').innerText() @@ -1412,9 +1452,9 @@ test('Can edit segments by dragging their handles', async ({ page }) => { // expect the code to have changed await expect(page.locator('.cm-content')) .toHaveText(`const part001 = startSketchOn('-XZ') - |> startProfileAt([7.01, -11.79], %) - |> line([14.69, 2.73], %) - |> tangentialArcTo([27.6, -3.25], %)`) + |> startProfileAt([6.44, -12.07], %) + |> line([14.04, 2.03], %) + |> tangentialArcTo([27.19, -4.2], %)`) }) const doSnapAtDifferentScales = async ( @@ -1533,38 +1573,46 @@ test('Sketch on face', async ({ page }) => { ).not.toBeDisabled() await page.getByRole('button', { name: 'Start Sketch' }).click() + await page.waitForTimeout(300) let previousCodeContent = await page.locator('.cm-content').innerText() - await page.mouse.click(793, 133) + await u.openAndClearDebugPanel() + await u.doAndWaitForCmd( + () => page.mouse.click(793, 133), + 'default_camera_get_settings', + true + ) + await page.waitForTimeout(150) const firstClickPosition = [612, 238] const secondClickPosition = [661, 242] const thirdClickPosition = [609, 267] - await page.waitForTimeout(300) - await page.mouse.click(firstClickPosition[0], firstClickPosition[1]) await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() + await page.waitForTimeout(100) await page.mouse.click(secondClickPosition[0], secondClickPosition[1]) await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() + await page.waitForTimeout(100) await page.mouse.click(thirdClickPosition[0], thirdClickPosition[1]) await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() + await page.waitForTimeout(100) await page.mouse.click(firstClickPosition[0], firstClickPosition[1]) await expect(page.locator('.cm-content')).not.toHaveText(previousCodeContent) previousCodeContent = await page.locator('.cm-content').innerText() await expect(page.locator('.cm-content')) .toContainText(`const part002 = startSketchOn(part001, 'seg01') - |> startProfileAt([1.03, 1.03], %) - |> line([4.18, -0.35], %) - |> line([-4.44, -2.13], %) + |> startProfileAt([-12.83, 6.7], %) + |> line([2.87, -0.23], %) + |> line([-3.05, -1.47], %) |> close(%)`) await u.openAndClearDebugPanel() @@ -1574,9 +1622,14 @@ test('Sketch on face', async ({ page }) => { await u.updateCamPosition([1049, 239, 686]) await u.closeDebugPanel() - await page.getByText('startProfileAt([1.03, 1.03], %)').click() + await page.getByText('startProfileAt([-12.83, 6.7], %)').click() await expect(page.getByRole('button', { name: 'Edit Sketch' })).toBeVisible() - await page.getByRole('button', { name: 'Edit Sketch' }).click() + await u.doAndWaitForCmd( + () => page.getByRole('button', { name: 'Edit Sketch' }).click(), + 'default_camera_get_settings', + true + ) + await page.waitForTimeout(150) await page.setViewportSize({ width: 1200, height: 1200 }) await u.openAndClearDebugPanel() await u.updateCamPosition([452, -152, 1166]) @@ -1596,11 +1649,11 @@ test('Sketch on face', async ({ page }) => { await expect(page.locator('.cm-content')) .toContainText(`const part002 = startSketchOn(part001, 'seg01') -|> startProfileAt([1.03, 1.03], %) -|> line([${process?.env?.CI ? 2.74 : 2.93}, -${ - process?.env?.CI ? 0.24 : 0.2 +|> startProfileAt([-12.83, 6.7], %) +|> line([${process?.env?.CI ? 2.28 : 2.28}, -${ + process?.env?.CI ? 0.07 : 0.07 }], %) -|> line([-4.44, -2.13], %) +|> line([-3.05, -1.47], %) |> close(%)`) // exit sketch @@ -1608,7 +1661,7 @@ test('Sketch on face', async ({ page }) => { await page.getByRole('button', { name: 'Exit Sketch' }).click() await u.expectCmdLog('[data-message-type="execution-done"]') - await page.getByText('startProfileAt([1.03, 1.03], %)').click() + await page.getByText('startProfileAt([-12.83, 6.7], %)').click() await expect(page.getByRole('button', { name: 'Extrude' })).not.toBeDisabled() await page.getByRole('button', { name: 'Extrude' }).click() @@ -1622,11 +1675,11 @@ test('Sketch on face', async ({ page }) => { await expect(page.locator('.cm-content')) .toContainText(`const part002 = startSketchOn(part001, 'seg01') -|> startProfileAt([1.03, 1.03], %) -|> line([${process?.env?.CI ? 2.74 : 2.93}, -${ - process?.env?.CI ? 0.24 : 0.2 +|> startProfileAt([-12.83, 6.7], %) +|> line([${process?.env?.CI ? 2.28 : 2.28}, -${ + process?.env?.CI ? 0.07 : 0.07 }], %) -|> line([-4.44, -2.13], %) +|> line([-3.05, -1.47], %) |> close(%) |> extrude(5 + 7, %)`) }) @@ -1659,11 +1712,11 @@ test('Can code mod a line length', async ({ page }) => { // enter sketch again await page.getByRole('button', { name: 'Edit Sketch' }).click() - await page.waitForTimeout(300) // wait for animation + await page.waitForTimeout(350) // wait for animation const startXPx = 500 await page.mouse.move(startXPx + PUR * 15, 250 - PUR * 10) - await page.mouse.click(615, 133) + await page.mouse.click(615, 102) await page.getByRole('button', { name: 'length', exact: true }).click() await page.getByText('Add constraining value').click() diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-2-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-2-Google-Chrome-linux.png index 54a9386a08839d900867c75abb62575498a2b7fb..3384901e94a830fe43335ffa7a4af265270f37fd 100644 GIT binary patch literal 51369 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 literal 52027 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 LH?QQWSUmk7K}CPJ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-2-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-2-Google-Chrome-linux.png index 8ffa1d6abe3f37f35b6aa19f72dbd9b9667b16bc..41902a177028398a5dca2a5628378736190d8c24 100644 GIT binary patch literal 52664 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≫f(qhS%V%+9_k7xB*ahY=CTQD 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 WfffrYY(Yn%)URk?E>yYx@P7f*r8n~c literal 53397 zcmc$_bySvJ_brSMh*F{=(jZ7kNOvkN5{lB@NOy;dba#Uah)8#LH-dDxbeGgwx9|I$ z@Av)jePf)z&NYU?&3(n*d+oL6oNHeGuVf{#&BB86aQx|LW`C7z|aT{Ig&AoKT^iQ&nq7MbxcF11%NV`0a zoZGS0K#qTtVw=hq*%N=x-|vq3<;xe&E~_(=%&r9YPM*3)J>%ql|2-th#f@$~qWJG2 z|B$Lc^uI^C?3;gH{`6cqN7R#pYYBHuZ9 zczBjpR&+~MU%Yrh&cj0x*t)QZxGW*VA#kfXw8V{7|DQt}a8ChfHsgQ)1zU>Zt{pWiQfMn*;{P5%z9m|nwX z-9qg`<&M5SY5{@d(^ID&L$<4{D-=}J`$R-9RaFy;MR4!k%X(eK{}?e&`TpgVmHT*j z5_Wd%ScL3zMcs^VMg}q9rTgKDiQSd9tCBJ@8O{eQ6_u4de3UR?!Y|~X zC@2&Zt*{!_m$+McdxQP_Zr9Y-CX)pGLe9#{GMlNXoci+J!ouQkdzy%eDPJ{ECLsIw z233f>ynIJ*FBJnrPs+f3coww0yga*&k=(YvaQQcH#w%@U#>dAE7&HG4&9&C`WaV^k zk&=>9J5wv{uruD07#Ja9pir<}BX?d`srwJv+zO!eG+Q7$x( zAA5cO{v?6ZyesQXW)#W;c;=s_rb@C&+|S{R;F8tVRf%$o>C?qfp)PeoqF>g+ccZGS{qUfgVHZ^t1f-rQt{)%cO#B~YMQ zJsaQ~nA>A;#cw|6g)3fFUSutIU6XR#($i?csbtaSxyL|#cJPdOZi(?fbtz$C|8#Q^ zojOE@pDyh$?pb+x%yZ_UmH+(VA1v+>mW&}}&b52ABTmt;XfG!wO7~JAe?3AmSM_JL zqov37rDF)Gz&c{ENz{CNi8(n8Zf%WW>@2IoUT^ZA&W49^aH zOlA+i=nN)hr+rR(rLyjqnl~yE=G!zm1+RR)X(UFjZuQij%ybK!OugBd#Jv~JFXDS= zxtD9UrMo*Yp3R8WE+Zl}y2K75c3UM%hxTnv{WwKl;NgShs4?uE+3 z7sNa7ji>q9ac8FQPV+lX%bA|}W?vpSWmMf(rgV~xFgQoOGUAJfuVQxc(vtqgRbohmfrV&WrD>Ju?)*cyd5!ipyS0(?2DG2?=? zSyzsJ&~3)^djgyJSj~D2RXy)}bW3d)>h1OPC)a;3Cx~x$leN9VKDK!~xoi*lx zP!V@=sS?O5V$iIK%dfvm$gleo&>2ZHRAH@0>bhB|>i4hBmd;ru64 zwhF5CuhYaYE_Xav1L*S_hK3^FWXkT18>JRnO!J<*z5o3Av&r;uPL*|4Rn-D)iDmNF zRJEZ$^g6=Gk2z(iap)CuzB?qIOgoa*x*XAQx*x3c_9XL_H*J-e3=cg;Z`Ur!QGWJgB_T`Qk%%WX_l zWO!(S8#itYlU8x*cie>!)XFV#9n@xKW@`4k=#OWY>m%IHk6CP2Ait7BzIwHcGLo|B z!|HqYkIVDGwveGZRns}iw=?~rQ)W+NY9?I98anZr3BO2~63vh@pW)zS#XAd>%C
!PF9~ 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 diff --git a/e2e/playwright/test-utils.ts b/e2e/playwright/test-utils.ts index b82c5dcd2a..ae86f434e0 100644 --- a/e2e/playwright/test-utils.ts +++ b/e2e/playwright/test-utils.ts @@ -6,7 +6,7 @@ import { PNG } from 'pngjs' async function waitForPageLoad(page: Page) { // wait for 'Loading stream...' spinner - await page.getByTestId('loading-stream').waitFor() + // await page.getByTestId('loading-stream').waitFor() // wait for all spinners to be gone await page.getByTestId('loading').waitFor({ state: 'detached' }) diff --git a/src/clientSideScene/CameraControls.ts b/src/clientSideScene/CameraControls.ts index 4ec99d9365..361262c8d7 100644 --- a/src/clientSideScene/CameraControls.ts +++ b/src/clientSideScene/CameraControls.ts @@ -246,13 +246,31 @@ export class CameraControls { camSettings.center.y, camSettings.center.z ) + this.camera.up.set(camSettings.up.x, camSettings.up.y, camSettings.up.z) + if (this.camera instanceof PerspectiveCamera && camSettings.ortho) { + this.useOrthographicCamera() + } + if (this.camera instanceof OrthographicCamera && !camSettings.ortho) { + this.usePerspectiveCamera() + } if (this.camera instanceof PerspectiveCamera && camSettings.fov_y) { this.camera.fov = camSettings.fov_y } else if ( this.camera instanceof OrthographicCamera && camSettings.ortho_scale ) { - this.camera.zoom = camSettings.ortho_scale + const distanceToTarget = new Vector3( + camSettings.pos.x, + camSettings.pos.y, + camSettings.pos.z + ).distanceTo( + new Vector3( + camSettings.center.x, + camSettings.center.y, + camSettings.center.z + ) + ) + this.camera.zoom = (camSettings.ortho_scale * 40) / distanceToTarget } this.onCameraChange() } @@ -965,10 +983,10 @@ export class CameraControls { // Pure function helpers function calculateNearFarFromFOV(fov: number) { - const nearFarRatio = (fov - 3) / (45 - 3) + // const nearFarRatio = (fov - 3) / (45 - 3) // const z_near = 0.1 + nearFarRatio * (5 - 0.1) - const z_far = 1000 + nearFarRatio * (100000 - 1000) - return { z_near: 0.1, z_far } + // const z_far = 1000 + nearFarRatio * (100000 - 1000) + return { z_near: 0.1, z_far: 1000 } } function convertThreeCamValuesToEngineCam({ @@ -1043,3 +1061,62 @@ function _getInteractionType( if (enableZoom && interactionGuards.zoom.dragCallback(event)) return 'zoom' return state } + +/** + * Tells the engine to fire it's animation waits for it to finish and then requests camera settings + * to ensure the client-side camera is synchronized with the engine's camera state. + * + * @param engineCommandManager Our websocket singleton + * @param entityId - The ID of face or sketchPlane. + */ + +export async function letEngineAnimateAndSyncCamAfter( + engineCommandManager: EngineCommandManager, + entityId: string +) { + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'enable_sketch_mode', + adjust_camera: true, + animated: !isReducedMotion(), + ortho: false, + entity_id: entityId, + }, + }) + // wait 600ms (animation takes 500, + 100 for safety) + await new Promise((resolve) => + setTimeout(resolve, isReducedMotion() ? 100 : 600) + ) + await engineCommandManager.sendSceneCommand({ + // CameraControls subscribes to default_camera_get_settings response events + // firing this at connection ensure the camera's are synced initially + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_get_settings', + }, + }) + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'enable_sketch_mode', + adjust_camera: true, + animated: false, + ortho: true, + entity_id: entityId, + }, + }) + await new Promise((resolve) => setTimeout(resolve, 50)) + await engineCommandManager.sendSceneCommand({ + // CameraControls subscribes to default_camera_get_settings response events + // firing this at connection ensure the camera's are synced initially + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_get_settings', + }, + }) +} diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index ea5ed7f1b8..103e2d79a8 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -215,8 +215,9 @@ export class SceneEntities { const orthoFactor = orthoScale(sceneInfra.camControls.camera) const baseXColor = 0x000055 const baseYColor = 0x550000 - const xAxisGeometry = new BoxGeometry(100000, 0.3, 0.01) - const yAxisGeometry = new BoxGeometry(0.3, 100000, 0.01) + const axisPixelWidth = 1.6 + const xAxisGeometry = new BoxGeometry(100000, axisPixelWidth, 0.01) + const yAxisGeometry = new BoxGeometry(axisPixelWidth, 100000, 0.01) const xAxisMaterial = new MeshBasicMaterial({ color: baseXColor, depthTest: false, @@ -1324,30 +1325,31 @@ export class SceneEntities { selected.material.color = defaultPlaneColor(type) }, onClick: async (args) => { - const checkExtrudeFaceClick = async (): Promise => { + const checkExtrudeFaceClick = async (): Promise< + ['face' | 'plane' | 'other', string] + > => { const { streamDimensions } = useStore.getState() const { entity_id } = await sendSelectEventToEngine( args?.mouseEvent, document.getElementById('video-stream') as HTMLVideoElement, streamDimensions ) - if (!entity_id) return false + if (!entity_id) return ['other', ''] + if ( + engineCommandManager.defaultPlanes?.xy === entity_id || + engineCommandManager.defaultPlanes?.xz === entity_id || + engineCommandManager.defaultPlanes?.yz === entity_id + ) { + return ['plane', entity_id] + } const artifact = this.engineCommandManager.artifactMap[entity_id] if (artifact?.commandType !== 'solid3d_get_extrusion_face_info') - return false - const faceInfo: Models['FaceIsPlanar_type'] = ( - await this.engineCommandManager.sendSceneCommand({ - type: 'modeling_cmd_req', - cmd_id: uuidv4(), - cmd: { - type: 'face_is_planar', - object_id: entity_id, - }, - }) - )?.data?.data + return ['other', entity_id] + + const faceInfo = await getFaceDetails(entity_id) if (!faceInfo?.origin || !faceInfo?.z_axis || !faceInfo?.y_axis) - return false - const { z_axis, origin, y_axis } = faceInfo + return ['other', entity_id] + const { z_axis, y_axis, origin } = faceInfo const pathToNode = getNodePathFromSourceRange( kclManager.ast, artifact.range @@ -1367,12 +1369,15 @@ export class SceneEntities { artifact?.additionalData?.type === 'cap' ? artifact.additionalData.info : 'none', + faceId: entity_id, }, }) - return true + return ['face', entity_id] } - if (await checkExtrudeFaceClick()) return + const faceResult = await checkExtrudeFaceClick() + console.log('faceResult', faceResult) + if (faceResult[0] === 'face') return if (!args || !args.intersects?.[0]) return if (args.mouseEvent.which !== 1) return @@ -1398,6 +1403,7 @@ export class SceneEntities { plane: planeString, zAxis, yAxis, + planeId: faceResult[1], }, }) }, @@ -1681,7 +1687,7 @@ export async function getSketchOrientationDetails( sketchPathToNode: PathToNode ): Promise<{ quat: Quaternion - sketchDetails: SketchDetails + sketchDetails: SketchDetails & { faceId?: string } }> { const sketchGroup = sketchGroupFromPathToNode({ pathToNode: sketchPathToNode, @@ -1697,20 +1703,13 @@ export async function getSketchOrientationDetails( zAxis: [zAxis.x, zAxis.y, zAxis.z], yAxis: [sketchGroup.yAxis.x, sketchGroup.yAxis.y, sketchGroup.yAxis.z], origin: [0, 0, 0], + faceId: sketchGroup.on.id, }, } } if (sketchGroup.on.type === 'face') { - const faceInfo: Models['FaceIsPlanar_type'] = ( - await engineCommandManager.sendSceneCommand({ - type: 'modeling_cmd_req', - cmd_id: uuidv4(), - cmd: { - type: 'face_is_planar', - object_id: sketchGroup.on.faceId, - }, - }) - )?.data?.data + const faceInfo = await getFaceDetails(sketchGroup.on.faceId) + if (!faceInfo?.origin || !faceInfo?.z_axis || !faceInfo?.y_axis) throw new Error('faceInfo') const { z_axis, y_axis, origin } = faceInfo @@ -1725,6 +1724,7 @@ export async function getSketchOrientationDetails( zAxis: [z_axis.x, z_axis.y, z_axis.z], yAxis: [y_axis.x, y_axis.y, y_axis.z], origin: [origin.x, origin.y, origin.z], + faceId: sketchGroup.on.faceId, }, } } @@ -1733,6 +1733,46 @@ export async function getSketchOrientationDetails( ) } +/** + * Retrieves orientation details for a given entity representing a face (brep face or default plane). + * This function asynchronously fetches and returns the origin, x-axis, y-axis, and z-axis details + * for a specified entity ID. It is primarily used to obtain the orientation of a face in the scene, + * which is essential for calculating the correct positioning and alignment of the client side sketch. + * + * @param entityId - The ID of the entity for which orientation details are being fetched. + * @returns A promise that resolves with the orientation details of the face. + */ +async function getFaceDetails( + entityId: string +): Promise { + // TODO mode engine connection to allow batching returns and batch the following + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'enable_sketch_mode', + adjust_camera: false, + animated: false, + ortho: false, + entity_id: entityId, + }, + }) + // TODO change typing to get_sketch_mode_plane once lib is updated + const faceInfo: Models['FaceIsPlanar_type'] = ( + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { type: 'get_sketch_mode_plane' }, + }) + )?.data?.data + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { type: 'sketch_mode_disable' }, + }) + return faceInfo +} + export function getQuaternionFromZAxis(zAxis: Vector3): Quaternion { const dummyCam = new PerspectiveCamera() dummyCam.up.set(0, 0, 1) diff --git a/src/components/ModelingMachineProvider.tsx b/src/components/ModelingMachineProvider.tsx index 5a9ba6edae..b512528199 100644 --- a/src/components/ModelingMachineProvider.tsx +++ b/src/components/ModelingMachineProvider.tsx @@ -54,10 +54,9 @@ import { exportFromEngine } from 'lib/exportFromEngine' import { Models } from '@kittycad/lib/dist/types/src' import toast from 'react-hot-toast' import { EditorSelection } from '@uiw/react-codemirror' -import { Vector3 } from 'three' -import { quaternionFromUpNForward } from 'clientSideScene/helpers' import { CoreDumpManager } from 'lib/coredump' import { useHotkeys } from 'react-hotkeys-hook' +import { letEngineAnimateAndSyncCamAfter } from 'clientSideScene/CameraControls' type MachineContext = { state: StateFrom @@ -319,16 +318,9 @@ export const ModelingMachineProvider = ({ ) await kclManager.executeAstMock(modifiedAst) - const forward = new Vector3(...data.zAxis) - const up = new Vector3(...data.yAxis) - - let target = new Vector3(...data.position).multiplyScalar( - sceneInfra._baseUnitMultiplier - ) - const quaternion = quaternionFromUpNForward(up, forward) - await sceneInfra.camControls.tweenCameraToQuaternion( - quaternion, - target + await letEngineAnimateAndSyncCamAfter( + engineCommandManager, + data.faceId ) return { @@ -343,6 +335,7 @@ export const ModelingMachineProvider = ({ data.plane ) await kclManager.updateAst(modifiedAst, false) + sceneInfra.camControls.syncDirection = 'clientToEngine' const quat = await getSketchQuaternion(pathToNode, data.zAxis) await sceneInfra.camControls.tweenCameraToQuaternion(quat) return { @@ -359,9 +352,9 @@ export const ModelingMachineProvider = ({ sourceRange ) const info = await getSketchOrientationDetails(sketchPathToNode || []) - await sceneInfra.camControls.tweenCameraToQuaternion( - info.quat, - new Vector3(...info.sketchDetails.origin) + await letEngineAnimateAndSyncCamAfter( + engineCommandManager, + info?.sketchDetails?.faceId || '' ) return { sketchPathToNode: sketchPathToNode || [], diff --git a/src/lang/KclSingleton.ts b/src/lang/KclSingleton.ts index 194c3fd24d..cbe7a97f21 100644 --- a/src/lang/KclSingleton.ts +++ b/src/lang/KclSingleton.ts @@ -347,6 +347,16 @@ export class KclManager { void this.engineCommandManager.setPlaneHidden(this.defaultPlanes.yz, true) void this.engineCommandManager.setPlaneHidden(this.defaultPlanes.xz, true) } + enterEditMode() { + enterEditMode(this.programMemory, this.engineCommandManager) + } + exitEditMode() { + this.engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { type: 'edit_mode_exit' }, + }) + } } function enterEditMode( diff --git a/src/lang/std/engineConnection.ts b/src/lang/std/engineConnection.ts index 9ffbedb19f..9241791ce0 100644 --- a/src/lang/std/engineConnection.ts +++ b/src/lang/std/engineConnection.ts @@ -1171,7 +1171,10 @@ export class EngineCommandManager { type: 'receive-reliable', data: message, id, - cmd_type: command?.commandType || this.lastArtifactMap[id]?.commandType, + cmd_type: + command?.commandType || + this.lastArtifactMap[id]?.commandType || + sceneCommand?.commandType, }) Object.values(this.subscriptions[modelingResponse.type] || {}).forEach( (callback) => callback(modelingResponse) diff --git a/src/lib/singletons.ts b/src/lib/singletons.ts index 445df50536..c9ba3ac797 100644 --- a/src/lib/singletons.ts +++ b/src/lib/singletons.ts @@ -20,3 +20,15 @@ export const sceneEntitiesManager = new SceneEntities(engineCommandManager) // This needs to be after sceneInfra and engineCommandManager are is created. export const editorManager = new EditorManager() + +if (typeof window !== 'undefined') { + ;(window as any).engineCommandManager = engineCommandManager + ;(window as any).kclManager = kclManager + ;(window as any).sceneInfra = sceneInfra + ;(window as any).sceneEntitiesManager = sceneEntitiesManager + ;(window as any).editorManager = editorManager + ;(window as any).enableMousePositionLogs = () => + document.addEventListener('mousemove', (e) => + console.log(`await page.mouse.click(${e.clientX}, ${e.clientY})`) + ) +} diff --git a/src/machines/modelingMachine.ts b/src/machines/modelingMachine.ts index 882ed4dd26..5785c05519 100644 --- a/src/machines/modelingMachine.ts +++ b/src/machines/modelingMachine.ts @@ -102,12 +102,14 @@ export type ModelingMachineEvent = | { type: 'defaultPlane' plane: DefaultPlaneStr + planeId: string } | { type: 'extrudeFace' position: [number, number, number] extrudeSegmentPathToNode: PathToNode cap: 'start' | 'end' | 'none' + faceId: string } ) } @@ -153,7 +155,7 @@ export type MoveDesc = { line: number; snippet: string } export const modelingMachine = createMachine( { - /** @xstate-layout N4IgpgJg5mDOIC5QFkD2EwBsCWA7KAxAMICGuAxlgNoAMAuoqAA6qzYAu2qujIAHogC0AdgCsAZgB04gEyjhADnEA2GgoUAWJQBoQAT0QBGGuICckmoZkbTM42YWKAvk91oMOfAQDKYdgAJYLDByTm5aBiQQFjYwniiBBFtpGhlxDRphGg1ZURlhXQMEcRLDSVF5UwV84XEK8Rc3dCw8Ql8AgFtUAFcgwPYSdjAI3hiOLnjQIsFRQzLVDUNlRbSJWeVdRJLkjIUJdPzlVWVGkHcW-ElsCEwwAgBRXCGAJ0CAaz9yAAsRqLG43iJQQyZTCSRWZSmZYKKxzUEaQqIGSmDSSHI5ayGcQ0KqQ07nTxQK43O6PF7vT4-QyRZiscbcQFCaw0NFLSyiNTYhSZREIDIySS2YTKWYgmHiGEnVxnZqE4m3B58djPboYX602ITRkIGbySTImiiSGiDSiGG8uYc-UKZQKUymDk2DSLfGy1ry0l8FjPdjq6J0gEJJnqa3MmR2J1m3nCYTzMTpEXc-Km10ed3eD7sb7EMiUTAZyl+-5aoMIOY28GZZ3c7lmWQWwww8GNmFYyx7BSpi5EgtZr6SXvfACSJIIyBIH0CYCgHTAT38ADcwD7sOQSJgiwGS6BElZTGVGzJNMLNKkCvojIspNiaKl6vklBou3LB-3XyOFePJ0EZ3OAl9UGebAAC9uAGDd6FGLcGVLKxhFRVQbUNOZDmEGQLXEOZylNLIlkww08mfdNM2+AcSK+D87iIbhYGVEg8H8ACgNAp5138CBsFo3Nhkgv5oMmfgjDkVFsjSHFH33dReTSKELAqDlslEfcsSIy5XzIylKOIGi6IYpcVzXTB2M4gYKB4ml-U1GCdyE21BTyPYlkWNQNHQi8EHDWpykxY8YxBE1VJ7ciNL7LTqNwWjnno3B-AAQQAIW8fwAA1NysgTdyPUQ0XEMRDBsTDkTSaSHVRB1QW5O9TFqBppQJYjKRC4dR3CyLorixL-AATTS+kMqEvZ9VcpY5EMI0jTcoouQUSQ0PktlHGdQKmrfciwp0qKGLIKBbl6wMbLLdJryUao9kUQxhFMaSOTBOQzpjI1Luq5b1PfFqNva258HYH5eI1PrtSxXLpBFVR91kTDRGk5RG1myFFku6sVGEF7grehVWt0mKmGXHHcA48hukwEhXg4rizL27dBLLcMZpsUxCoyRtjmkmFUVjKpqrQ50NDEVHGvRqiPoYpiQLA9dMD0fx12wKBcEp6zqYhAUOy0CRTQyZRxAtdZ9QdXz8iNEp+b7Fb1oirHF2XThDMl6WcDlhX+ppy6cqPS71jMWYLWUORyjtS6bWqKpahN0jBe0i3Npi2BcBIJh-HYVAUqdwHMKkEEJTUarqjMaTRP1OQjiOQ1HHDMPVs096o-a2P48T5Oer+yyAdg9OLGFTCY1y4wEXciMwRNMulIujRllqpo0zUtG1urtqGLAABHbo2K+qAftT2DkSkWZecurI8gkc8igu7EcpMW9DVB0wK7NufLaYEmJeoZvi0V3dZDBVJM7GhmEb7k+DMv6lBhvaTIahRC3wjpjaO-hnhgC6Eufw5BhZPFgJvA6VgtCSBhtYCamgxo6Hco2TCFgli2GyCUNQvsoGzwVAAJTAIIMAfAQjdCGBgpWdQpBYlUFYeSYgNjuShMocoXM6gwmRL3WhVcFT3GXtgBOAAZPAYAG6oAghZN+ztGyyX2Mse06spLuSUNlG61hwwmhFHMGRoVRzyO6IoxO20-zYDYiTcgDdOGJDsH7DIphDQOhKGPbWxDs76nqMcXEhoJ4yinkFAWdDSQKITvA0I21bjqM0VBdK2pPLZTsC5ZEzoOShJPjISwaJkTqG-kA2J9Vp6NVigAd3ov+QCYtWJGTJqZSg-g8AADNUAEAgNwMAVxcALlQB8SQMB2CCFFixcCghBmoG8UibEqJnTLBxLUe03dpKLHMHsI8aRyFFxRnVN0jTTYtLaYxDpSy2I9O4v03AQyCDLmeIBSQTBibsCGc8Dosy-ALMeeLTAKz3lrNfvxPJ2JspzGdHMdIDlqrSQlAKbINBVAmDyMKQwt87kcCtgZZ5JlXmrJGWMiZUyZlzMEPpG264oVDPWR5Qq4JcowhMKCQwQppJHikI4Q+dhShoSJa0klTLVzkvJn0qlXyfl-MGIC4FDKZWGVZTCrRcLSxnJVoaMQ+4xCaEFa5cEoNUgSlOkoSV9yEpJWSm8j5ozcDjLwHS8ZDKSAACNYCCD4Nq9lZzRHCgqd-NYCgSq+3BBkRY48QT5HqdchJtypUBEdSlF1wylXPF+f8tVIL5l+oDUG1ZIau45RtXUAJQ8SpLGkGaEU+FeY2HtSSrNXUc3UvdbS6Z3rQWlsEHoYNsLcn6swqIuo8gKi2CAaaXk2JQRok5hyM0CKnxXPiStSQxLM2dW7Yq543z80qoBYBdVQ7-UjrHbqidB0zlf0OLlEEWsE1LqchYSERxLFYgldu7su793S3wJkqlbqPWTIHcWwQGSmEVvHa3R9VbsQosPoYww10jSCgRZYMazaYwdoCPBnteaC2qsvbB+Dd6cnIepmcmaWQViSOzhda6F1mx1CyHIQ0IJLmTyA+pEDa8fo9sg-2+loLRNfFo3xB9DHIZuzMP-Cp+RoaDRxeKlQF0rDEf8DJsjJ7lWFqowymTcn-r7UU424weLJTHkmkiZYApf1aBRGIB6UpBMvmCiBnGzw8YEyJiTYy8q1EQZpZ6mDDKAtBdXCF54ggXlmUsy3azPik32SUNYX2Yo5Csz9j3MeIpDFyBTTu4TGb-BxbnMF4mpMKVmSM6eijF6gWwdq-jBLDXktNcoGl7ReSsv61kGPcMtoCv9xjGCYrRwlIOnK7fFR7qskPBSc4-Arj3HPE8UnENl1RFVHysxusl0ymIBzmiEw+UbTyBBI2ZbqismSCHLgDgBAQ1pFESdWY3IURyCuu5W0ZQ0h2jMCYGMtgKtCeCittRScNGvfe+wT71I6MZaRPkAUHIjxOSsDioHRQodoi1hIWwRoAmGie6txHmBJAADlk4AAVUB4HYLAAgsUIAQH6CTAILB2chqOGVK+SlXLcmWLyI45gcjVWqpkdQEoacI9QEjpn-hWfs856QMy2T5P0d3JocwJgwcVJRB2aN7lcKrtAaUI8Wtb5vY++y4wja1ZZBUHxnEAChIlFJ+G44qRliEsA75xqzvUdUHRwbzHZZkKSDtDibIWsI35QtFI2aewEwQgKt5uJsPGoABUXFPDcUZDxDd1uOOUc9unwvnTn0UEpDkvteQojDWhVYWQcVjwEwX8Pptuj42TlxH0r4ADyuBe1Qa9Xu7wRfBDD9GYIMf7BJ-yyQ3HoGM18VmCRTkDkVuihmhZFCflLlahKFyrfRh6SwOq6R-u1o-gOlQDwFznncCQimR2mot-eAnCJ8iw2U6gjYVgSgdm6KDGjgoiEgikkI1UuiFc-guAycAyJAlAPgwQoQ7EYAGBRMAuxM7q7KwIWEuiOQMYWg8IDo0uIIieVgR0T0wo7aYe7oZA2AHQgwL+ScNWxBdwEm0WMyHBXBQwggScggGBlA7KFQB43Iig2K38PIwOR40gjB2IR41UWgnYbBlwIh3B+ADc-gLCJkL+sA5EM+km4y+hYhEh5hhYW+VMiQvs2Uwe+Qx2Jor6n6M0RwV+UI6gHmOhPmDUps8Oa2DiTiaSv+mS9ejh78WOYg+oxgf8sY1q9YxCY0nehSiujkcgLg0oaBGA8AUQDSUAGOThQg3IZQuQigXu6gWgF2ZYkIZCt4mgvG5Orky01wtw5R8ROo0I5QoI1UEopox4vIYB5QXIY0hUaGN8uhaa3wvRzs-haIZ0vK3uKI1006VCmQeEewlgtizUPRseFRZYGQGcWhl0R4OEVQDYKIcajBWmuUJgMOg+pEIGiyEKYWvSEW0KSxgMQcaI-iigsYNQqQGKyQqKN4Mu+QoewRNy7x1WmqcqPxOa-xsE6gAobIlg3Cvs+4gqVoqQiwbM82sw+mWazqqy6JmC4OFgkB28vsUBJUpCpoFUfCqgZoMg5Jh6aJJxfRuiOO1xmE3IrkS6OKBScgFQxqmJcx8JCx-YIGpGVJfJOido2UWst4OQDgeQDM10agieYOFQqg4adQ+mhmypVmpxuiLI5x40MIDMxc0MKgs0+4IcQxrJrxIRiJ9yXW9WoWKWCqfxKpAJOGh2R+8aUIJQ0k50s0-Kew+4UpUIKuWS1JDG9gHcJQewNg6gtovInJzYtokido2hXJ8xu6YRdOyOHAqZPiY0ZQmQmZJoVQQc0uyQSw76ISASY8spA+Xp-YFZau9OaBQK64NZSINgYIe8sgAStY4Y0YlSNgduhUNosgyZlZGuWuaCY5HkpoGckBWg9g32jR4a1ocwWIjYLBMITuKO25xgSkOCGszIEo++vuZY4BzYYBbYjYZot8JeW2ZeO2e2qA25d0wC1Qrk42MMY8Fo4pD51USkjgmQ9opZcpu6y+o+Aw4+5EU+t5to5gawasZOOWROiAVipO-KeCj0ew+epRu6d+0Rj+mAIFEgoiyw8gOEEgjYOKGeTYaEDoumqKOIt+P+pGlZz+hhQQKC+MyCgE7qzwzFmgD57Fs6wp3FxCSkNpKgvMsw55SgPZtF6k9Folg5e6GaL+ABAkQ2+qMMoiV4IIKISBdoFoIBieMIRZ+EuyKBaB-gUhYA25wI-uiYamrkLm4J7kvMGcE0UINQWsDMy0NhPBycKq7quFUg1UkI2QDooJalRQvsoiJg6gwoQ8XI-etFCVhhvBJhtEZh5Et51Us0RoIoPG+UmEtgrMLIJcSezINoR4+RTgQAA */ + /** @xstate-layout N4IgpgJg5mDOIC5QFkD2EwBsCWA7KAxAMICGuAxlgNoAMAuoqAA6qzYAu2qujIAHogC0AdgCsAZgB04gEyjhADnEA2GgoUAWJQBoQAT0QBGGuICckmoZkbTM42YWKAvk91oMOfAQDKYdgAJYLDByTm5aBiQQFjYwniiBBEFTU2VJYWFxDUNDbPFxCQ1dAwQZO0lDW3EcuQzlBRoNFzd0LDxCXwCAW1QAVyDA9hJ2MAjeGI4ueNBE5JTJVUNNBUNlLQ05YsQsjQWNLVE5Yw0aZXFmkHc2-ElsCEwwAgBRXBGAJ0CAaz9yAAsxqITOK8WYyZTCCpg1JaKw5cFFfSIGSmXYaLKyPI0UwKZSmC5XTxQW73R4vd5fH7-QyRZisSbcEFCaw0STZRaiNTiNQ0YRbBAnGSSWzCZSiKz1QziFbKfGtQnEh7PPjsN69DAA2mxKaMpKieSSZE0US40QaUQrPk5DkGnEKFIcmz7QyyjztBWkvgsN7sDXROnAhJM9Q25llXIo818jKGBZiLKihoyYRml3XIneb7sP7EMiUTAZym+oHawMIHI4io8-YNBpmWSWpYx8srSWWBTm1PygtZ36Sbt-ACSJIIyBI30CYCgXTAr38ADcwN7sOQSJgi-6SzMjMimwoZJoRZoaEnLXlpDQL3IJEmlE1XJc5W7+73n0PFaPx0EpzOAr9UG9sAAL24IY13ocYNwZUsrGTBY1FUMUYPBGRLWqGNTXkSwzmMPUZE7J9Mz+PtCN+N9HiIbhYBVEg8H8P8AOA15V38CBsCo3NRnAwFIOmfht1NCwNi5bEslMJYFD5GQzDSI09QvM0xMlfCbmfYjKTI4hKOo2iFyXFdMBYtihgoTiaT9LUoK3MswQUIVDnbVZsjUDZJKTKRDmyA8MjBU1lPTEi1J7DSKNwKi3ho3B-AAQQAIW8fwAA11ws3jEisdtWXEMRw2qZEpMk0wBMK8EGmPURTEyc57wJAjKUCwdhxCsKIuiuL-AATWS+lUu3DLrDsZQjmNY0UMRBAuWDYQrzFVRHH2Pz6pfEjgq08LaLIKAHi6gMrMlNFpCUPd20UQxhFMSSOQhORjoyY0zoqhbVNfRrVpah58HYf4uM1bqdUlLLpFFVQxNkapREk5QlnSXFsjO6sVGER6AuexUmu0yKmEXTHcFY8hekwEgPlY9iTO2zc+Os-dWRSXKTiWVRlEklZdmESo7W8-YNDEJG6pR8jXto+igJA1dMD0fxV2wKBcDJyyKfFQV22WQpTVOcRLRmg1Cq8pNjXyHme0WlbQvR+dF04fSxYlnBpdlnrrLOzL9zOmazDFS1BtESRzQq7F6mRRwqpaV0VOR5aXpNtbItgXASCYfx2FQRK7b+6opDBKU1AqvczEkxpBTKY1lGLo1HDKA2iL5zTI5amO44TpPOu+8zfugtOLBFaoMiy45JNyCFTTL8rTo0NYg4fEP-N58PUYFyKwAAR16Zj3qgT6U+g5F3P7s7hCNOQsstTIWTREwLyNIG8Wqx9Q+n9SI+a2imEJ0XqGb4s5bS2QIWPDPDHKrII9LSmABiYaokMUg8jUKICuS176zxrrRN4YAegLn8OQOe7BYAb12tYWykNrAjU0P-HQY0ljVAsKsWwjR8jwTwtfSei0jbDgAEpgEEGAPgIRegjBwfLAoUhJSLGmmIRmY1UhpHKt3c0VgxKNFgcwxUTwl7YHjgAGTwGABuqAwJmQ-vbJYqRvb5DWPaLI6g+RKC9pdfqchR6IQUVXZRvRVEJw2j+bAzFCbkAbnwxIdg5CsixEaQq+RR7qzIVnA0eoVCnD9kaceNVb6GycSo+OyDQgbQeNo3REEUo6jKGIA0xhNDIn2ByCJJQrCWFZAHRMW9MgKKigAdxor+f8wsmIGWJsZSg-g8AADNUAEAgNwMAtxcBzlQN8SQMB2CCCFoxUCghBmoD8UiLkqJR4nAqmYCqmRJLZHMO2fcUkqFyHBE01pHA6IdKWcxHpHF+m4CGQQRcbx-ySCYATdgQy3hdFmX4BZdyRaYBWS8tZ78eIFK5F7HITo9r2QqpJKUgpGinAvAUJMkMrltLNnpB5RknmrJGWMiZUyZlzMELpC2q5wVDPWaUXKFQsorBMOCSoJ4xplCUJIRwhxDj-VOvQ4OaYmEtLxTS5chKSZ9JJe8z53zhh-IBVSqV+l6WQr0dC0sZzFZGjEGJMQmhXIbAqEDY8UojpKFxTc2K8UErPNeaM3A4y8AUvGVSkgAAjWAgg+CasZWctIIoZCXgPpGblqRBS5EaI5WQg1GkMLFapCVdq2qOvlW8D5bwvk-JVYC+ZPq-UBtWUGrumUrUFFMEaLQBVVjSHNKKaojRkxX1FV2AKaaAj2o6k64ZLq3WTOmZ6oFxbBB6EDVC-JurwGNvkHqWwIDkzgzGlycE1M7QcnNLCu8HbaqG27a1eK7V+1vOzYq-N-5VVjt9ROqd2qZ1WTOT-bFWUwRnDZHycBuw4nF0LpKKatqAhZK0SSwd5KR2FsEKBh9eTW7PorVyHIWLyqFUMBdY0QpYWWH-k2jIwGJb4GyVmnNeblXXug7Bst06EMUzObZPe2R9zVLtKdC6p0KiSkwnIfelzk2drqke1en0z0QfdVBqlInfhwe4k++jYMnZmFhhsY8vJuX1C9mrLuKhTpWEI9Js9Crc1Kt+ZRqTM414yZo4+uj-i53GBMDI+oXNRolDBGa-9WgURiFujKATB6iJHsxm8bGuN8aE0MrKsDELSWusg5SoFIWwvLgi28QQjyTKyZ+jtejYJBTawxINGymxuV7i9j3Ueop7QH0I8lmc4WCZEyJSZIzF6TNXv+dB+rONUtNYyy1yg2WW65f8fluyShrDFf9qu9zGQISVeLmhgViSb5T0Nho11OTnhpLcfgDxXi3g+MTkGs6aRsT9xocukBfJs5BOqFoUUU1IYKAUZtrRicdE7ZcekkIxlNofdQDooNutilYiyKzS19YyH-xDVNRzigHJyDe5onJkgBy4A4AQEHKg+VSjFA0FEchzpjQlAaKUICa1ZTOlJFHW3PuYHR5j9g2PqTwdG0iJMgoOQsbWNU3EUZHbhIkLYY0NajR08BzoyQAA5JOAAFVAeAsEECihACAgxCYBBYMroNxddg1uGkThoaw+TF3MGiX2e9EdSkl2juX-hFfK9gDmEyuS5N2aMJocwJgpJ7ixAcCxY094xhsBA-I6UzgKIx1jxlxgG0HD3rEw4AfLRSSkKPUNDNjx8+j8z1ntmOdliNDGO0wTwlhssAiKpO50jtnjOKGwKgFEABV3GvE8QZbxDdvuuPezkvX+xMo8nbIVU4bnEAojh2UAoe9TiZ4Ub0HGSd2LemfAAeVwHFodHrJBRW8C3wQS-RmCFX+wDfMtaNF-+rZQ4mRFL7AKGoPk5oWSpEqM5TISgsoKLYZk4jUujO3a7Q-gHSUAeAqu6u-gGS-22SYBeAfCVS2QXs6gjY+4LaWI6m-ijgkimyYuFUhisC-guAScAyJAlAPgwQoQLEYAZB+M2uBMrqjKggdgu4KI1Oj2bas2iAg0aQKwUkaI90IoNgC0ZA2AXQwwIBic-gSqrq2+CW4yYhEhIwggicggZBlAjKeou4I+6Kv8PIZuVMuUtC+4FUWgr2AWNwShkh+ADc-gnCRkIBsAJE8hEmMy1hKhahzhhYV+5MiQnsFg+WZ0Kwpo7636UMxcX+qQ6gPmFh94JBGA8AUQSSUA7OfhQgDQMYsg8gSgs0ywlSRgZqo8lQooO6-8Z2C0dwDwaRn8Qgawt+4Iuymg5oXMliKwxiag-8xhlg7aE8KaJENR9s0RrIx07K+8qe3KyIQo4e2IdQxcp0jiM8YAgxf0Jw6cZhNOzRwRDYKIFQzG66+QSeq2jCqa1y7SDEoKUWvSMWQyKx0EtorIOyigrMSYe8E+TKtg0gZoXIpwuISYzolh62QWZx+KtK3Sg2NxqAdxu06gMaqglgAig0Ykrk1ox4nkuQS2YohGvamaEK0J8sdoUgnIsiKgdgF4JO7mICoed0OIWEpcIqfRgmh6IJvap6qy+JaUdo3O+4aISw+c36pwXshceohqsJvRKR4qIJoG-aHJXuhUCwPxaIDghwN23KHItkOc7YxoPIg0BQBmlmom7JHu1+Ze92w0KwICxcYi7mZwIaYksxjRZoUegJkpeKPWjWkWmWcqeJxp6RZY7YdpoozkjQqQ+QkkJ06QbMw8IpqQduDOsppQ9gHc+Q7YNg6g9QL+7RlOx8SwHImmcZQOjOMe7ACZdgYoyZ+OaZtoZunxqwn64SNao84pa2TC-eDOkgJB-yq4pZNgEIXMmQhotYZQUYNSYelQEe+4ZwDJEpqkbZhZsuCuSurwSROWfphC6cSguQbKoMZwUYg0NoOQkoSwwhKweeHACZOE5gawpozIUoZguQDY7RzYKGbYHYLpqkbe+2Heh2x2UJvptRpQ5oP8qKGwo8YIGJlogpewFU5UjgPIKQ05LZqkx+K+Qwa+JEm+F59Q5gEgg8esO6yIL+o8rIEChCNJxov+f20p8Z-59sB8aQ15K6cYfJ1pvUWRKwjgqQU0vxlF-+AOaOwBthQQGCOM6C-4rqbwpZLRew8gZozFJuGsNamUaw2UR5SgzZJxAUf+sBgBe+ZxIB8BvE+iBSkMaQeQUIvZhip4-8fKHF6UGBD075JExBpB5ByxtFOoLB+QCw5oYa-UawflfIXM6cI00adQdYohmOyhUhScsh7lq5AFqwUgFUuIIZ8g-OhhMkVqIog8E0iMLpHhMV9hfAjhQlAxHl0EFU6QRcPGuQ1QtgTMLIJcZezIOI+4LgLgQAA */ id: 'Modeling', tsTypes: {} as import('./modelingMachine.typegen').Typegen0, @@ -526,7 +528,11 @@ export const modelingMachine = createMachine( 'engineToClient cam sync direction', ], - entry: ['add axis n grid', 'conditionally equip line tool'], + entry: [ + 'add axis n grid', + 'conditionally equip line tool', + 'clientToEngine cam sync direction', + ], }, 'Sketch no face': { @@ -550,8 +556,6 @@ export const modelingMachine = createMachine( actions: 'set new sketch metadata', }, }, - - entry: 'clientToEngine cam sync direction', }, 'animating to existing sketch': { @@ -565,8 +569,6 @@ export const modelingMachine = createMachine( }, }, ], - - entry: 'clientToEngine cam sync direction', }, }, @@ -866,7 +868,52 @@ export const modelingMachine = createMachine( })() }, 'animate after sketch': () => { - sceneEntitiesManager.animateAfterSketch() + engineCommandManager + .sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_disable_sketch_mode', + }, + }) + .then(async () => { + // there doesn't appear to be an animation, but if there was one we could add a wait here + + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_set_perspective', + }, + }) + sceneInfra.camControls.syncDirection = 'engineToClient' + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_set_perspective', + }, + }) + await engineCommandManager.sendSceneCommand({ + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_look_at', + center: { x: 0, y: 0, z: 0 }, + vantage: sceneInfra.camControls.camera.position, + up: { x: 0, y: 0, z: 1 }, + }, + }) + await engineCommandManager.sendSceneCommand({ + // CameraControls subscribes to default_camera_get_settings response events + // firing this at connection ensure the camera's are synced initially + type: 'modeling_cmd_req', + cmd_id: uuidv4(), + cmd: { + type: 'default_camera_get_settings', + }, + }) + }) }, 'tear down client sketch': () => { if (sceneEntitiesManager.activeSegments) { @@ -983,18 +1030,10 @@ export const modelingMachine = createMachine( cmd_id: uuidv4(), cmd: { type: 'set_selection_filter', - filter: ['face'], - }, - }), - 'set selection filter to defaults': () => - engineCommandManager.sendSceneCommand({ - type: 'modeling_cmd_req', - cmd_id: uuidv4(), - cmd: { - type: 'set_selection_filter', - filter: ['face', 'edge', 'solid2d'], + filter: ['face', 'plane'], }, }), + 'set selection filter to defaults': () => kclManager.enterEditMode(), }, // end actions }