03-13~15:UI 重构与功能覆盖¶
Dad 的关键产品决策¶
地图交互重构¶
03-13 问题:建筑堆在一起、模块排列不自然
Dad 要求: - 模块要有序排列成长方形/正方形并留间隔 - 增加围墙概念隔开建筑 - 点击实体后不要移动地图 - 地图画布应该是无限的
从 3D 感到 2D 地图(03-14)¶
关键决策: - 去掉 3D 感,改成 2D 地图 - 整个屏幕都应是地图,四边加阴影 - 增加围墙概念隔开建筑
建筑网格化(03-15)¶
进一步要求: - 建筑应按格子摆放,不要圆形,不要随意摆 - 建筑是矩形/方形,占多个格子 - 所有建筑都不能是圆的
交互模型简化¶
原设计:右键显示功能菜单
新决策:
- 点击模块直接打开对应效果
- 删除 CommandWheel
- 删除右键/长按操作
- 统一为点击实体 → 右下角卡片
技术问题与根因分析¶
围墙系统演进¶
自动围墙阶段:
- drawWalls 根据实体位置自动画围墙
- 问题:围墙不自然
手动围墙工具阶段: - 增加 wall tool UI(右侧浮动按钮) - 问题:线段式围墙交互不好用
砖块铺设模式阶段(最终方案):
- 像游戏一样点击添加 4x4 砖块,拖动时持续添加
- 用砖块集合替代线段
- pointerdown/pointermove/pointerup 支持刷墙
砖块刷新丢失问题¶
现象:刷新后砖块丢失
根因:后端实际已存 144 块砖,但 actionLayoutLoad 只返回 positions,忘了返回 walls
修复:在 load 响应中加入 walls 数据
建筑点击失效¶
现象:技能/档案/记忆三个建筑点击没反应
根因:per-agent 建筑 ID 变成 skills:main / memory:main / files:main,但 handleBuildingClick 仍只匹配 skills/memory/files
修复:兼容带 agent 后缀的 building ID
网格对齐问题¶
现象:建筑与背景格子只对上一半,内部格线错位
根因:建筑如 3×2 格,中心吸附到网格点,导致边缘落在半格位置
解决方案:
- snapToGrid 支持按 cellSpan 吸附
- 对奇数宽高实体使用半格偏移吸附
- 实体规格:Gateway=3×3、Agent=2×2、Building=3×2
解决方案¶
无限画布实现¶
// drawGroundGrid 改为按相机 world 位置动态绘制可见区域
// 引入"相机移动超过一个 grid unit 才重绘"的 snapped 策略
// 加入 scale 参数,解决缩小时网格覆盖不足问题
围墙工具栏增强¶
Shift直线绘制- 点击已有砖块 = 删除
- ghost layer 显示半透明预览砖块
- 墙体只在 dirty 时重绘,优化性能
- 橡皮擦与快捷键提示
按 Agent 归属重构建筑¶
架构改变:
- KingdomBuilding 增加 agentId
- skills/memory/files 按 agent 拆分
- channels/models/plugins/cron/tools 保持全局建筑
数据流修复:
- 按 building ID 中的 agentId 匹配
- 只连 Gateway → Agent → 该 Agent 的建筑
- 全局建筑不连 agent
10 轮自主迭代成果¶
- 墙体 ghost 预览
- Gateway → 全局建筑数据流
- Agent 建筑群环形布局
- 区域标签(全局设施 / Agent 名)
- 建筑投影阴影
- 快捷键(Esc / R / Ctrl+Z)
- Session 轨道动画
- 选中 Agent 时高亮其建筑群
- 墙体 dirty-check 重绘优化
- 围墙工具栏增强
100% 功能覆盖审查¶
Dad 要求:逐项查 OpenClaw 官方文档,确保 ClawCraft 中都有对应操作
审查方式: - 读配置参考与后端实现 - 对比各 Panel 的操作能力 - 逐项测试
结果:达到 100% 覆盖率
后续问题:Dad 指出"虽然做了很多,但用户根本不知道怎么用",问题转向 UX 可发现性
UX 可发现性重构¶
新增:
- WelcomeOverlay 首次引导
- QuickActionBar:直接打开 Gateway / 频道 / 模型 / 设置 / 环境
拆分设置:
- 原本集中在 SettingsPanel 的 18 个配置项拆分回各建筑面板
- 例如:ChannelManager 底部嵌入 Messages / TTS / Hooks 折叠配置
里程碑¶
03-13¶
- [x] 文档与代码清理(300MB → 680KB)
- [x] 移动端长按支持
- [x] 频道面板修复
- [x] 初始王国建筑上图(7 个模块)
- [x] 建筑点击直接映射到对应管理面板
- [x] 面板展示方式重构为右下角统一展示
- [x] 删除 CommandWheel 和右键操作
03-14¶
- [x] 2D 地图化重构
- [x] 围墙系统从自动→手动→砖块模式演进
- [x] 无限画布实现
- [x] 取消点击平移
- [x] 砖块持久化修复
03-15¶
- [x] 按 Agent 归属重构建筑与数据流
- [x] 10 轮自主迭代完成
- [x] 建筑网格化与精确对齐
- [x] 100% OpenClaw 功能覆盖审查
- [x] UX 可发现性重构
- [x] 功能从 SettingsPanel 拆分回各建筑