diff --git a/app-proto/src/assembly.rs b/app-proto/src/assembly.rs index 50b0783..2ccfc69 100644 --- a/app-proto/src/assembly.rs +++ b/app-proto/src/assembly.rs @@ -30,11 +30,8 @@ pub struct Element { pub label: String, pub color: ElementColor, pub representation: Signal>, - - // the regulators that affect this element. the ambient assembly is - // responsible for keeping this set up to date pub regulators: Signal>, - + // a serial number, assigned by `Element::new`, that uniquely identifies // each element pub serial: u64, @@ -120,7 +117,7 @@ impl Element { // to construct a `SpecifiedValue` that might be `Present`, use the associated // function `try_from`. this ensures that `spec` is always a valid specification -// of `value` according to the format discussed at the implementation of +// of `value` according to the format discussed above the implementation of // `TryFrom` pub enum SpecifiedValue { Absent, @@ -157,8 +154,7 @@ impl SpecifiedValue { // specification is empty, the `SpecifiedValue` is `Absent`. if the // specification parses to a floating-point value `x`, the `SpecifiedValue` is // `Present`, with a `value` of `x`, and the specification is stored in `spec`. -// these are currently the only valid specifications; any other produces an -// error +// these are the only valid specifications; any other produces an error impl TryFrom for SpecifiedValue { type Error = ParseFloatError; @@ -187,7 +183,7 @@ impl Regulator { self.set_point.set(set_pt); true } - Err(_) => false + Err(_) => false, } } } @@ -276,7 +272,7 @@ impl Assembly { ); } - fn insert_regulator(&self, regulator: Regulator) { + pub fn insert_regulator(&self, regulator: Regulator) { let subjects = regulator.subjects; let key = self.regulators.update(|regs| regs.insert(regulator)); let subject_regulators = self.elements.with(