diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/image.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/image.rs index f7db00a63..1038142c6 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/image.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/image.rs @@ -3,11 +3,11 @@ use std::{error::Error, fmt}; use crate::ui_editor::component::common::error::ComponentValueError; use crate::ui_editor::layout::transform::Transform; use crate::ui_editor::resource::sprite::SpriteAsset; +use crate::ui_editor::utils::SpriteAssetId; use nalgebra::Vector2; use serde::{Deserialize, Serialize}; use ts_rs::TS; use typed_floats::tf32::StrictlyPositiveFinite; -use crate::ui_editor::utils::SpriteAssetId; #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/text.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/text.rs index b30677037..f99b7a26e 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/text.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/component/text.rs @@ -1,10 +1,10 @@ use crate::ui_editor::component::common::error::ComponentValueError; use crate::ui_editor::resource::sprite::{Color, WHITE}; +use crate::ui_editor::utils::FontAssetId; use serde::{Deserialize, Serialize}; use std::num::NonZeroU32; use ts_rs::TS; use typed_floats::tf32::StrictlyPositiveFinite; -use crate::ui_editor::utils::FontAssetId; #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/layout/node.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/layout/node.rs index fe5bbabfa..afd79baa6 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/layout/node.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/layout/node.rs @@ -7,34 +7,33 @@ use ts_rs::TS; #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub struct Node { - id: NodeId, - transform: Transform, - metadata: NodeMetadata, - components: Vec, - children: Vec, + pub id: NodeId, + pub transform: Transform, + pub metadata: NodeMetadata, + pub components: Vec, + pub children: Vec, } #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub enum NodeSource { - Human, - Llm, + Human, + Llm, } #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub enum NodeStatus { - Passed, - NeedReview(String), // reason inside - Blocked, + Passed, + NeedReview(String), // reason inside + Blocked, } - #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub struct NodeMetadata { - name: String, - description: String, - status: NodeStatus, - source: NodeSource, + pub name: String, + pub description: String, + pub status: NodeStatus, + pub source: NodeSource, } diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/mod.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/mod.rs index 76ecab07e..55d2ae133 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/mod.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/mod.rs @@ -1,6 +1,6 @@ +pub mod commands; pub mod component; pub mod layout; pub mod resource; pub mod state; -pub mod commands; mod utils; diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/font.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/font.rs index 7328c8f4f..0c5981e76 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/font.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/font.rs @@ -1,6 +1,6 @@ +use crate::ui_editor::utils::FontAssetId; use serde::{Deserialize, Serialize}; use ts_rs::TS; -use crate::ui_editor::utils::FontAssetId; // TODO #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/sprite.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/sprite.rs index 8e07ff69d..abe5e171f 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/sprite.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/sprite.rs @@ -1,9 +1,9 @@ use crate::ui_editor::component::common::error::ComponentValueError; +use crate::ui_editor::utils::SpriteAssetId; use nalgebra::Vector2; use serde::{Deserialize, Serialize}; use ts_rs::TS; use typed_floats::tf32::StrictlyPositiveFinite; -use crate::ui_editor::utils::SpriteAssetId; pub type Color = [u8; 4]; diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/ui_design_image.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/ui_design_image.rs index fff90af5b..39bd272cd 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/ui_design_image.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/resource/ui_design_image.rs @@ -1,11 +1,12 @@ use crate::ui_editor::utils::UIDesignImageId; use nalgebra::Vector2; +use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use std::fmt::{Display, Formatter, Write}; use ts_rs::TS; use typed_floats::tf32::StrictlyPositiveFinite; -#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, TS)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, JsonSchema, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub enum UIDesignImageRole { Page, diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/state/mod.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/state/mod.rs index 2e7ce6c3a..15a055a31 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/state/mod.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/state/mod.rs @@ -2,23 +2,23 @@ use crate::ui_editor::layout::node::Node; use crate::ui_editor::resource::font::FontAsset; use crate::ui_editor::resource::sprite::SpriteAsset; use crate::ui_editor::resource::ui_design_image::UIDesignImage; +use crate::ui_editor::utils::{FontAssetId, SpriteAssetId, UIDesignImageId}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use ts_rs::TS; -use crate::ui_editor::utils::{FontAssetId, SpriteAssetId, UIDesignImageId}; #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub struct UITree { - src_ui_design: UIDesignImageId, - children: Vec, + pub src_ui_design: UIDesignImageId, + pub children: Vec, } #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, TS)] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] pub struct State { - pub(crate) ui_trees: Vec, - pub(crate) ui_design_images: HashMap, - pub(crate) sprite_assets: HashMap, - pub(crate) font_assets: HashMap, + pub ui_trees: Vec, + pub ui_design_images: HashMap, + pub sprite_assets: HashMap, + pub font_assets: HashMap, } diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/utils.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/utils.rs index d3882daea..de48e841b 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/utils.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/utils.rs @@ -12,6 +12,7 @@ macro_rules! define_id { PartialOrd, serde::Deserialize, serde::Serialize, + schemars::JsonSchema, ts_rs::TS, )] #[ts(export, export_to = concat!(env!("CARGO_MANIFEST_DIR"), "/../src/features/ui-editor/types/"))] diff --git a/apps/ai-game-creator-shell/src/features/ui-editor/types/Node.ts b/apps/ai-game-creator-shell/src/features/ui-editor/types/Node.ts index af2154061..a7d3b1032 100644 --- a/apps/ai-game-creator-shell/src/features/ui-editor/types/Node.ts +++ b/apps/ai-game-creator-shell/src/features/ui-editor/types/Node.ts @@ -1,6 +1,7 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { Component } from "./Component"; +import type { NodeId } from "./NodeId"; import type { NodeMetadata } from "./NodeMetadata"; import type { Transform } from "./Transform"; -export type Node = { transform: Transform, metadata: NodeMetadata, components: Array, children: Array, }; +export type Node = { id: NodeId, transform: Transform, metadata: NodeMetadata, components: Array, children: Array, }; diff --git a/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeId.ts b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeId.ts new file mode 100644 index 000000000..b83e79464 --- /dev/null +++ b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeId.ts @@ -0,0 +1,3 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type NodeId = string; diff --git a/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeMetadata.ts b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeMetadata.ts index 31627a3ff..012fe1fa0 100644 --- a/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeMetadata.ts +++ b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeMetadata.ts @@ -1,3 +1,5 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { NodeSource } from "./NodeSource"; +import type { NodeStatus } from "./NodeStatus"; -export type NodeMetadata = { name: string, description: string, from: string, }; +export type NodeMetadata = { name: string, description: string, status: NodeStatus, source: NodeSource, }; diff --git a/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeSource.ts b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeSource.ts new file mode 100644 index 000000000..edf3cae3f --- /dev/null +++ b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeSource.ts @@ -0,0 +1,3 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type NodeSource = "Human" | "Llm"; diff --git a/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeStatus.ts b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeStatus.ts new file mode 100644 index 000000000..cd837ba75 --- /dev/null +++ b/apps/ai-game-creator-shell/src/features/ui-editor/types/NodeStatus.ts @@ -0,0 +1,3 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type NodeStatus = "Passed" | { "NeedReview": string } | "Blocked"; diff --git a/apps/ai-game-creator-shell/src/features/ui-editor/types/RecognitionDTO.ts b/apps/ai-game-creator-shell/src/features/ui-editor/types/RecognitionDTO.ts new file mode 100644 index 000000000..57f9f1ea9 --- /dev/null +++ b/apps/ai-game-creator-shell/src/features/ui-editor/types/RecognitionDTO.ts @@ -0,0 +1,4 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { UITree } from "./UITree"; + +export type RecognitionDTO = { ui_trees: Array, };