feat: ship end-to-end interior design MVP

This commit is contained in:
Codex
2026-08-02 08:57:10 +08:00
parent 4d97a30616
commit a96b1bf9f9
12 changed files with 2497 additions and 485 deletions
+56 -2
View File
@@ -62,6 +62,25 @@ export interface PlanState {
issues: PlanIssue[];
scale_mm_per_unit?: number | null;
ceiling_height_mm: number;
gross_area_sqm?: number | null;
structure: {
status: string;
summary: string;
rooms: Array<{
id: string;
name: string;
kind: string;
area_sqm?: number | null;
confidence: number;
notes: string;
}>;
circulation: string;
daylight: string;
layout_opportunities: string[];
risks: string[];
model_name: string;
degraded: boolean;
};
}
export interface ProjectSnapshot {
@@ -86,17 +105,52 @@ export interface ProjectSnapshot {
density: string;
avoid: string[];
locked_decisions: string[];
selected_direction_id?: string | null;
};
brief: DesignBrief;
directions: StyleDirection[];
renders: RenderAsset[];
events: Array<{ id: string; kind: string; message: string; created_at: string }>;
available_commands: string[];
updated_at: string;
}
export interface DesignBrief {
residents: string;
lifestyle: string[];
focus_rooms: string[];
preferred_styles: string[];
preferred_colors: string[];
disliked_elements: string[];
must_keep: string[];
budget_level: string;
additional_notes: string;
completed: boolean;
}
export interface RenderAsset {
id: string;
direction_id: string;
room: string;
view: string;
object_key: string;
prompt: string;
model_name: string;
parent_id?: string | null;
edit_instruction: string;
created_at: string;
}
export interface StyleDirection {
id: string;
name: string;
summary: string;
colors: string[];
thesis: string;
keywords: string[];
palette: Array<{ name: string; hex: string; role: string }>;
materials: string[];
lighting: string;
prompt: string;
model_name: string;
}
export interface ChatMessage {