Fabric is a Node based creative coding and 3D content authoring environment written by Anton Marini.
Fabric uses Satin 3D engine Satin rendering engine written by @Reza Ali.
Please note Fabric is heavily under construction.
Fabric is inspired by Apple's deprecated Quartz Composer ecosystem, and its design philosophy.
Fabric and aims to
- Provide a Visual Node based content authoring environent
- Provide an SDK to load an common interchange format
- Provide an SDK to add nodes via a plugin architecture
Fabric is intended to be used as
- A Creative coding tool requires little to no programming experience.
- Pro User tool to create reusable documents (similar to Quartz Composer Compositions) that can be loaded in the Fabric runtime and embedded into 3rd party applications.
- Developer environment built on Satin that can render high fidelity visual output in a procedural way, using modern rendering techniques.
An early alpha of Satin rendering a instances of a sphere geometry, along with an HDRI environment and a PBR Shader at 120Hz:
Fabric supports, thanks to Satin, high fidelity modern rendering techniques including
- Physically based rendering
- Scene graph
- Lighting and Shadow casting
- Realtime shader editing (live coding, hot reloading)
- macOS 14 +
- XCode 15 +
- Checkout Fabric and ensure you check out with submodules enabled, as Satin is a dependency.
- Open the XCode project
- Ensure that Fabric Editoris the active target.
- Build and run.
Start by checking out our existing list of Nodes
User guide, examples and walk throughs coming soon (help wanted!)
Because Fabric is under heavy development, we do not provide a prebuilt binary just yet.
Checkout our Architecture Document
Checkout our Roadmap Document
I ( Anton Marini ) are looking to build a community of developers who long for the ease of use and interoperabilty of Quartz Composer, its ecosystem and plugin comminity.
If you are interested in contributing, please do not hesitate to reach out / comment in the git repository.
- 
Will Fabric ever be cross platform? - No. Fabric is purpose built on top of Satin and aims to provide a best in class Apple platform experience using Metal.
 
- 
What languages are used? - Fabric Editor is written in Swift and SwiftUI. Satin is written in Swift and C++
 
- 
Why not just use Vuo or Touch Designer or some other node based tool? - I do not like them.
- Don't get me wrong, they are incredible tools, but they are not for me.
- They do not think the way I think.
- They do not expose the layers of abstraction I want to work with.
- They do not provide the user experience I want.