# 工作流定义 ## 阶段 ```text uploaded -> region_selection -> plan_review -> blockout -> style_brief -> direction_selection -> render_review -> editing -> completed ``` 任意异步阶段都可以进入 `failed`,修正问题后通过 `retry` 回到最近一个可恢复阶段。 ## 关键命令 | 命令 | 作用 | 关键约束 | |---|---|---| | `start_ingestion` | 分析上传文件 | 先判断矢量 PDF、DXF 或扫描图 | | `select_region` | 选择目标户型区域 | 一张图纸可能包含多个平面区域 | | `confirm_plan` | 确认清洗后的结构 | 必须处理低置信度墙、门窗和比例 | | `build_blockout` | 生成 3D 白模与相机 | 不追求施工级构造 | | `submit_style_brief` | 建立 Style DNA | 用户意图写入结构化字段 | | `select_direction` | 锁定设计方向 | 保留方向分支和父版本 | | `request_render` | 生成一个或多个视角 | 携带空间控制图与锁定状态 | | `apply_edit` | 执行局部或全局修改 | 只变更受影响的状态与视角 | | `complete_project` | 完成当前概念方案 | 输出仍标注为概念效果图 | ## 当前已实现的图纸导入 1. 网页通过 API 上传 PDF,API 同时将原文件保存到 MinIO 的原始图纸桶。 2. PDF 首页被渲染为 PNG 并保存到派生文件桶。 3. 解析器统计矢量线、矩形与曲线数量,判断矢量或扫描来源。 4. 基于页面墨迹连通区域检测一页中的多个平面候选区,不自动把整页当作唯一户型。 5. 用户在预览上明确选择目标区域后,工作流从 `region_selection` 进入 `plan_review`。 6. 项目快照、修订号和选择结果写入 PostgreSQL,API 重启后仍可恢复。 第一版限制为 PDF、25 MB、首页候选区域检测;多页选择、墙门窗语义分割与比例求解继续在 `plan_review` 阶段实现。 ## Agent 分工 - Orchestrator:确定下一步、追问缺失条件、调度任务、处理失败和回滚。 - Plan Interpreter:解析图层、区域、比例和房间语义。 - Spatial Critic:检查动线、遮挡、焦点和基本几何约束。 - Style Director:维护 Style DNA,提出差异明确的风格方向。 - Layout Planner:操作结构化家具占位,不直接修改像素。 - Render Router:按任务特征选择图像模型,并生成控制输入。 - Aesthetic Reviewer:比较空间忠实度、配色、材质连续性和多视角一致性。 ## 第一版人工确认点 1. 选择图纸中的目标区域。 2. 确认比例、墙、门窗和需要保留的家具。 3. 确认层高和关键开口高度。 4. 从三个风格方向中选择一个主方向。 5. 对高成本多视角生成进行确认。