From cb330e2b48308060359f5abacf093e2ca67c63c6 Mon Sep 17 00:00:00 2001 From: Michael Chung <6252325+ArEnSc@users.noreply.github.com> Date: Thu, 4 Apr 2024 19:40:19 -0400 Subject: [PATCH] minor bug fix --- .../ControlPanelSceneObject/ControlPanelSceneObject.tsx | 2 ++ app/pages/PageEnigma/js/editor.ts | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx b/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx index eb867d4d35..f18bfd305a 100644 --- a/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx +++ b/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx @@ -34,7 +34,9 @@ export const ControlPanelSceneObject = () => { const currentSceneObject = appUiState.controlPanel.currentSceneObject; useEffect(()=>{ + // TODO this causes a subtle bug because it renders way too many times. const vectors = appUiState.controlPanel.currentSceneObject.objectVectors + editorEngine?.setSelectedObject(vectors.position, vectors.rotation, vectors.scale) }, [appUiState.controlPanel.currentSceneObject]); diff --git a/app/pages/PageEnigma/js/editor.ts b/app/pages/PageEnigma/js/editor.ts index cdb223aebe..69167e783c 100644 --- a/app/pages/PageEnigma/js/editor.ts +++ b/app/pages/PageEnigma/js/editor.ts @@ -24,7 +24,7 @@ import { PointerLockControls } from "three/addons/controls/PointerLockControls.j import { APPUI_ACTION_TYPES } from "../reducers"; import { ClipGroup } from "~/pages/PageEnigma/models/track"; -import { XYZ } from "../../datastructures/common"; +import { XYZ } from "../datastructures/common"; class EditorState { // { // action: "ShowLoadingIndicator" @@ -150,7 +150,7 @@ class Editor { this.raycaster; this.mouse; this.selected; - this.selectedState = false + this.last_selected; this.transform_interaction; this.rendering = false; @@ -444,8 +444,8 @@ class Editor { // TO UPDATE selected objects in the scene might want to add to the scene ... async setSelectedObject(position:XYZ,rotation:XYZ,scale:XYZ) { - if (this.selected !=null) { - + if (this.selected !=undefined || this.selected !=null) { + //console.log(`triggering setSelectedObject`) this.selected.position.x = position.x this.selected.position.y = position.y this.selected.position.z = position.z