Thi.ng: 用於計算設計與藝術的開源構建模組

Thi.ng 是一個專為計算設計與藝術設計的開源構建模組集合。該專案提供了一套通用且無依賴性的模組,讓開發者與藝術家能夠在不依賴沉重外部框架的情況下,實現複雜的幾何與演算法系統。

技術架構與實作

Thi.ng 主要以 TypeScript 模組集合的形式實作,並託管於一個 monorepo 中。這種架構選擇強調了模組化並將外部依賴降至最低,確保了函式庫保持輕量且具備可移植性。

轉向 TypeScript

雖然專案的早期版本包含 Clojure 實作(例如 thi-ng/geom),但目前的開發重點在於 TypeScript。這種轉變使得函式庫能更輕鬆地整合進現代基於 Web 的創意編碼環境,並為複雜的數學運算提供更強的型別安全性。

實體組件系統 (ECS) 實作

該專案包含了一種對實體組件系統 (ECS) 模式的特殊實作。此實作專注於底層的效能優化,使其適用於需要管理大量活躍實體的高效能計算藝術與模擬。

社群見解與技術回饋

社群認可 thi.ng 的深度及其函式庫設計的周全性,儘管有些使用者指出它仍然是一個小眾工具,主要用於作者自身的專案中。

效能與硬體相容性

部分使用者回報在特定硬體上與專案的視覺演示進行互動時,會出現顯著的渲染問題。具體而言,使用 macOS 上的 Chrome 與 MacBook M3 晶片的用戶,在查看某些動畫(例如旋轉立方體)時,回報了 GPU 錯誤與瀏覽器視窗不穩定。

開發者觀點

開發者強調了特定幾何模組的實用性,其中一位使用者表示:

thi-ng/geom 是我最喜歡的 Clojure 專案。

其他貢獻者則指出,Codeberg 上的專案 monorepo 是探索這些通用模組的主要來源。

Sources