From 02b221f4813b8a52a848c08f20f5f058da0ab7fb Mon Sep 17 00:00:00 2001 From: Aiden <68633820+awils27@users.noreply.github.com> Date: Tue, 12 May 2026 15:47:59 +1000 Subject: [PATCH] restructure --- CMakeLists.txt | 43 +++++++++++-------- apps/RenderCadenceCompositor/README.md | 10 +++-- apps/RenderCadenceCompositor/app/AppConfig.h | 2 +- .../control/{ => http}/HttpControlServer.cpp | 0 .../control/{ => http}/HttpControlServer.h | 0 .../{ => http}/HttpControlServerWebSocket.cpp | 0 .../render/RenderThread.cpp | 6 +-- .../render/RenderThread.h | 2 +- .../{ => readback}/Bgra8ReadbackPipeline.cpp | 0 .../{ => readback}/Bgra8ReadbackPipeline.h | 0 .../render/{ => readback}/PboReadbackRing.cpp | 0 .../render/{ => readback}/PboReadbackRing.h | 0 .../{ => runtime}/RuntimeRenderScene.cpp | 2 +- .../render/{ => runtime}/RuntimeRenderScene.h | 0 .../{ => runtime}/RuntimeShaderParams.cpp | 0 .../{ => runtime}/RuntimeShaderParams.h | 0 .../RuntimeShaderPrepareWorker.cpp | 2 +- .../RuntimeShaderPrepareWorker.h | 2 +- .../{ => runtime}/RuntimeShaderProgram.h | 2 +- .../{ => runtime}/RuntimeShaderRenderer.cpp | 0 .../{ => runtime}/RuntimeShaderRenderer.h | 2 +- 21 files changed, 40 insertions(+), 33 deletions(-) rename apps/RenderCadenceCompositor/control/{ => http}/HttpControlServer.cpp (100%) rename apps/RenderCadenceCompositor/control/{ => http}/HttpControlServer.h (100%) rename apps/RenderCadenceCompositor/control/{ => http}/HttpControlServerWebSocket.cpp (100%) rename apps/RenderCadenceCompositor/render/{ => readback}/Bgra8ReadbackPipeline.cpp (100%) rename apps/RenderCadenceCompositor/render/{ => readback}/Bgra8ReadbackPipeline.h (100%) rename apps/RenderCadenceCompositor/render/{ => readback}/PboReadbackRing.cpp (100%) rename apps/RenderCadenceCompositor/render/{ => readback}/PboReadbackRing.h (100%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeRenderScene.cpp (99%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeRenderScene.h (100%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderParams.cpp (100%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderParams.h (100%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderPrepareWorker.cpp (98%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderPrepareWorker.h (96%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderProgram.h (92%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderRenderer.cpp (100%) rename apps/RenderCadenceCompositor/render/{ => runtime}/RuntimeShaderRenderer.h (97%) diff --git a/CMakeLists.txt b/CMakeLists.txt index b2f0af8..9a66db7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,9 +310,9 @@ set(RENDER_CADENCE_APP_SOURCES "${RENDER_CADENCE_APP_DIR}/app/RuntimeLayerController.cpp" "${RENDER_CADENCE_APP_DIR}/app/RuntimeLayerController.h" "${RENDER_CADENCE_APP_DIR}/control/ControlActionResult.h" - "${RENDER_CADENCE_APP_DIR}/control/HttpControlServer.cpp" - "${RENDER_CADENCE_APP_DIR}/control/HttpControlServer.h" - "${RENDER_CADENCE_APP_DIR}/control/HttpControlServerWebSocket.cpp" + "${RENDER_CADENCE_APP_DIR}/control/http/HttpControlServer.cpp" + "${RENDER_CADENCE_APP_DIR}/control/http/HttpControlServer.h" + "${RENDER_CADENCE_APP_DIR}/control/http/HttpControlServerWebSocket.cpp" "${RENDER_CADENCE_APP_DIR}/control/RuntimeStateJson.h" "${RENDER_CADENCE_APP_DIR}/frames/SystemFrameExchange.cpp" "${RENDER_CADENCE_APP_DIR}/frames/SystemFrameExchange.h" @@ -323,23 +323,23 @@ set(RENDER_CADENCE_APP_SOURCES "${RENDER_CADENCE_APP_DIR}/logging/Logger.h" "${RENDER_CADENCE_APP_DIR}/platform/HiddenGlWindow.cpp" "${RENDER_CADENCE_APP_DIR}/platform/HiddenGlWindow.h" - "${RENDER_CADENCE_APP_DIR}/render/Bgra8ReadbackPipeline.cpp" - "${RENDER_CADENCE_APP_DIR}/render/Bgra8ReadbackPipeline.h" - "${RENDER_CADENCE_APP_DIR}/render/PboReadbackRing.cpp" - "${RENDER_CADENCE_APP_DIR}/render/PboReadbackRing.h" + "${RENDER_CADENCE_APP_DIR}/render/readback/Bgra8ReadbackPipeline.cpp" + "${RENDER_CADENCE_APP_DIR}/render/readback/Bgra8ReadbackPipeline.h" + "${RENDER_CADENCE_APP_DIR}/render/readback/PboReadbackRing.cpp" + "${RENDER_CADENCE_APP_DIR}/render/readback/PboReadbackRing.h" "${RENDER_CADENCE_APP_DIR}/render/RenderCadenceClock.cpp" "${RENDER_CADENCE_APP_DIR}/render/RenderCadenceClock.h" "${RENDER_CADENCE_APP_DIR}/render/RenderThread.cpp" "${RENDER_CADENCE_APP_DIR}/render/RenderThread.h" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderRenderer.cpp" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderRenderer.h" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderParams.cpp" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderParams.h" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeRenderScene.cpp" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeRenderScene.h" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderPrepareWorker.cpp" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderPrepareWorker.h" - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderProgram.h" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderRenderer.cpp" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderRenderer.h" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderParams.cpp" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderParams.h" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeRenderScene.cpp" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeRenderScene.h" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderPrepareWorker.cpp" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderPrepareWorker.h" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderProgram.h" "${RENDER_CADENCE_APP_DIR}/render/SimpleMotionRenderer.cpp" "${RENDER_CADENCE_APP_DIR}/render/SimpleMotionRenderer.h" "${RENDER_CADENCE_APP_DIR}/runtime/RuntimeLayerModel.cpp" @@ -372,11 +372,14 @@ target_include_directories(RenderCadenceCompositor PRIVATE "${RENDER_CADENCE_APP_DIR}" "${RENDER_CADENCE_APP_DIR}/app" "${RENDER_CADENCE_APP_DIR}/control" + "${RENDER_CADENCE_APP_DIR}/control/http" "${RENDER_CADENCE_APP_DIR}/frames" "${RENDER_CADENCE_APP_DIR}/json" "${RENDER_CADENCE_APP_DIR}/logging" "${RENDER_CADENCE_APP_DIR}/platform" "${RENDER_CADENCE_APP_DIR}/render" + "${RENDER_CADENCE_APP_DIR}/render/readback" + "${RENDER_CADENCE_APP_DIR}/render/runtime" "${RENDER_CADENCE_APP_DIR}/runtime" "${RENDER_CADENCE_APP_DIR}/telemetry" "${RENDER_CADENCE_APP_DIR}/video" @@ -815,7 +818,7 @@ endif() add_test(NAME RenderCadenceCompositorTelemetryTests COMMAND RenderCadenceCompositorTelemetryTests) add_executable(RenderCadenceCompositorRuntimeShaderParamsTests - "${RENDER_CADENCE_APP_DIR}/render/RuntimeShaderParams.cpp" + "${RENDER_CADENCE_APP_DIR}/render/runtime/RuntimeShaderParams.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/RenderCadenceCompositorRuntimeShaderParamsTests.cpp" ) @@ -823,6 +826,7 @@ target_include_directories(RenderCadenceCompositorRuntimeShaderParamsTests PRIVA "${APP_DIR}/gl/shader" "${APP_DIR}/shader" "${RENDER_CADENCE_APP_DIR}/render" + "${RENDER_CADENCE_APP_DIR}/render/runtime" "${RENDER_CADENCE_APP_DIR}/runtime" ) @@ -936,8 +940,8 @@ endif() add_test(NAME RenderCadenceCompositorRuntimeStateJsonTests COMMAND RenderCadenceCompositorRuntimeStateJsonTests) add_executable(RenderCadenceCompositorHttpControlServerTests - "${RENDER_CADENCE_APP_DIR}/control/HttpControlServer.cpp" - "${RENDER_CADENCE_APP_DIR}/control/HttpControlServerWebSocket.cpp" + "${RENDER_CADENCE_APP_DIR}/control/http/HttpControlServer.cpp" + "${RENDER_CADENCE_APP_DIR}/control/http/HttpControlServerWebSocket.cpp" "${RENDER_CADENCE_APP_DIR}/json/JsonWriter.cpp" "${RENDER_CADENCE_APP_DIR}/logging/Logger.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/RenderCadenceCompositorHttpControlServerTests.cpp" @@ -945,6 +949,7 @@ add_executable(RenderCadenceCompositorHttpControlServerTests target_include_directories(RenderCadenceCompositorHttpControlServerTests PRIVATE "${RENDER_CADENCE_APP_DIR}/control" + "${RENDER_CADENCE_APP_DIR}/control/http" "${RENDER_CADENCE_APP_DIR}/json" "${RENDER_CADENCE_APP_DIR}/logging" ) diff --git a/apps/RenderCadenceCompositor/README.md b/apps/RenderCadenceCompositor/README.md index 4b72049..b78d9ef 100644 --- a/apps/RenderCadenceCompositor/README.md +++ b/apps/RenderCadenceCompositor/README.md @@ -264,11 +264,13 @@ This app keeps the same core behavior but splits it into modules that can grow: - `frames/`: system-memory handoff - `platform/`: COM/Win32/hidden GL context support -- `render/`: cadence, simple rendering, PBO readback -- `render/RuntimeRenderScene`: render-thread-owned GL scene for ready runtime shader layers -- `render/RuntimeShaderPrepareWorker`: shared-context runtime shader program compile/link worker +- `render/`: cadence thread, clock, and simple renderer +- `render/readback/`: PBO-backed BGRA8 readback and completed-frame publication +- `render/runtime/RuntimeRenderScene`: render-thread-owned GL scene for ready runtime shader layers +- `render/runtime/RuntimeShaderPrepareWorker`: shared-context runtime shader program compile/link worker - `runtime/`: app-owned shader layer readiness model, runtime Slang build bridge, and completed artifact handoff -- `control/`: local HTTP API edge and runtime-state JSON presentation +- `control/`: control action results and runtime-state JSON presentation +- `control/http/`: local HTTP API, static UI serving, OpenAPI serving, and WebSocket updates - `json/`: compact JSON serialization helpers - `video/`: DeckLink output wrapper and scheduling thread - `telemetry/`: cadence telemetry diff --git a/apps/RenderCadenceCompositor/app/AppConfig.h b/apps/RenderCadenceCompositor/app/AppConfig.h index aeeca03..7509760 100644 --- a/apps/RenderCadenceCompositor/app/AppConfig.h +++ b/apps/RenderCadenceCompositor/app/AppConfig.h @@ -1,6 +1,6 @@ #pragma once -#include "../control/HttpControlServer.h" +#include "../control/http/HttpControlServer.h" #include "../logging/Logger.h" #include "../telemetry/TelemetryHealthMonitor.h" #include "../video/DeckLinkOutput.h" diff --git a/apps/RenderCadenceCompositor/control/HttpControlServer.cpp b/apps/RenderCadenceCompositor/control/http/HttpControlServer.cpp similarity index 100% rename from apps/RenderCadenceCompositor/control/HttpControlServer.cpp rename to apps/RenderCadenceCompositor/control/http/HttpControlServer.cpp diff --git a/apps/RenderCadenceCompositor/control/HttpControlServer.h b/apps/RenderCadenceCompositor/control/http/HttpControlServer.h similarity index 100% rename from apps/RenderCadenceCompositor/control/HttpControlServer.h rename to apps/RenderCadenceCompositor/control/http/HttpControlServer.h diff --git a/apps/RenderCadenceCompositor/control/HttpControlServerWebSocket.cpp b/apps/RenderCadenceCompositor/control/http/HttpControlServerWebSocket.cpp similarity index 100% rename from apps/RenderCadenceCompositor/control/HttpControlServerWebSocket.cpp rename to apps/RenderCadenceCompositor/control/http/HttpControlServerWebSocket.cpp diff --git a/apps/RenderCadenceCompositor/render/RenderThread.cpp b/apps/RenderCadenceCompositor/render/RenderThread.cpp index fd9bcfe..3579bde 100644 --- a/apps/RenderCadenceCompositor/render/RenderThread.cpp +++ b/apps/RenderCadenceCompositor/render/RenderThread.cpp @@ -4,10 +4,10 @@ #include "../frames/SystemFrameTypes.h" #include "../logging/Logger.h" #include "../platform/HiddenGlWindow.h" -#include "Bgra8ReadbackPipeline.h" +#include "readback/Bgra8ReadbackPipeline.h" #include "GLExtensions.h" -#include "RuntimeRenderScene.h" -#include "RuntimeShaderRenderer.h" +#include "runtime/RuntimeRenderScene.h" +#include "runtime/RuntimeShaderRenderer.h" #include "SimpleMotionRenderer.h" #include diff --git a/apps/RenderCadenceCompositor/render/RenderThread.h b/apps/RenderCadenceCompositor/render/RenderThread.h index d24c9a0..c280906 100644 --- a/apps/RenderCadenceCompositor/render/RenderThread.h +++ b/apps/RenderCadenceCompositor/render/RenderThread.h @@ -3,7 +3,7 @@ #include "RenderCadenceClock.h" #include "../runtime/RuntimeLayerModel.h" #include "../runtime/RuntimeShaderArtifact.h" -#include "RuntimeRenderScene.h" +#include "runtime/RuntimeRenderScene.h" #include #include diff --git a/apps/RenderCadenceCompositor/render/Bgra8ReadbackPipeline.cpp b/apps/RenderCadenceCompositor/render/readback/Bgra8ReadbackPipeline.cpp similarity index 100% rename from apps/RenderCadenceCompositor/render/Bgra8ReadbackPipeline.cpp rename to apps/RenderCadenceCompositor/render/readback/Bgra8ReadbackPipeline.cpp diff --git a/apps/RenderCadenceCompositor/render/Bgra8ReadbackPipeline.h b/apps/RenderCadenceCompositor/render/readback/Bgra8ReadbackPipeline.h similarity index 100% rename from apps/RenderCadenceCompositor/render/Bgra8ReadbackPipeline.h rename to apps/RenderCadenceCompositor/render/readback/Bgra8ReadbackPipeline.h diff --git a/apps/RenderCadenceCompositor/render/PboReadbackRing.cpp b/apps/RenderCadenceCompositor/render/readback/PboReadbackRing.cpp similarity index 100% rename from apps/RenderCadenceCompositor/render/PboReadbackRing.cpp rename to apps/RenderCadenceCompositor/render/readback/PboReadbackRing.cpp diff --git a/apps/RenderCadenceCompositor/render/PboReadbackRing.h b/apps/RenderCadenceCompositor/render/readback/PboReadbackRing.h similarity index 100% rename from apps/RenderCadenceCompositor/render/PboReadbackRing.h rename to apps/RenderCadenceCompositor/render/readback/PboReadbackRing.h diff --git a/apps/RenderCadenceCompositor/render/RuntimeRenderScene.cpp b/apps/RenderCadenceCompositor/render/runtime/RuntimeRenderScene.cpp similarity index 99% rename from apps/RenderCadenceCompositor/render/RuntimeRenderScene.cpp rename to apps/RenderCadenceCompositor/render/runtime/RuntimeRenderScene.cpp index 0edc813..a56876b 100644 --- a/apps/RenderCadenceCompositor/render/RuntimeRenderScene.cpp +++ b/apps/RenderCadenceCompositor/render/runtime/RuntimeRenderScene.cpp @@ -1,6 +1,6 @@ #include "RuntimeRenderScene.h" -#include "../platform/HiddenGlWindow.h" +#include "../../platform/HiddenGlWindow.h" #include #include diff --git a/apps/RenderCadenceCompositor/render/RuntimeRenderScene.h b/apps/RenderCadenceCompositor/render/runtime/RuntimeRenderScene.h similarity index 100% rename from apps/RenderCadenceCompositor/render/RuntimeRenderScene.h rename to apps/RenderCadenceCompositor/render/runtime/RuntimeRenderScene.h diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderParams.cpp b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderParams.cpp similarity index 100% rename from apps/RenderCadenceCompositor/render/RuntimeShaderParams.cpp rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderParams.cpp diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderParams.h b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderParams.h similarity index 100% rename from apps/RenderCadenceCompositor/render/RuntimeShaderParams.h rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderParams.h diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderPrepareWorker.cpp b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderPrepareWorker.cpp similarity index 98% rename from apps/RenderCadenceCompositor/render/RuntimeShaderPrepareWorker.cpp rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderPrepareWorker.cpp index 471fa4b..27d3f38 100644 --- a/apps/RenderCadenceCompositor/render/RuntimeShaderPrepareWorker.cpp +++ b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderPrepareWorker.cpp @@ -1,6 +1,6 @@ #include "RuntimeShaderPrepareWorker.h" -#include "../platform/HiddenGlWindow.h" +#include "../../platform/HiddenGlWindow.h" #include "RuntimeShaderRenderer.h" #include diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderPrepareWorker.h b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderPrepareWorker.h similarity index 96% rename from apps/RenderCadenceCompositor/render/RuntimeShaderPrepareWorker.h rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderPrepareWorker.h index 5299f43..5e83001 100644 --- a/apps/RenderCadenceCompositor/render/RuntimeShaderPrepareWorker.h +++ b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderPrepareWorker.h @@ -1,7 +1,7 @@ #pragma once #include "RuntimeShaderProgram.h" -#include "../runtime/RuntimeLayerModel.h" +#include "../../runtime/RuntimeLayerModel.h" #include diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderProgram.h b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderProgram.h similarity index 92% rename from apps/RenderCadenceCompositor/render/RuntimeShaderProgram.h rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderProgram.h index 8f18825..efb4cf0 100644 --- a/apps/RenderCadenceCompositor/render/RuntimeShaderProgram.h +++ b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderProgram.h @@ -1,7 +1,7 @@ #pragma once #include "GLExtensions.h" -#include "../runtime/RuntimeShaderArtifact.h" +#include "../../runtime/RuntimeShaderArtifact.h" #include diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderRenderer.cpp b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderRenderer.cpp similarity index 100% rename from apps/RenderCadenceCompositor/render/RuntimeShaderRenderer.cpp rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderRenderer.cpp diff --git a/apps/RenderCadenceCompositor/render/RuntimeShaderRenderer.h b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderRenderer.h similarity index 97% rename from apps/RenderCadenceCompositor/render/RuntimeShaderRenderer.h rename to apps/RenderCadenceCompositor/render/runtime/RuntimeShaderRenderer.h index 7763c1a..2effb48 100644 --- a/apps/RenderCadenceCompositor/render/RuntimeShaderRenderer.h +++ b/apps/RenderCadenceCompositor/render/runtime/RuntimeShaderRenderer.h @@ -2,7 +2,7 @@ #include "GLExtensions.h" #include "RuntimeShaderProgram.h" -#include "../runtime/RuntimeShaderArtifact.h" +#include "../../runtime/RuntimeShaderArtifact.h" #include #include