(null);
-
- useEffect(() => {
- Queue.subscribe(QueueNames.FROM_ENGINE, "wizard-character", (message) => {
- switch (message.action) {
- case fromEngineActions.UPDATE_CHARACTER_ID:
- if (addingObject.current) {
- const data = message.data as Clip;
- selectedCharacters.value = [
- ...selectedCharacters.value,
- {
- ...addingObject.current,
- version: data.version,
- type: data.type.toString() as AssetType,
- media_id: data.media_id,
- name: data.name,
- object_uuid: data.object_uuid,
- },
- ];
- }
- break;
- case fromEngineActions.DELETE_OBJECT:
- selectedCharacters.value = selectedCharacters.value.filter(
- (object) =>
- object.object_uuid !== (message.data as Clip).object_uuid,
- );
- break;
- }
- });
- }, []);
-
- return (
-
- {(characterWizardItems.value ?? []).map((item) => (
-
- ))}
-
- );
-};
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Characters.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Characters.tsx
deleted file mode 100644
index 0d4275bc16..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Characters.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import { WizardItem, WizardType } from "~/pages/PageEnigma/Wizard/Wizard";
-import { ObjectSelectionButton } from "~/pages/PageEnigma/Wizard/ObjectSelectionButton";
-import { BucketConfig } from "~/api/BucketConfig";
-import { MediaInfo } from "~/pages/PageEnigma/models";
-import { AssetType, FilterEngineCategories, ToastTypes } from "~/enums";
-import { useCallback, useContext, useEffect } from "react";
-import { MediaFilesApi } from "~/Classes/ApiManager";
-import { addToast } from "~/signals";
-import { ItemElement } from "./ItemElement";
-import { EngineContext } from "~/pages/PageEnigma/contexts/EngineContext";
-import {
- characterWizardItems,
- currentStep,
- selectedCharacters,
-} from "~/pages/PageEnigma/Wizard/signals/wizard";
-import { useSignals } from "@preact/signals-react/runtime";
-import { demoCharacterItems } from "~/pages/PageEnigma/signals";
-
-export const Characters = () => {
- useSignals();
- const item = currentStep.value as WizardItem;
- const editorEngine = useContext(EngineContext);
-
- const responseMapping = (data: MediaInfo[]) => {
- return data.map((item) => {
- const bucketConfig = new BucketConfig();
- const itemThumb = bucketConfig.getCdnUrl(
- item.cover_image.maybe_cover_image_public_bucket_path ?? "",
- 600,
- 100,
- );
- return {
- object_uuid: item.token,
- colorIndex: item.cover_image.default_cover.color_index,
- imageIndex: item.cover_image.default_cover.image_index,
- media_id: item.token,
- name: item.maybe_title ?? "Unknown",
- type: AssetType.OBJECT,
- media_type: item.media_type,
- version: 1,
- ...(item.cover_image.maybe_cover_image_public_bucket_path
- ? {
- thumbnail: itemThumb,
- }
- : {}),
- };
- });
- };
-
- const fetchFeaturedCharacters = useCallback(async () => {
- const mediaFilesApi = new MediaFilesApi();
- const response = await mediaFilesApi.ListFeaturedMediaFiles({
- filter_engine_categories: [FilterEngineCategories.CHARACTER],
- });
- if (response.success && response.data) {
- characterWizardItems.value = [
- ...responseMapping(response.data),
- ...demoCharacterItems.value,
- ];
- return;
- }
- addToast(
- ToastTypes.ERROR,
- response.errorMessage || "Unknown Error in Fetching Featured Objects",
- );
- }, []);
-
- useEffect(() => {
- fetchFeaturedCharacters();
- }, [fetchFeaturedCharacters]);
-
- console.log(characterWizardItems.value?.[0]?.thumbnail ?? "");
- const initialCharacter = characterWizardItems.value?.[0] ?? {
- imageIndex: 0,
- thumbnail: "",
- };
- const defaultThumb = `/resources/images/default-covers/${(initialCharacter.imageIndex || 0) % 24}.webp`;
- const thumbnail = initialCharacter.thumbnail
- ? initialCharacter.thumbnail
- : defaultThumb;
-
- return (
-
-
{item.label}
-
- {selectedCharacters.value.map((item) => (
-
- ))}
-
-
{}}
- label="Selected Character"
- busy={!characterWizardItems.value}
- imageSrc={thumbnail}
- />
-
- );
-};
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ItemElement.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ItemElement.tsx
deleted file mode 100644
index d3389e0b8d..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ItemElement.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import { MediaItem } from "~/pages/PageEnigma/models";
-import { useSignals } from "@preact/signals-react/runtime";
-import { SyntheticEvent } from "react";
-import { Badge } from "~/components";
-import { AssetType } from "~/enums";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { faTrash } from "@fortawesome/pro-solid-svg-icons";
-
-interface Props {
- item: MediaItem;
- showDelete?: boolean;
-}
-
-export const ItemElement = ({ item, showDelete }: Props) => {
- useSignals();
- const defaultThumb = `/resources/images/default-covers/${(item.imageIndex || 0) % 24}.webp`;
- const thumbnail = item.thumbnail ? item.thumbnail : defaultThumb;
-
- return (
-
- {item.media_type && !showDelete && (
-
- )}
- {showDelete && (
-
-
-
- )}
-
-

) => {
- e.currentTarget.src = defaultThumb;
- }}
- alt={item.name}
- className="pointer-events-none aspect-[4.5/5] w-full select-none bg-gradient-to-b from-[#CCCCCC] to-[#A0A0A0] object-cover object-center"
- />
-
- {item.name || item.media_id}
-
-
- );
-};
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/MainPage.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/MainPage.tsx
deleted file mode 100644
index 00d5fca3f6..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/MainPage.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import { useSignals } from "@preact/signals-react/runtime";
-import {
- currentStep,
- showWizard,
-} from "~/pages/PageEnigma/Wizard/signals/wizard";
-import { twMerge } from "tailwind-merge";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { faArrowRight } from "@fortawesome/pro-solid-svg-icons";
-import { Fragment } from "react";
-
-export const MainPage = () => {
- useSignals();
- const step = currentStep.value;
-
- return (
-
-
How would you like to start?
-
- {(step?.options ?? []).map((option) => (
-
- {option.label === "Remix" && (
-
- )}
-
- {option.label === "Blank Scene" && (
-
- )}
-
- ))}
-
-
- );
-};
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ObjectList.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ObjectList.tsx
deleted file mode 100644
index cd65f6087f..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ObjectList.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Clip, MediaItem } from "~/pages/PageEnigma/models";
-import { AssetType } from "~/enums";
-import { useEffect, useRef } from "react";
-import { ItemElement } from "./ItemElement";
-import Queue from "~/pages/PageEnigma/Queue/Queue";
-import { QueueNames } from "~/pages/PageEnigma/Queue";
-import { fromEngineActions } from "~/pages/PageEnigma/Queue/fromEngineActions";
-import { toEngineActions } from "~/pages/PageEnigma/Queue/toEngineActions";
-import {
- objectWizardItems,
- selectedObjects,
- showList,
-} from "~/pages/PageEnigma/Wizard/signals/wizard";
-import { useSignals } from "@preact/signals-react/runtime";
-
-export const ObjectList = () => {
- useSignals();
- const addingObject = useRef(null);
-
- useEffect(() => {
- Queue.subscribe(QueueNames.FROM_ENGINE, "wizard-objects", (message) => {
- switch (message.action) {
- case fromEngineActions.ADD_OBJECT:
- if (addingObject.current) {
- const data = message.data as Clip;
- selectedObjects.value = [
- ...selectedObjects.value,
- {
- ...addingObject.current,
- version: data.version,
- type: data.type.toString() as AssetType,
- media_id: data.media_id,
- name: data.name,
- object_uuid: data.object_uuid,
- },
- ];
- }
- break;
- case fromEngineActions.DELETE_OBJECT:
- selectedObjects.value = selectedObjects.value.filter(
- (object) =>
- object.object_uuid !== (message.data as Clip).object_uuid,
- );
- break;
- }
- });
- }, []);
-
- return (
-
- {(objectWizardItems.value ?? []).map((item) => (
-
- ))}
-
- );
-};
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ObjectSelectionButton.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ObjectSelectionButton.tsx
deleted file mode 100644
index 25326080dd..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/ObjectSelectionButton.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import { faChevronRight } from "@fortawesome/pro-solid-svg-icons";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { H4, LoadingSpinner } from "~/components";
-
-interface ObjectSelectionButtonProps {
- onClick: () => void;
- label: string;
- imageSrc: string;
- busy: boolean;
- disabled?: boolean;
-}
-
-export function ObjectSelectionButton({
- onClick,
- label,
- imageSrc,
- busy,
- disabled,
-}: ObjectSelectionButtonProps) {
- return (
-
-
-
- );
-}
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Objects.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Objects.tsx
deleted file mode 100644
index 413a2a95e8..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Objects.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import { WizardItem, WizardType } from "~/pages/PageEnigma/Wizard/Wizard";
-import { ObjectSelectionButton } from "~/pages/PageEnigma/Wizard/ObjectSelectionButton";
-import { BucketConfig } from "~/api/BucketConfig";
-import { MediaInfo } from "~/pages/PageEnigma/models";
-import { AssetType, FilterEngineCategories, ToastTypes } from "~/enums";
-import { useCallback, useContext, useEffect } from "react";
-import { MediaFilesApi } from "~/Classes/ApiManager";
-import { addToast } from "~/signals";
-import { ItemElement } from "./ItemElement";
-import { EngineContext } from "~/pages/PageEnigma/contexts/EngineContext";
-import {
- currentStep,
- objectWizardItems,
- selectedObjects,
-} from "~/pages/PageEnigma/Wizard/signals/wizard";
-import { useSignals } from "@preact/signals-react/runtime";
-
-export const Objects = () => {
- useSignals();
- const item = currentStep.value as WizardItem;
- const editorEngine = useContext(EngineContext);
-
- const responseMapping = (data: MediaInfo[]) => {
- return data
- .filter(
- (item) =>
- [
- "Sci-fi City",
- "Cherry Blossom Petals",
- "Barbie Dreamland Test",
- "Space Station",
- "graveyard_2",
- "sand tile",
- "Tiny Island",
- "dock",
- ].indexOf(item.maybe_title ?? "") === -1,
- )
- .map((item) => {
- const bucketConfig = new BucketConfig();
- const itemThumb = bucketConfig.getCdnUrl(
- item.cover_image.maybe_cover_image_public_bucket_path ?? "",
- 600,
- 100,
- );
- return {
- object_uuid: item.token,
- colorIndex: item.cover_image.default_cover.color_index,
- imageIndex: item.cover_image.default_cover.image_index,
- media_id: item.token,
- name: item.maybe_title ?? "Unknown",
- type: AssetType.OBJECT,
- media_type: item.media_type,
- version: 1,
- ...(item.cover_image.maybe_cover_image_public_bucket_path
- ? {
- thumbnail: itemThumb,
- }
- : {}),
- };
- });
- };
-
- const fetchFeaturedObjects = useCallback(async () => {
- const mediaFilesApi = new MediaFilesApi();
- const response = await mediaFilesApi.ListFeaturedMediaFiles({
- filter_engine_categories: [FilterEngineCategories.OBJECT],
- });
- if (response.success && response.data) {
- objectWizardItems.value = responseMapping(response.data);
- return;
- }
- addToast(
- ToastTypes.ERROR,
- response.errorMessage || "Unknown Error in Fetching Featured Objects",
- );
- }, []);
-
- useEffect(() => {
- fetchFeaturedObjects();
- }, [fetchFeaturedObjects]);
-
- return (
-
-
{item.label}
-
- {selectedObjects.value.map((item) => (
-
- ))}
-
-
{}}
- label="Selected Object"
- busy={!objectWizardItems.value}
- imageSrc={objectWizardItems.value?.[0]?.thumbnail ?? ""}
- />
-
- );
-};
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Question.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Question.tsx
deleted file mode 100644
index 48e497fbf3..0000000000
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/Wizard/Question.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { WizardItem } from "~/pages/PageEnigma/Wizard/Wizard";
-import { useSignals } from "@preact/signals-react/runtime";
-import { Select } from "~/components";
-import {
- currentStep,
- showWizard,
-} from "~/pages/PageEnigma/Wizard/signals/wizard";
-
-export const Question = () => {
- useSignals();
- const item = currentStep.value as WizardItem;
-
- return (
-