config UI updates
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 2m8s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
Aiden
2026-05-30 20:20:22 +10:00
parent 216a561ede
commit aa33d72b6e
7 changed files with 187 additions and 37 deletions

View File

@@ -222,6 +222,42 @@ void TestAddAndRemoveLayers()
std::filesystem::remove_all(root);
}
void TestSnapshotCompileMessageSummarizesLayerStack()
{
std::filesystem::path root;
RenderCadenceCompositor::SupportedShaderCatalog catalog = MakeCatalog(root);
RenderCadenceCompositor::RuntimeLayerModel model;
std::string error;
std::string firstLayerId;
std::string secondLayerId;
Expect(model.AddLayer(catalog, "solid", firstLayerId, error), "first layer can be added for summary test");
Expect(model.AddLayer(catalog, "solid", secondLayerId, error), "second layer can be added for summary test");
RuntimeShaderArtifact firstArtifact;
firstArtifact.layerId = firstLayerId;
firstArtifact.shaderId = "solid";
firstArtifact.displayName = "Solid";
firstArtifact.fragmentShaderSource = "void main(){}";
firstArtifact.message = "Solid package build completed: 1 Slang pass compiled in 10.00 ms.";
Expect(model.MarkBuildReady(firstArtifact, error), "first ready artifact updates summary test model");
RuntimeShaderArtifact secondArtifact = firstArtifact;
secondArtifact.layerId = secondLayerId;
secondArtifact.message = "Solid package build completed: 1 Slang pass compiled in 11.00 ms.";
Expect(model.MarkBuildReady(secondArtifact, error), "second ready artifact updates summary test model");
const RenderCadenceCompositor::RuntimeLayerModelSnapshot snapshot = model.Snapshot();
Expect(snapshot.compileMessage.find("Runtime stack ready: 2/2 layer shaders compiled and render-ready.") != std::string::npos,
"compile message summarizes the whole layer stack");
Expect(snapshot.compileMessage.find("Layer 1 Solid (ready): Solid package build completed") != std::string::npos,
"compile message includes first layer detail");
Expect(snapshot.compileMessage.find("Layer 2 Solid (ready): Solid package build completed") != std::string::npos,
"compile message includes second layer detail");
std::filesystem::remove_all(root);
}
void TestInitializeFromRuntimeStateRestoresLayerStack()
{
std::filesystem::path root = MakeTestRoot();
@@ -542,6 +578,7 @@ int main()
TestRejectsUnsupportedStartupShader();
TestBuildFailureStaysDisplaySide();
TestAddAndRemoveLayers();
TestSnapshotCompileMessageSummarizesLayerStack();
TestInitializeFromRuntimeStateRestoresLayerStack();
TestInvalidRuntimeStateCanFallBackToConfiguredShader();
TestLayerControlsUpdateDisplayAndRenderModels();