Files
zeekay 074efd95c7 feat(core-rs): Rust flow-core engine — the embeddable native seed
The Rust twin of hanzoai/flow/core (Go): the ONE parametric step-DAG engine, now
native. Dependency-free (std only) so it drops into hanzo-desktop (local/private,
low memory) and the cloud unchanged — the SAME library builds/tests a flow locally
on BYO GPU and runs/schedules it in the cloud, surfaced via studio.hanzo.ai /
flow.hanzo.ai.

Contract (1:1 with the Go core, so they stay in lockstep):
- Value (Arc<dyn Value>, zero-copy hand-off — the point for GPU tensors), Port, Step
- Graph (add/wire/validate — port typecheck + acyclicity, deterministic Kahn topo)
- Mode (InProcess | GpuResident | Durable) + Backend — the locality/durability seam
  where hanzo-ml / hanzo-fusion on hanzo-engine plug in as the GpuResident backend
- Scheduler — the one topology walk, curried over (value-domain, Mode)

Verified: cargo build clean, cargo test 5/5 (domain-agnostic pipeline runs in order,
port type mismatch rejected at wire time, ANY_TYPE bypasses, cycle caught by
validate, Mode selects the backend), clippy clean.

This is step 1 of the Rust migration: the engine. Node-packs (mechanically porting
the Python flow/comfy nodes -> Rust steps on hanzo-ml/hanzo-fusion), the GpuResident
backend on hanzo-engine, and studio's canvas on this engine build on top.
2026-07-16 15:47:20 -07:00

16 lines
617 B
TOML

[package]
name = "flow-core"
version = "0.1.0"
edition = "2021"
rust-version = "1.88"
description = "The one parametric step-DAG engine — Rust core. Std-only, embeddable: runs flows natively in hanzo-desktop (local/private) and the cloud, with pluggable backends (hanzo-ml/hanzo-fusion on hanzo-engine for GPU)."
license = "MIT"
[lib]
name = "flow_core"
# Intentionally dependency-free: the core is a small, embeddable library so it drops
# into hanzo-desktop (low memory) and the cloud unchanged. Compute (hanzo-ml,
# hanzo-fusion, hanzo-engine) plugs in via the Backend trait, not as a core dep.
[dependencies]