跳至內容
dopejs
全部專案

doper

早期 —— 尚不可用於生產

從零設計的 Web Canvas 算繪引擎。

高效能 TSX 執行時,原生虛擬捲動,具確定性的 Rust/WASM Core 與版本化二進位 ABI,完整文字算繪與 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 proxy 降級),並包含可確定性重播的 IME 錄製。

探針只證明本機環境可用(開發伺服器會送出 COOP/COEP 標頭以啟用跨來源隔離),不代表正式部署已滿足這些條件。實機效能與真實輸入法行為屬於獨立的平台資格認證:在通過 `pnpm platform:qualify` 認證之前,專案不對外宣稱對應指標。

它做了什麼

  • 高效能 TSX 執行時,虛擬捲動是一等原語,而非上層附加實作。
  • 具確定性的 Rust/WASM Core,透過版本化二進位 ABI 對外暴露。
  • Canvas 原生文字編輯:EditContext 優先、集中式 textarea proxy 降級,並支援可確定性的 IME 錄製與重播。
  • 平台資格認證與里程碑完成明確脫鉤 —— 未認證的平台不做效能宣稱。

開始使用

環境需求: Node.js 22.12+、pnpm 10.33.2、Rust 1.96.0,並安裝 wasm32-unknown-unknown target。

從儲存庫原始碼執行平台探針

pnpm install --frozen-lockfile && pnpm m0:check && pnpm probe:dev