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).
- Bonus
Contribution - One labeled entry in ScoreReport.bonus_breakdown.
kindis the filter’s internal name (e.g. “DisulfideCountScore”);valueis its raw rosetta energy contribution. - Cancel
Stream Request - CancelStream(request_id): stop a running stream. Idempotent.
- Cancel
Stream Response - Circular
Harmonic - Clash
- A detected steric clash between two atoms.
severityis the per-pair LJ repulsion (fa_rep). - Clash
Atom - One endpoint of a clash: an atom identified structurally so viso can re-resolve its position every frame (live-tracking). Atom by PDB name.
- Clash
Report - Payload of the
clashesquery. Emptyclashes= no clashes / clear. - Connection
- A generic structural connection between two endpoints.
magnitudecarries clash severity (LJ fa_rep); unset for hbond/disulfide. - Connection
Atom - One atom endpoint of a connection, identified structurally so viso can re-resolve its position every frame (live-tracking). Atom by PDB name.
- Connection
Report - Payload of the
connectionsquery. Emptyconnections= none / clear. - Constraint
- One catalytic constraint. Mirrors puzzle_setup::Constraint.
- Constraint
Atom - 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).
- Constraint
Func - Penalty function for a constraint. A oneof over the two function shapes (mirrors puzzle_setup::ConstraintFunc): flat-bottomed harmonic and circular (periodic) harmonic.
- Dispatch
Context - 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.
- Drop
Request - Drop(session): tear down a session.
- Drop
Response - Enum
Values - 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).
- Exposed
Hydrophobic Report - Payload of the
exposed_hydrophobicsquery. Each entry is a residue the detector flagged as an exposed hydrophobic. Emptyexposed= none / clear. - Flat
Harmonic - Float
Range - Init
Request - Init(assembly) → (SessionId, PluginRegistration)
- Init
Response - Init
Success - IntRange
- Invoke
Request - Invoke(session, op, context, params) → assembly | error
- Invoke
Response assemblyis 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).- Param
Constraints - Constraint shape. Drives form rendering by convention: numeric + range → slider string + enum_values → dropdown string + string_pattern → text input with validation bool → checkbox
- Param
Map - 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. - Param
Spec - Per-parameter schema. The frontend renders form fields directly from these. Parameters stay flat - no nested groups, no list parameters.
- Param
Value - Wire-side parameter value. Mirrors ParamType as a oneof.
- Plugin
Op - Per-op metadata. User-facing.
- Plugin
Query - 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.
- Plugin
Registration - Plugin-level metadata. Internal/diagnostic only. Users never see plugin names - they see op display names.
- Plugin
Request - Plugin
Response - Poll
Stream Request - PollStream(request_id) → Pending | Final | Error
- Poll
Stream Response - Puzzle
Asset - A puzzle-specific asset delivered alongside the structure at session-init
(a ligand
.paramsfile, an optional conformer PDB, etc.).nameis the asset’s file name (e.g. “LG1.params”);datais its raw bytes. Empty for protein-only puzzles. - Query
Request - Query(session, query_id, context, params) → data | error
- Query
Response datais 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 forwardsdatato the requesting client without inspecting it.- Residue
Ref - Reference to a specific residue inside an entity. Entity ids are orchestrator-assigned; residue indices are 0-indexed within entity.
- Residue
Term Scores - Score
Report - Plugin-contributed score breakdown, returned as the payload of the
well-known “score” Query. Every plugin that scores registers
scorein its PluginRegistration.queries; the host calls each one per UpdateAssembly broadcast and merges the results into an app-wide score view. - Start
Stream Request - StartStream(session, op, context, params, request_id) → Ok | error
- Start
Stream Response - Stream
Cancelled - Host-requested cancel that returned a usable working pose. Distinct
from
errorbecause 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 promotesassemblyinto 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 rideerror. - Stream
Checkpoint - 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.
- Stream
Final - 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).
- Stream
Pending - 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.
- String
Pattern - Update
Assembly Request - UpdateAssembly(session, assembly): replace the working assembly after user edits, undo, broadcasts from other plugins, etc.
- Update
Assembly Response - Update
Stream Request - 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.
- Update
Stream Response - Vec3
- 3D vector for non-selection-derived spatial parameters (pull targets, etc.). Selection-derived 3D positions travel via DispatchContext, not params.
- Void
Field - 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§
- Connection
Type - Kind of structural connection between two endpoints. The host maps each type onto its own viz channel.
- Constraint
Kind - Geometric relation a constraint pins; the count of ConstraintAtoms follows from the kind (AtomPair=2, Angle=3, Dihedral=4). Mirrors puzzle_setup::ConstraintKind.
- Entity
Type - Entity-type taxonomy. Used by PluginOp.compatible_focus_types to gate which focused entities an op accepts. Mirrors molex::MoleculeType.
- OpKind
- Op invocation kind.
- Param
Type - Closed type set for parameter values. Residue / entity / range references are NOT here - they travel via DispatchContext.