reorganization
Some checks failed
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Failing after 2m33s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
2026-05-22 15:06:26 +10:00
parent b7e7452567
commit 7bf5464fd2
43 changed files with 37 additions and 27 deletions

View File

@@ -36,6 +36,10 @@ set(VIDEO_SHADER_INCLUDE_DIRS
"${SRC_DIR}/shader"
"${SRC_DIR}/telemetry"
"${SRC_DIR}/video"
"${SRC_DIR}/video/core"
"${SRC_DIR}/video/decklink"
"${SRC_DIR}/video/legacy"
"${SRC_DIR}/video/playout"
)
function(video_shader_target_defaults target)
@@ -121,8 +125,8 @@ set(MSDF_ATLAS_GEN_README_FILE "${MSDF_ATLAS_GEN_ROOT}/README.md")
set(RENDER_CADENCE_APP_REQUIRED_FILES
"${SRC_DIR}/RenderCadenceCompositor.cpp"
"${SRC_DIR}/video/DeckLinkAPI_i.c"
"${SRC_DIR}/video/DeckLinkAPI_h.h"
"${SRC_DIR}/video/decklink/DeckLinkAPI_i.c"
"${SRC_DIR}/video/decklink/DeckLinkAPI_h.h"
)
video_shader_files_exist(RENDER_CADENCE_APP_MISSING_FILES ${RENDER_CADENCE_APP_REQUIRED_FILES})
@@ -138,8 +142,8 @@ else()
"${SRC_DIR}/*.h"
)
list(REMOVE_ITEM RENDER_CADENCE_APP_SOURCES
"${SRC_DIR}/video/VideoBackend.cpp"
"${SRC_DIR}/video/VideoBackend.h"
"${SRC_DIR}/video/legacy/VideoBackend.cpp"
"${SRC_DIR}/video/legacy/VideoBackend.h"
)
add_executable(RenderCadenceCompositor ${RENDER_CADENCE_APP_SOURCES})

View File

@@ -23,7 +23,10 @@ Native app internals are grouped by boundary:
- `render/`: render thread, readback, runtime render scene, and shared-context shader program preparation.
- `runtime/`: shader catalog support, layer model, Slang build bridge, font atlas build, and runtime-state persistence.
- `shader/`: shader package parsing and Slang compilation helpers.
- `video/`: DeckLink input/output edges, format helpers, and scheduling.
- `video/core/`: backend-neutral video IO handoff contracts, formats, and output scheduling thread.
- `video/decklink/`: current DeckLink input/output backend.
- `video/playout/`: backend-adjacent playout policy, queues, frame pools, and scheduling helpers.
- `video/legacy/`: older backend pipeline pieces kept separate while the new edge model settles.
## Requirements
@@ -281,7 +284,7 @@ If `SLANG_ROOT` or `MSDF_ATLAS_GEN_ROOT` is not set, the workflow falls back to
- Audio.
- Genlock.
- Logs.
- Add more video I/O backends now that the DeckLink path is behind `videoio/`.
- Add more video I/O backends now that the DeckLink path is isolated under `src/video/decklink/`.
- Support a separate sound shader `.slang` file in shader packages. (https://www.shadertoy.com/view/XsBXWt)
- Add WebView2 for an embedded native control surface.
- MSDF typography rasterisation

View File

@@ -25,7 +25,10 @@ Primary source areas:
- `src/render/thread`: render thread lifecycle, cadence loop, metrics, and runtime shader commit mailbox
- `src/render/runtime`: render-thread-owned runtime shader scene, renderer, text texture upload cache, and shared-context shader prepare worker
- `src/frames`: system-memory frame exchange
- `src/video`: generic video IO edge contracts, DeckLink input/output edges, and scheduling
- `src/video/core`: generic video IO edge contracts, formats, and output scheduling thread
- `src/video/decklink`: current DeckLink input/output backend
- `src/video/playout`: backend-adjacent playout policy, queues, frame pools, and scheduling helpers
- `src/video/legacy`: older backend pipeline pieces kept separate from the current app path
- `src/runtime/catalog`: supported shader catalog and package filtering
- `src/runtime/layers`: app-side runtime layer model, restore, reload, and render snapshot construction
- `src/runtime/shader`: background Slang build bridge and prepared shader artifact types

View File

@@ -5,8 +5,8 @@
#include "frames/SystemFrameExchange.h"
#include "logging/Logger.h"
#include "render/thread/RenderThread.h"
#include "video/DeckLinkInput.h"
#include "video/DeckLinkInputThread.h"
#include "video/decklink/DeckLinkInput.h"
#include "video/decklink/DeckLinkInputThread.h"
#include "DeckLinkDisplayMode.h"
#include "VideoIOFormat.h"

View File

@@ -4,8 +4,8 @@
#include "../logging/Logger.h"
#include "../preview/PreviewConfig.h"
#include "../telemetry/TelemetryHealthMonitor.h"
#include "../video/DeckLinkOutput.h"
#include "../video/VideoOutputThread.h"
#include "DeckLinkOutput.h"
#include "VideoOutputThread.h"
#include <chrono>
#include <cstddef>

View File

@@ -7,9 +7,9 @@
#include "../control/RuntimeStateJson.h"
#include "../preview/PreviewWindowThread.h"
#include "../telemetry/TelemetryHealthMonitor.h"
#include "../video/DeckLinkOutput.h"
#include "../video/VideoIOEdges.h"
#include "../video/VideoOutputThread.h"
#include "DeckLinkOutput.h"
#include "VideoIOEdges.h"
#include "VideoOutputThread.h"
#include <chrono>
#include <filesystem>

View File

@@ -20,13 +20,13 @@ add_video_shader_test(RenderCadenceCompositorTelemetryTests
add_video_shader_test(RenderCadenceCompositorFrameExchangeTests
"${SRC_DIR}/frames/SystemFrameExchange.cpp"
"${SRC_DIR}/video/VideoIOFormat.cpp"
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
"${TEST_DIR}/RenderCadenceCompositorFrameExchangeTests.cpp"
)
add_video_shader_test(RenderCadenceCompositorInputFrameMailboxTests
"${SRC_DIR}/frames/InputFrameMailbox.cpp"
"${SRC_DIR}/video/VideoIOFormat.cpp"
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
"${TEST_DIR}/RenderCadenceCompositorInputFrameMailboxTests.cpp"
)
@@ -128,49 +128,49 @@ add_video_shader_test(Std140BufferTests
)
add_video_shader_test(VideoIOFormatTests
"${SRC_DIR}/video/DeckLinkVideoIOFormat.cpp"
"${SRC_DIR}/video/VideoIOFormat.cpp"
"${SRC_DIR}/video/decklink/DeckLinkVideoIOFormat.cpp"
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
"${TEST_DIR}/VideoIOFormatTests.cpp"
)
add_video_shader_test(VideoPlayoutSchedulerTests
"${SRC_DIR}/video/VideoPlayoutScheduler.cpp"
"${SRC_DIR}/video/playout/VideoPlayoutScheduler.cpp"
"${TEST_DIR}/VideoPlayoutSchedulerTests.cpp"
)
add_video_shader_test(VideoOutputThreadTests
"${SRC_DIR}/video/VideoIOFormat.cpp"
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
"${TEST_DIR}/VideoOutputThreadTests.cpp"
)
add_video_shader_test(OutputProductionControllerTests
"${SRC_DIR}/video/OutputProductionController.cpp"
"${SRC_DIR}/video/playout/OutputProductionController.cpp"
"${TEST_DIR}/OutputProductionControllerTests.cpp"
)
add_video_shader_test(RenderOutputQueueTests
"${SRC_DIR}/video/RenderOutputQueue.cpp"
"${SRC_DIR}/video/playout/RenderOutputQueue.cpp"
"${TEST_DIR}/RenderOutputQueueTests.cpp"
)
add_video_shader_test(RenderCadenceControllerTests
"${SRC_DIR}/video/RenderCadenceController.cpp"
"${SRC_DIR}/video/playout/RenderCadenceController.cpp"
"${TEST_DIR}/RenderCadenceControllerTests.cpp"
)
add_video_shader_test(SystemOutputFramePoolTests
"${SRC_DIR}/video/SystemOutputFramePool.cpp"
"${SRC_DIR}/video/VideoIOFormat.cpp"
"${SRC_DIR}/video/playout/SystemOutputFramePool.cpp"
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
"${TEST_DIR}/SystemOutputFramePoolTests.cpp"
)
add_video_shader_test(VideoBackendLifecycleTests
"${SRC_DIR}/video/VideoBackendLifecycle.cpp"
"${SRC_DIR}/video/legacy/VideoBackendLifecycle.cpp"
"${TEST_DIR}/VideoBackendLifecycleTests.cpp"
)
add_video_shader_test(VideoIODeviceFakeTests
"${SRC_DIR}/video/VideoIOFormat.cpp"
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
"${TEST_DIR}/VideoIODeviceFakeTests.cpp"
)