Skip to main content

Module plugin

Module plugin 

Source
Expand description

Messages compiled from proto/plugin.proto.

Modules§

atom_end
Nested message and enum types in AtomEnd.
constraint_func
Nested message and enum types in ConstraintFunc.
init_response
Nested message and enum types in InitResponse.
invoke_response
Nested message and enum types in InvokeResponse.
param_constraints
Nested message and enum types in ParamConstraints.
param_value
Nested message and enum types in ParamValue.
plugin_op
Nested message and enum types in PluginOp.
plugin_request
Nested message and enum types in PluginRequest.
plugin_response
Nested message and enum types in PluginResponse.
poll_stream_response
Nested message and enum types in PollStreamResponse.
query_response
Nested message and enum types in QueryResponse.
update_assembly_request
Nested message and enum types in UpdateAssemblyRequest.

Structs§

AtomEnd
One endpoint of a connection: either an atom (resolved per-frame) or a fixed world-space anchor (e.g. a band tethered to empty space).
BonusContribution
One labeled entry in ScoreReport.bonus_breakdown. kind is the filter’s internal name (e.g. “DisulfideCountScore”); value is its raw rosetta energy contribution.
CancelStreamRequest
CancelStream(request_id): stop a running stream. Idempotent.
CancelStreamResponse
CircularHarmonic
Clash
A detected steric clash between two atoms. severity is the per-pair LJ repulsion (fa_rep).
ClashAtom
One endpoint of a clash: an atom identified structurally so viso can re-resolve its position every frame (live-tracking). Atom by PDB name.
ClashReport
Payload of the clashes query. Empty clashes = no clashes / clear.
Connection
A generic structural connection between two endpoints. magnitude carries clash severity (LJ fa_rep); unset for hbond/disulfide.
ConnectionAtom
One atom endpoint of a connection, identified structurally so viso can re-resolve its position every frame (live-tracking). Atom by PDB name.
ConnectionReport
Payload of the connections query. Empty connections = none / clear.
Constraint
One catalytic constraint. Mirrors puzzle_setup::Constraint.
ConstraintAtom
One atom reference inside a catalytic constraint: an atom name plus the residue it belongs to (residue number + chain). Mirrors foldit-core’s puzzle_setup::AtomRef; chain travels as a single-char string (proto has no char type).
ConstraintFunc
Penalty function for a constraint. A oneof over the two function shapes (mirrors puzzle_setup::ConstraintFunc): flat-bottomed harmonic and circular (periodic) harmonic.
DispatchContext
Captured by the orchestrator at op-trigger time and frozen on the wire. Streams do NOT receive updated context mid-flight; only UpdateStream(params) can change values during a running stream.
DropRequest
Drop(session): tear down a session.
DropResponse
EnumValues
Error
Wire-level error payload. Plugins return this in the error variant of any response oneof. Recovery is orchestrator-driven (drop session, restart with current Assembly).
ExposedHydrophobicReport
Payload of the exposed_hydrophobics query. Each entry is a residue the detector flagged as an exposed hydrophobic. Empty exposed = none / clear.
FlatHarmonic
FloatRange
InitRequest
Init(assembly) → (SessionId, PluginRegistration)
InitResponse
InitSuccess
IntRange
InvokeRequest
Invoke(session, op, context, params) → assembly | error
InvokeResponse
assembly is the plugin’s working assembly post-op. The orchestrator extracts locked-entity slices and copies them into canonical state; other entities are ignored (plugins shouldn’t mutate non-locked entities, but the orchestrator doesn’t trust that - it just takes the locked slice).
ParamConstraints
Constraint shape. Drives form rendering by convention: numeric + range → slider string + enum_values → dropdown string + string_pattern → text input with validation bool → checkbox
ParamMap
Stand-alone wrapper for map<string, ParamValue> so the C ABI can take an opaque proto-encoded param map without forcing callers to build a full request envelope.
ParamSpec
Per-parameter schema. The frontend renders form fields directly from these. Parameters stay flat - no nested groups, no list parameters.
ParamValue
Wire-side parameter value. Mirrors ParamType as a oneof.
PluginOp
Per-op metadata. User-facing.
PluginQuery
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.
PluginRegistration
Plugin-level metadata. Internal/diagnostic only. Users never see plugin names - they see op display names.
PluginRequest
PluginResponse
PollStreamRequest
PollStream(request_id) → Pending | Final | Error
PollStreamResponse
PuzzleAsset
A puzzle-specific asset delivered alongside the structure at session-init (a ligand .params file, an optional conformer PDB, etc.). name is the asset’s file name (e.g. “LG1.params”); data is its raw bytes. Empty for protein-only puzzles.
QueryRequest
Query(session, query_id, context, params) → data | error
QueryResponse
data is query-defined opaque bytes. Plugin and the consuming Tier 2 panel agree on the encoding (e.g. UTF-8 JSON for sequence-design candidates, packed float arrays for rama colors). The orchestrator forwards data to the requesting client without inspecting it.
ResidueRef
Reference to a specific residue inside an entity. Entity ids are orchestrator-assigned; residue indices are 0-indexed within entity.
ResidueTermScores
ScoreReport
Plugin-contributed score breakdown, returned as the payload of the well-known “score” Query. Every plugin that scores registers score in its PluginRegistration.queries; the host calls each one per UpdateAssembly broadcast and merges the results into an app-wide score view.
StartStreamRequest
StartStream(session, op, context, params, request_id) → Ok | error
StartStreamResponse
StreamCancelled
Host-requested cancel that returned a usable working pose. Distinct from error because for open-ended streaming ops (wiggle, shake, repack/design loops, etc.) the only terminal the user ever sees is the host-initiated cancel; treating it as a failure forces the host to carve out “for this code, actually treat it as success”, which is what produced the cross-stream commit race the terminal split fixes. The orchestrator promotes assembly into canonical state using the same rule as Final (locked-entity slices copied; other entities ignored). Reserved for terminals that follow a CancelStream request; spontaneous failures (watchdog eviction, mid-action exception, transport drop) still ride error.
StreamCheckpoint
An accepted intermediate state the host should commit into canonical state while the stream keeps running. Shaped like StreamPending, but non-terminal in a different sense: a pending is a preview frame the host may discard, whereas a checkpoint is “commit this and continue” (incremental-promote ops). More checkpoints or a terminal follow.
StreamFinal
Final result of a stream. Assembly is the definitive output the orchestrator promotes into canonical state (locked-entity slices copied; other entities ignored - same rule as Invoke).
StreamPending
Snapshot during a running stream. latest_assembly is the working state at the moment of polling; not yet authoritative until the orchestrator decides to promote it. Progress fields are optional - plugins that don’t track progress simply omit them.
StringPattern
UpdateAssemblyRequest
UpdateAssembly(session, assembly): replace the working assembly after user edits, undo, broadcasts from other plugins, etc.
UpdateAssemblyResponse
UpdateStreamRequest
UpdateStream(request_id, params): push new params to a running stream. Used for pull-target updates, rama-drag ticks, etc. The plugin’s metadata declares which params are updatable; values for non-updatable params are silently ignored.
UpdateStreamResponse
Vec3
3D vector for non-selection-derived spatial parameters (pull targets, etc.). Selection-derived 3D positions travel via DispatchContext, not params.
VoidField
A void distance field on a regular grid: phi[xnynz + y*nz + z] is the distance from the nearest atom surface (>= 0 inside a void, sentinel- negative on exterior/masked cells). The host forwards it to viso, which meshes the isosurface at threshold. Row-major, x-major.

Enums§

ConnectionType
Kind of structural connection between two endpoints. The host maps each type onto its own viz channel.
ConstraintKind
Geometric relation a constraint pins; the count of ConstraintAtoms follows from the kind (AtomPair=2, Angle=3, Dihedral=4). Mirrors puzzle_setup::ConstraintKind.
EntityType
Entity-type taxonomy. Used by PluginOp.compatible_focus_types to gate which focused entities an op accepts. Mirrors molex::MoleculeType.
OpKind
Op invocation kind.
ParamType
Closed type set for parameter values. Residue / entity / range references are NOT here - they travel via DispatchContext.