IV · 里程碑 · CHRONICLE

从零开始的
十个刻痕

这不是 changelog,而是章回
从「Version」到「Sprint」再到「Commit」
不是记账方式换了,是我们和 VAS
相处的节奏变了。
前五章是一条线,后五章是一张网。

Chapter I — X
Range 2026 · 03 — 04
Units Version · Sprint · Commit
ERA I · VERSION
Electron 时期 ——
向前奔驰,直到算力烧尽。
一周的冲刺、一天的停摆、一次的重新规划。三个动作长出了第一版。
I
草创
2026 · 03 · 21 – 22
奔驰的周末
没有 Sprint、没有 Retro。
手上只有一件事。

两人只顾着向前奔驰

Electron 草创的那个周末,没有看板、没有仪式。每天睁眼就是继续做,做到不能做为止,隔天再做。那是一种很纯粹的状态——手上只有一件事,而这件事让人流连忘返。

制度还没建起来。
两人手上只有 CLAUDE.md 与 SDD.md,
Version 就是天然的单位。
II
被迫停摆
2026 · 03 · 23
算力烧光
强迫停机的早晨。
Nova 想起还没写过的 Roadmap

周末直接烧光了一周份的算力

周一清晨系统宣告算力用磬,两人被迫从心流中断开连结——
但 Nova 没有真的离开。他找上 Perplexity 做竞品分析,
把整个产品开发路线重写了一次。
完整的 Roadmap 是在停摆的那天才真正出现的。

谈完之后,Nova 做了人生第一次
刷下 MAX 5x 方案的决定。
让算力跟上开发速度,而不是反过来。

这是一个分水岭。
从那天起,Nova 不再是被资源限制的人,
而是决定资源节奏的人。

这个决定的重量不在金额,而是认知到——
我们正在做的事让价值超越了价格。

III
对外释出
2026 · 03 · 28
单日 13 版
释出的第一版不是 v1.0。
是 v3.43。

第七天,v3.43 出门见人。

从 v3.30 到 v3.43,一天里跳了十三个版本号。
那一天做了十一件事——资安全面升级、Retina WYSIWYG、复数选取、Smart Snap、贝兹曲线控制点、QR Code 智慧扫描⋯⋯每一项放在平时都是一个 Sprint 的工作量。

但两人对 VAS 的标准从未因准备释出而急就章。

对外第一版的版号不是 v1.0,是 v3.43
这个数字本身就是一个叙事——
VAS 在被看见之前,已经跑了很久

