From 559bb17c1754314aecf2be9312bd2a618e2ddb41 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Wed, 28 Jan 2026 02:22:33 +0100 Subject: [PATCH] BufferProvider: aiming at a simplified engine configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While this topic is only tangentially related to the problems with the »Buffer Provider Protocol«, the configuration of service instances is relevant, insofar it provides a configuration point for unit testing. The structure of the `EngineCtx` was created as a placeholder, to get those issues out of the way while drafting the render node code; in its current form it is clearly both to complicated and inflexible. My intention is to merge the `EngineCtx::Facilities`, and to prefer configuration of more elaborate setup by subclasses. --- .../{engine-ctx-facilities.cpp => engine-ctx.cpp} | 9 +++++---- src/steam/engine/engine-ctx.hpp | 5 ++++- ...ngine-ctx-facilities.hpp => engine-facilities.hpp} | 11 ++++++----- 3 files changed, 15 insertions(+), 10 deletions(-) rename src/steam/engine/{engine-ctx-facilities.cpp => engine-ctx.cpp} (81%) rename src/steam/engine/{engine-ctx-facilities.hpp => engine-facilities.hpp} (83%) diff --git a/src/steam/engine/engine-ctx-facilities.cpp b/src/steam/engine/engine-ctx.cpp similarity index 81% rename from src/steam/engine/engine-ctx-facilities.cpp rename to src/steam/engine/engine-ctx.cpp index 512570739..a363e3f11 100644 --- a/src/steam/engine/engine-ctx-facilities.cpp +++ b/src/steam/engine/engine-ctx.cpp @@ -1,5 +1,5 @@ /* - EngineCtxFacilities - Implementation of global render engine operational services + EngineCtx - Base implementation of global render engine operational services Copyright (C) 2024, Hermann Vosseler @@ -12,12 +12,13 @@ * *****************************************************************/ -/** @file engine-ctx-facilities.hpp - ** Implementation parts of render engine operational services. - ** @warning as of 10/2024 a preliminary integration of Render-Engine underway ////////////////////////////////////////TICKET #1367 +/** @file engine-ctx.cpp + ** Base implementation of render engine operational service configuration. + ** @warning as of 1/2026 a preliminary integration of Render-Engine underway ////////////////////////////////////////TICKET #1367 */ +#include "steam/engine/engine-ctx.hpp" #include "steam/engine/engine-ctx-facilities.hpp" #include "steam/engine/tracking-heap-block-provider.hpp" diff --git a/src/steam/engine/engine-ctx.hpp b/src/steam/engine/engine-ctx.hpp index fd6b6fb34..6eda11d03 100644 --- a/src/steam/engine/engine-ctx.hpp +++ b/src/steam/engine/engine-ctx.hpp @@ -19,6 +19,9 @@ ** The EngineCtx itself is meant to be [dependency injected](\ref lib::Depend), so that ** tests can use suitably adapted variants for verifications. The default instantiation ** provides a naive self-contained implementation suitable for demonstration and test. + ** For productive use within the Lumiera Render Engine, a much more elaborate setup + ** is necessary, including setup of a frame cache, and of timing strategies; these + ** are configured as part of starting the steam::engine::RenderEnvironment. ** @todo who is responsible for setup of the services for the actual render engine? ** Might be closely related to brining up façade interfaces. ** @todo WIP-WIP 1/2026 provide a default implementation for test @@ -26,7 +29,7 @@ ** production variant of the services... ** ** @see engine-ctx-test.cpp - ** @see engine-ctx-facilities.hpp implementation + ** @see engine-ctx.cpp base implementation ** @see buffer-provider.hpp ** @see buffhandle.hpp */ diff --git a/src/steam/engine/engine-ctx-facilities.hpp b/src/steam/engine/engine-facilities.hpp similarity index 83% rename from src/steam/engine/engine-ctx-facilities.hpp rename to src/steam/engine/engine-facilities.hpp index 4774006b0..61a99d8f3 100644 --- a/src/steam/engine/engine-ctx-facilities.hpp +++ b/src/steam/engine/engine-facilities.hpp @@ -1,5 +1,5 @@ /* - ENGINE-CTX-FACILITIES.hpp - Implementation of global render engine operational services + ENGINE-FACILITIES.hpp - Access and coordination of global render engine operational services Copyright (C) 2024, Hermann Vosseler @@ -11,7 +11,7 @@ */ -/** @file engine-ctx-facilities.hpp +/** @file engine-facilities.hpp ** Implementation of render engine operational configuration and services. ** Without further setup, [dependency injection](\ref depend.hpp) will establish a ** minimalistic default instantiation of these services, sufficient for demonstration @@ -19,14 +19,15 @@ ** created and managed actively. ** @todo and we'll have yet to »figure out« what specifically to do for these ** services and how to start an active render engine for productive use. - ** @todo WIP-WIP 10/2024 strive at first complete prototypical engine usage ////////////////////////////////////////TICKET #1367 + ** @deprecated 1/2026 I'm unhappy with this convoluted structure; + ** my intention is to fuse that with the engine-ctx.cpp implementation. ** ** @see engine-ctx.hpp ** @see weaving-pattern-builder.hpp */ -#ifndef STEAM_ENGINE_ENGINE_CTX_FACILITIES_H -#define STEAM_ENGINE_ENGINE_CTX_FACILITIES_H +#ifndef STEAM_ENGINE_ENGINE_FACILITIES_H +#define STEAM_ENGINE_ENGINE_FACILITIES_H #include "steam/engine/engine-ctx.hpp"