docs: PRD §13 乐高式工作区框架设计定稿(tiling + PaneProvider,M1-M3)
This commit is contained in:
@@ -176,3 +176,39 @@
|
||||
为主、component 预留位);路线 A(项目自带 overlay)作为逃生舱并存。
|
||||
- 落地:PRD §12 写入设计规格(SplitSpec/框架职责/实施时机),代码待第一个新项目开工时实现;
|
||||
§11 状态表同步;本窗口暂不写代码(用户选择「先落设计」)。
|
||||
|
||||
## 补记(travelatlas 分栏「切会话不关闭」补丁)
|
||||
|
||||
- 需求(用户):分栏模式下切换不同对话时,左侧旅行网页保持不消失;仅 ✕ / 再点工作台卡片 /
|
||||
Esc / 无任何活动会话时关闭。
|
||||
- 实现(travelatlas src/client/index.tsx,store 层):
|
||||
① 新增 syncAnchor:会话根失效时找新根重新锚定(恢复旧视图区 margin、更新 root/header/viewArea、
|
||||
RO 改观察新根、几何重算),左侧 iframe 组件保持挂载不卸载不刷新;
|
||||
② findConversationRoot 优先 phase=active(避免过渡期命中旧根);
|
||||
③ 新增 body 级 MutationObserver 兜底(attributeFilter data-phase + childList),
|
||||
覆盖「旧根被替换后 RO 不再回调」与 phase 过渡态;close 时一并断开;
|
||||
④ 关闭条件收敛为:无任何会话根 / 结构无法识别 / ✕ / Esc / 再点卡片。
|
||||
- 验证:构建 + node --check 通过;服务端实时下发(served len=17083,含 syncAnchor/MutationObserver);
|
||||
待用户刷新后实测「切会话左侧保持、点 ✕/卡片才关闭」。
|
||||
- 该行为已同步写入 PRD §12.4 框架规格(所有未来项目默认继承)。
|
||||
|
||||
## 补记(分隔线向左范围放开)
|
||||
|
||||
- 需求(用户):分栏分隔线向右可移、向左有上限(聊天栏最大 480px 且图鉴保留 260px),
|
||||
希望对话框更大、分隔线能再往左。
|
||||
- 实现(travelatlas):删除 MAX_CHAT_W=480 固定上限;新增 MIN_ATLAS_W=160,
|
||||
聊天栏钳制改为 [240, max(240, 列宽−160)]——左侧图鉴最小保留 160px,其余全给聊天栏。
|
||||
- 验证:构建 + node --check 通过;服务端实时下发(served len=17070,含 MIN_ATLAS_W)。
|
||||
- PRD §12.4 对话栏宽度语义同步(上限=列宽−内容最小宽,不再固定 480)。
|
||||
|
||||
## 补记(乐高式工作区构想 → PRD §13 设计定稿)
|
||||
|
||||
- 用户构想:把工作台做成「乐高基座」——「+」新建工作区时提供 2/3/4 窗拓扑预设
|
||||
(左右/上下/3 横排/上一下二/井字/3+1),其中一窗恒为聊天窗(继承全部会话、切会话不消失),
|
||||
其余窗放置内容插件(浏览器/资源管理器/源代码管理/任务管理/终端/自定义 vibe 生成)。
|
||||
- 评估结论(已与用户确认):可行;核心 = 分割树 tiling 引擎 + PaneProvider 内容插件协议;
|
||||
硬约束 = 聊天窗必须贴右/下边缘(margin 挤法的能力边界);内容窗可行性分级记录(浏览器✅、
|
||||
资源管理器/终端/任务管理🔶待调研、SCM⚠️受限、自定义✅闭环)。
|
||||
- 落地:PRD §13 设计定稿(13.1–13.9:目标/硬约束/分割树/内容协议/+面板改版/持久化/
|
||||
可行性记录/里程碑 M1-M3/协议关系);§12 并入 §13 引擎;§11 状态表同步;
|
||||
代码按用户选择暂不实现。
|
||||
|
||||
Reference in New Issue
Block a user