MooTool

Handy tool set for developers

View on GitHub

验收与进度记录

1. 当前状态与证据规则

2026-09-09:P0/P1 待验收;P2 JSON 本地 Vault/历史/草稿已接通;P3 已开始 F13 编码解码。 证据:docs/evidence/2026-09-09-p0/p3/。Git 与 1440/1080 截图仍未完成。

状态:未开始开发中待验收通过受阻。每项附平台范围;无法访问某平台可写受阻/未测,不能让本机通过自动代表三平台。通过要求链接到实际代码、fixture/命令、结果及必要截图。

阶段 状态 证据/待完成
P0 工程与高风险验证 待验收 app-image 与算法见 P0 证据。./mvnw -Pui-tests test 完成同一 Node 50 次分离/收回。JS/Java regex 差异样本见 P3。剩余:桌面 IME 候选窗、视觉截图、protoc/Crypto 样本、Windows/Linux 包
P1 应用壳与设计系统 待验收 26 入口、6 分组、搜索、最近、248/84 导航、11 类设置框架、modern 浅/深与强调色。1440×920/1080×720 成对截图未拍
P2 JSON完整纵向流程 待验收 本地 Vault、历史恢复、草稿重启见 docs/evidence/2026-09-09-p2/。Git/冲突/自定义 Vault 路径待 P6
P3 本地文本/数值工具 开发中 F13 编码解码、F15 正则核心已接通,见 docs/evidence/2026-09-09-p3/。其余 F02/F03/F06/F12/F16/F18/F21/F22 仍未开始
P4 二进制/媒体 未开始 Protobuf/Crypto/QR/图片/PDF实产物
P5 网络/系统 未开始 网络服务、权限、多屏、托盘/防休眠
P6 复杂工作区 未开始 随手记/Git/附件/运行/全设置与风格
P7 分发与共存 未开始 三平台包、恢复/更新/共存、性能、许可

2. 逐项汇总

F04/F22/F23等跨阶段条目,完成核心也只填“开发中”或“核心待验收”,全部子能力有结论才更新整体状态。

ID Tool ID / 能力 阶段 状态
F00 mootool / 首页 P1 开发中
F01 quickNote / 随手记 P6 未开始
F02 textDiff / 文本对比 P3 未开始
F03 reformat / 格式化 P3 未开始
F04 json / JSON与Vault P2、P6 开发中
F05 java / 四种代码环境 P6 未开始
F06 ymlProperties / 配置转换 P3 未开始
F07 protobuf P4 未开始
F08 variables / 环境变量 P5 未开始
F09 http / 请求与集合 P5 未开始
F10 host / hosts方案 P5 未开始
F11 net / 网络IP P5 未开始
F12 uaParse / UA分析 P3 未开始
F13 encode / 编码解码 P3 开发中
F14 crypto / 加解密与随机 P4 未开始
F15 regex / 正则 P3 开发中
F16 cron P3 未开始
F17 qrCode / 二维码 P4 未开始
F18 timeConvert / 时间与时钟 P3 未开始
F19 messageBoard / 本地展示牌 P5 未开始
F20 translation / 翻译与单词本 P5 未开始
F21 calculator / 计算器 P3 未开始
F22 colorBoard / 颜色与屏幕取色 P3、P5 未开始
F23 image / 图片与截图 P4、P5 未开始
F24 pdf P4 未开始
F25 hardware / 系统信息 P5 未开始
A01 11类设置/三语言/六风格 P1–P6 开发中
A02 搜索/历史/收藏 P1–P3 开发中
A03 窗口/数据/平台/Git/备份/更新 P0–P7 开发中

3. 检查命令契约

下面命令已在 P0 建立。macOS x64 app-imageverify-package.sh 本机 exit 0。Windows 打包入口存在但本机未跑。./mvnw -Pui-tests test 本机已跑过窗口转移;尚无 TestFX 页面用例。

