Project Graph 是用于头脑风暴、知识图谱和项目规划的桌面节点图工具。用户应能在大画布上流畅创建、阅读、连接和整理内容,工程文件可在本地可靠地打开与保存。当前应用以 React、Canvas 2D 和 Tauri 为基础;本文描述产品预期,不把现有实现等同于已验收功能。
| 用户 | 核心任务 | 关键体验 |
|---|---|---|
| 创作者、设计师 | 快速把想法组织为节点与连线 | 创建和编辑直观,选中态不遮挡内容 |
| 学习与教学用户 | 阅读、放大并讲解复杂知识图谱 | 文字清晰,缩放和平移可预测 |
| 开发与项目规划用户 | 管理较大、可持续编辑的工程 | 打开稳定,大工程操作保持响应 |
- 内容优先:装饰与动效服务于定位和反馈,不遮挡节点或文本。
- 输入可预测:同一次鼠标或触控板手势不得在缩放与平移之间跳变。
- 可恢复:主题、渲染或工程加载失败时仍应有可见界面和可理解的错误反馈,避免黑屏与无响应。
- 跨平台一致:功能以 Windows、macOS、Linux 桌面端为目标;具体差异须在验收记录中明确。
- 用户可以创建草稿、打开本地
.prg工程并继续编辑;失败时展示可见错误,不应出现只有窗口外框或菜单而画布消失的状态。 - 关闭并重新打开工程后,节点、连线、视野和必要的工程状态保持一致。
- 开发态热重载不能使界面永久卡死;若重载无法恢复,应提供明确的重新打开路径。
- 回归工程统一使用仓库根目录的
test.prg,测试不得修改原文件。
- 鼠标单滚轮默认以指针位置为中心缩放,不应上下拖动画布;现有可配置的修饰键行为保持有效。
- 触控板双指滑动平移画布;双指捏合缩放,并允许在捏合的同时平移。
- 连续滚动或手势惯性期间,输入模式保持稳定;拖动响应及时,不出现明显卡顿或反向跳动。
- 分别在实体鼠标、触控板及目标桌面平台上验收;浏览器合成事件不能代替设备测试。
- 默认暗色/亮色主题分别使用 Catppuccin Mocha / Latte,绿色强调色取自对应主题的绿色,而非跨主题固定色值。
- 切换主题时,新的主题从操作点以圆形向外扩散覆盖整个应用界面,使用平滑非线性动画;快速重复切换不闪黑、不残留旧主题。系统要求减少动画时直接完成切换。
- 背景板目标为 72% 透明度;实际桌面效果须连同窗口合成一起验收,而不只检查 CSS 或设置值。
- 画布背景使用点阵。X/Y 轴上的点比普通点略大、略亮,以体现坐标系;默认不绘制横纵网格线。
- 新建、编辑和选中节点时,外框应贴合节点边界,线宽克制;不得出现多余延伸、重叠粗框或挡住文字。
- 文本在常用及放大缩小的视野比例下保持可读;中文、英文、混排、emoji 和不支持的字形均不应变成方框、错位或空白。
- MSDF 可以作为清晰度方案,但必须有可用的字体与平台回退;不能以阻塞初始化或黑屏为代价。
- 使用
test.prg对画布拖动、滚轮缩放、触控板手势和主题切换进行实际交互回归。 - 优化前先记录目标设备、工程规模、帧时间与主线程阻塞,定位瓶颈;避免只根据静态截图判断“丝滑”。
- 性能阈值和支持设备基线在首次测量后确定,未测量前不宣称已达标。
- 初始化、文件加载、字体渲染及主题过渡的错误应反馈到可见界面;不能静默失败。
- 每项体验修复均保留可重复的验证步骤、目标平台与结果;类型检查通过不等于桌面交互验收通过。
- 本轮不新增节点类型、不更改
.prg文件格式,也不发布或迁移应用框架。 - A1 · mygo 评估:将 egoist/mygo 作为可能的桌面框架候选。先验证现有前端、窗口、文件、扩展与跨平台能力,并比较迁移成本和风险;是否迁移由原型与评审决定。执行清单见 TODO.md。