From 620a6be918cc1a860aaa1f3e217db3fe32d4e8db Mon Sep 17 00:00:00 2001 From: Aaron Fenyes Date: Thu, 17 Apr 2025 14:40:28 -0700 Subject: [PATCH] Make regulator naming more consistent Although the inversive distance regulator mostly acts as a general Lorentz product regulator, calling it `InversiveDistanceRegulator` explains how we intend to use it and demonstrates our naming convention. --- app-proto/src/add_remove.rs | 4 ++-- app-proto/src/assembly.rs | 14 +++++++------- app-proto/src/outline.rs | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app-proto/src/add_remove.rs b/app-proto/src/add_remove.rs index deac2bb..14fcd41 100644 --- a/app-proto/src/add_remove.rs +++ b/app-proto/src/add_remove.rs @@ -4,7 +4,7 @@ use web_sys::{console, wasm_bindgen::JsValue}; use crate::{ engine, AppState, - assembly::{Assembly, Element, ProductRegulator} + assembly::{Assembly, Element, InversiveDistanceRegulator} }; /* DEBUG */ @@ -190,7 +190,7 @@ pub fn AddRemove() -> View { .unwrap() ); state.assembly.insert_regulator( - ProductRegulator::new(subjects, &state.assembly) + InversiveDistanceRegulator::new(subjects, &state.assembly) ); state.selection.update(|sel| sel.clear()); } diff --git a/app-proto/src/assembly.rs b/app-proto/src/assembly.rs index f14f0c4..5dae508 100644 --- a/app-proto/src/assembly.rs +++ b/app-proto/src/assembly.rs @@ -151,14 +151,14 @@ pub trait Regulator: ProblemPoser + OutlineItem { fn activate(&self, _assembly: &Assembly) {} } -pub struct ProductRegulator { +pub struct InversiveDistanceRegulator { pub subjects: [ElementKey; 2], pub measurement: ReadSignal, pub set_point: Signal } -impl ProductRegulator { - pub fn new(subjects: [ElementKey; 2], assembly: &Assembly) -> ProductRegulator { +impl InversiveDistanceRegulator { + pub fn new(subjects: [ElementKey; 2], assembly: &Assembly) -> InversiveDistanceRegulator { let measurement = assembly.elements.map( move |elts| { let representations = subjects.map(|subj| elts[subj].representation); @@ -172,7 +172,7 @@ impl ProductRegulator { let set_point = create_signal(SpecifiedValue::from_empty_spec()); - ProductRegulator { + InversiveDistanceRegulator { subjects: subjects, measurement: measurement, set_point: set_point @@ -180,7 +180,7 @@ impl ProductRegulator { } } -impl Regulator for ProductRegulator { +impl Regulator for InversiveDistanceRegulator { fn subjects(&self) -> Vec { self.subjects.into() } @@ -194,7 +194,7 @@ impl Regulator for ProductRegulator { } } -impl ProblemPoser for ProductRegulator { +impl ProblemPoser for InversiveDistanceRegulator { fn pose(&self, problem: &mut ConstraintProblem, elts: &Slab) { self.set_point.with_untracked(|set_pt| { if let Some(val) = set_pt.value { @@ -633,7 +633,7 @@ mod tests { ) }); elts[subjects[0]].column_index = Some(0); - ProductRegulator { + InversiveDistanceRegulator { subjects: subjects, measurement: create_memo(|| 0.0), set_point: create_signal(SpecifiedValue::try_from("0.0".to_string()).unwrap()) diff --git a/app-proto/src/outline.rs b/app-proto/src/outline.rs index 32ff2e7..2446337 100644 --- a/app-proto/src/outline.rs +++ b/app-proto/src/outline.rs @@ -13,7 +13,7 @@ use crate::{ assembly::{ ElementKey, HalfCurvatureRegulator, - ProductRegulator, + InversiveDistanceRegulator, Regulator, RegulatorKey }, @@ -94,7 +94,7 @@ pub trait OutlineItem { fn outline_item(self: Rc, element_key: ElementKey) -> View; } -impl OutlineItem for ProductRegulator { +impl OutlineItem for InversiveDistanceRegulator { fn outline_item(self: Rc, element_key: ElementKey) -> View { let state = use_context::(); let other_subject = if self.subjects[0] == element_key {