56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "HealthTelemetry.h"
|
|
#include "LayerStackStore.h"
|
|
#include "RuntimeConfigStore.h"
|
|
#include "ShaderPackageCatalog.h"
|
|
#include "ShaderTypes.h"
|
|
|
|
#include <chrono>
|
|
#include <filesystem>
|
|
#include <map>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
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<LayerStackStore::LayerPersistentState> layers;
|
|
std::map<std::string, ShaderPackage> 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<ShaderPackageStatus> packageStatuses;
|
|
std::vector<std::string> stackPresetNames;
|
|
unsigned short serverPort = 0;
|
|
bool autoReloadEnabled = false;
|
|
bool compileSucceeded = false;
|
|
std::string compileMessage;
|
|
};
|