Pause stream when exiting sketch or extruding (#2900)

* Pause when exiting sketch or extruding

* tsc
This commit is contained in:
49fl
2024-07-04 01:55:06 -04:00
committed by GitHub
parent fb3e922180
commit 6370d45f94
3 changed files with 16 additions and 3 deletions

View File

@ -133,6 +133,7 @@ export type SegmentOverlayPayload =
interface Store {
mediaStream?: MediaStream
videoElement?: HTMLVideoElement
buttonDownInStream: number | undefined
didDragInStream: boolean
streamDimensions: { streamWidth: number; streamHeight: number }
@ -978,7 +979,7 @@ export const modelingMachine = createMachine(
'set new sketch metadata': assign((_, { data }) => ({
sketchDetails: data,
})),
'AST extrude': async (_, event) => {
'AST extrude': async ({ store }, event) => {
if (!event.data) return
const { selection, distance } = event.data
let ast = kclManager.ast
@ -1010,6 +1011,7 @@ export const modelingMachine = createMachine(
if (trap(extrudeSketchRes)) return
const { modifiedAst, pathToExtrudeArg } = extrudeSketchRes
store.videoElement?.pause()
const updatedAst = await kclManager.updateAst(modifiedAst, true, {
focusPath: pathToExtrudeArg,
zoomToFit: true,
@ -1018,6 +1020,7 @@ export const modelingMachine = createMachine(
type: 'start_path',
},
})
store.videoElement?.play()
if (updatedAst?.selections) {
editorManager.selectRange(updatedAst?.selections)
}