Invocation: draft a simplified prototype for an invocation
...attempt to somehow get my foot into the door...
This commit is contained in:
parent
3d6515acca
commit
0b938320ea
4 changed files with 79 additions and 34 deletions
|
|
@ -49,7 +49,7 @@
|
|||
** @see BufferProvider
|
||||
** @see BufferProviderProtocol_test usage demonstration
|
||||
** @see OutputSlot
|
||||
** @see bufftable.hpp storage for the buffer table
|
||||
** @see bufftable.hpp storage for the buffer table /////////////////////OOO where to point into the new structure for documentation?
|
||||
** @see engine::RenderInvocation
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -35,10 +35,13 @@
|
|||
|
||||
#include "lib/error.hpp"
|
||||
#include "lib/nocopy.hpp"
|
||||
#include "steam/engine/proc-node.hpp"
|
||||
#include "lib/several.hpp"
|
||||
//#include "steam/engine/proc-node.hpp"
|
||||
#include "steam/engine/buffhandle.hpp"
|
||||
#include "lib/uninitialised-storage.hpp"
|
||||
//#include "lib/several.hpp"
|
||||
|
||||
//#include <utility>
|
||||
//#include <array>
|
||||
|
||||
|
||||
////////////////////////////////TICKET #826 will be reworked alltogether
|
||||
|
|
@ -46,8 +49,8 @@
|
|||
namespace steam {
|
||||
namespace engine {
|
||||
|
||||
using std::pair;
|
||||
using std::vector;
|
||||
// using std::pair;
|
||||
// using std::vector;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -62,11 +65,18 @@ namespace engine {
|
|||
*
|
||||
* @todo WIP-WIP-WIP 7/24 now reworking the old design in the light of actual render engine requirements...
|
||||
*/
|
||||
template<uint N>
|
||||
struct FeedManifold
|
||||
: util::NonCopyable
|
||||
{
|
||||
using BuffS = lib::UninitialisedStorage<BuffHandle,N>;
|
||||
|
||||
BuffS inBuff;
|
||||
BuffS outBuff;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}} // namespace steam::engine
|
||||
#endif /*ENGINE_FEED_MANIFOLD_H*/
|
||||
|
|
|
|||
|
|
@ -253,16 +253,49 @@ namespace engine {
|
|||
};
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1367 : Rebuild the Node Invocation
|
||||
|
||||
class Turnout
|
||||
: public Port
|
||||
|
||||
struct WeavingPatternBase
|
||||
//////////////////////////////OOO non-copyable? move-only??
|
||||
{
|
||||
using Feed = FeedManifold<0>;
|
||||
|
||||
Feed mount() { return Feed{}; }
|
||||
void pull (Feed&, TurnoutSystem&) { /* NOP */ }
|
||||
void shed (Feed&) { /* NOP */ }
|
||||
void weft (Feed&) { /* NOP */ }
|
||||
void fix (Feed&) { /* NOP */ }
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Processing structure to activate a Render Node and produce result data.
|
||||
* @tparam PAT a _Weaving Pattern,_ which defines in detail how data is retrieved,
|
||||
* combined and processed to yield the results; actually this implementation
|
||||
* is assembled from several building blocks, in accordance to the specific
|
||||
* situation as established by the _Builder_ for a given render node.
|
||||
*/
|
||||
template<class PAT>
|
||||
class Turnout
|
||||
: public Port
|
||||
, public PAT
|
||||
{
|
||||
using Feed = typename PAT::Feed;
|
||||
public:
|
||||
|
||||
/**
|
||||
* Entrance point to the next recursive step of media processing.
|
||||
* @param turnoutSys anchor context with parameters and services
|
||||
* @return a BuffHandle exposing the generated result data
|
||||
*/
|
||||
BuffHandle
|
||||
weave(TurnoutSystem&) override
|
||||
weave (TurnoutSystem& turnoutSys) override
|
||||
{
|
||||
UNIMPLEMENTED ("generate next layer of the TurnoutSystem on the stack");
|
||||
Feed feed = PAT::mount();
|
||||
PAT::pull(feed, turnoutSys);
|
||||
PAT::shed(feed);
|
||||
PAT::weft(feed);
|
||||
PAT::fix (feed);
|
||||
return feed.result();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -615,9 +615,7 @@
|
|||
<node CREATED="1538264482902" ID="ID_838939814" MODIFIED="1557498707217" TEXT="Instantiiiere gui::ctrl::Facade im Stack-Frame von UiManager::performMainLoop()"/>
|
||||
<node CREATED="1538264545797" ID="ID_1760435858" MODIFIED="1576282358160" TEXT="Synchronisation qua Dispatch">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
zwar sind die Fasaden offen, bevor die Main-Loop läuft,
|
||||
|
|
@ -658,9 +656,7 @@
|
|||
</node>
|
||||
<node COLOR="#435e98" CREATED="1617459426438" ID="ID_1892682204" MODIFIED="1617459482615">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
verbleibende Probleme sind <i>"marginal"</i> und besser im Subsystem-Runner zu addressieren
|
||||
|
|
@ -700,9 +696,7 @@
|
|||
</node>
|
||||
<node CREATED="1481502257825" HGAP="24" ID="ID_232782099" MODIFIED="1576282358160" TEXT="Gefahr gering, aber gegeben" VSHIFT="11">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...weil unser Thread-Framework
|
||||
|
|
@ -1791,9 +1785,7 @@
|
|||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1533608548408" ID="ID_154643654" MODIFIED="1533608602022" TEXT="man fragt einen Service: gib mir....">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
es ist schon bekannt, daß dieser Service der <b>ViewLocator</b> sein wird,
|
||||
|
|
@ -3383,9 +3375,7 @@
|
|||
</node>
|
||||
<node CREATED="1538319701680" ID="ID_1856422179" MODIFIED="1538319729311" TEXT="...und beim Trigger ist er schon nicht mehr gesetzt">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
der Handler im ProcDispatcher sorgt dafür
|
||||
|
|
@ -4844,9 +4834,7 @@
|
|||
<node CREATED="1483755331671" ID="ID_1913103415" MODIFIED="1518487921058" TEXT="wird im Visitor gebraucht">
|
||||
<node CREATED="1483909964935" ID="ID_991182613" MODIFIED="1518487921058">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
will sagen: <i>in </i>den Visitor-Methoden-Implementierungen
|
||||
|
|
@ -7038,9 +7026,7 @@
|
|||
</node>
|
||||
<node CREATED="1489544910395" ID="ID_82086808" MODIFIED="1576282358132" TEXT="enable Action">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...das ist eine Reaktion,
|
||||
|
|
@ -10056,9 +10042,7 @@
|
|||
</node>
|
||||
<node CREATED="1512516613614" FOLDED="true" ID="ID_1415224184" MODIFIED="1512926193415">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Konzept funktioniert nicht
|
||||
|
|
@ -86936,6 +86920,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720539241548" ID="ID_1982591690" MODIFIED="1720539260269" TEXT="vereinfachte Struktur...">
|
||||
<linktarget COLOR="#4a94bc" DESTINATION="ID_1982591690" ENDARROW="Default" ENDINCLINATION="-391;41;" ID="Arrow_ID_901019728" SOURCE="ID_1776676768" STARTARROW="None" STARTINCLINATION="-686;-39;"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1720539330263" ID="ID_189580255" MODIFIED="1720540134864" TEXT="Turnout::weave() : virtueller Scope">
|
||||
<arrowlink COLOR="#5f5c6d" DESTINATION="ID_956618382" ENDARROW="Default" ENDINCLINATION="-1093;60;" ID="Arrow_ID_278288527" STARTARROW="None" STARTINCLINATION="-669;-54;"/>
|
||||
|
|
@ -87151,6 +87136,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1719882722633" ID="ID_669301844" MODIFIED="1719882760592" TEXT="eine später zu findende Spezial-Lösung muß dann auch einen random-access-Container bieten"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720481526745" ID="ID_723925333" MODIFIED="1720481549666" TEXT="ich verfolge die Buffer-Block-auf-dem-Heap-Lösung">
|
||||
<linktarget COLOR="#3563bc" DESTINATION="ID_723925333" ENDARROW="Default" ENDINCLINATION="-1;162;" ID="Arrow_ID_1608020834" SOURCE="ID_1380185144" STARTARROW="None" STARTINCLINATION="627;40;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1720481567643" ID="ID_938250433" MODIFIED="1720481584684" TEXT="und zwar direkt in ein Objekt-Template eingebunden"/>
|
||||
<node CREATED="1720481585384" ID="ID_571277472" MODIFIED="1720481602261" TEXT="es gibt dann ein paar Standard-Größen (compile-Time)"/>
|
||||
|
|
@ -87709,10 +87695,26 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1720456999461" ID="ID_635796297" MODIFIED="1720458313426" TEXT="und jetzt wirds ernst: muß einen Turnout konstruieren">
|
||||
<arrowlink COLOR="#ff0020" DESTINATION="ID_909255520" ENDARROW="Default" ENDINCLINATION="-494;717;" ID="Arrow_ID_99470151" STARTARROW="None" STARTINCLINATION="-675;-43;"/>
|
||||
<icon BUILTIN="flag-pink"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1720458870491" ID="ID_342983817" MODIFIED="1720458909369" TEXT="Butter bei die Fische: was macht das Turnout-System?">
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1720458870491" ID="ID_342983817" MODIFIED="1720542680716" TEXT="Butter bei die Fische: was macht der Turnout?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1720476854729" ID="ID_1464916632" MODIFIED="1720477066061" TEXT="es ruft fünf Schritt-Funktionen auf"/>
|
||||
<node CREATED="1720476874803" ID="ID_1916596326" MODIFIED="1720477006893" TEXT="und gibt ihnen jeweils die FeedManifold"/>
|
||||
<node CREATED="1720542689383" ID="ID_1776676768" MODIFIED="1720542743424" TEXT="habe jetzt konzeptionell die Aufrufe deutlich vereinfacht">
|
||||
<arrowlink COLOR="#4a94bc" DESTINATION="ID_1982591690" ENDARROW="Default" ENDINCLINATION="-391;41;" ID="Arrow_ID_901019728" STARTARROW="None" STARTINCLINATION="-686;-39;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720542952204" ID="ID_1415309847" MODIFIED="1720542967130" TEXT="damit läßt sich das Skelett der Aufrufe stubben">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720546461284" ID="ID_704402784" MODIFIED="1720546479593" TEXT="Skizze ins Unreine : eine Invocation">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720546405862" ID="ID_1380185144" MODIFIED="1720546513736" TEXT="Grundstruktur für FeedManifold anlegen">
|
||||
<arrowlink COLOR="#3563bc" DESTINATION="ID_723925333" ENDARROW="Default" ENDINCLINATION="-1;162;" ID="Arrow_ID_1608020834" STARTARROW="None" STARTINCLINATION="627;40;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720546521352" ID="ID_1680202759" MODIFIED="1720546544475" TEXT="ein einfaches WeavingPattern für einen 1:1 Aufruf">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue