Thi.ng: コンピューテーショナルデザインとアートのためのオープンソース・ビルディングブロック

Thi.ngは、コンピューテーショナルデザインとアートのために設計されたオープンソースのビルディングブロックのコレクションです。このプロジェクトは、開発者やアーティストが重い外部フレームワークに依存することなく、複雑な幾何学的およびアルゴリズム的なシステムを実装できるようにする、汎用的な依存関係のないモジュールのスイートを提供します。

技術アーキテクチャと実装

Thi.ngは、主にモノレポでホストされているTypeScriptモジュールのコレクションとして実装されています。このアーキテクチャの選択は、モジュール性を強調し、外部依存関係を最小限に抑えることで、ライブラリが軽量でポータブルであることを保証します。

TypeScriptへの移行

プロジェクトの初期の反復にはClojureの実装(thi-ng/geomなど)が含まれていましたが、現在の開発はTypeScriptに焦点を当てています。この移行により、ライブラリを現代的なウェブベースのクリエイティブコーディング環境に統合しやすくなり、複雑な数学的演算に対してより強力な型安全性を提供します。

エンティティ・コンポーネント・システム (ECS) の実装

このプロジェクトには、エンティティ・コンポーネント・システム (ECS) パターンの特化したアプローチが含まれています。この実装は、内部でのパフォーマンス最適化に焦点を当てており、大量の有効なエンティティの管理が必要とされる、高性能なコンピューテーショナルアートやシミュレーションに適しています。

コミュニティの洞察と技術的フィードバック

コミュニティは、thi.ngの深さとライブラリ設計の思慮深さを認めていますが、一部のユーザーは、それが主に作者自身のプロジェクトで使用されるニッチなツールにとどまっていると指摘しています。

パフォーマンスとハードウェアの互換性

一部のユーザーは、特定のハードウェアでプロジェクトの視覚的なデモンストレーションを操作する際に、重大なレンダリングの問題を報告しています。具体的には、macOSでChromeを使用し、MacBook M3チップを使用しているユーザーは、回転する立方体などの特定のアニメーションを表示する際に、GPUのグリッチやブラウザウィンドウの不安定さを報告しています。

開発者の視点

開発者は、特定の幾何学モジュール、特にその有用性を強調しています。あるユーザーは次のように述べています:

thi-ng/geom は私の最もお好きなClojureプロジェクトです。

他の貢献者は、Codeberg上のプロジェクトのモノレポを、これらの汎用モジュールを探索するための主要なソースとして指摘しています。

Sources