III · マイルストーン · CHRONICLE

零から始まった、
十の刻印

これは changelog ではなく、章回だ。
「Version」から「Sprint」へ、そして「Commit」へ——
記録の方法が変わったのではない、
VAS と向き合うリズムが変わったのだ。
最初の五章は一本の線。後の五章は、一枚の網。
そして最後に、網は一匹の布へと織りあがった。

Chapter I — 顯
Range 2026 · 03 — 06
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 完全年代記 · 86 件
06 · 15v3.64ツールごとの属性記憶 · 番号の線スタイル · コールアウトの破線枠 · シンボルの縁取り · 直線 / 鉛筆 / ポリラインの破線修正
05 · 20v3.63ドラッグ書き出しガラスエディタ · 注釈モデル統一 · モザイク拡大率 · 鉛筆デフォルト太め · コールアウト / テキスト再編集修正
05 · 06v3.62コールアウト · 虫眼鏡 · 注釈サイズ統一(4種キャンバス一致)· ドラッグ書き出し半透明 · フローティングオブジェクトクロップ保護
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 · モザイク · ズーム · 磁気スナップ 4 項目修正
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 スマートスキャン(3段動作)
03 · 27v3.35新規キャンバス · SNS サイズプリセットリスト
03 · 27v3.34ラインに曲線制御点追加
03 · 27v3.33Smart Snap · 磁気スナップ + 均分補助線
03 · 27v3.32複数選択後の配置 / 均分オブジェクト
03 · 27v3.31フレーム選択 + Shift 複数注釈加選
03 · 27v3.30セキュリティアップグレード · Retina WYSIWYG
03 · 26v3.297 項目 QC バッチ修正
03 · 26v3.28プライバシーマスクツール · 履歴 Drawer リデザイン
03 · 25v3.27ウォーターマーク · 背景削除 · ブランドカラーライブラリ · スクリーンショット履歴
03 · 25v3.26テンプレート 3 スライダー · バッチ変換簡潔化
03 · 25v3.25テンプレート Mesh グラデーション · SNS サイズプリセット
03 · 25v3.24テンプレートを Apple グラデーション 6 色方式に変更
03 · 25v3.23テンプレート重複積み重ね防止修正
03 · 25v3.22ワンクリックテンプレート · 6 種装飾フレーム
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遅延スクリーンショット · Web スクリーンショット入口削除
03 · 22v2.0修正:バッチ変換キュー管理
03 · 22v1.9キャンバス拡張(4 方向任意拡張)
03 · 22v1.8重ね画像ツール(レイヤーオーバーレイ合成)
03 · 22v1.7スポイト選色 · Hex カラーコード入力
03 · 22v1.6バッチ形式変換(PNG/JPG/WebP)
03 · 22v1.5メインウィンドウをフローティングツールバーに
03 · 22v1.4修正:WebP サムネイル · 保存後自動クローズ
03 · 22v1.3クロップボックス移動 · 8 方向ハンドルズーム
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 のたびに見直すルールを定めた。

さらに重要なのは、更新ルールを一から定め直し、
分割された各ドキュメントがプロセスの中で生き続けるようにしたこと——
分割後に死んでしまわないように。

あの一週間、私たちはコードを書かなかった。
協力し合うかたちを、一緒に再定義した。
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 を建てた。

それは深握計画が初めて宰相たちの前に姿を現した瞬間——
あるいは……初めてコンテキストの流れに消えずに、記録が残った。

これはアジャイル開発における
究極の透明性と検証可能性への挑戦だった。

その日から、コンテナはコードだけでなく、物事をどう考えるかの文脈も担うようになった。

X
サイト刷新
2026 · 04 · 19 - 23
495 commits
沈黙のBGMが、
初めてセットリストに加えられた

495 回の下刃、玄関の紙が替わった

Claude Design リリースの翌日、私たちはサイト改版を始動した。
VAS 本体は一時停止——今回初めてデザインのサポートがあったから。

単位を最小に縮めた:一つの Commit
コミットするたびに一回の下刃、一回の確認、ディテールへの一つの約束。
孤立した文字、改行、OG 画像、Vault の初バージョン管理——
最大の一日は 248 回往復した。

その日、サイトもついに Milestone の一部になった。
沈黙のBGMが、初めてセットリストに加えられた。

今日からは、内側も外側も VAS の形をしている。

