Logging configuration for a single environment, controlling whether node logs are written
to local disk. Remote/network log shipping is independent of this setting.
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.
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.
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.
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.