diff --git a/crates/aura-std/src/add.rs b/crates/aura-std/src/add.rs index 2e58cca..cc1fac2 100644 --- a/crates/aura-std/src/add.rs +++ b/crates/aura-std/src/add.rs @@ -6,6 +6,16 @@ use aura_core::{Ctx, FieldSpec, Firing, InputSpec, Node, NodeSchema, Scalar, Sca /// Two-input f64 sum: input 0 plus input 1. Emits `None` until both inputs /// have a value. +/// +/// # Firing and warm-up +/// +/// Both inputs are [`Firing::Any`](aura_core::Firing::Any) — a *mode-A as-of +/// join*: the node fires on every cycle in which either leg is fresh (once both +/// have produced a value), pairing the fresh leg with the held value of the +/// other. Until both legs have a value it emits `None` (no cold-leg-as-`0.0`). +/// With heterogeneous sources sharing a timestamp (same `ts` from two sources = +/// two distinct cycles, C4), a fired node emits one row per *cycle*, so a +/// recorded combined stream may carry more than one row per timestamp. pub struct Add { out: [Scalar; 1], } diff --git a/crates/aura-std/src/lincomb.rs b/crates/aura-std/src/lincomb.rs index 8134016..ad2baad 100644 --- a/crates/aura-std/src/lincomb.rs +++ b/crates/aura-std/src/lincomb.rs @@ -13,6 +13,16 @@ use aura_core::{Ctx, FieldSpec, Firing, InputSpec, Node, NodeSchema, Scalar, Sca /// construction parameters that configure the node and fix its arity /// (`weights.len()` inputs, in slot order). Emits `None` until *all* inputs /// have a value. +/// +/// # Firing and warm-up +/// +/// Every input is [`Firing::Any`](aura_core::Firing::Any) — a *mode-A as-of +/// join*: the node fires on every cycle in which any leg is fresh (once all +/// legs have produced a value), pairing each fresh leg with the held value of +/// the others. Until every leg has a value it emits `None` (no cold-leg-as- +/// `0.0`). With heterogeneous sources sharing a timestamp (same `ts` from two +/// sources = two distinct cycles, C4), a fired node emits one row per *cycle*, +/// so a recorded combined stream may carry more than one row per timestamp. pub struct LinComb { weights: Vec, out: [Scalar; 1],