Expand description
Project directories
Constants§
- BEHAVIORS_
DIR - Behavior trees directory - nested under
configs/(LAB-2072) somecha10 config push/pull/listgenuinely sync it like any other config, instead of living as a sibling top-level directorycollect_configs_from_dirnever walked. - DEV_
PREFLIGHT_ CACHE_ FILE - Cache file for
mecha10 dev’s project-level Python dependency preflight gate - seehandlers/dev/ops/preflight.rsin themecha10-clicrate. 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
ollamaCompose service as/root/.ollama/models(seedocker-compose.yml.template). Must exist on disk beforemecha10 dev’s firstdocker compose upfor 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 byModelService::catalog_model_diron 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_
MECH A10_ DIR - Framework node (
@mecha10scope) schema directory, under the project’snodes/directory rather thanconfigs/nodes/(wave 10). This is where a framework node’s<name>.schema.jsonlives – thenodes/-rooted counterpart toconfig::NODES_MECHA10_DIR(which now carries onlyconfig.json). - RL_
TASKS_ DIR - RL task-curriculum configs directory (LAB-2430) - scaffolded from the templates
package’s bundled catalog at
mecha10 inittime. Deliberately NOT underSIMULATION_MODELS_DIR/SIMULATION_ENVIRONMENTS_DIR’ssimulation/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’sAssetResolverresolves task configs (e.g.task1) from here for training (mecha10 train);mecha10_rl.mujoco.cli serve --assets-path(supervised bypackages/nodes/simulator, live dev-mode physics only) never reads task configs at all. - SIMULATION_
DIR - Simulation directory - nested under
configs/(moved from a top-levelsimulation/sibling) somecha10 config push/pullsyncs it like any other config, the same reasonBEHAVIORS_DIRmoved underconfigs/in LAB-2072. - SIMULATION_
ENVIRONMENTS_ DIR - Simulation environments directory
- SIMULATION_
IMAGES_ DIR - Simulation billboard-image assets directory (
type: "image"environment.json/task.jsonobjects’sourcefields 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 underSIMULATION_DIR(not a top-levelassets/sibling) somecha10 config push/pullcovers 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
~/.mecha10user-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 - seeDEV_PREFLIGHT_CACHE_FILE/handlers/dev/ops/preflight.rsin themecha10-clicrate). - 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.jsonsuffix) undernodes/@mecha10/<node_name>– for callers that need to copy a whole schema template subtree into it (e.g.mecha10 add’scopy_node_configs), thenodes/-rooted sibling ofconfig::framework_node_dir.