Instruction file imported from Mega-Sim/Sim_Core (
.github/instructions/cpp-runtime.instructions.md). Copyright stays with the author.
C++ Runtime Instructions
- Keep C++20 and existing warning discipline.
- Use
std::filesystem::pathfor paths. - Avoid Windows-only path separators in Core code.
- Preserve deterministic simulation results for the same input.
- Do not duplicate authoritative vehicle/job/world state.
- Reuse existing EventKernel, EventQueue, SimulationWorld, and observer structures.
- For Dispatch, Route, Motion, Traffic, and Observer changes, inspect the adjacent modules before editing.
- Add or update detailed ASCII log identifiers for simulation behavior changes.
- Do not claim build/test success unless it was actually run.
- If public interface changes, update
include/, implementation, tests, and docs together. - Do not search, inspect, or edit statistics-related C++ code/tests while debugging simulation start, tick, dispatch, motion, traffic, trace, or animation issues unless the user explicitly asks for statistics work or the failing log directly identifies statistics code as the cause.