# roadmap
orber prototype の進捗管理。詳細な議論は GitHub Issue で行い、ここでは状態だけ反映する。
## prototype 完成までの順路
ローカル Rust バイナリ単体で「写真 → orb 動画」が出力できるところまでを prototype と定義する。
| 順 | テーマ | 状態 |
|---|---|---|
| 0 | リポジトリ scaffold | ✅ 完了 |
| 1 | CLI 引数定義(入力 / 出力 / パラメータ) | ✅ 完了 |
| 2 | 入力画像から色クラスタ抽出 | ✅ 完了 |
| 3 | orb(円形ぼかし)静的描画 → PNG | ✅ 完了 |
| 4 | orb のゆったり移動アニメーション | ✅ 完了 |
| 5 | 縦長動画出力(連番 PNG → ffmpeg) | ✅ 完了(mp4 / webm を CLI から生成可能) |
| 6 | SVG / CSS 静的書き出し | ✅ 完了(svg / css を CLI から生成可能) |
| 7 | 動画入力対応(ffmpeg でフレーム抽出) | ⏳ Issue |
| 8 | にじみ処理を `src/aquarelle/` に隔離 | ⏳ Issue |
prototype はここまで。順番は前後してよいが、3 までは早めに通して「何かしら出力が見える」状態を作る。
## 将来 Issue(prototype 後)
- WASM ビルド + Web フロント(SvelteKit / Solid どちらにするか含めて検討)
- aquarelle を独立 crate に切り出し(blueprinter と共有)
- crates.io 公開(バイナリと crate)
- 宣伝記事(Zenn / X / Reddit)
## 公開準備
- [x] GitHub Releases workflow(tag `v*` で Linux/macOS/Windows artifact を生成)
- [x] CHANGELOG.md 作成
- [x] `v0.2.0` リリース(背景色 / motion / variations / aquarelle / range validation)
- [x] `v0.3.0` リリース(#41: motion を一方通行コンベアベルトに刷新、direction × speed × count × orb_size × blur の 5 軸で variations を再構築。色軸は廃止し入力画像の kmeans 結果をそのまま使う。blur / opacity を独立呼吸軸に追加。OrbStyle Rim / Soft をフレーム内に混在。`--count` CLI を追加。各 orb に整数倍速度 multiplier 1x/2x を seed 由来で割当て、wrap 周期を [-r, 1+r] に拡張して画面外で orb が出入りするようにした。MotionSpeed は VerySlow / Slow の 2 段に絞り、最高速側を 2 重にカット)
- [ ] `cargo publish`
## 関連リポジトリ
- [blueprinter](https://github.com/kako-jun/blueprinter) — 同じ aquarelle 連携を予定する手書き風 SVG レンダラー