Thi.ng: 计算设计与艺术的开源构建模块
Thi.ng 是一个专为计算设计和艺术设计的开源构建模块集合。该项目提供了一套通用的、无依赖的模块,允许开发者和艺术家在不依赖沉重的外部框架的情况下实现复杂的几何和算法系统。
技术架构与实现
Thi.ng 主要以 monorepo 形式托管的一系列 TypeScript 模块集合来实现。这种架构选择强调了模块化并最大限度地减少了外部依赖,确保了库的轻量级和可移植性。
向 TypeScript 的转型
\n虽然该项目的早期迭代包括 Clojure 实现(例如 thi-ng/geom),但目前的开发重点是 TypeScript。这种转变使得库能够更容易地集成到现代基于 Web 的创意编程环境中,并为复杂的数学运算提供了更强的类型安全性。
实体组件系统 (ECS) 实现
该项目包含了一种对实体组件系统 (ECS) 模式的专门实现。这种实现侧重于底层的性能优化,使其适用于需要管理大量活跃实体的、高性能计算艺术和模拟场景。
社区见解与技术反馈
社区认可 thi.ng 的深度及其库设计的周密性,尽管一些用户指出它仍然是一个小众工具,主要用于作者自己的项目中。
性能与硬件兼容性
一些用户报告称,在特定硬件上与项目的视觉演示进行交互时存在显著的渲染问题。具体而言,使用 Chrome 浏览器和 MacBook M3 芯片的 macOS 用户在查看某些动画(如旋转立方体)时,报告了 GPU 故障和浏览器窗口不稳定。
开发者视角
开发者们强调了特定几何模块的实用性,一位用户表示:
thi-ng/geom 是我最喜欢的 Clojure 项目。
其他贡献者指出,Codeberg 上的项目 monorepo 是探索这些通用模块的主要来源。