librime
librime copied to clipboard
[計劃]重新設計一個更加簡練、開放、易於擴展的內核
在下居戎氏。爲改進 Rime 的架構,增益其所不能,提出以下目標。
改進的內核:
- 組件的調度、生存期管理(調度者也可實現爲組件)
- 支持一套基礎數據結構,用於組件之間共享數據
- 按照一套簡單的規則運轉,驅動引擎
配置組件:具體實現應該是可替換的。最終都將配置以內核數據提供給其他組件閱讀。編譯/調試時可採用 YAML、TOML、JSON、CSON 等技術實現,運行時尤其在移動端應讀取可快速還原爲內核數據的二進制文件。
部署過程外圍化:組件(或其配套的部署工具組件)負責在自檢階段編譯其所需的資源。移動端可採取在電腦上(甚至服務器上)編譯、再將所得產品部署到移動端。部署工具成爲獨立的 PC 端應用,可縮減移動端的二進制大小、迴避在移動端部署的性能問題。
更開放的輸入形式:可由組件擴充可識別的輸入類型,以支持多種輸入介質。
全局化的按鍵映射:仿照編輯器的按鍵映射機制,由各個組件(或用戶配置)自由定義按鍵到動作(函數或函數對象)的綁定。
更開放的輸出形式:將前端關心的數據導出爲視圖,可由前端組件或其配套組件定義並添加到引擎。
以上是我提出的改進 Rime 的方向,@lotem @osfans 請多指教,一起推進這一計劃。
最近有什麼進展?
有没有进展