diff --git a/CMakeLists.txt b/CMakeLists.txt index 8384697..976f5f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,32 +102,34 @@ set(APP_SOURCES "${APP_DIR}/platform/NativeHandles.h" "${APP_DIR}/platform/NativeSockets.h" "${APP_DIR}/resource.h" - "${APP_DIR}/runtime/HealthTelemetry.cpp" - "${APP_DIR}/runtime/HealthTelemetry.h" - "${APP_DIR}/runtime/LayerStackStore.cpp" - "${APP_DIR}/runtime/LayerStackStore.h" - "${APP_DIR}/runtime/RenderSnapshotBuilder.cpp" - "${APP_DIR}/runtime/RenderSnapshotBuilder.h" - "${APP_DIR}/runtime/RuntimeConfigStore.cpp" - "${APP_DIR}/runtime/RuntimeConfigStore.h" - "${APP_DIR}/runtime/RuntimeCoordinator.cpp" - "${APP_DIR}/runtime/RuntimeCoordinator.h" - "${APP_DIR}/runtime/RuntimeSnapshotProvider.cpp" - "${APP_DIR}/runtime/RuntimeSnapshotProvider.h" - "${APP_DIR}/runtime/RuntimeStateJson.cpp" - "${APP_DIR}/runtime/RuntimeStateJson.h" - "${APP_DIR}/runtime/RuntimeStatePresenter.cpp" - "${APP_DIR}/runtime/RuntimeStatePresenter.h" - "${APP_DIR}/runtime/RuntimeClock.cpp" - "${APP_DIR}/runtime/RuntimeClock.h" - "${APP_DIR}/runtime/RuntimeJson.cpp" - "${APP_DIR}/runtime/RuntimeJson.h" - "${APP_DIR}/runtime/RuntimeParameterUtils.cpp" - "${APP_DIR}/runtime/RuntimeParameterUtils.h" - "${APP_DIR}/runtime/RuntimeStore.cpp" - "${APP_DIR}/runtime/RuntimeStore.h" - "${APP_DIR}/runtime/ShaderPackageCatalog.cpp" - "${APP_DIR}/runtime/ShaderPackageCatalog.h" + "${APP_DIR}/runtime/coordination/RuntimeCoordinator.cpp" + "${APP_DIR}/runtime/coordination/RuntimeCoordinator.h" + "${APP_DIR}/runtime/legacy/RuntimeHost.cpp" + "${APP_DIR}/runtime/legacy/RuntimeHost.h" + "${APP_DIR}/runtime/presentation/RuntimeStateJson.cpp" + "${APP_DIR}/runtime/presentation/RuntimeStateJson.h" + "${APP_DIR}/runtime/presentation/RuntimeStatePresenter.cpp" + "${APP_DIR}/runtime/presentation/RuntimeStatePresenter.h" + "${APP_DIR}/runtime/snapshot/RenderSnapshotBuilder.cpp" + "${APP_DIR}/runtime/snapshot/RenderSnapshotBuilder.h" + "${APP_DIR}/runtime/snapshot/RuntimeSnapshotProvider.cpp" + "${APP_DIR}/runtime/snapshot/RuntimeSnapshotProvider.h" + "${APP_DIR}/runtime/store/LayerStackStore.cpp" + "${APP_DIR}/runtime/store/LayerStackStore.h" + "${APP_DIR}/runtime/store/RuntimeConfigStore.cpp" + "${APP_DIR}/runtime/store/RuntimeConfigStore.h" + "${APP_DIR}/runtime/store/RuntimeStore.cpp" + "${APP_DIR}/runtime/store/RuntimeStore.h" + "${APP_DIR}/runtime/store/ShaderPackageCatalog.cpp" + "${APP_DIR}/runtime/store/ShaderPackageCatalog.h" + "${APP_DIR}/runtime/support/RuntimeJson.cpp" + "${APP_DIR}/runtime/support/RuntimeJson.h" + "${APP_DIR}/runtime/support/RuntimeParameterUtils.cpp" + "${APP_DIR}/runtime/support/RuntimeParameterUtils.h" + "${APP_DIR}/runtime/telemetry/HealthTelemetry.cpp" + "${APP_DIR}/runtime/telemetry/HealthTelemetry.h" + "${APP_DIR}/runtime/telemetry/RuntimeClock.cpp" + "${APP_DIR}/runtime/telemetry/RuntimeClock.h" "${APP_DIR}/shader/ShaderCompiler.cpp" "${APP_DIR}/shader/ShaderCompiler.h" "${APP_DIR}/shader/ShaderPackageRegistry.cpp" @@ -156,6 +158,13 @@ target_include_directories(LoopThroughWithOpenGLCompositing PRIVATE "${APP_DIR}/gl/shader" "${APP_DIR}/platform" "${APP_DIR}/runtime" + "${APP_DIR}/runtime/coordination" + "${APP_DIR}/runtime/legacy" + "${APP_DIR}/runtime/presentation" + "${APP_DIR}/runtime/snapshot" + "${APP_DIR}/runtime/store" + "${APP_DIR}/runtime/support" + "${APP_DIR}/runtime/telemetry" "${APP_DIR}/shader" "${APP_DIR}/videoio" "${APP_DIR}/videoio/decklink" @@ -182,13 +191,14 @@ if(MSVC) endif() add_executable(RuntimeJsonTests - "${APP_DIR}/runtime/RuntimeJson.cpp" + "${APP_DIR}/runtime/support/RuntimeJson.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/RuntimeJsonTests.cpp" ) target_include_directories(RuntimeJsonTests PRIVATE "${APP_DIR}" "${APP_DIR}/runtime" + "${APP_DIR}/runtime/support" ) if(MSVC) @@ -199,13 +209,14 @@ enable_testing() add_test(NAME RuntimeJsonTests COMMAND RuntimeJsonTests) add_executable(RuntimeClockTests - "${APP_DIR}/runtime/RuntimeClock.cpp" + "${APP_DIR}/runtime/telemetry/RuntimeClock.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/RuntimeClockTests.cpp" ) target_include_directories(RuntimeClockTests PRIVATE "${APP_DIR}" "${APP_DIR}/runtime" + "${APP_DIR}/runtime/telemetry" ) if(MSVC) @@ -215,14 +226,15 @@ endif() add_test(NAME RuntimeClockTests COMMAND RuntimeClockTests) add_executable(RuntimeParameterUtilsTests - "${APP_DIR}/runtime/RuntimeJson.cpp" - "${APP_DIR}/runtime/RuntimeParameterUtils.cpp" + "${APP_DIR}/runtime/support/RuntimeJson.cpp" + "${APP_DIR}/runtime/support/RuntimeParameterUtils.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/RuntimeParameterUtilsTests.cpp" ) target_include_directories(RuntimeParameterUtilsTests PRIVATE "${APP_DIR}" "${APP_DIR}/runtime" + "${APP_DIR}/runtime/support" "${APP_DIR}/shader" ) @@ -249,7 +261,7 @@ endif() add_test(NAME Std140BufferTests COMMAND Std140BufferTests) add_executable(ShaderPackageRegistryTests - "${APP_DIR}/runtime/RuntimeJson.cpp" + "${APP_DIR}/runtime/support/RuntimeJson.cpp" "${APP_DIR}/shader/ShaderPackageRegistry.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/ShaderPackageRegistryTests.cpp" ) @@ -257,6 +269,7 @@ add_executable(ShaderPackageRegistryTests target_include_directories(ShaderPackageRegistryTests PRIVATE "${APP_DIR}" "${APP_DIR}/runtime" + "${APP_DIR}/runtime/support" "${APP_DIR}/shader" ) @@ -267,7 +280,7 @@ endif() add_test(NAME ShaderPackageRegistryTests COMMAND ShaderPackageRegistryTests) add_executable(ShaderSlangValidationTests - "${APP_DIR}/runtime/RuntimeJson.cpp" + "${APP_DIR}/runtime/support/RuntimeJson.cpp" "${APP_DIR}/shader/ShaderCompiler.cpp" "${APP_DIR}/shader/ShaderPackageRegistry.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/tests/ShaderSlangValidationTests.cpp" @@ -277,6 +290,7 @@ target_include_directories(ShaderSlangValidationTests PRIVATE "${APP_DIR}" "${APP_DIR}/platform" "${APP_DIR}/runtime" + "${APP_DIR}/runtime/support" "${APP_DIR}/shader" ) diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeCoordinator.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/coordination/RuntimeCoordinator.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeCoordinator.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/coordination/RuntimeCoordinator.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeCoordinator.h b/apps/LoopThroughWithOpenGLCompositing/runtime/coordination/RuntimeCoordinator.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeCoordinator.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/coordination/RuntimeCoordinator.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h b/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStateJson.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStateJson.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStateJson.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStateJson.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStateJson.h b/apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStateJson.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStateJson.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStateJson.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStatePresenter.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStatePresenter.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStatePresenter.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStatePresenter.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStatePresenter.h b/apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStatePresenter.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStatePresenter.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/presentation/RuntimeStatePresenter.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RenderSnapshotBuilder.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RenderSnapshotBuilder.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RenderSnapshotBuilder.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RenderSnapshotBuilder.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RenderSnapshotBuilder.h b/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RenderSnapshotBuilder.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RenderSnapshotBuilder.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RenderSnapshotBuilder.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeSnapshotProvider.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RuntimeSnapshotProvider.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeSnapshotProvider.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RuntimeSnapshotProvider.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeSnapshotProvider.h b/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RuntimeSnapshotProvider.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeSnapshotProvider.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RuntimeSnapshotProvider.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/LayerStackStore.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/store/LayerStackStore.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/LayerStackStore.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/LayerStackStore.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/LayerStackStore.h b/apps/LoopThroughWithOpenGLCompositing/runtime/store/LayerStackStore.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/LayerStackStore.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/LayerStackStore.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeConfigStore.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeConfigStore.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeConfigStore.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeConfigStore.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeConfigStore.h b/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeConfigStore.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeConfigStore.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeConfigStore.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStore.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeStore.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStore.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeStore.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStore.h b/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeStore.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStore.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeStore.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/ShaderPackageCatalog.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/store/ShaderPackageCatalog.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/ShaderPackageCatalog.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/ShaderPackageCatalog.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/ShaderPackageCatalog.h b/apps/LoopThroughWithOpenGLCompositing/runtime/store/ShaderPackageCatalog.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/ShaderPackageCatalog.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/store/ShaderPackageCatalog.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeJson.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeJson.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeJson.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeJson.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeJson.h b/apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeJson.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeJson.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeJson.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeParameterUtils.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeParameterUtils.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeParameterUtils.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeParameterUtils.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeParameterUtils.h b/apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeParameterUtils.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeParameterUtils.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/support/RuntimeParameterUtils.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/HealthTelemetry.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/HealthTelemetry.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/HealthTelemetry.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/HealthTelemetry.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/HealthTelemetry.h b/apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/HealthTelemetry.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/HealthTelemetry.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/HealthTelemetry.h diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeClock.cpp b/apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/RuntimeClock.cpp similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeClock.cpp rename to apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/RuntimeClock.cpp diff --git a/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeClock.h b/apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/RuntimeClock.h similarity index 100% rename from apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeClock.h rename to apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/RuntimeClock.h diff --git a/docs/ARCHITECTURE_RESILIENCE_REVIEW.md b/docs/ARCHITECTURE_RESILIENCE_REVIEW.md index ab3f3d0..7c7928a 100644 --- a/docs/ARCHITECTURE_RESILIENCE_REVIEW.md +++ b/docs/ARCHITECTURE_RESILIENCE_REVIEW.md @@ -47,7 +47,7 @@ That makes it a single contention and failure domain. It is also why OSC and ren Relevant code: -- [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h:15) +- [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h:15) Recommended direction: @@ -258,7 +258,7 @@ Recommended direction: Relevant code: -- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1841) +- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1841) Recent OSC work already reduced this problem for live automation, but the broader architecture would still benefit from: diff --git a/docs/PHASE_1_SUBSYSTEM_BOUNDARIES_DESIGN.md b/docs/PHASE_1_SUBSYSTEM_BOUNDARIES_DESIGN.md index 5c47fac..b2422e6 100644 --- a/docs/PHASE_1_SUBSYSTEM_BOUNDARIES_DESIGN.md +++ b/docs/PHASE_1_SUBSYSTEM_BOUNDARIES_DESIGN.md @@ -55,8 +55,8 @@ This phase is the target design and the dependency rules. Later phases perform t The following current code paths are the strongest evidence for the split proposed here: - `RuntimeHost` is both store and live authority: - - [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h:15) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:726) + - [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h:15) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:726) - `OpenGLComposite` is both app orchestrator and render/runtime coordinator: - [OpenGLComposite.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/OpenGLComposite.cpp:106) - [OpenGLComposite.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/OpenGLComposite.cpp:283) @@ -100,29 +100,29 @@ This document is the parent note for the Phase 1 subsystem package. The bundle i The codebase now has an initial Phase 1 compatibility split in place: - `RuntimeStore` - - [RuntimeStore.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStore.h) - - [RuntimeStore.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeStore.cpp) + - [RuntimeStore.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeStore.h) + - [RuntimeStore.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeStore.cpp) - `RuntimeConfigStore` - - [RuntimeConfigStore.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeConfigStore.h) - - [RuntimeConfigStore.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeConfigStore.cpp) + - [RuntimeConfigStore.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeConfigStore.h) + - [RuntimeConfigStore.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/store/RuntimeConfigStore.cpp) - `ShaderPackageCatalog` - - [ShaderPackageCatalog.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/ShaderPackageCatalog.h) - - [ShaderPackageCatalog.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/ShaderPackageCatalog.cpp) + - [ShaderPackageCatalog.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/store/ShaderPackageCatalog.h) + - [ShaderPackageCatalog.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/store/ShaderPackageCatalog.cpp) - `RuntimeCoordinator` - - [RuntimeCoordinator.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeCoordinator.h) - - [RuntimeCoordinator.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeCoordinator.cpp) + - [RuntimeCoordinator.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/coordination/RuntimeCoordinator.h) + - [RuntimeCoordinator.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/coordination/RuntimeCoordinator.cpp) - `RuntimeSnapshotProvider` - - [RuntimeSnapshotProvider.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeSnapshotProvider.h) - - [RuntimeSnapshotProvider.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeSnapshotProvider.cpp) + - [RuntimeSnapshotProvider.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RuntimeSnapshotProvider.h) + - [RuntimeSnapshotProvider.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RuntimeSnapshotProvider.cpp) - `RenderSnapshotBuilder` - - [RenderSnapshotBuilder.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RenderSnapshotBuilder.h) - - [RenderSnapshotBuilder.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RenderSnapshotBuilder.cpp) + - [RenderSnapshotBuilder.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RenderSnapshotBuilder.h) + - [RenderSnapshotBuilder.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/snapshot/RenderSnapshotBuilder.cpp) - `ControlServices` - [ControlServices.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/control/ControlServices.h) - [ControlServices.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/control/ControlServices.cpp) - `HealthTelemetry` - - [HealthTelemetry.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/HealthTelemetry.h) - - [HealthTelemetry.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/HealthTelemetry.cpp) + - [HealthTelemetry.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/HealthTelemetry.h) + - [HealthTelemetry.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/telemetry/HealthTelemetry.cpp) - `RenderEngine` - [RenderEngine.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/RenderEngine.h) - [RenderEngine.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/RenderEngine.cpp) diff --git a/docs/subsystems/HealthTelemetry.md b/docs/subsystems/HealthTelemetry.md index 937ce71..8a323da 100644 --- a/docs/subsystems/HealthTelemetry.md +++ b/docs/subsystems/HealthTelemetry.md @@ -19,10 +19,10 @@ Today, those responsibilities are fragmented across `RuntimeHost` status setters The current code already contains meaningful health and timing signals, but they are spread through unrelated ownership domains: - `RuntimeHost` stores signal and timing status: - - [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h:41) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1353) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1415) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1441) + - [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h:41) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1353) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1415) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1441) - render and bridge code report timing by writing back into `RuntimeHost`: - [OpenGLRenderPipeline.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/pipeline/OpenGLRenderPipeline.cpp:50) - [OpenGLVideoIOBridge.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/pipeline/OpenGLVideoIOBridge.cpp:49) @@ -386,10 +386,10 @@ These are the clearest existing candidates: See: -- [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h:41) -- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1353) -- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1415) -- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1441) +- [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h:41) +- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1353) +- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1415) +- [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1441) In the target architecture, this kind of state should no longer sit on the same object that owns persistent layer truth. diff --git a/docs/subsystems/RuntimeCoordinator.md b/docs/subsystems/RuntimeCoordinator.md index e3982bc..35ef773 100644 --- a/docs/subsystems/RuntimeCoordinator.md +++ b/docs/subsystems/RuntimeCoordinator.md @@ -9,8 +9,8 @@ This document defines the target design for the `RuntimeCoordinator` subsystem i Today the app's mutation path is split across several places: - `RuntimeHost` performs validation, mutation, persistence, render-state invalidation, and some status updates: - - [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h:15) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:891) + - [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h:15) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:891) - `OpenGLComposite` currently acts like an orchestration shell and a mutation coordinator at the same time: - [OpenGLCompositeRuntimeControls.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/OpenGLCompositeRuntimeControls.cpp:1) - `RuntimeServices` still owns some deferred control flow around OSC commit and polling: @@ -67,7 +67,7 @@ This is the main policy surface that is currently spread between `RuntimeHost` m - `ApplyOscTargetByControlKey(...)` - `ResetLayerParameters(...)` -See [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.h:15). +See [RuntimeHost.h](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.h:15). ### 3. State classification @@ -375,7 +375,7 @@ That "call host, then decide reload/broadcast policy" logic is a direct candidat - persistence writes - render-state dirty marking -Examples in [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:891): +Examples in [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:891): - `AddLayer(...)` - `SetLayerShader(...)` diff --git a/docs/subsystems/RuntimeSnapshotProvider.md b/docs/subsystems/RuntimeSnapshotProvider.md index e39469f..108272f 100644 --- a/docs/subsystems/RuntimeSnapshotProvider.md +++ b/docs/subsystems/RuntimeSnapshotProvider.md @@ -16,11 +16,11 @@ It exists to solve three current problems: Today the closest current behavior lives in: -- [RuntimeHost::GetLayerRenderStates(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1535) -- [RuntimeHost::TryGetLayerRenderStates(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1543) -- [RuntimeHost::TryRefreshCachedLayerStates(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1554) -- [RuntimeHost::RefreshDynamicRenderStateFields(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1582) -- [RuntimeHost::BuildLayerRenderStatesLocked(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1598) +- [RuntimeHost::GetLayerRenderStates(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1535) +- [RuntimeHost::TryGetLayerRenderStates(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1543) +- [RuntimeHost::TryRefreshCachedLayerStates(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1554) +- [RuntimeHost::RefreshDynamicRenderStateFields(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1582) +- [RuntimeHost::BuildLayerRenderStatesLocked(...)](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1598) - the render-side cache usage in [OpenGLComposite.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/gl/OpenGLComposite.cpp:589) `RuntimeSnapshotProvider` should absorb that responsibility, but in a cleaner and more publish-oriented way. diff --git a/docs/subsystems/RuntimeStore.md b/docs/subsystems/RuntimeStore.md index d8a8f82..633b4b5 100644 --- a/docs/subsystems/RuntimeStore.md +++ b/docs/subsystems/RuntimeStore.md @@ -301,22 +301,22 @@ Today, `RuntimeHost` contains most of the responsibilities that should move into Key current code paths: - config load: - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1651) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1651) - persistent state load: - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1748) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1748) - persistent state save: - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1842) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1842) - preset save/load: - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1286) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1304) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1286) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1304) - state serialization helpers: - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:2061) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:2172) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:2268) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:2061) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:2172) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:2268) - path and file helpers: - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:1988) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:2002) - - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/RuntimeHost.cpp:2034) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:1988) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:2002) + - [RuntimeHost.cpp](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/legacy/RuntimeHost.cpp:2034) Durable-state mutation entrypoints that currently live on `RuntimeHost` but conceptually split between coordinator and store: