Expand description
Project configuration types
Types for loading and managing mecha10.json project configuration files.
Structs§
- Actuator
Config - Behaviors
Config - Behavior tree configuration controlling autonomous robot behavior execution.
- Docker
Services Config - Docker services configuration for project-level Docker Compose management
- Environment
Config - Configuration for a specific environment
- Environments
Config - Per-environment configuration (dev, staging, prod), with the active environment selected via
the
MECHA10_ENVenvironment variable or--envflag. - Joint
Limit Config - A single joint’s angle limits, keyed by the actuator node’s
node_idinmecha10.json. - Locomotion
Limits Config - Motion limits for a differential-drive (or similar) locomotion base.
- Logging
Config - Logging configuration for a single environment, controlling whether node logs are written to local disk. Remote/network log shipping is independent of this setting.
- Node
Spec - Parsed node specification from namespaced string format
- Nodes
Config - Map of node identifiers (e.g.
@mecha10/listener,my-custom) to their pinned versions. - Project
Config - Project
Simulation Config - Project-level simulation settings, distinct from the runtime simulation config used during execution.
- Robot
Config - Target
Entry - A single target’s configuration: which nodes run on it, and (for
robot/remote/rl) which Rust target triple(s)mecha10 buildcompiles for. - Targets
Config - 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. - Turn
Config - 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) sincemecha10-cli-coreintentionally doesn’t depend onmecha10-video-mecha10-videoand the nodes that embed it (camera,video-streamer) are meant to stay lightweight for robot binaries, the same “minimal dependencies” rationalemecha10-node-resolverdocuments for inlining its own copy ofDEFAULT_MECHA10_API_URLinstead 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.
- Node
Source - Node source type based on namespace prefix
- Node
Target - Target type for node execution
Functions§
- is_
local_ project_ node - Whether
nameis declared as a local project node (NodeSource::Project, i.e. built from this project’s ownnodes/<name>workspace member) according to themecha10.jsonatconfig_path- the single shared check behind bothmecha10 dev’sProcessService::spawn_node_directandmecha10-node-runner’sresolve_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: