Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

License

Fabric-Project/Fabric

Repository files navigation

Fabric

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:

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)

Requirements

  • macOS 14 +
  • XCode 15 +
  1. Checkout Fabric and ensure you check out with submodules enabled, as Satin is a dependency.
  2. Open the XCode project
  3. Ensure that Fabric Editor is the active target.
  4. Build and run.

Getting Started

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.

Architecture

Checkout our Architecture Document

Roadmap

Checkout our Roadmap Document

Community

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.

FAQ

  • 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.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •