Skip to main content

Module project

Module project 

Source

Structs§

ActuatorConfig
BehaviorsConfig
Behavior tree configuration controlling autonomous robot behavior execution.
CameraDimensionsConfig
The project’s single real camera resolution. Defaults to a square 360x360 so the simulated camera and the real camera always agree on aspect ratio with no project-level config required; set this explicitly to match your actual hardware’s resolution.
DockerServicesConfig
Docker services configuration for project-level Docker Compose management
EnvironmentConfig
Configuration for a specific environment
EnvironmentsConfig
Per-environment configuration (dev, staging, prod), with the active environment selected via the MECHA10_ENV environment variable or --env flag.
JointLimitConfig
A single joint’s angle limits, keyed by the actuator node’s joint_id in mecha10.json.
LocomotionLimitsConfig
Motion limits for a differential-drive (or similar) locomotion base.
LoggingConfig
Logging configuration for a single environment, controlling whether node logs are written to local disk. Remote/network log shipping is independent of this setting.
NodeSpec
Parsed node specification from namespaced string format (e.g. @mecha10/listener for a framework node, my-custom for a project node, @someorg/cool-node for a future registry node). The legacy @local/* prefix is no longer supported.
NodesConfig
Map of node identifiers (e.g. @mecha10/listener, my-custom) to their config - at minimum a pinned version, optionally an expanded NodeEntry::Detailed form declaring enabled/ capabilities too.
ProjectConfig
ProjectSimulationConfig
Project-level simulation settings, distinct from the runtime simulation config used during execution.
RobotConfig
TargetEntry
A single target’s configuration: which nodes run on it, and (for robot/remote/rl) which Rust target triple(s) mecha10 build compiles for.
TargetsConfig
Target execution configuration: where nodes run (locally, in simulation, on the robot, or remotely), and, for robot/remote/rl, which Rust target triple(s) builds compile for.
TurnConfig
Resolved TURN server config: relay URL + credentials for a TURN entry in a WebRTC ICE server list. Standalone since mecha10-cli-core doesn’t depend on mecha10-video.
VisionConfig

Enums§

NodeEntry
One node’s entry in NodesConfig’s map: either the common plain pinned-version string (e.g. "0.1.0", "latest"), or an expanded object form that additionally declares this node’s Capability set and/or disables it without removing its entry entirely. The expanded form’s capabilities mirrors how run_target is explicit, per-node, author-set config (never auto-inferred from node type) - see Capability and NodeImpl::CAPABILITIES’s doc comment.
NodeRef
A single entry in a target’s node list, either a plain node identifier or a named instance for a node that needs to run as more than one instance under the same target.
NodeSource
Node source type based on namespace prefix
NodeTarget
Target type for node execution

Functions§

is_local_project_node
Whether name is declared as a local project node (NodeSource::Project) according to the mecha10.json at config_path. Never errors: a missing/unparsable config resolves to false.
load_project_config
Load full project config from mecha10.json
load_robot_id
Load robot_id from mecha10.json
reconcile_video_streamer_camera_id
Rewrites video-streamer’s entry in every target’s nodes array to carry the right camera_id, or back to a bare string where no override applies. Each target’s camera_id is derived from whichever camera-producing node is also placed there.
turn_config
Resolve TURN server config: an explicit runtime env var wins, then the build-time-baked default. Returns None when neither is present (including empty), so callers can fall through to a runtime API fetch from mecha10-api.