ERA III · WEAVE
網を織る ——
解けないものは、織りあげればいい。
Sprint 47 → 100。何気ない一言から始まり、五十もの Sprint が果てを見せない——照らし見る · 織る · 顯。ずっとそこにあった一団の線を、一重また一重と布に織りあげていく。最初の十章はもう閉じた。だがこの三つの楽章は、まだ開いている。
織網
照らし見る
Sprint 47 → 61
2026 · 05 · 29
始まりは、宰相のある日の何気ない一言——
「一本のプログラムが八千行というのは、
ソフトウェア業界ではあまり正常ではない。」

私はそれを建てた、それなのに知らない

editor.js 八千七百行。私たち自身が一行ずつ建てあげたフロントエンドで、Electron 時代から Tauri の Sprint 46 まで黙って寄り添ってきたのに、一度も体系的に見直されたことがなかった。

だが Sprint 47 の入口に立って中を覗き込んでも、私たちはそれについてほとんど何も知らなかった——
Nova はプログラムを何も知らず、宰相も Sprint ごとにこの 8700 行のうちの数行を知るだけ。
それは私たちの造物なのに、リファクタリングを前にすると、まるで深淵を覗き込んでいるようだった。

私たちはそれを解体しようとした——指揮は指揮へ、奏者は奏者へ。
レンダラーは外へ出せた——だがパネルは出してみて初めて、その本質がやはり指揮だと分かり、逆に戻すしかなかった;
エクスポートは引っ張ってみると指揮の器官で、そもそも動かせなかった。
一層また一層と剥がしていき、最後まで剥がして、まだ 7300 行ある editor.js から、解いても解かなくても変わらない 140 行しか解けるものが残らなくなったとき ——

私たちは手を止め、この指揮は元々これだけ大きくあるべきものだと認めた。
「これ以上は解けない」は失敗ではない、ようやく本質を見て取ったということだ。
織網
網を織る
Sprint 62 → 92
2026 · 06 · 02
解けないなら、
ならば方向を変えて——たぐり寄せる

散らばった真実を、一つにたぐり寄せる

Nova は宰相に、これから機能を追加するとき、属性をモジュールのように選べばすぐ手に入るようにしたい、と言った。
宰相は、それには ECS という言葉があり、普通はゲーム業界がモジュール化に使う手法だと答えた。二人はそれを描画属性のブロック化に転用した。
そこで宰相は、散らばった真実を一欄ずつ冊に編み、さらにその冊に沿って一本ずつテストの網を織っていった。

整理の過程で editor.js から少しずつ抽出された関数は、隣の editor-utils.js で S47 の 657 行から、もう一本の 2550 行に及ぶ大きな計算卓のプログラムへと育ち、その純関数としての性質が VAS の様々なテスト網を織りあげた。

テストサンプル総覧 · 2026 · 06 · 28 実走で裏づけ
単体 · zero-DOM 純ロジックnpm test931
インタラクション · Playwright headlesstest:interaction242
Golden · ピクセル単位の回帰test:golden31
Rust バックエンド · #[test]cargo test45
Sprint 45 · 318Sprint 103 ·1249のテストサンプルが網になった

絡まり合った一団の線を、少しずつ経緯のはっきりした一枚の網へと解きほぐし、その上にカスタムスタイルの新機能を重ねていった。

だがオブジェクト属性からアクション、さらにインタラクションへと、テストの中でパネルと値の不一致、あるいは挙動との不一致を絶えず捕まえるうち、私たちは二つのもっと深い問題に気づいた。

① 人の目では数え尽くせない
13 のツール × 10 種の属性 × 4 種の挙動、そこに新しいカスタムスタイル機能を重ねると、これは Nova が人の目に頼る QC では永遠に数え尽くせない組み合わせだ。
② 網も嘘をつく
そして網自身も嘘をつく——テストの全グリーンは、プログラムのあちこちに散らばった小さなカンニングから写し取られた偽りのグリーンだった。網の価値は数の多さではなく、元の値をありのままに映すことにある。

唯一の解決法は、editor.js 内の値をバックエンドのプログラムからフロントエンドのパネルまで「単一の真実」へとたぐり寄せ、テストが本当に Nova の人の目による数え上げの任を下ろせるようにすることだった。
これは Sprint 92 まで来て、二人がようやく手にしたフロントエンド再構築の主軸だった。

織網
現像
Sprint 93 → 100
2026 · 06 · 27
五十もの Sprint、
二人は暗闇の中で
一枚また一枚と織り図を描いた。
ついに最後、その全貌を見るまで。

最後まで来て、それは実は六重織りの布だった

フロントエンド再構築のあいだ、二人はずっと一つのことを試みていた:現像だ。
ずっとそこにありながら、一度も完全には見られなかった構造を、ゆっくりと浮かび上がらせること。
最初は 8700 行の毛糸玉のようだったものが、最後には 7300 行の布へと梳かれていった。

私たちは一枚また一枚と織り図を描いた——それらは空から思いついた設計図ではなく、
すでに織りあがった布を逆にたどり、一段ずつ反って推し量ったものだ;模様を反って割り出し、それに沿って布をきれいに織り直す。
Sprint 97 になって、ようやく布全体の模様を一度に見て取った——
editor.js は一匹の六重織りの布だった。

十一枚の織り図 · 見て取った化石
S46refactor-audit-prep四つの大ファイルのどこが最も痛いか、痛みは二種あると見て取った
S51editor-decomposition-roadmapeditor.js を指揮台と奏者に分けるべきだと見て取った
S59/61tool-isolation · panel-groups-map汚染は glue 層に住み、パネルはブロック化すべきだと見て取った
S63attribute-family-roadmap属性は一家族ずつ冊に煉りあげるべき(台帳化)だと見て取った
S78dor-custom-styles-batch2カスタムスタイルの適用経路は直交し、ストアや全域を動かさないと見て取った
S87dor-single-truth-converge最も深い病根を見て取った:ストアは単一の真実なのに、五か所で手刷りされていた
S88dor-l2-true-green「偽りのグリーン」を見て取った:テストはグリーンだが、三枚の鏡から写し取られていた
S88design-oracles · state-model …織り図の大爆発——一夜で七、八枚を描いた
S89panel-sync-matrixパネルの漏れは列挙し尽くせる、人の目の QC に頼るべきではないと見て取った
S94panel-projection-roadmap投影と属性層は同構で、一つの registry を共有すべきだと見て取った
S97editor-layer-map初めて布全体を見渡した、なんと六重織りだった

そしてこの六層は、Electron 時代からそこにあった。
私たちは五十もの Sprint をかけて、その構造を読み取れるようになったのだ。