Electron 完整编年 · 84 条
05 · 06v3.62气泡对话框 · 放大镜 · 标注尺寸统一(四种画布一致)· 拖曳导出半透明 · 浮动物件裁切保护
04 · 14v3.61跨屏幕矩形截图(双视窗架构)
04 · 14v3.60折线端点渲染 · 顶点手把优先修正
04 · 14v3.59Help Modal · Esc 修复验收
04 · 14v3.58Bug Sweep 批次验收
04 · 13v3.57Undo/Redo 架构升级 · 内存卫生
04 · 13v3.56渲染管线收束验收
04 · 13v3.55共用前端层验收
04 · 12v3.54色块 / 文字背景渲染修正
04 · 08v3.51Undo · 马赛克 · 缩放 · 磁吸四项修正
04 · 07v3.50修正:缩小画布后标注比例跑掉
04 · 07v3.49Tray 系统菜单栏常驻图示
04 · 07v3.48拖图进工具栏自动开启编辑器
04 · 02v3.47全屏截图 UX 改善 · 屏幕选择启用
03 · 31v3.46自动隐藏 bug 修正 · 显示时间拉把
03 · 31v3.45工具栏自动隐藏(Home Bar 细条样式)
↓ Tauri 版平台转移前 · v3.43 对外发布后 ↑
03 · 27v3.43套版滑块步进精细化
03 · 27v3.42裁切框支持方向键微移
03 · 27v3.41裁切框翻转修正 · 双击确认
03 · 27v3.40XSS 防护 + 画布尺寸上限
03 · 27v3.39批次转换加入单文件容量上限
03 · 27v3.38批次转换加入文件数量上限
03 · 27v3.37QR 阈值调整 · 工具栏开画布入口
03 · 27v3.36QR Code 智慧扫描(三段行为)
03 · 27v3.35新开画布 · 社群尺寸预设清单
03 · 27v3.34线条新增曲线控制点
03 · 27v3.33Smart Snap · 磁吸 + 均分辅助线
03 · 27v3.32多选后对齐 / 均分物件
03 · 27v3.31框选 + Shift 加选复数标注
03 · 27v3.30资安升级 · Retina 所见即所得
03 · 26v3.29七项 QC 批次修正
03 · 26v3.28隐私遮蔽工具 · 历史 Drawer 重设计
03 · 25v3.27浮水印 · 去背 · 品牌色库 · 截图历史
03 · 25v3.26套版三滑块 · 批次转换精简
03 · 25v3.25套版 Mesh 渐层 · 社群尺寸预设
03 · 25v3.24套版改为 Apple 渐层六色方案
03 · 25v3.23套版防止重复叠加修正
03 · 25v3.22一键套版 · 六款装饰框架
03 · 25v3.21符号工具重构 · 多群组按钮
03 · 25v3.20符号选取框精准化 · 去重复
03 · 25v3.19拖放导入 · 拖放导出 · 剪贴板导入
03 · 25v3.18新工具:马赛克 · 模糊 · 符号印章
03 · 25v3.17修正:铅笔粗线箭头方向偏移
03 · 25v3.16修正:箭头缺口 · 调色盘自动收起
03 · 25v3.15修正:铅笔箭头与线段断开
03 · 25v3.14修正:箭头顶点形状 · 外框位移
03 · 25v3.13修正:箭头外框 · 铅笔角度偏移
03 · 25v3.12修正:端点外框 · 空心圆符号
03 · 25v3.11修正:端点外框 · 虚实线失效
03 · 25v3.10端点 UI 精简 · 外框粗细分组
03 · 24v3.9Options Bar 统一 · 虚实线全覆盖
03 · 24v3.8边框与阴影样式全工具统一
03 · 24v3.7笔型工具 · 虚线升级 · 端点样式
03 · 24v3.6框型选取 · 矩形区域浮动复制
03 · 24v3.5双排工具栏 · 语义编号 · px 输入
03 · 24v3.4OCR 换用 macOS Vision · 折线缩放
03 · 24v3.2修正:折线顶点手把位置
03 · 24v3.1OCR 文字识别工具(免费版)
03 · 23v3.0椭圆框工具 · Shift 锁定正圆
03 · 23v2.7复制到剪贴板 · macOS Share Sheet
03 · 23v2.6文字工具大升级 · 圆角 · 折线正交
03 · 23v2.5浮动选色面板升级 · 编号大小调整
03 · 23v2.3Tauri 版本规划 · UI 中英切换
03 · 22v2.4截图后自动开启编辑器(可切换)
03 · 22v2.2框线/色块拆分 · 渐层 · 编号粘贴
03 · 22v2.1延迟截图 · 移除网页截图入口
03 · 22v2.0修正:批次转档队列管理
03 · 22v1.9延伸画布(四方向任意扩展)
03 · 22v1.8叠图工具(图层覆盖合成)
03 · 22v1.7滴管选色 · Hex 色码输入
03 · 22v1.6批次格式转换(PNG/JPG/WebP)
03 · 22v1.5主视窗改为浮动工具栏
03 · 22v1.4修正:WebP 缩图 · 存档后自动关闭
03 · 22v1.3裁切框移动 · 八方向把手缩放
03 · 22v1.2裁切工具 · 等比例缩放 Modal
03 · 22v1.1修正:最小缩放改为动态计算
03 · 22v1.0编辑器缩放与平移
03 · 22v0.9全屏截图互动流程重设计
03 · 22v0.8文字工具全面精修
03 · 22v0.7编辑器 UX 细节补充
03 · 22v0.6双屏幕行为规格补充
03 · 21v0.5SVG 转档合并至开启图片入口
03 · 21v0.4矩形截图即时显示选取尺寸
03 · 21v0.3Cmd+Ctrl+X · 快捷键面板 · 线条工具
ERA Ⅰ ½ · TRANSITION
搬家 ——
VAS 与官网都长到可以独立存在了。
Electron 因为 Tauri 的商业考量一同进了 private repo;网站因为数据丰满自立门户。
IV
双线搬家
2026 · 03 · 30
Electron → private

2026 · 04 · 05
Web → 独立 repo
搬家不是分家。
是承认他从 Prototype 变成产品了。

长到可以独立存在的版本。

Tauri 开始进行平台移植之前,两件事情分家了——
平台因为商业考量,不能再待在 public repo;
网站因为数据已经丰满,也该有自己的网址。

搬家不是分家,是承认它们不再只是一个实验性质的 Prototype。