命令(在next-fx执行) 期望含义 首次建立阶段
./mvnw -version 校验Wrapper/JDK/架构 P0
./mvnw clean verify 编译、单元、服务集成及质量检查,不触碰真实用户数据 P0起
./mvnw javafx:run 启动dev身份应用、独立dev数据 P0
./mvnw -Pui-tests verify 真实显示环境的FX交互测试 P0起
./scripts/package.sh --type app-image 本机runtime+app-image;脚本先实现参数/错误处理 P0
pwsh ./scripts/package.ps1 -Type app-image Windows等价入口 P0
./scripts/package.sh --type dmg 对应本机安装包;不跨OS调用 P7
./scripts/verify-package.sh <产物路径> 身份/版本/模块/架构/hash检查与启动smoke P0起
pwsh ./scripts/verify-package.ps1 -Path <产物路径> Windows等价验证入口 P0起

profile内测试有失败必须非零退出;缺显示服务/外部依赖应明确报告,不通过skip全部UI测试制造绿色。LinuxCI可用xvfb-run -a ./mvnw -Pui-tests verify(依赖先配置),真实IME和系统权限另测。

4. 核心场景

Case 操作 应通过的结果
E01 输入法 JSON/随手记中文候选、日文、emoji、组合字符、字体切换 不重复/漏字、候选定位正确,composition中不被自动保存打断
E02 列编辑 20行含短行/Tab/emoji矩形粘贴→undo→redo 行列语义明确,一次事务一次撤销;全文不被意外重置
E03 窗口转移 编辑/选区/滚动→分离→收回→切页→undo 内容/选项/选区/滚动/undo保留,同工具仅一份可写会话
E04 窗口状态 两工具独立运行→关一个→主窗隐藏/恢复→Quit 关闭工具收回,无隐藏孤儿进程;Quit停止任务并保存
E05 JSON无损 大整数/小数/重复key/非法行列/复杂JSONPath 不先转double丢精度;重复key可报;路径过滤是真计算
E06 异步覆盖 先发慢任务A,再改内容发B,A最后返回 UI仍显示B对应结果;关闭后无事件写入已销毁视图
E07 文档冲突 本地dirty后外部改写,再保存 比较/另存/明确覆盖选择,不无提示丢任一方内容
E08 附件 连续图片粘贴、移动文档、导出、取消/磁盘满 顺序正确、相对引用可解析、失败无假引用/损坏原件
E09 HTTP 受控server核对重复query/body/cookie/重定向/10MiB/取消 请求语义匹配、4xx/5xx可查看、超限可解释、无粘贴命令执行
E10 Regex 零长匹配、命名组、Unicode、灾难性回溯 匹配不死循环、Java差异明确、worker超时可终止
E11 Cron/时间 6/7字段、闰年、year、IANA时区、DST缺失/重复时间 结果真实、边界可解释,错误不自动变成成功
E12 Crypto Electron样本↔FX,SM2/RSA签验,对称固定字节 跨实现可消费,模式/编码/key限制准确;随机密文不比字面值
E13 Protobuf 新粘贴schema、nested/map/oneof/int64/bytes/import/坏wire 无需重新编译应用,动态往返,非法schema/数据报具体错误
E14 图片/QR/PDF 透明图水印/压缩/SVG,QR往返,PDF拆并/自定义顺序 真实图像和path;QR可识别;PDF页数/文本/顺序正确
E15 代码运行 四环境42、argv/中文路径、无限循环、派生子进程 环境实际执行,输出限额、停止整棵进程、切窗不重复运行
E16 系统能力 VM hosts应用/恢复、环境变量新进程读取、拒绝授权 作用域准确,失败无写坏文件,不在宿主机隐式提权
E17 多屏与演示 DPI不同双屏/负坐标、截图/取色/演示退出 像素与坐标正确,拒绝权限不产假成功,防休眠最终释放
E18 设置/备份 11类有效字段→重启→备份→恢复;中途失败 设置实际生效;一致快照,恢复失败完整回滚
E19 Git 两副本制造冲突,pull/继续/中止,自动checkpoint 无丢稿/无默认push/无强制reset,本地编辑不依赖联网
E20 产品共存 多产品安装→各写数据→升级→卸载→反向测试 本产品以外身份/配置/DB/凭据/更新不变
E21 离线与无Java 清空PATH中系统Java/Node,在干净用户启动安装包 主应用/离线工具可用;可选运行环境缺失只影响相应工具
E22 可访问性 键盘完成搜索/编辑/运行/保存,读屏/主题/字号 焦点可见、不跳走、标签和结果可读;记录各平台限制
E23 独立构建 将next-fx复制到不含相邻产品的干净路径,使用自有Wrapper构建 依赖解析/编译/测试/资源打包成功,不回溯仓库根源码或产物

