Native CLI
cargo run -p dry-cli --bin dry -- emit conformance/gcode/square.json
cargo run -p dry-cli --bin dry -- verify conformance/gcode/square.json
Universal Computational Manufacturing Compiler
A high-performance toolpath compiler infrastructure with a Rust core, CLI, Python & TypeScript SDKs, and Cloudflare Edge API. Compiles algorithmic design intent into verified, physics-safe motion code across 3D printers, CNC mills, lasers, plasma torches, and 5-axis robotic arms.
crates/core owns multi-process lowering, simulation, verification, and G-code/KRL emitters.Dry treats a machine path as a program: authoring surfaces produce L1 design operations, the core resolves them into L2 motion, then downstream passes analyze or emit target formats.
py/python/dry fluent Python APIsdk/ts/src TypeScript APIweb/blocks.html Blockly authoringcrates/cli command-line entry pointresolve: design ops to resolved toolpathir and units: typed segment contractengine, verify, optimizegcode, emit, codec, traceThe repo is split by responsibility: core compiler logic, bindings, web surfaces, documentation and conformance data. Generated build artifacts live beside some bindings but are not the conceptual source of truth.
crates/coreDependency-light Dry IR and engine. This is where L1 ops become L2 motion and where analysis, verification, import/export and codecs live.
crates/cliThe dry command exposes inspect, simulate, emit, verify, optimize, pack/unpack and G-code review workflows.
crates/wasmwasm-bindgen adapter that brings the same Rust engine into the browser and TypeScript SDK build.
pyPyO3 native module plus a Pythonic authoring layer. Tests compare SDK behavior with committed fixtures.
sdk/tsFluent TypeScript authoring SDK over the wasm engine, with reusable lattice and TPMS generators.
webInteractive gallery, Blockly visual authoring, shared Three.js viewer, static strategy pages and wasm smoke tests.
conformanceGolden g-code, simulation outputs, gallery designs and printer profiles used to keep behavior stable.
docsVision, architecture, roadmap, conformance plan, task backlog, product directions and clean-room notes.
The strongest architectural choice is keeping process behavior in the Rust core while adapters stay narrow. That keeps every surface aligned without cloning compiler logic.
SegmentKind, units wrappers and serde-compatible wire values make the IR explicit while preserving readable JSON fixtures.
Lowering, simulation, verification, optimization, emitting, importing and tracing are separate modules with focused tests.
Dry validates behavior against committed corpora and keeps GPL reference code out of the released implementation.
These are the shortest paths into the project when developing, testing or demonstrating it locally.
cargo run -p dry-cli --bin dry -- emit conformance/gcode/square.json
cargo run -p dry-cli --bin dry -- verify conformance/gcode/square.json
cd py
maturin develop
pytest tests/ -q
bash web/build.sh
python3 -m http.server
# open /web/ or /web/blocks.html