Add requestViewportCameraSync function and update related logic in App.tsx
This commit is contained in:
@@ -2459,6 +2459,10 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
}
|
||||
};
|
||||
|
||||
const requestViewportCameraSync = () => {
|
||||
setViewportCameraSyncRequestId((current) => current + 1);
|
||||
};
|
||||
|
||||
const openAddMenuAt = (position: HierarchicalMenuPosition) => {
|
||||
setHoveredAssetId(null);
|
||||
setAddMenuPosition(position);
|
||||
@@ -2598,6 +2602,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
}
|
||||
|
||||
store.clearTransformSession();
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage(status);
|
||||
};
|
||||
|
||||
@@ -2606,6 +2611,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
) => {
|
||||
if (!doesTransformSessionChangeTarget(activeTransformSession)) {
|
||||
store.clearTransformSession();
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage("No transform change was committed.");
|
||||
return;
|
||||
}
|
||||
@@ -2618,11 +2624,13 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
activeTransformSession
|
||||
)
|
||||
);
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage(
|
||||
`${getTransformOperationPastTense(activeTransformSession.operation)} ${getTransformTargetLabel(activeTransformSession.target).toLowerCase()}.`
|
||||
);
|
||||
} catch (error) {
|
||||
store.clearTransformSession();
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage(getErrorMessage(error));
|
||||
}
|
||||
};
|
||||
@@ -3910,6 +3918,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
|
||||
try {
|
||||
store.executeCommand(createDeleteBoxBrushCommand(brushId));
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage(`Deleted ${label}.`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
@@ -3931,6 +3940,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
|
||||
try {
|
||||
store.executeCommand(createDeleteEntityCommand(entityId));
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage(`Deleted ${label}.`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
@@ -3952,6 +3962,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
|
||||
try {
|
||||
store.executeCommand(createDeleteModelInstanceCommand(modelInstanceId));
|
||||
requestViewportCameraSync();
|
||||
setStatusMessage(`Deleted ${label}.`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
@@ -7023,6 +7034,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
||||
toolPreview={viewportToolPreview}
|
||||
transformSession={transformSession}
|
||||
cameraState={editorState.viewportPanels[panelId].cameraState}
|
||||
cameraSyncRequestId={viewportCameraSyncRequestId}
|
||||
focusRequestId={
|
||||
focusRequest.panelId === panelId ? focusRequest.id : 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user