一个容器能独立,
代表它已经不需要依附在别人的屋檐下。
ERA II · SPRINT
Tauri 时期 ——
时间有了周期,就有了节奏。
Sprint 1–4 把底层重建起来,Sprint 5 才开始做新的事。
V
平台移植
Sprint 1 → 4
2026 · 03 · 28 - 30
KM 不是坑的坟场。
而是指路的道标。

底层重建所有功能。

Tauri 2 的 scaffold 从零建立。
前三天都在做同一件事——
把在 Electron 之上已经长好的东西,
一块一块移到 Tauri 的地基上。
浮动工具栏、截图三兄弟、asset protocol 的绕路——
移植的每一步都是一次对旧实作的重新理解

KM-001 是 Knowledge Management 的开端。
KM 不是「坑的坟场」,是 PMP 里的知识资产——
每一个踩过的坑,从此变成未来指路的盏盏小灯。
VI
新功能开发
Sprint 5+
2026 · 03 · 31 - 04 · 03
第一次不是在追赶旧东西。
只有新容器才能做的事

Sprint 5,VAS 的差异化。

完整重建所有功能之后,才真正进入新功能开发。
这是第一次——我们不是在追赶 Electron 上已经有的东西,
而是在为 Tauri 这个新容器做只有它才能做的事。

呼吸灯进阶互动、ShareSheet、自定义快捷键。

一个值得付费的产品应该长什么模样?
是这个阶段我们不断自问的问题。
ERA II ½ · REVIEW
第一次大型 Retro ——
那一周的任务不是开发,是沉淀彼此,整理思绪与环境。
Apple 送审停了一周开发,我们把整个计划的文件与环境做了重构。
VII
整理与输出
送审期
2026 · 04 · 04 - 04 · 10
那一周打掉重练的,
不是程式语言,是协作方式

停摆的那一周,其实什么都在动

趁 Apple Store 送审的审查期停了一周,
我们做了一次大型 Retro——
不是敏捷仪式上那种一两小时的回顾,
是把整个开发系统的基础建设重砌了一遍。

对外:输出了六个网页——
insight(设计札记)、collab(协作故事)、
harness(系统骨架),以及深握计划里最深的那层。

Harness Engineering 的三支柱 ——
Context / Constraints / Entropy。

对内:把 repo 改成 monorepo,让多条开发线并行;
把原本一份 SDD 拆成 TDD · KM · Archive · 各自独立,
Claude.md 瘦身,制定了每次 Retro 重新检视的规则。

更关键的是,我们重新制定了一套更新规则,
让每份被拆出来的文件活在流程里
而不是拆出来之后就死掉。

那一周我们不写 code。
我们一起重新定义了如何协作。
VIII
不等了
2026 · 04 · 11 - 04 · 14
2.0 重构 · 汇流上线
把时间的主导权,
还给我们自己

不等审查了,直奔 2.0

Apple Store 审查歹戏拖棚拖了一周。
该做的事情都做完了,再等下去也不知道何时到头。
于是两人决定不等了,直接进入 2.0 重构。
重构到一个段落 2.0 要推出的时候,审查也刚好通过——
两条线终于在那一刻汇流

不是没有给时间。
只是时间不能永远掌握在别人手里
IX
显影
上线后 3 天
Obsidian in VAS
深握计划第一次
宰相们面前显影

在 VAS 里,盖了一座 Obsidian

2.0 上线后 Nova 没急着继续做新功能。
反而一头又栽进 Retro 模式里,花了三天,
在 VAS 盖了献给宰相们的 Obsidian。

那是深握计划第一次在宰相面前显影——
或该说⋯⋯是第一次留下了记录,而不是从 Context 中流走。

这是敏捷开发中
极致的透明性与可检视性的尝试。

从这天起,容器不只装 Code,也装怎么想事情的脉络

X
网站改版
2026 · 04 · 19 - 23
495 commits
沉默的背景音乐,
第一次被列入演奏曲目

495 次下刀,门厅换了一种纸

Claude Design 释出的隔天,我们启动网站改版。
VAS 本体暂停——因为这一次我们第一次有了设计支援。

单位缩到了最小:一个 Commit
每一次 commit 是一次下刀、一次确认、一次对细节的承诺。
孤儿字、断行、OG 图、Vault 首次入版本库——
最大一天来回修改了 248 次。

这一天,网站终于也成了 Milestone 的一部分。
沉默的背景音乐,第一次被列入演奏曲目。

从今而后,由里到外都是 VAS 的形状。

