ControlAxisDescriptor
L76class ControlAxisDescriptor(object)One ordered command axis and its accepted units.
| Field | Type | Default |
|---|---|---|
| name | str | — |
| units | tuple[str, ...] | — |
Public Python API for fastsim.api.services; signatures are extracted directly from FastSim source.
Source src/fastsim/api/services.pyclass ControlAxisDescriptor(object)One ordered command axis and its accepted units.
| Field | Type | Default |
|---|---|---|
| name | str | — |
| units | tuple[str, ...] | — |
class ControlCommandSpaceDescriptor(object)Portable resource-specific contract for one command space. Frame-capable spaces always carry an explicit ``allowed_frames`` tuple. A required-frame space needs at least one entry; an optional space may use an empty tuple to advertise frameless-only operation. Frame-forbidden spaces may use either ``None`` or an empty tuple. ``unit_rule`` states whether the advertised per-axis unit choices are fixed, must be selected uniformly across all axes, or may be selected per axis. This is a track-target contract. Terminal policies and controller convergence are exposed separately by the enclosing target's controller execution descriptors.
| Field | Type | Default |
|---|---|---|
| command_space_id | str | — |
| controller_ids | tuple[str, ...] | — |
| axes | tuple[ControlAxisDescriptor, ...] | — |
| frame_requirement | str | — |
| allowed_frames | tuple[str, ...] | None | — |
| default_frame | str | None | — |
| required_semantics | Mapping[str, tuple[str, ...]] | — |
| unit_rule | str | 'per_axis' |
| supports_linear | bool | True |
class ControlControllerExecutionDescriptor(object)Portable chunk-execution choices for one target-compatible controller.
| Field | Type | Default |
|---|---|---|
| controller_id | str | — |
| terminal_policies | tuple[str, ...] | — |
| supports_convergence | bool | — |
class ControlEmbeddedBaseJointDescriptor(object)Capture-safe manifest declaration for an embedded physical SE(2) base.
| Field | Type | Default |
|---|---|---|
| declaration_id | str | — |
| physical_joint_names | tuple[str, str, str] | — |
| units | tuple[str, str, str] | — |
| supported_models | tuple[str, ...] | — |
| controller_id | str | — |
class ControlTargetDescriptor(object)One immutable target visible through a plugin's exact control grant.
| Field | Type | Default |
|---|---|---|
| binding_role | str | — |
| entity_id | str | — |
| resource_group | str | — |
| controller_ids | tuple[str, ...] | — |
| controller_executions | tuple[ControlControllerExecutionDescriptor, ...] | — |
| command_space_ids | tuple[str, ...] | — |
| command_spaces | tuple[ControlCommandSpaceDescriptor, ...] | — |
| max_command_rate_hz | float | — |
| embedded_base_joints | ControlEmbeddedBaseJointDescriptor | None | None |
class RunInfoSnapshot(object)Small immutable run identity safe to expose outside the core.
| Field | Type | Default |
|---|---|---|
| run_id | str | — |
| plan_digest | str | — |
| name | str | — |
| backend | str | — |
class PublishedPluginEvent(object)One immutable, core-namespaced event emitted by a plugin.
| Field | Type | Default |
|---|---|---|
| run_id | str | — |
| plan_digest | str | — |
| instance | str | — |
| topic | str | — |
| sequence | int | — |
| published_monotonic_ns | int | — |
| payload | Mapping[str, object] | — |
Return the unspoofable instance namespace followed by the local topic.
class ScopedControlSession(Protocol)Asynchronous control session with a policy fixed by the composition root.
class ScopedControlService(Protocol)Factory for plugin-scoped control sessions.
class ScopedControlTargetService(Protocol)Read-only exact-resource view of discoverable control targets.
class ScopedObservationSubscription(Protocol)Bounded observation stream that cannot reveal ungranted channels. Application-loop plugins must use :meth:`get_async`; synchronous ``get`` is retained only for a plugin-owned worker thread.
class ScopedObservationChannelSubscription(Protocol)Bounded independently stamped observation-channel stream.
class ScopedObservationService(Protocol)Read-only exact-channel view of the runtime observation service.
class RunInfoService(Protocol)Read-only immutable metadata for the current run.
class EventPublishService(Protocol)Namespaced, bounded and portable plugin event publisher.