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
joint_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 (e.g.
@mecha10/listenerfor a framework node,my-customfor a project node,@someorg/cool-nodefor a future registry node). The legacy@local/*prefix is no longer supported. - 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. Standalone since
mecha10-cli-coredoesn’t depend onmecha10-video.
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) according to themecha10.jsonatconfig_path. Never errors: a missing/unparsable config resolves tofalse. - 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’snodesarray to carry the rightcamera_id, or back to a bare string where no override applies. Each target’scamera_idis 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
Nonewhen neither is present (including empty), so callers can fall through to a runtime API fetch from mecha10-api.