17. Симулятор
Тот же код ядра, собранный под Windows (нативный Win32), логика приложения отлаживается на ПК и затем прошивается без изменений.
Tools/Simulator/Sim.ps1 # сборка + запуск (флаги: -Debug, -Clean, -NoRun)
Возможности:
- окно устройства 480×320 в масштабе 1:1, мышь эмулирует тач;
- боковая панель: пауза, шаг по истории кадров, скриншот, запись, кадров за шаг, масштаб времени 5-200 %, лимит FPS (настройки сохраняются в ini);
- метрики под экраном: FPS, загрузка CPU рендера, куча прошивки с пиком против бюджета 240 КБ;
- скриншоты - PNG формат; запись MP4 - нативно через Media Foundation.
Артефакты сборки лежат в Tools/Simulator/Build/.
Различия платформ. Макросы PIPCORE_TARGET_ESP32 / PIPCORE_TARGET_DESKTOP (из <Config.hpp>) позволяют скрыть платформенно-специфичный код; в остальном API идентичен:
#if PIPCORE_TARGET_ESP32
// только для железа
#else
// только для симулятора
#endif