Thi.ng: Open-Source Building Blocks for Computational Design and Art

Thi.ng is a collection of open-source building blocks for computational design and art, providing a suite of general-purpose, dependency-free modules. The project focuses on providing the foundational mathematical and geometric tools necessary for creating complex generative art and computational design systems.

Architecture and Technical Implementation

Thi.ng is primarily implemented as a collection of TypeScript modules hosted in a central monorepo. The project emphasizes a dependency-free approach, ensuring that the libraries remain lightweight and portable across different environments.

Transition to TypeScript

While earlier iterations of the project included Clojure implementations (such as thi-ng/geom), current development has shifted toward TypeScript. This transition allows the libraries to be more easily integrated into modern web-based creative coding workflows and leverages the static typing of TypeScript for better maintainability of complex mathematical operations.

Entity Component System (ECS) Implementation

Within the project's source code, Thi.ng includes a specialized take on the Entity Component System (ECS) pattern. This implementation focuses on internal optimizations to handle high-performance data processing, which is critical for computational art and real-time simulations.

Project Ecosystem and Accessibility

The project is hosted on Codeberg, specifically within the umbrella monorepo, which serves as the central hub for the various modules.

Community Reception and Feedback

Technical users have highlighted the depth and thoughtfulness of the library design, though some have noted that the project has historically seen limited traction outside of the author's own projects.

"The love and care and thoughtfulness of every library has always been so great to explore."

Reported Technical Issues

Users have reported specific rendering and stability issues when interacting with the Thi.ng website, particularly on macOS and iOS:

  • GPU Glitching: Users on MacBook M3 hardware using Chrome on macOS reported severe GPU bugs and browser window glitching when viewing specific 3D animations (such as spinning cubes) on the site.
  • Mobile UX: Reports indicate that pinch-zooming on iOS can erroneously trigger a full page reload, impacting accessibility.

Key Capabilities

Thi.ng provides tools for several core areas of computational design:

  • Geometry Processing: High-performance modules for handling geometric data.
  • Generative Art: Building blocks for creating algorithmic visual art.
  • Data Visualization: The project utilizes advanced visualization techniques, including a monorepo heat map visualization used to represent the project's own structure.

Sources