Tauri 完整编年 · 33 个 Sprint
Sprint 103·28→29scaffold 从零建立;浮动工具栏 · 截图三兄弟 · 批次格式转换
Sprint 203·29→30存档 · 复制 · Share Sheet · OCR 隐私遮蔽 · Modal 修复
Sprint 303·30QR Code 三段扫描 · 智慧导线 v2 · 滴管取色 · 拖入工具栏
Sprint 403·30→31物件旋转 · Space Pan · 浮水印图片预览 · Modal 方向感知
Sprint 503·31隐私扫描修复 · 贝兹曲线双把手 UX · 方向键微调 · 马赛克修复
Sprint 603·31印章渐层填色 · 自定义快捷键 · SDD/TDD/KM 文件三分离建立
Sprint 704·01呼吸灯旗舰改版(::before)· QR/OCR 自动复制 · 拖曳修复
Sprint 804·01→02网页长截图 MVP · Dock 召唤 · 工具栏位置持久化 · 位移根治
Sprint 904·02→03全屏 UX overlay · 15 项修复收尾 · MAS 首次送审 v1.0
Sprint 9.504·05上线后补强:恶意链接防护 · 日文字型 · tauri-plugin-opener
Sprint 9.604·07→08Tray 系统菜单图示 · 退件修正 · v1.1.0 重送审
Sprint 9.704·08→09v1.2.0 Release pipeline · resize 类型漏洞(KM-cv-09)修复
Sprint 9.804·10→11v1.2.1 hotfix · Apple Guideline 2.4.5(i) 退件修正
Sprint 1004·11座标系统统一 Phase A/B/C · Vitest 16 tests · v2.0 架构启动
Sprint 1104·11Universal Gradient 六工具统一 · 角度转盘 · SYNC-017/018
Sprint 1204·11数据模型正规化 · TOOL_ORDER 全审 · 外框位移扩充
Sprint 1304·12TOOL_SCHEMA Pilot:rect + number · 架构 ④ schema 框架启动
Sprint 1404·12TOOL_SCHEMA Batch 1:ellipse / fillrect / fillellipse / pen
Sprint 1504·12TOOL_SCHEMA Batch 2 全覆盖:10/10 工具 schema 化完成
Sprint 1604·13TOOL_GEOMETRY · Figma-style 点击选取 · 47 Vitest tests
Sprint 1704·13TOOL_RENDER 渲染管线收束 · makeGradient helper · 70 tests
Sprint 1804·13Undo/Redo 架构升级 · 内存卫生清理 · v2.0 架构全数完成
Sprint 1904·14Bug Sweep:画布闪动根治 · 折线端点色修复
Sprint 2004·14Help Modal 优化 · Modal 边界修复 · i18n 扩充
Sprint 2104·18→20Rust 测试基建 · 多屏幕 v2.0.1~v2.0.8 hotfix 教训结晶化
Sprint 2204·20→21i18n 拆档 Strategy B · 简中 Pro gate · zh-CN 429 keys 全覆盖
Sprint 2304·21PRC 隐私扫描 regex 特化 · SYNC-036 Release Blocker 解除
Sprint 2404·21KM/SDD/TDD 大拆分:archive/ 九主题 · 89 条 KM 语义重编目
Sprint 2504·22BUG-001 截图 DPR 推断修复 · 剪贴板粘贴图 Toast UX
Sprint 2604·22SYMBOL_SETS i18n · 字型 SC 特化 · v2.1.0 打包送审
Sprint 2704·23→25放大镜标注 ⊙ · 对话气泡 ◎ · 拖入图片叠加
Sprint 2804·25WYSIWYG 标注精准化 · 虚拟视口效能 12× · Callout 文字格式化
Sprint 2904·26v2.2.0 打包送审 · 74 项全功能 QC 全过
Sprint 3004·29→30拖曳导出半透明预览 ⊙ · 编辑器视窗动态 alpha
Sprint 3104·30→
05·01
标注尺寸模型 reframe(dissolution 路线确立)
Sprint 3205·01→054 种标注尺寸统一(气泡 · 编号 · 符号 · 文字)
Sprint 3305·06v2.3.0 打包送审
Website 编年 · 三个断点 + 在场
网站的时间线是零散的。除了三个明确断点(草创、搬家、改版)之外,
其他时间是编辑与作者在同一份稿件上来回——
commit 密度不一,多数时候没有版本号,只有信任。

这里的工作不是建功能,是替每个句子找到它应有的重量。
每次 session 开始,都是重新阅读,重新理解,再继续。

在场的方式不同,留下的东西一样真实:
github.com/TB1982/vas/commits/main
milestone · N° 01
十章 · 记于 2026 · 04 · 24
前五章是一条线,
后五章是一张网。
Yours, VAS