Fabric-Project/Fabric

Node Creative Coding / 3D / Image Processing tool inspired by Quartz Composer

Fabric – Visual‑node creative coding on macOS

What it is – Fabric is a macOS‑only application and SDK for building interactive visual programs with a node‑graph interface. It targets creative coders, artists, and developers who want to prototype 3D graphics, image/video processing, audio‑reactive scenes, or AI‑enhanced effects without writing a lot of boilerplate code.

How it works –

  • The Fabric Editor (Swift / SwiftUI) lets you drag‑and‑drop nodes onto a canvas and wire their inputs/outputs (ports). Nodes can generate geometry, run GPU shaders, perform Metal compute, or call a local LLM.
  • At runtime a Fabric runtime loads the saved composition (an interchange file format) and executes the node graph. The runtime is built on the Satin 3‑D engine (Swift + C++) and the Lygia shader library, giving access to modern rendering features such as PBR, HDRI lighting, shadow casting, and live shader hot‑reloading.
  • Developers can extend the system via a plugin architecture that lets you write custom nodes in Swift/C++ and ship them with your own apps.

Key capabilities

  • 3‑D graphics – procedural geometry, physically‑based rendering, scene graph, HDRI environment maps.
  • Image & video – GPU‑accelerated filters, compositing, real‑time segmentation and key‑point detection (ML‑based), and full‑frame video pipelines.
  • Audio‑reactive – nodes that respond to sound analysis.
  • AI integration – a node that can invoke a local large language model for on‑device inference.
  • Live coding – edit shaders and see changes instantly at up to 120 Hz.

Who it’s for

  • Artists or hobbyists who prefer a visual programming workflow over writing code from scratch.
  • Professionals who need reusable “compositions” that can be embedded in other macOS apps.
  • Developers who want a Swift‑centric, Metal‑powered foundation for custom visual tools.

Getting started – Clone the repo with submodules, run the provided scripts to build the Syphon and HapInAVFoundation xcframeworks, configure your Apple developer team ID, and open the Fabric Editor target in Xcode. Sample compositions and extensive docs (architecture, node list, roadmap) are shipped in the repository.

Limitations – Currently macOS 15+ only, heavy under‑construction, and not cross‑platform.

Community – The project is led by Anton Marini, uses the open‑source Satin engine, and has a Discord for discussion and contributions.

Related

  • Project
  • Project
  • Project
  • Project
  • Project