flowrs-engine/crates/flowrs-app/Cargo.toml
flowRS fd958c0547 flowRS engine, cut from flowRS 3451b065
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 19:04:39 -05:00

33 lines
1.7 KiB
TOML

[package]
name = "flowrs-app"
version.workspace = true
edition.workspace = true
publish.workspace = true
rust-version.workspace = true
authors.workspace = true
license = "MIT OR Apache-2.0"
description = "flowRS's app layer: one component registry (layout, content, charts, tables, forms and the instruments) with typed, append-only props; apps as OpenUI Lang stored beside the graph and bound to its ports by reference; the deterministic default app of a graph; and the static check of an app (bindings, shape fit, the neural rule, flowrs-viz lint, the polish rules) as OpenUI error objects."
[features]
# The graph side: the document an app is stored in, infer, check, the host and shared
# links. On by default. Without it the crate is the registry, the formatter and the planner
# (`view`) over OpenUI values only: what an exported app's shell (flowrs-appshell) links,
# so a generated project builds without the graph engine.
default = ["graph"]
graph = ["dep:flowrs-core", "dep:flowrs-viz", "dep:miniz_oxide", "dep:base64"]
[dependencies]
serde_json = { workspace = true }
# The language apps are written in.
flowrs-openui = { path = "../flowrs-openui" }
# The graph an app binds to: its nodes, ports, wire types and units, and the document the
# app is stored in.
flowrs-core = { path = "../flowrs-core", optional = true }
# Chart cards are flowrs-viz specs, parsed and linted as chart_check does.
flowrs-viz = { path = "../flowrs-viz", optional = true }
# A shared app's link: the document deflated (pure Rust, already in the bundle's tree) and
# base64url-encoded into the URL fragment.
miniz_oxide = { version = "0.8", optional = true }
base64 = { version = "0.22", optional = true }
[dev-dependencies]