diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 0000000..36dbe6a --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,68 @@ +# Engine Architecture Documentation + +This document provides a top-down overview of the engine. Each chapter corresponds to a folder inside `src/` and explains its role within the system. + +## Flow: Packet Reception to Robot Commands +1. External packets from vision and referee sources are captured by modules in `receivers`. +2. These packets are parsed and used to update the `world` state. +3. Each frame, `MainApp` triggers `LuaInterface` scripts that read the world and issue motion requests using functions in `motion`. +4. `Radio` packages these `RobotCommand` objects and transmits them to robots or the simulator. + +## 1. `assets` +Contains application resources such as icons and Windows resource definitions (`engine_icon.ico`, `icon.rc`). These assets are compiled into the executable for branding and platform integration. + +## 2. `consolereader` +Implements `ConsoleReader`, a `QThread` that monitors standard input for text commands. It understands commands like `run