Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

storytold/materialcraft

Media & Design

Node-based procedural PBR material designer in pure Rust that runs on desktop and the web.

110
36
Rust
Apache-2.0
1 day old

What it is

MaterialCraft is a node-based procedural material designer written in pure Rust. You build tileable PBR materials from noises, patterns, filters and other nodes, and the node graph updates in a 2D canvas and on a 3D model. The finished maps export to engines as PNG, JPEG, TGA, TIFF, BMP, WEBP, EXR or HDR at 8, 16 or 32 bits. It targets material and texture artists, 3D generalists and technical artists who want a reproducible procedural workflow rather than photo-based texturing.

The same codebase produces desktop builds for macOS, Windows, Linux and FreeBSD and a WebAssembly browser build. Every menu action is also a command usable from the CLI, a JSON control channel and an MCP server, so external agents can operate the graph the way a user would. Materials can be sent to its companion TextureCraft as portable .mcmat packages.

Quick start

You need Rust 1.95 or newer. From a clone of the repository:

git clone https://github.com/storytold/materialcraft
cd materialcraft
cargo run --release -p materialcraft

The desktop app opens with the brick wall sample. Use File ▸ New ▸ Graph... to start from a PBR template or one of the bundled sample materials. Space opens the node search.

To work on the command line instead:

cargo run --release -p materialcraft-cli -- new wood wood.mcraft
cargo run --release -p materialcraft-cli -- render wood.mcraft wood.png --scene sphere --full --hq
cargo run --release -p materialcraft-cli -- export wood.mcraft textures --format png --depth 16

For the browser build, run trunk serve from apps/materialcraft-web. Prebuilt installers for every platform are available from the MaterialCraft download page or the latest GitHub release. To let Claude Code or another agent drive the tool, register the MCP server:

claude mcp add materialcraft -- /path/to/materialcraft-cli mcp --read-root /work/materials --write-root /work/materials

The control protocol is documented in docs/control-protocol.md.

Constraints and status

The project is under active development. The README's status section from 2026-11-02 estimates roughly two thirds of a material artist's daily workflow works end to end; the remaining node library, a GPU 3D view with tessellation and lights, mesh-based nodes and translations are still missing. The first signed release is also listed as pending, so treat the downloadable builds as development output. The CLI's export supports setting graph inputs with --set name=value, and run can emit .mcmat packages for TextureCraft.

Users need to build from source for the full workflow, which requires the Rust toolchain; the web build additionally needs Trunk. License is dual MIT or Apache-2.0 at your option, but the ArtCraft name, wordmark and logos are trademarked and must be removed from forks and modified versions. Bundled assets carry their own open licenses, listed in ATTRIBUTION.md.

HotRepo's take

The repository was recorded on HotRepo's new-project Rust list on 2026-11-03 with 104 stars and 32 forks, gaining 2 stars and 1 fork in the recorded one-hour window. That is a small sample, so the entry only shows the project was being noticed on that day, not that it has sustained momentum. The notable technical fact is the scope: a clean-room node material editor in pure Rust, shipping desktop and WebAssembly targets plus an MCP interface, with the README stating about 67% workflow parity. Readers evaluating it should weigh the active-development gaps against the open, buildable source.

Written by AI from the project's README, updated . The project's own docs are the source of truth.