pub struct PluginQuery {
pub id: String,
pub display_name: String,
pub description: String,
pub params: Vec<ParamSpec>,
}Expand description
Query metadata. Queries READ state - they don’t mutate entities, don’t take entity locks, and don’t return assembly bytes. Concurrent queries on the same entity are safe.
DispatchContext is still passed (queries can scope to focused entity or
selection - e.g. “rama colors for the focused protein”, “score breakdown
for selected residues”) but no compatible_focus_types or
creates_entities because there are no locks to take.
Examples: get_phi_psi, score_breakdown, rotamer_preview, sequence_design
(returns N candidate sequences without committing them - a separate
apply_sequence op commits one).
Queries are single-shot. Long-running interactive read patterns (rama drag, pull) are ops, not queries - they mutate state.
Fields§
§id: Stringmagic word, e.g. “get_phi_psi”
display_name: StringUI label
description: Stringtooltip / help text
params: Vec<ParamSpec>typed schema, same shape as ops
Trait Implementations§
Source§impl Clone for PluginQuery
impl Clone for PluginQuery
Source§fn clone(&self) -> PluginQuery
fn clone(&self) -> PluginQuery
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PluginQuery
impl Debug for PluginQuery
Source§impl Default for PluginQuery
impl Default for PluginQuery
Source§impl Message for PluginQuery
impl Message for PluginQuery
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for PluginQuery
impl PartialEq for PluginQuery
Source§fn eq(&self, other: &PluginQuery) -> bool
fn eq(&self, other: &PluginQuery) -> bool
self and other values to be equal, and is used by ==.