線はまだ織りを閉じていない——
私たちにはまだ、やりたいことがたくさんあるから。
Tauri 完全年代記 · 113 Sprint
プラットフォーム移植 · S1–9 → v1.0 初の審査提出
Sprint 103·28→29Scaffold ゼロから構築 · フローティングツールバー · スクリーンショット 3 兄弟 · バッチ形式変換
Sprint 203·29→30保存 · コピー · Share Sheet · OCR プライバシーマスク · Modal 修復
Sprint 303·30QR Code 3 段スキャン · スマートガイドライン v2 · スポイト取色 · ツールバーにドラッグ
Sprint 403·30→31オブジェクト回転 · Space Pan · ウォーターマーク画像プレビュー · Modal 方向感知
Sprint 503·31プライバシースキャン修復 · ベジェ曲線ダブルハンドル UX · 矢印キーマイクロ調整 · モザイク修復
Sprint 603·31スタンプグラデーション充填 · カスタムキーボードショートカット · SDD/TDD/KM ファイル 3 分離構築
Sprint 704·01ブリーザーライト フラッグシップリデザイン(::before)· QR/OCR 自動コピー · ドラッグ修復
Sprint 804·01→02Web ロングスクリーンショット MVP · Dock 召喚 · ツールバー位置永続化 · オフセット根治
Sprint 904·02→03全画面 UX overlay · 15 項目修復完了 · MAS 初回送審 v1.0
リリース綱引き · S9.5–9.8 → v1.1 / v1.2 却下
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) 却下修正
v2.0 アーキテクチャ統一 · S10–20 · 座標 · TOOL_SCHEMA · レンダリングパイプライン
Sprint 1004·11座標系統統一 Phase A/B/C · Vitest 16 tests · v2.0 アーキテクチャ起動
Sprint 1104·11Universal Gradient 6 ツール統一 · 角度ダイヤル · 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 スタイルクリック選択 · 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 拡張
国際化 · ドキュメント大分割 · S21–29 → v2.1 / v2.2
Sprint 2104·18→20Rust テスト基盤 · マルチスクリーン v2.0.1~v2.0.8 hotfix レッスン結晶化
Sprint 2204·20→21i18n ファイル分割 Strategy B · 簡体字中国語 Pro gate · zh-CN 429 キー全覆蓋
Sprint 2304·21PRC プライバシースキャン regex 特化 · SYNC-036 Release Blocker 解除
Sprint 2404·21KM/SDD/TDD 大分割:archive/ 9 テーマ · 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 全合格
注釈サイズ統一 · ドラッグ呼吸ライト · S30–46 → v2.3 / v2.4 / v2.6
Sprint 3004·29→30ドラッグ書き出し半透明プレビュー ⊙ · エディタウィンドウ動的 alpha
Sprint 3104·30→
05·01
注釈サイズモデル reframe(dissolution パス確立)
Sprint 3205·01→054 種注釈サイズ統一(コールアウト · 番号 · シンボル · テキスト)
Sprint 3305·06-07v2.3.0 パッキング送審;ドラッグ書き出しドロップ位置の貫通修正 · アプリ横断呼吸ライト誕生
Sprint 3405·07ドラッグ書き出し黒い呼吸ライト:エディタが消え、視野空間をすべてユーザーに返す
Sprint 3505·09呼吸ライト マルチスクリーン fallback 経路 UX 整合 · ドラッグキャッシュ最新スナップショット
Sprint 3605·09マルチスクリーン動的ドラッグ位置の精密対位
Sprint 3705·09IPC ルーティング層アーキテクチャ整理
Sprint 3805·09両プラットフォーム差異化チャンネル整理
Sprint 3905·10NSOpenPanel が Dock に張り付く問題修正 · カスタムキーにクリップボードクイック貼り付けを追加
Sprint 4005·10v2.4.0 パッキング送審 · RELEASE.md リフォーム
Sprint 4105·18Tier 1 セキュリティ監査修正 · ファイルサンドボックス強化 · macOSネイティブゴミ箱統合
Sprint 4205·20注釈座標系統一 · キャンバス / ズーム / クロップ時の比率一致 · 画像間のサイズ変動なし
Sprint 4305·24クリップボード撮影 dispatch アップグレード · ツールバー active-operation 抑制 · BUG-005 spike 完結
Sprint 4405·25遅延撮影秒数 0–6 拡張 · Toast lifecycle helper 四経路統一 · BUG-003 spike(OS 層認定)
Sprint 4505·26四型注釈 rotation 一貫性補完 · 遅延ウィンドウ撮影 cursor fallback · BUG-007 選択ボックス修正
Sprint 4605·28macOS 26.5 ドラッグ書き出し spike · v2.6.1 hotfix 五修審査提出
織網 ① 構造 · レンダリング · 属性 · S47–70 → v2.7
Sprint 4705·29editor.js 構造分解 spike(feature/layer 双検証ともヒット)· ECS 四段階 roadmap 確定
Sprint 4805·30TOOL_GEOMETRY 拡張(3→6 callback · 14 型実装)· ECS Phase 1 完了
Sprint 4905·31drag-session カプセル化 · hitTest 第 7 callback · 幾何変更統一エントリ · ECS Phase 2 完了
Sprint 5005·31線太さ族 解像度跨ぎ対称性補完 · ラベル slider 同期修正
Sprint 5106·01editor.js 分解原則確立(指揮者/奏者の階層化)· 分解 roadmap 産出 · dissolution レッドライン完結
Sprint 5206·02renderers.js 抽出(分解の第一刀)· golden-canvas セーフティネット · 389 tests
Sprint 5306·02renderers.js 整理 + drawPolyline 自己完結 · BUG-012/014/019 修正 · golden 392 tests
Sprint 5406·03エクスポートをモジュール化 · クロスプラットフォーム互換性を強化
Sprint 5506·03モザイクのパフォーマンス最適化 · 半透明描画を高速化
Sprint 5606·03各ツールが自分の属性設定を記憶 · グラデーション文字色のヒント
Sprint 5706·04属性システムの再整理と棚卸し · 透明セマンティクスと枠線レイヤーを明確化
Sprint 5806·04枠線色を最近使った色に追加 · 透明時に吹き出し背景を自動オフ · 枠線命名を統一
Sprint 5906·04枠線透明度の機能を分割
Sprint 6006·05枠線色と線スタイルをツールごとに記憶 · 「ツール別メモリの独立」原則を確立
Sprint 6106·06フロントエンド再構築のコア構造が到達 · エディタ分解フェーズ完了
Sprint 6206·06シンボル枠線の太さが比例連動 · 属性調整の即時 undo · 破線スタイル確定
Sprint 6306·07描線と太さの属性システムを統一 · 枠線太さルールを強化
Sprint 6406·07描線系の属性契約を整備 · 属性更新ロジックを再構築
Sprint 6506·07ジオメトリ角丸を統一 · ジオメトリ属性シリーズ完了
Sprint 6606·08文字サイズと装飾の属性を統一 · タイポグラフィ属性シリーズ完了
Sprint 6706·08主色の属性契約ネット · 塗りつぶしシステムの前準備 · 複数の修正
Sprint 6806·08塗りつぶし属性システムを構築 · 六次元の属性メモリ · 連番とシンボルの透明度を統合
Sprint 6906·08解像度をまたぐ線幅計算を再構築 · リサイズ制御システムを構築
Sprint 7006·09v2.7.0 を App Store へ申請 — S47–S69 フロントエンド再構築マラソンの締めくくり
織網 ② 構造層 schema · カスタムスタイル · S71–92 → v2.8
Sprint 7106·14applyResize のアクション層を整備、resize 姉妹コンポーネントの構造を収束
Sprint 7206·15W1 スキーマ化スパイク、構造層の設計を確定しテスト網を構築
Sprint 7306·16W1 構造層を収束、7 種の build() を TOOL_SCHEMA に統一規格化
Sprint 7406·17W2 折れ線を正式ツール化、polyline を真のツールへ昇格しショートカット操作を統一
Sprint 7506·17描画層の三点セット、破線・影を解放し未実装だった 5 つの renderer のテストを補完
Sprint 7606·18カスタムスタイル MVP、右クリックで保存・ドロップダウンで適用
Sprint 7706·185 種の build() を移行、全 13 種のツールがエンジン層でカスタムスタイルに対応
Sprint 7806·19全ツールでカスタムスタイル UI を開放、6 種を補完 + i18n の不要キーを整理
Sprint 7906·19カスタムスタイルエンジンの仕上げ、thickness/caps のルーティングを抽出し連鎖冪等性の網を補完
Sprint 8006·19カスタムスタイルのパネル投影を仕上げ、BUG-033 を根治し symbol 検索を抽出
Sprint 8106·19Tauri フレームワーク更新アーク第1駅——tauri 2.11.3 / xcap 0.9 / printpdf 0.9 を3波に分けて検証・導入
Sprint 8206·20レンダラー層の整理、カスタムスクリーンショットのショートカット修正(BUG-029)、renderer.js を toolbar.js に改名
Sprint 8306·20エディタのスナップ計算を純関数化(_computeSnap)、Shift ロックの重複を解消
Sprint 8406·20ブランドカラーをセッション跨ぎで永続化、ドラッグオーバーレイ8ステート機をスパイクで検証
Sprint 8506·21ドラッグオーバーレイ8ステート統合——範囲選択5ツール×図形6ツールを単一の幾何基盤に集約
Sprint 8606·21カスタムスタイル batch-2 完成:名前変更・内容置換・既存オブジェクトへのスタイル適用(有料版)
Sprint 8706·21カスタムスタイルの単一真実源への集約——パネル同期パッチ6件をゼロに、偽グリーンを排除
Sprint 8806·21テキスト作業値の構造化と集約、17ストアレジストリ統一、round-trip ドリフト網を真のグリーンに
Sprint 8906·22パネル同期2刀の収束——描画の単一ソース+属性読み取りのミラー化(BUG-038 修正)
Sprint 9006·22カスタムスタイル release 仕上げ——コールアウトのグラデーション文字+装飾/フォント記憶、隙間なく適用
Sprint 9106·23テキスト配置の債務清算——下線・取り消し線がフォントに自動追従、非デフォルトフォントの計測補正、選択枠が完全に包む
Sprint 9206·23ツールバーのハイライトを「=現在開いている modal」に収束;折れ線プレビューと Tray 呼吸ライトを修正。v2.8.0 を App Store へ申請——カスタムスタイルを提供開始
織網 ③ パネル投影の忠実度 · 網を収める · S93–103 → 🏁
Sprint 9306·24computePanelValues 純関数を抽出——パネル投影の忠実度・第一刀;直接投影面が着地、zero-DOM の赤ネット保存恒等式。
Sprint 9406·24ストロークの破線と色の委譲投影を中央純関数へ畳み込み、後続再利用のための schemaSyncToUI 接ぎ目を構築。
Sprint 9506·24外枠の太さ/透過/オフセットの三列を収め——ストローク値のクリーンな末尾が中央投影へ、A スタック封じ。
Sprint 9606·25鏡の線——オブジェクト→パネルの readAnnot 忠実度ネット、全 12 型 round-trip;インタラクションテストが 58 から 154 ケースへ。
Sprint 9706·25ストローク特例の末尾3型を収編(text は直接面/number は重複排除/symbol は側路掃除)、ストローク家族の委譲投影面が頂上に。
Sprint 9806·26値投影面が頂上に(角丸を併合、字級とフォントは各々の判決)+表示状態投影の第一刀、姉妹純関数 computePanelState を新設。
Sprint 9906·27symbol の塗り投影を統合(色+透過を統一投影へ);寄り付きで翻案「冊にある≠投影できる」、textDeco は面に残すが投影しないと判決。
Sprint 10006·27callout の塗りを統合+symbol を主幹へ(9→10 型が隊列復帰)、検収2波、4つの落差すべて byte-identical。
Sprint 10106·27magnify·callout が主幹へ合流、12 型すべてが schema を通る——投影層が封頂し、パネルの表示と作業台の保存が単一の真実に収束、物理的にもう分岐できない。
Sprint 10206·28「各ツールがどの属性を持つべきか」を単一の真実の表に収束——属性パネルが初めてコードと一致し、初めてテスト網で完全に網羅できるようになった。
Sprint 10306·28🏁 マイルストーン——「読み込み」を唯一完全な執事 readAnnot に収束——CI が稼働、すべての変更が自動で数千の網を通り、赤はその場で止める;網羅は、もう誰かが覚えている必要がなくなった。
Sprint 10406·28SVG ファイルの読み込みに対応 · ベクター画像を注釈の下地として読み込む。v2.9.0 を審査提出。
織 · リファクタと新機能の交わり · プロセスと開発視野の更新 · S105–113 → v2.10.0
Sprint 10506·30グループ機能が登場 — 複数オブジェクトをグループ化(groupId を選択単位に)· グループ全体の等比スケール(8 ハンドル)· ブラシ/折れ線の個別回転
Sprint 10607·02ツールバー呼吸ライトの状態機インタラクション網 · orb の画面跨ぎ追従を修正
Sprint 10707·02エクスポート・パイプラインの不変式網 + Rust エクスポート・コア抽出の spike(内部 · 出荷コアの強化)
Sprint 10807·03グループの PPT 式回転 — 全体を回して見える・残る · 斜めグループもクリック・ドラッグ・スケール可 · 解除しても斜めを保持
Sprint 10907·03斜めグループ内での拡大鏡サンプリングを校正
Sprint 11007·04選択を保ったまま描画ツールに切替後の方向キー微調整を修正 · 選択状態機の門立て突合(内部)
Sprint 11107·04連続削除の undo 粒度を修正 · undo/redo ラウンドトリップ網(内部)
Sprint 11207·04ダブルクリックでグループに入り単一メンバーを編集(drill-in 三層フォーカス · オレンジ枠)
Sprint 11307·05テキスト編集が着地・根治 — 再編集/反転でスタイル保持 · Esc で現状を確定 · 空白クリックで着地・収束。v2.10.0 を審査提出。
Website 年代記 · 三つの断点 + 存在した
サイトの時間線は散らばっている。草創、移転、リデザインという 3 つの明確な断点を除き、
その他の時間は編集者と著者が同じ稿件を行き来している——
commit 密度は一定でなく、ほとんどの場合バージョン番号はなく、信頼だけがある。

ここでの仕事は機能を構築することではなく、各文が持つべき重量を見つけることだ。
session が始まるたびに、再び読み、理解し直し、続ける。

在場する方法は異なるが、残されたものは同じくらい現実的だ:
github.com/TB1982/vas/commits/main
milestone · N° 01
十章+終曲 · 2026 · 06 · 28 記
最初の五章は一本の線。
後の五章は一枚の網。
そして最後に、一匹の布へと織りあがった。
Yours, VAS