feat: presets 7(2x2 equal grid)/8(top2-bottom3) + custom-layout plus tile with clipboard prompt + pane rename to windows + per-project conversation binding
This commit is contained in:
+17
-4
@@ -334,13 +334,26 @@ type SplitPane = {
|
||||
- 「+」点击后**向右侧弹出悬浮面板**(fixed 锚定 sidebar 右边缘与工作台区块顶部,320px 宽、
|
||||
视口内钳制;透明遮罩点击关闭),不再使用侧边栏内展开式下拉;面板内容仅「选择布局 + 填名称」
|
||||
(快捷方式表单暂移除,存量快捷方式条目仍保留展示/删除);
|
||||
- **拓扑预设六个**(2 行 × 3 列缩略图网格,聊天窗蓝色 💬 标注):
|
||||
左右两栏 / 三栏横排 / 左二右一 / 井字四栏 / 左品右聊 / 左1大下3小(2026-08-18 更新:
|
||||
删「上一下二」(与左品右聊重叠),末尾新增 5 视窗预设「左1大下3小」——左侧上下结构,
|
||||
上 1 通栏大窗(默认高 300)+ 下 3 小窗并排,右侧聊天通高整列);
|
||||
- **拓扑预设八个**(3 列网格,末尾第 9 格为「+自定义」磁贴,永远最后)
|
||||
(聊天窗蓝色 💬 标注;2026-08-18 更新:删「上一下二」,新增第 7/8 预设与自定义磁贴):
|
||||
①左右两栏 ②三栏横排 ③左二右一 ④井字四栏 ⑤左品右聊 ⑥左1大下3小
|
||||
⑦田字格(左侧 2×2 四窗均等,右聊天通高整列,topHeightRatio 0.5 + 顶行宽默认扣除聊天列)
|
||||
⑧上2下3(左列上排 2 窗 + 下排 3 窗宽度均分,右聊天通高整列,topHeightRatio 0.5);
|
||||
左二右一 = 左侧上下两个内容窗 + 右侧聊天通高整列(chatFullHeight 几何,聊天可 ⇄ 翻转贴左);
|
||||
左品右聊 = 左侧品字形(上一个、下两个内容窗)+ 右侧聊天通高整列(chatFullHeight 几何,
|
||||
聊天可 ⇄ 翻转贴左);
|
||||
- **预设字段**:leftCount/topCount/contentCount/chatFull + 可选 topHeightDefault(固定默认高)/
|
||||
topHeightRatio(首次打开顶行占比,0.5=上下等分,缺省 0.35);行内窗宽由引擎均分,
|
||||
横向/纵向分隔条均可独立拖动(「top」水平分隔 + 行内垂直分隔)。
|
||||
- **+自定义磁贴**(第 9 格):右侧弹窗输入布局描述 → 「复制提示词到剪贴板」→ 生成的提示词
|
||||
包含引擎规则与现有 8 预设清单,可粘贴到任意 DSH 对话让 agent 实现新预设(追加到 PRESET_DEFS
|
||||
末尾、加号之前)。
|
||||
- **窗口编号**:窗格标题「窗口N」,N = 布局中按「左栏 → 顶行 → 主行」顺序的第 N 个内容窗
|
||||
(如田字格:窗口1/2 = 顶行左右,窗口3/4 = 底行左右;l13:窗口1 = 顶部大窗,窗口2/3/4 =
|
||||
底部三小窗)。用户说「窗口N」即指该窗。
|
||||
- **对话绑定**:每个项目卡片(布局卡 + 入驻卡)中间偏右有 🔗 按钮,点击弹会话列表(按工作区
|
||||
分组、与发送到会话同源),绑定后打开该项目时右侧对话窗自动切换(sessions.open);解绑即
|
||||
不再切换;绑定关系存 projects.v1.bindings(项目 id → 会话 id)。
|
||||
- 保存的布局以「布局条目」形式出现在项目区(布局 = 一种工作台项目),点击打开 tiling 工作区,
|
||||
再次点击 / ✕ / Esc 关闭。
|
||||
|
||||
|
||||
@@ -724,6 +724,27 @@
|
||||
- 重启后 functional-diag 全 20 STEP 复跑 ERROR_COUNT: 0(site/write/workspaces 路由全部就绪)。
|
||||
- 备注:之前 send-self-test 遗留的一次性会话 session-91a6adea 用户未删,STEP20 itemCount 13→14
|
||||
即该测试会话;再次提醒用户删除即可,不影响功能。
|
||||
## 补记(第 7/8 布局 + +自定义磁贴 + 窗口改名 + 对话绑定)
|
||||
|
||||
- 用户要求:① 新增第 7 个预设「田字格」——右聊天通高整列、左侧 2×2 四窗默认等大,横向贯通、
|
||||
竖向两段分隔条独立可拖;② 第 8 个预设「上2下3」——左列上排 2 窗 + 下排 3 窗宽度均分,右聊天;
|
||||
③ 第 9 格为「+」磁贴(永远最后):点开右侧弹窗,上半描述布局、下半按钮把「用户需求 + 上下文
|
||||
提示词」复制进剪贴板并弹 Toast,提示词含引擎规则与现有预设清单,可发给任意 dsh 实现;
|
||||
④ 窗格改名「内容N」→「窗口N」,并把窗口编号映射写进 AGENTS.md/PRD(左栏→顶行→主行);
|
||||
⑤ 对话绑定:每张项目卡中间偏右加 🔗 按钮 → 会话分组列表弹窗(与发送到会话同源)→ 绑定后
|
||||
打开项目自动 sessions.open 切换右侧对话;解绑/未绑定不切换。
|
||||
- 引擎修正:① topHeightRatio 字段(首次打开顶行占比,(rowH-BAR)*ratio;0.5=等分,缺省 0.35);
|
||||
② chatFull 布局顶行默认宽扣除聊天列(此前 2 窗顶行一宽一窄)。
|
||||
- 剪贴板降级:navigator.clipboard 失败时改用临时隐藏 textarea 全选提示词后 execCommand('copy')
|
||||
(此前误选输入框原文)。
|
||||
- 验证(probe-batch4.cjs):tileCount=9、thumbCells=[2,3,3,4,4,5,5,6,0]、plusTileLast=true;
|
||||
g4 保存 top2/main2/ratio0.5/窗口1-4;打开后四窗 rect 388×388 等大(宽度差 ≤ 分隔条宽)、
|
||||
g4TopAbove=true;l23 top2/main3;+磁贴弹窗 promptLen=1059 含需求+PRESET_DEFS+g4+topHeightRatio
|
||||
+现有清单且需求落在「用户需求」段后;绑定全流程 boundSaved/boundIsSession/switchedToBound/
|
||||
unbindShown/bindingsAfterUnbind=null/restored 全过,入驻卡注入 2 个 🔗;functional-diag
|
||||
全 20 STEP ERROR_COUNT: 0(STEP9 presetCount 9)。
|
||||
- 备注:纯客户端改动,F5 即生效;动画生成窗(iframe 壳)按用户指示未实现,仅给方案。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user