doper
初期段階 — 本番利用は不可ゼロから設計した Web Canvas レンダリングエンジン。
高性能な TSX ランタイム、ネイティブの仮想スクロール、バージョン管理されたバイナリ ABI の背後にある決定論的な Rust/WASM コア、本格的なテキスト描画と Canvas ネイティブの編集機能。マイルストーン M0–M3 は完了し、次の M4 で編集・イベント・ヒットテスト・アクセシビリティの主系統が入ります。
概要
doper はまだプロダクトにそのまま組み込めるレンダリングエンジンではなく、リポジトリ自身がそう明記しています。P0/M0 から M3 までが完了し、次の段階が M4 — 編集、イベント、ヒットテスト、アクセシビリティの連鎖です。技術判断は `docs/design.md`、実装順と通過条件は `docs/plan.md` が基準になります。
現在動くのは `apps/platform-probe` で、デモではなく計測用のスライスです。Worker の rAF フレーム間隔、SharedArrayBuffer 経由のメインスレッドから Worker への遅延、メインスレッドが 200ms ブロックされている間の Worker の自走、Canvas2D と scroll-copy のスループット、WASM のサイズと読み込みコスト、そして Canvas の編集入力経路(EditContext を優先し、集中管理された textarea プロキシにフォールバック)を記録します。決定論的に再生できる IME の録画も含みます。
プローブが示すのはローカル環境が成立することだけです(開発サーバーはクロスオリジン分離のため COOP/COEP ヘッダーを送ります)。本番配備がその条件を満たすことの証明ではありません。実機性能と実際の IME 挙動は別途「プラットフォーム認定」として扱われ、`pnpm platform:qualify` で認定されるまで、その数値を主張しません。
できること
- 仮想スクロールをアドオンではなく第一級のプリミティブとして備えた、高性能な TSX ランタイム。
- バージョン管理されたバイナリ ABI の背後にある、決定論的な Rust/WASM コア。
- Canvas ネイティブのテキスト編集:EditContext 優先、集中管理された textarea プロキシへのフォールバック、決定論的な IME の記録と再生。
- プラットフォーム認定はマイルストーン完了と明確に切り離されており、未認定の環境では性能を主張しません。
使い始める
動作要件: Node.js 22.12+、pnpm 10.33.2、Rust 1.96.0(wasm32-unknown-unknown ターゲット付き)。
リポジトリのチェックアウトからプローブを実行
pnpm install --frozen-lockfile && pnpm m0:check && pnpm probe:dev