# AI Rules for BATL_CARLA_SIM This document contains rules and instructions for AI agents working on this project. ## Simulation Pipeline - This project uses CARLA 0.9.16 and the Foxglove integration. - Core logic is in `src/`. - Scenarios are in `scenarios/`. ## Environment Rules - **Terminal**: Use **PowerShell** for all command executions. - **Python**: Always use the `carla312` conda environment. - **Activation**: `C:\ProgramData\miniconda3\Scripts\activate.bat carla312` - **One-Click Runner**: Use `./run.bat` for most tasks as it handles activation and orchestration automatically. ## Command Execution Rules - **Direct Execution**: Background command capture works perfectly in PowerShell. You can run `python`, `git`, and `./run.bat` directly. - **Wait Policy**: Use a moderate `WaitMsBeforeAsync` (e.g. `2000` to `5000`) for non-simulation commands to see immediate output. - **Example**: `./run.bat --list-scenarios` - **Example**: `python src/main.py --no-record --frames 10` ## Project Architecture - **Scenario-agnostic Core**: All scenario-specific logic must be exclusively in the `scenarios/` directory. - **Global Config**: Use `config.py` only for global simulation settings (FPS, Sensors, Default Model/Weather). Do NOT add scenario parameters here. - **Parameter Tuning**: Use the `--params "KEY=VAL"` CLI flag to tune scenarios from the command line.