pub struct ComponentRecord {
pub id: String,
pub part_name: String,
pub transform: AffineTransform,
pub fixed: bool,
pub source: Value,
pub solids: Vec<String>,
pub ports: Vec<String>,
}Expand description
One scene component: an ACOMP instance’s identity, pose, and member solids.
Rides the crate::feature_pipeline::FeatureResult components side-channel
into [SceneMap::apply], exactly like profiles/frames — the scene’s component
set is rebuilt from feature results every history run (a projected view,
never an owning data structure).
Fields§
§id: StringThe owning ACOMP feature id — also the namespace prefix segment.
part_name: StringThe display / parts-library part name (M4-bolt in M4-bolt (ACOMP3)).
transform: AffineTransformThe rigid instance pose (part-local snapshot space -> assembly space),
already baked into the member geometry. Kept so a pose UPDATE can apply
the delta new · old⁻¹ and so the solver can read the current pose.
fixed: boolGrounded flag (the feature’s isFixed; the solver never moves it).
source: ValueOpaque source metadata slot (sourceKey / sourceSignature / …) for the
parts-library + update-components lanes; the scene never interprets it.
solids: Vec<String>Member solid scene names, already namespaced ({id}:{part solid name}).
ports: Vec<String>The part’s harness PORT ids, namespaced ({id}:{part port id}) — the
wire-harness entities a placed part carries. Their records live in
[SceneMap::ports]; the re-pose lane moves them with the members.
Trait Implementations§
Source§impl Clone for ComponentRecord
impl Clone for ComponentRecord
Source§fn clone(&self) -> ComponentRecord
fn clone(&self) -> ComponentRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more