diff --git a/app/components/InputVector.tsx b/app/components/InputVector.tsx
index 3c4d3c5a17..0a10274524 100644
--- a/app/components/InputVector.tsx
+++ b/app/components/InputVector.tsx
@@ -1,6 +1,5 @@
import { useRef } from "react";
import { twMerge } from "tailwind-merge";
-import { ignoreDelete } from "~/pages/PageEnigma/store";
interface InputVectorProps {
x: number;
@@ -42,8 +41,6 @@ export const InputVector = ({ x, y, z, onChange }: InputVectorProps) => {
onChange={handleOnChange}
ref={xRef}
value={x}
- onFocus={() => (ignoreDelete.value = true)}
- onBlur={() => (ignoreDelete.value = false)}
/>
{
onChange={handleOnChange}
ref={yRef}
value={y}
- onFocus={() => (ignoreDelete.value = true)}
- onBlur={() => (ignoreDelete.value = false)}
/>
{
onChange={handleOnChange}
ref={zRef}
value={z}
- onFocus={() => (ignoreDelete.value = true)}
- onBlur={() => (ignoreDelete.value = false)}
/>
diff --git a/app/components/Textarea.tsx b/app/components/Textarea.tsx
index cc35c75ac2..278b54a7cb 100644
--- a/app/components/Textarea.tsx
+++ b/app/components/Textarea.tsx
@@ -2,7 +2,6 @@ import { TextareaHTMLAttributes } from "react";
import { twMerge } from "tailwind-merge";
import { Label } from "./Typography";
import { kebabCase } from "~/utilities";
-import { ignoreDelete } from "~/pages/PageEnigma/store";
type ResizeType =
| "none"
@@ -25,10 +24,14 @@ export const Textarea = ({
}) => {
return (
- {label && }
-
+ {label &&
+
+ }
+
diff --git a/app/pages/PageEnigma/PageEnigma.tsx b/app/pages/PageEnigma/PageEnigma.tsx
index 613becceb5..afd78326cc 100644
--- a/app/pages/PageEnigma/PageEnigma.tsx
+++ b/app/pages/PageEnigma/PageEnigma.tsx
@@ -18,7 +18,7 @@ export const PageEnigma = () => {
function setPage() {
// TODO address this issue with zooming
pageHeight.value = window.innerHeight;
- pageWidth.value = window.innerWidth;
+ pageWidth.value = window.outerWidth;
}
timelineHeight.value = window.innerHeight * 0.25;
sidePanelWidth.value = 443;
diff --git a/app/pages/PageEnigma/PageEnigmaComponent.tsx b/app/pages/PageEnigma/PageEnigmaComponent.tsx
index e635b36557..d875fe506b 100644
--- a/app/pages/PageEnigma/PageEnigmaComponent.tsx
+++ b/app/pages/PageEnigma/PageEnigmaComponent.tsx
@@ -101,13 +101,7 @@ export const PageEnigmaComponent = () => {
{/* Bottom controls */}
diff --git a/app/pages/PageEnigma/Queue/toEngineActions.ts b/app/pages/PageEnigma/Queue/toEngineActions.ts
index 3a1e828a00..4be8244918 100644
--- a/app/pages/PageEnigma/Queue/toEngineActions.ts
+++ b/app/pages/PageEnigma/Queue/toEngineActions.ts
@@ -7,8 +7,6 @@ export enum toEngineActions {
ADD_OBJECT = "add_object",
- ADD_SHAPE = "add_shape",
-
// data= QueueKeyframe
DELETE_CLIP = "delete_clip",
// data=QueueClip
diff --git a/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx b/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx
index d736eb492b..8242f70de6 100644
--- a/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx
+++ b/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx
@@ -132,14 +132,15 @@ export const ControlPanelSceneObject = () => {
return;
}
- for (const key in editorEngine?.timeline.characters) {
- const element = editorEngine?.timeline.characters[key];
+ for (let key in editorEngine?.timeline.characters) {
+ let element = editorEngine?.timeline.characters[key];
if (key == currentSceneObject.object_uuid) {
- currentSceneObject.group = element;
- break;
+ currentSceneObject.group = element;
+ break;
}
}
+
Queue.publish({
queueName: QueueNames.TO_TIMELINE,
action: toTimelineActions.ADD_KEYFRAME,
@@ -164,13 +165,7 @@ export const ControlPanelSceneObject = () => {
return (
{
const handlePlus = () => {
console.log("Controls 3D: Plus button clicked");
};
+ const handleCube = () => {
+ if (editorEngine == null || editorEngine == undefined) {
+ return;
+ }
+ editorEngine.create_parim("Box");
+ };
+ const handleCylinder = () => {
+ if (editorEngine == null || editorEngine == undefined) {
+ return;
+ }
+ editorEngine.create_parim("Cylinder");
+ };
+ const handleTorus = () => {
+ if (editorEngine == null || editorEngine == undefined) {
+ return;
+ }
+ editorEngine.create_parim("Donut");
+ };
+ const handleSphere = () => {
+ if (editorEngine == null || editorEngine == undefined) {
+ return;
+ }
+ editorEngine.create_parim("Sphere");
+ };
const handleMoveArrows = () => {
if (!editorEngine) {
return;
@@ -70,6 +94,15 @@ export const Controls3D = () => {
+
+
+
+
+
+
+
+
+
{
const [appUiState, dispatchAppUiState] = useContext(AppUiContext);
diff --git a/app/pages/PageEnigma/comps/Timeline/Timeline.tsx b/app/pages/PageEnigma/comps/Timeline/Timeline.tsx
index dcbc98147b..9779650314 100644
--- a/app/pages/PageEnigma/comps/Timeline/Timeline.tsx
+++ b/app/pages/PageEnigma/comps/Timeline/Timeline.tsx
@@ -9,7 +9,6 @@ import {
deleteAudioClip,
deleteCharacterClip,
selectedItem,
- ignoreDelete,
} from "~/pages/PageEnigma/store";
import { useQueueHandler } from "~/pages/PageEnigma/comps/Timeline/utils/useQueueHandler";
import { useSignals } from "@preact/signals-react/runtime";
@@ -40,9 +39,6 @@ export const Timeline = () => {
}, []);
const onDeleteAsk = useCallback((event: KeyboardEvent) => {
- if (ignoreDelete.value) {
- return;
- }
if (
["Backspace", "Delete"].indexOf(event.key) > -1 &&
selectedItem.value !== null
diff --git a/app/pages/PageEnigma/contexts/TrackContext/TrackProvider.tsx b/app/pages/PageEnigma/contexts/TrackContext/TrackProvider.tsx
index 5132e53acc..f6138cc05b 100644
--- a/app/pages/PageEnigma/contexts/TrackContext/TrackProvider.tsx
+++ b/app/pages/PageEnigma/contexts/TrackContext/TrackProvider.tsx
@@ -17,7 +17,6 @@ import {
audioGroup,
objectGroup,
deleteCharacter,
- addShape,
} from "~/pages/PageEnigma/store";
import useUpdateKeyframe from "~/pages/PageEnigma/contexts/TrackContext/utils/useUpdateKeyframe";
import { deleteObject } from "~/pages/PageEnigma/store/objectGroup/deleteObject";
@@ -44,10 +43,10 @@ export const TrackProvider = ({ children }: Props) => {
if (dragItem.value.type === AssetType.OBJECT) {
addObject(dragItem.value);
}
- if (dragItem.value.type === AssetType.SHAPE) {
- addShape(dragItem.value);
- }
}
+ // if (dragItem.value.type === AssetType.SHAPE) {
+ // console.log("Dragged In Shape Type")
+ // }
if (canDrop.value && dragItem.value) {
if (dragItem.value.type === AssetType.ANIMATION) {
diff --git a/app/pages/PageEnigma/js/editor.ts b/app/pages/PageEnigma/js/editor.ts
index a33026252c..ee7ae2c358 100644
--- a/app/pages/PageEnigma/js/editor.ts
+++ b/app/pages/PageEnigma/js/editor.ts
@@ -183,7 +183,6 @@ class Editor {
this.animation_engine = new AnimationEngine(this.version);
this.timeline = new TimeLine(
- this,
this.audio_engine,
this.transform_engine,
this.lipsync_engine,
@@ -206,10 +205,12 @@ class Editor {
this.negative_prompt = "";
this.art_style = ArtStyle.Anime2DFlat;
+
this.storyteller_proxy_scene = new StoryTellerProxyScene(
this.version,
this.activeScene.scene,
);
+
}
initialize(config: any) {
@@ -290,7 +291,7 @@ class Editor {
);
this.control = new TransformControls(this.camera, this.renderer.domElement);
- this.control.space = "local"; // Local transformation mode
+ this.control.space = 'local'; // Local transformation mode
// .space = 'world'; // Global mode
this.control.setScaleSnap(0.1);
@@ -409,18 +410,19 @@ 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 != 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;
- this.selected.rotation.x = THREE.MathUtils.degToRad(rotation.x);
- this.selected.rotation.y = THREE.MathUtils.degToRad(rotation.y);
- this.selected.rotation.z = THREE.MathUtils.degToRad(rotation.z);
+ //console.log(`triggering setSelectedObject`)
+ this.selected.position.x = position.x
+ this.selected.position.y = position.y
+ this.selected.position.z = position.z
- this.selected.scale.x = scale.x;
- this.selected.scale.y = scale.y;
- this.selected.scale.z = scale.z;
+ this.selected.rotation.x = THREE.MathUtils.degToRad(rotation.x)
+ this.selected.rotation.y = THREE.MathUtils.degToRad(rotation.y)
+ this.selected.rotation.z = THREE.MathUtils.degToRad(rotation.z)
+
+ this.selected.scale.x = scale.x
+ this.selected.scale.y = scale.y
+ this.selected.scale.z = scale.z
}
}
@@ -550,7 +552,9 @@ class Editor {
// const object: THREE.Object3D = await this.activeScene.load_glb(
// "m_4wva09qznapzk5rcvbxy671d1qx2pr",
// );
+
// object.uuid = "CH1";
+
// Stick Open Pose Man: m_9f3d3z94kk6m25zywyz6an3p43fjtw
// XBot: m_r7w1tmkx2jg8nznr3hyzj4k6zhfh7d
// YBot: m_9sqg0evpr23587jnr8z3zsvav1x077
@@ -735,7 +739,7 @@ class Editor {
if (this.timeline.is_playing) {
const changeView = await this.timeline.update(this.rendering);
- if (changeView) {
+ if(changeView) {
this.switchCameraView();
}
} else if (this.last_scrub == this.timeline.scrubber_frame_position) {
diff --git a/app/pages/PageEnigma/js/timeline.ts b/app/pages/PageEnigma/js/timeline.ts
index a1fe8a693d..0cbd81c84d 100644
--- a/app/pages/PageEnigma/js/timeline.ts
+++ b/app/pages/PageEnigma/js/timeline.ts
@@ -12,7 +12,7 @@ import { QueueNames } from "../Queue/QueueNames";
import { toEngineActions } from "../Queue/toEngineActions";
import { fromEngineActions } from "../Queue/fromEngineActions";
import { ClipGroup, ClipType } from "~/pages/PageEnigma/models/track";
-import { MediaItem } from "~/pages/PageEnigma/models";
+
// Every object uuid / entity has a track.
export class TimelineDataState {
timeline_items: ClipUI[];
@@ -133,18 +133,11 @@ export class TimeLine {
case toEngineActions.ADD_OBJECT:
await this.addObject(data);
break;
- case toEngineActions.ADD_SHAPE:
- await this.addShape(data);
- break;
default:
console.log("Action Not Wired", action);
}
}
- public async addShape({ data }: { data: MediaItem }) {
- this.scene.instantiate(data.media_id);
- }
-
public async addCharacter(data: any) {
let media_id = data.data['media_id'];
let name = data.data['name'];
@@ -503,4 +496,5 @@ export class TimeLine {
currentTime: this.current_time,
});
}
-}
\ No newline at end of file
+}
+
diff --git a/app/pages/PageEnigma/store/index.ts b/app/pages/PageEnigma/store/index.ts
index 78254d1a60..2c89a60fc4 100644
--- a/app/pages/PageEnigma/store/index.ts
+++ b/app/pages/PageEnigma/store/index.ts
@@ -5,7 +5,6 @@ export * from "./dragAndDrop";
export * from "./media";
export * from "./objectGroup";
export * from "./selectedItem";
-export * from "./shape";
export * from "./sidePanel";
export * from "./sizing";
export * from "./timing";
diff --git a/app/pages/PageEnigma/store/media.ts b/app/pages/PageEnigma/store/media.ts
index 51167876fa..10d3e23cfd 100644
--- a/app/pages/PageEnigma/store/media.ts
+++ b/app/pages/PageEnigma/store/media.ts
@@ -454,7 +454,7 @@ export const audioItems = signal([
type: AssetType.AUDIO,
length: 25,
name: "Talk (Demo Sounds)",
- thumbnail: "resources/placeholders/audio_placeholder.png",
+ thumbnail: "resources/placeholders/audio_placeholder.png"
},
{
version: 1,
@@ -462,8 +462,8 @@ export const audioItems = signal([
type: AssetType.AUDIO,
length: 25,
name: "NCS Song",
- thumbnail: "resources/placeholders/audio_placeholder.png",
- },
+ thumbnail: "resources/placeholders/audio_placeholder.png"
+ }
]);
export const cameraItems = signal([
@@ -530,35 +530,13 @@ export const objectItems = signal([
thumbnail: "resources/placeholders/placeholder.png",
},
]);
-
// In the future these will have shape id's
export const shapeItems = signal([
{
version: 1,
- media_id: "Box",
+ media_id: "",
type: AssetType.SHAPE,
name: "Cube",
- thumbnail: "resources/shapes/cube.png",
- },
- {
- version: 1,
- media_id: "Cylinder",
- type: AssetType.SHAPE,
- name: "Cylinder",
- thumbnail: "resources/shapes/cylinder.png",
- },
- {
- version: 1,
- media_id: "Donut",
- type: AssetType.SHAPE,
- name: "Donut",
- thumbnail: "resources/shapes/donut.png",
- },
- {
- version: 1,
- media_id: "Sphere",
- type: AssetType.SHAPE,
- name: "Sphere",
- thumbnail: "resources/shapes/sphere.png",
+ thumbnail: "resources/placeholders/placeholder.png",
},
]);
diff --git a/app/pages/PageEnigma/store/selectedItem.ts b/app/pages/PageEnigma/store/selectedItem.ts
index 210d975e04..4f1d7bf778 100644
--- a/app/pages/PageEnigma/store/selectedItem.ts
+++ b/app/pages/PageEnigma/store/selectedItem.ts
@@ -2,5 +2,3 @@ import { signal } from "@preact/signals-core";
import { Clip, Keyframe } from "~/pages/PageEnigma/models";
export const selectedItem = signal(null);
-
-export const ignoreDelete = signal(false);
diff --git a/app/pages/PageEnigma/store/shape.ts b/app/pages/PageEnigma/store/shape.ts
deleted file mode 100644
index 26ea68a57e..0000000000
--- a/app/pages/PageEnigma/store/shape.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { MediaItem } from "~/pages/PageEnigma/models";
-import Queue from "~/pages/PageEnigma/Queue/Queue";
-import { QueueNames } from "~/pages/PageEnigma/Queue/QueueNames";
-import { toEngineActions } from "~/pages/PageEnigma/Queue/toEngineActions";
-
-export function addShape(item: MediaItem) {
- Queue.publish({
- queueName: QueueNames.TO_ENGINE,
- action: toEngineActions.ADD_SHAPE,
- data: item,
- });
-}
diff --git a/public/resources/shapes/cube.png b/public/resources/shapes/cube.png
deleted file mode 100644
index 51cb24114c..0000000000
Binary files a/public/resources/shapes/cube.png and /dev/null differ
diff --git a/public/resources/shapes/cylinder.png b/public/resources/shapes/cylinder.png
deleted file mode 100644
index 73cf7eaec4..0000000000
Binary files a/public/resources/shapes/cylinder.png and /dev/null differ
diff --git a/public/resources/shapes/donut.png b/public/resources/shapes/donut.png
deleted file mode 100644
index bb4e5a0fbb..0000000000
Binary files a/public/resources/shapes/donut.png and /dev/null differ
diff --git a/public/resources/shapes/sphere.png b/public/resources/shapes/sphere.png
deleted file mode 100644
index b482e9fa30..0000000000
Binary files a/public/resources/shapes/sphere.png and /dev/null differ