use crate::*; #[spacetimedb::table( accessor = big_fish_creation_session, index(accessor = by_big_fish_session_owner_user_id, btree(columns = [owner_user_id])) )] pub struct BigFishCreationSession { #[primary_key] pub(crate) session_id: String, pub(crate) owner_user_id: String, pub(crate) seed_text: String, pub(crate) current_turn: u32, pub(crate) progress_percent: u32, pub(crate) stage: BigFishCreationStage, pub(crate) anchor_pack_json: String, pub(crate) draft_json: Option, pub(crate) asset_coverage_json: String, pub(crate) last_assistant_reply: Option, pub(crate) publish_ready: bool, pub(crate) created_at: Timestamp, pub(crate) updated_at: Timestamp, #[default(0)] pub(crate) play_count: u32, #[default(0)] pub(crate) remix_count: u32, #[default(0)] pub(crate) like_count: u32, #[default(None::)] pub(crate) published_at: Option, } #[spacetimedb::table( accessor = big_fish_agent_message, index(accessor = by_big_fish_message_session_id, btree(columns = [session_id])) )] pub struct BigFishAgentMessage { #[primary_key] pub(crate) message_id: String, pub(crate) session_id: String, pub(crate) role: BigFishAgentMessageRole, pub(crate) kind: BigFishAgentMessageKind, pub(crate) text: String, pub(crate) created_at: Timestamp, } #[spacetimedb::table( accessor = big_fish_asset_slot, index(accessor = by_big_fish_asset_session_id, btree(columns = [session_id])) )] pub struct BigFishAssetSlot { #[primary_key] pub(crate) slot_id: String, pub(crate) session_id: String, pub(crate) asset_kind: BigFishAssetKind, pub(crate) level: Option, pub(crate) motion_key: Option, pub(crate) status: BigFishAssetStatus, pub(crate) asset_url: Option, pub(crate) prompt_snapshot: String, pub(crate) updated_at: Timestamp, } #[spacetimedb::table( accessor = big_fish_runtime_run, index(accessor = by_big_fish_run_owner_user_id, btree(columns = [owner_user_id])), index(accessor = by_big_fish_run_session_id, btree(columns = [session_id])) )] pub struct BigFishRuntimeRun { #[primary_key] pub(crate) run_id: String, pub(crate) session_id: String, pub(crate) owner_user_id: String, pub(crate) status: BigFishRunStatus, pub(crate) snapshot_json: String, pub(crate) last_input_x: f32, pub(crate) last_input_y: f32, pub(crate) tick: u64, pub(crate) created_at: Timestamp, pub(crate) updated_at: Timestamp, }