#pragma once #include "HealthTelemetry.h" #include "LayerStackStore.h" #include "RuntimeConfigStore.h" #include "ShaderPackageCatalog.h" #include "ShaderTypes.h" #include #include #include #include #include struct ShaderCompilerInputs { std::filesystem::path repoRoot; std::filesystem::path wrapperPath; std::filesystem::path generatedGlslPath; std::filesystem::path patchedGlslPath; unsigned maxTemporalHistoryFrames = 0; }; struct RenderTimingSnapshot { std::chrono::steady_clock::time_point startTime; double startupRandom = 0.0; }; struct CommittedLiveStateReadModel { std::vector layers; std::map packagesById; }; struct RenderSnapshotReadModel { CommittedLiveStateReadModel committedLiveState; HealthTelemetry::SignalStatusSnapshot signalStatus; RenderTimingSnapshot timing; }; struct RuntimeStatePresentationReadModel { RuntimeConfigStore::AppConfig config; HealthTelemetry::Snapshot telemetry; LayerStackStore layerStack; ShaderPackageCatalog::Snapshot shaderCatalog; std::vector packageStatuses; std::vector stackPresetNames; unsigned short serverPort = 0; bool autoReloadEnabled = false; bool compileSucceeded = false; std::string compileMessage; };