Gunnar

nordisk/monetize

crates/estate-svg/Cargo.toml

# **`nordisk-estate-svg` — the estate, drawn: ONE renderer for every console.**
#
# The board monetize's operator console shows (`EstateAdmin.Draw`) and the
# Machine card gunnar's console shows (`Admin.Topology`, owner 2026-10-04) are
# the same picture of the same boxes. Two renderers would be free to disagree
# about which number was read and which was merely claimed — the one thing this
# drawing exists to keep apart — so there is one, here, and both call it.
#
# It lives in monetize because it was born in `monetize-server` (2026-09-18,
# `src/estate_svg.rs`, extracted 2026-10-04); monetize-server keeps the half
# that reads ITS config and ITS product plugin (`Measured`, `from_config`) and
# re-exports this crate's types, so `monetize_server::estate_svg::*` still
# names them.
#
# ZERO dependencies on purpose: it is a pure function from a struct to a string,
# it compiles for the BFF and for wasm alike, and it must never be the reason a
# console's dependency graph grows. Nothing here measures, fetches or decides a
# box's state — every reading arrives in `Estate` from whoever measured it.
#
# `publish = true`: gunnar-ui reaches it as a crates.io VERSION (its own rule:
# `git clone && cargo build` with no sibling checkouts). Until it is published,
# gunnar-ui bridges it with `[patch.crates-io]` onto this checkout, exactly as
# it bridges edda's nornir-build-thing — DROP that bridge the day this is on
# crates.io.
[package]
name = "nordisk-estate-svg"
description = "The estate, drawn: one self-contained SVG board of an estate's machines, shared by the gunnar and monetize consoles"
version = "0.1.0"
edition.workspace = true
rust-version.workspace = true
repository = "https://git.gunnar.rs/nordisk/monetize"
license.workspace = true
authors.workspace = true
publish = true

[dependencies]