tpt-rust2
RustNo_std runtime units, timeseries alignment, infrastructure topology, and physical property tables (water/air/fuels) for the TUP protocol stack.
0 stars0 forks0 watchers1 open issues
Languages
Rust99.0%Just1.0%
README
tpt-rust2 — The Language & Physics
tpt-rust2 is the second layer of the TPT platform.
It provides the strict physical language, spatial topologies, and thermodynamic
property tables required to understand the data carried inside a
TUP envelope. It bridges the gap
between raw telemetry and mathematical physics.
tpt-rust2 consumes raw TUP telemetry and applies physical context:
- Read Path: TUP Envelope →
tpt-units-runtime(converts to standard SI) →tpt-timeseries-align(syncs to a deterministic time grid). - Context Path:
tpt-geo-topology+tpt-props-water→ physical constants for the Brain (tpt-rust-4).
Crates
| Crate | Purpose |
|---|---|
tpt-tup-schema | TUP envelope structs, macros, and strict validation |
tpt-units-runtime | Dynamic, registry-based unit conversion |
tpt-timeseries-align | Multi-rate sensor stream alignment onto a time grid |
tpt-timeseries-gap | Staleness/freeze detection and gap-filling |
tpt-geo-topology | Infrastructure-aware directed graphs (pipes/wires/ducts) |
tpt-geo-asset | Geographic coordinate → TUP device ID / network node registry |
tpt-network-matrix | Incidence & admittance matrix generation |
tpt-props-water | Pure-Rust, no_std IAPWS-IF97 water/steam tables |
tpt-props-air | no_std ASHRAE psychrometrics / moist-air properties |
tpt-props-fuels | Heating value, density, combustion properties |
Core Principles
- Runtime over compile-time — TUP payloads are dynamic; units and dimensions must be resolvable at runtime without sacrificing type safety in the domain logic.
- Pure Rust physics — no unsafe C-bindings; everything is
no_stdcapable. - Infrastructure-aware graphs — topology graphs understand upstream/downstream flow, not just generic node-edge relationships.
Design
See spec.txt for the full crate descriptions and the
"TUP Integration & Data Flow" section that motivates the phase ordering.
Building
cargo build
cargo test
Each crate is no_std compatible (feature-gated alloc/std).