Skip to main content

Module project

Module project 

Source
Expand description

Project directories

Constants§

BEHAVIORS_DIR
Behavior trees directory - nested under configs/ (LAB-2072) so mecha10 config push/pull/list genuinely sync it like any other config, instead of living as a sibling top-level directory collect_configs_from_dir never walked.
DEV_PREFLIGHT_CACHE_FILE
Cache file for mecha10 dev’s project-level Python dependency preflight gate - see handlers/dev/ops/preflight.rs in the mecha10-cli crate. Purely a speed optimization: a missing or stale-and-discarded cache always falls back to a real scan, so nothing about correctness depends on this file existing or being fresh.
DRIVERS_DIR
Driver source code directory
LOGS_DIR
Logs directory
MODELS_CATALOG_DIR
Model catalog subdirectory, bind-mounted into the ollama Compose service as /root/.ollama/models (see docker-compose.yml.template). Must exist on disk before mecha10 dev’s first docker compose up for a project that only uses an Ollama-backed node (e.g. llm-command) and never pulls an ONNX catalog model - otherwise this subdirectory is only ever created lazily by ModelService::catalog_model_dir on a catalog pull, and Docker’s own auto-create of a missing bind-mount target can fail with “mkdir /root/.ollama: no such file or directory” on hosts where it can’t create nested missing directories through the mount.
MODELS_DIR
Models directory (ONNX models, etc.)
NODES_DIR
Node source code directory
NODES_MECHA10_DIR
Framework node (@mecha10 scope) schema directory, under the project’s nodes/ directory rather than configs/nodes/ (wave 10). This is where a framework node’s <name>.schema.json lives – the nodes/-rooted counterpart to config::NODES_MECHA10_DIR (which now carries only config.json).
RL_TASKS_DIR
RL task-curriculum configs directory (LAB-2430) - scaffolded from the templates package’s bundled catalog at mecha10 init time. Deliberately NOT under SIMULATION_MODELS_DIR/SIMULATION_ENVIRONMENTS_DIR’s simulation/ tree (LAB-2429): task-curriculum configs are a project’s RL configuration (room_size, target_range, obstacle_count, …), not a physics/rendering asset, so they live alongside the rest of a project’s RL config (configs/rl/jobs/) instead. mecha10-rl’s AssetResolver resolves task configs (e.g. task1) from here for training (mecha10 train); mecha10_rl.mujoco.cli serve --assets-path (supervised by packages/nodes/simulator, live dev-mode physics only) never reads task configs at all.
SIMULATION_DIR
Simulation directory - nested under configs/ (moved from a top-level simulation/ sibling) so mecha10 config push/pull syncs it like any other config, the same reason BEHAVIORS_DIR moved under configs/ in LAB-2072.
SIMULATION_ENVIRONMENTS_DIR
Simulation environments directory
SIMULATION_IMAGES_DIR
Simulation billboard-image assets directory (type: "image" environment.json/ task.json objects’ source fields point here) - flat, no per-environment nesting: a project only ever has one pool of these images, so the earlier shared-vs-env-specific tiering (mecha10_cli_core::simulation_assets, now removed) was unneeded complexity. Nested under SIMULATION_DIR (not a top-level assets/ sibling) so mecha10 config push/pull covers it like every other simulation asset - the previous top-level <project>/assets/ location was never synced anywhere, which silently broke remote RL training for any environment with an image billboard.
SIMULATION_MODELS_DIR
Simulation models directory
SIMULATION_OUTPUT_DIR
Simulation output directory (generated robot/scene files)
SRC_DIR
Source directory
STATE_DIR
Local (gitignored) project-scoped state directory - mirrors the ~/.mecha10 user-home convention (user::MECHA10_DIR) but scoped to this project checkout, for caches/state that are specific to one clone and shouldn’t be committed to git (e.g. mecha10 dev’s Python dependency preflight cache - see DEV_PREFLIGHT_CACHE_FILE/handlers/dev/ops/preflight.rs in the mecha10-cli crate).
TARGET_DIR
Cargo build target directory
TYPES_DIR
Types directory

Functions§

framework_node_schema_dir
Get the framework node’s schema directory (no <name>.schema.json suffix) under nodes/@mecha10/<node_name> – for callers that need to copy a whole schema template subtree into it (e.g. mecha10 add’s copy_node_configs), the nodes/-rooted sibling of config::framework_node_dir.