Skip to main content

Module project

Module project 

Source
Expand description

Project configuration types

Types for loading and managing mecha10.json project configuration files.

Structs§

ActuatorConfig
BehaviorsConfig
Behavior tree configuration controlling autonomous robot behavior execution.
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 node_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
NodesConfig
Map of node identifiers (e.g. @mecha10/listener, my-custom) to their pinned versions.
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. Kept as a standalone type here (rather than reusing mecha10_video::webrtc::connection::TurnServerConfig) since mecha10-cli-core intentionally doesn’t depend on mecha10-video - mecha10-video and the nodes that embed it (camera, video-streamer) are meant to stay lightweight for robot binaries, the same “minimal dependencies” rationale mecha10-node-resolver documents for inlining its own copy of DEFAULT_MECHA10_API_URL instead of depending on this crate.

Enums§

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, i.e. built from this project’s own nodes/<name> workspace member) according to the mecha10.json at config_path - the single shared check behind both mecha10 dev’s ProcessService::spawn_node_direct and mecha10-node-runner’s resolve_node_execution, so the two don’t drift onto different classification rules for the same node.
load_project_config
Load full project config from mecha10.json
load_robot_id
Load robot_id from mecha10.json
turn_config
Resolve TURN server config, highest priority first: