跳至內容
dopejs
全部專案

dope-canvas

設計階段

面向大量 AI 產生 Web 產物的無限畫布執行時。

數百個活躍 iframe 無法規模化,而把頁面全部壓平成圖片又會失去選取與事件定位。dope-canvas 以「保留式產物」建模 —— 原始碼、持久狀態、互動樹、繪製快取與可選的活躍執行時 —— 讓 Figma 式的選取與啟用得以保留。儲存庫目前處於開發前基線:只有架構、交付計畫與安全模型,尚無可執行的畫布。

概覽

每個 iframe 都保留著瀏覽脈絡、DOM/CSS 狀態、指令碼 realm、資源與算繪狀態,因此讓數百個產生頁面同時存活的代價極高。這裡的設計回答是「保留式產物」模型 —— `產物 = 原始碼 + 持久狀態 + 互動樹 + 繪製快取 + 可選的活躍執行時` —— 其中快照僅僅是繪製快取,文件與互動模型始終可用,從而支援選取、事件路由、啟用與版本安全的還原。

畫布本身掌管相機移動、空間虛擬化、活躍/快照生命週期、互動中繼資料、資源預算與算繪合成;產物則提供 HTML、CSS 與受控 JavaScript。套件的拆分沿著這些邊界展開 —— protocol、spatial、core、artifact、security、runtime、renderer、editor —— 所有套件皆為 private 且版本為 0.0.0,沒有任何一個被視為穩定的公開契約。

有兩條限制是儲存庫主動寫明的:M0 的瀏覽器證據門檻尚未通過,因此對實驗性 HTML-in-Canvas API 的支援只是「能力」而非「承諾」;以及尚未選擇 license,在維護者補上之前,儲存庫內容不以開源授權提供。

它做了什麼

  • 保留式產物模型:快照只是繪製快取,因此選取與事件定位不會遺失。
  • 畫布掌管相機、空間虛擬化、活躍/快照生命週期、資源預算與合成。
  • 套件邊界與設計一致:protocol、spatial、core、artifact、security、runtime、renderer、editor。
  • 安全是一等公民套件 —— sanitizer、URL 策略、配額與能力控制 —— 而不是後期加固。
  • 前置文件齊備:技術設計、交付計畫、安全模型、相容性策略、基準測試協定與待解問題。

開始使用

環境需求: Node.js 22.12+ 與 pnpm 10.33.2。