这些不是只检查页面是否存在的smoke:每Case需具体数据、预期、断言/截图。单元测试不能替代真实多窗口、IME、系统权限;联网服务mock不能代替一次注明日期的实际服务验证。

5. 性能预算

以下为P0/P7起始目标,非已有测量。基准机约4核/16GB/SSD、发行app-image、dev工具关闭;记录OS/CPU/内存/JavaFX渲染后端/输入大小。不能拿Electron开发模式与FX发行模式作结论。

场景 建议目标 测量方式
冷启动可交互 ≤3s 进程启动至首页/导航接受输入,10次记录median/p95
已打开工具切换 p95≤100ms 30次切换至首帧可操作,保持文档状态
编辑器普通输入 p95≤50ms,不连续冻结>200ms 1MiB文档输入/粘贴/滚动和FX pulse/JFR
3MiB JSON格式化 ≤2s或始终有可取消忙态并记录偏差 固定fixture,不能降低正确性换速度
5MiB随手记 可打开/编辑/保存,无静默截断 记录打开/保存时延和最大内存
空闲首页 CPU趋近0,无持续无意义轮询 稳定30s后采样60s,记录环境噪声
内存 首页RSS建议≤300MiB;超过需剖析/说明 不只看Java heap;WebView/native也计入
生命周期泄漏 50次开关/转移后无持续增长趋势 heap/线程/handle/订阅基线对比,不能仅强制GC一次下结论
取消 点击后UI≤100ms响应;任务终止通常≤2s 单独记录协作取消与worker强杀结果

不达目标先定位:无界任务、重复parser、全量setText、缩略图未释放、监听器未注销等。可以基于有证据的产品决定调整阈值,但不能直接删除失败行。

6. 平台与发行矩阵

平台 构建/app-image IME/窗口/主题 系统能力/权限 安装/升级/卸载共存 当前
macOS arm64 待测 待测 待测 待测 未开始
macOS x64 app-image 本机构建并通过 verify;PATH 精简后进程可启动(仍有 /usr/bin/java stub) 代码有浅/深主题与分离收回;IME/50 次转移/截图未测 待测 待测 构建通过,交互待验收
Windows x64 脚本占位,未构建 待测 待测 待测 未开始
Linux x64 X11 待测 待测 待测 待测 未开始
Linux x64 Wayland/兼容运行层 待测并注明实际后端 待测 portal/托盘重点 待测 未开始

平台最低版本按实际锁定依赖验证,发布页只承诺已测范围。不支持的能力需给出产品内说明/替代路径;关键功能缺失依然是差异,不得把整平台全功能标通过。

7. 证据、差异和续接模板

每轮建 docs/evidence/YYYY-MM-DD-pN/,内含environment.md(含源/FX commit和相关工作树diff)、results.md、parity.md、screenshots/和必要产物摘要。敏感用户正文/凭据不入库,fixtures用合成样本。状态行链接到具体证据,记录测试命令、exit code、日期、平台、未测项。

Case ID / Fxx子项:
源产品、版本、源码位置、基线commit:
输入、选项、前置状态:
源观察 / FX期望:
比较方法(文本、bytes、AST、跨实现消费、真实交互):
实际结果与命令/测试/截图路径:
OS/arch/DPI/语言/主题:
状态 / FX-Dxxx / 未测部分:

差异编号模板:FX-D001,类型为视觉改进/技术等价/行为修正/平台限制/延期;写源行为、本版行为、用户影响、原因、验证和后续处理。延期不是已完成,平台限制也要有能力检测及用户可理解反馈。

结束每轮时写清下一轮应从哪个具体未完成子项开始;避免重复搭壳、重选已通过技术路线或直接跳到发布。可以复制提示词,见 Cursor提示词

2026-09-09 下一轮: 继续 P3 下一个本地工具(建议 F16 Cron 或 F18 时间),或补 1440/1080 截图。正则独立 worker 进程仍未做。不要把其余 PLACEHOLDER 做成假页面。不要重建工程。