Invocation: build and invoke a chain of Render Nodes

This is a first!
Now we can really invoke a tree of Nodes, as demonstrated with this simple test.
This commit is contained in:
Fischlurch 2025-01-05 02:48:07 +01:00
parent 061d20e08d
commit fb2f0b0e2d
4 changed files with 405 additions and 134 deletions

View file

@ -372,7 +372,7 @@ namespace engine {
/** connect the next input slot to either existing or new lead-node" */
PortBuilder&&
conectLead (ProcNode& leadNode)
connectLead (ProcNode& leadNode)
{
return connectLeadPort (leadNode, this->defaultPort_);
}

View file

@ -26,8 +26,11 @@
#include "lib/symbol.hpp"
//#include "lib/util.hpp"
#include <array>
using lib::Symbol;
using std::string;
using std::array;
using lib::time::Time;
using lib::time::QuTime;
using lib::time::FrameNr;
@ -119,7 +122,7 @@ namespace test {
ProcNode node{prepareNode("Test")
.preparePort()
.invoke("fun()", procFun)
.invoke ("fun()", procFun)
.setParam (LIFE_AND_UNIVERSE_4EVER)
.completePort()
.build()};
@ -144,7 +147,7 @@ namespace test {
ProcNode node{prepareNode("Test")
.preparePort()
.invoke("fun()", procFun)
.invoke ("fun()", procFun)
.attachAutomation (autoFun)
.completePort()
.build()};
@ -162,13 +165,52 @@ namespace test {
}
/** @test TODO build a chain with two connected Nodes
* @todo WIP 12/24 define implement
/** @test build a chain with three connected Nodes
* - have two source nodes, which accept a parameter
* - but configure them differently: one gets a constant,
* while the other draws a random number
* - the third node takes two input buffers and and one output;
* it retrieves the input values, and sums them together
* - use the »simplified 1:1 wiring«, which connects consecutively
* each input slot to the next given node on the same port number;
* here we only use port#0 on all three nodes.
* @todo 12/24 define implement
*/
void
build_connectedNodes()
{
UNIMPLEMENTED ("build two linked nodes");
using SrcBuffs = array<uint*, 2>;
auto detailFun = [](uint param, uint* out) { *out = 1 + param; };
auto joinerFun = [](SrcBuffs src, uint* out){ *out = *src[0] + *src[1]; };
int peek{0};
auto randParam = [&](TurnoutSystem&){ return peek = rani(100); };
ProcNode n1{prepareNode("Src1")
.preparePort()
.invoke ("fix-val()", detailFun)
.setParam (LIFE_AND_UNIVERSE_4EVER)
.completePort()
.build()};
ProcNode n2{prepareNode("Src2")
.preparePort()
.invoke ("ran-val()", detailFun)
.attachParamFun (randParam)
.completePort()
.build()};
ProcNode n3{prepareNode("Join")
.preparePort()
.invoke ("add()", joinerFun)
.connectLead(n1)
.connectLead(n2)
.completePort()
.build()};
uint res = invokeRenderNode(n3);
CHECK (res == peek+1 + LIFE_AND_UNIVERSE_4EVER+1 );
}

View file

@ -4774,9 +4774,8 @@ Moreover, the design of coordinate matching and resolving incurs a structure sim
In the most general case the render network may be just a DAG (not just a tree). Especially, multiple exit points may lead down to the same node, and following each of this possible paths the node may be at a different depth on each. This rules out a simple counter starting from the exit level, leaving us with the possibility of either employing a rather convoluted addressing scheme or using arbitrary ID numbers.{{red{...which is what we do for now}}}
</pre>
</div>
<div title="NodeOperationProtocol" modifier="Ichthyostega" created="200806010251" modified="202501040403" tags="Rendering operational rewrite" changecount="10">
<pre>{{red{⚠ In-depth rework underway as of 12/2024...}}}
The [[Render Nodes|ProcNode]] are wired to form a &quot;Directed Acyclic Graph&quot; ([[DAG|https://en.wikipedia.org/wiki/Directed_acyclic_graph]]); each node knows its predecessor(s), but not its successor(s). The RenderProcess is organized according to the ''pull principle''. This implies that there is no central entity to „activate and apply“ nodes consecutively. Rather, the ExitNode is prompted to produce results -- and since the nodes are interconnected in accordance to their required prerequisite, the calculation plan works itself out recursively. However, some prerequisite resources must be provided before any calculation can start. Notably, loading source media data is an I/O-intensive task and can not be precisely timed. The actual calculation is broken down thus into atomic chunks of work, resulting in a 2-phase invocation scheme for generating data:
<div title="NodeOperationProtocol" modifier="Ichthyostega" created="200806010251" modified="202501050422" tags="Rendering operational" changecount="12">
<pre>The [[Render Nodes|ProcNode]] are wired to form a &quot;Directed Acyclic Graph&quot; ([[DAG|https://en.wikipedia.org/wiki/Directed_acyclic_graph]]); each node knows its predecessor(s), but not its successor(s). The RenderProcess is organized according to the ''pull principle''. This implies that there is no central entity to „activate and apply“ nodes consecutively. Rather, the ExitNode is prompted to produce results -- and since the nodes are interconnected in accordance to their required prerequisite, the calculation plan works itself out recursively. However, some prerequisite resources must be provided before any calculation can start. Notably, loading source media data is an I/O-intensive task and can not be precisely timed. The actual calculation is broken down thus into atomic chunks of work, resulting in a 2-phase invocation scheme for generating data:
;planning phase
:when data for a given part of the timeline shall be produced, the engine has to work out what ExitNode to activate and what further prerequisites must be fulfilled
:# the planning is initiated by issuing an &quot;get me output&quot; request, finally resulting in a JobTicket
@ -4799,10 +4798,6 @@ The [[Render Nodes|ProcNode]] are wired to form a &quot;Directed Acyclic Graph&q
:# now everything is ready for the //»weft« phase:// the external [[processing-functor|NodeProcFunctor]] is triggered
:# finally, in the //»fix« phase//, input buffers can be released and output buffers can be //committed//
:# when the {{{weft()}}} call returns, &quot;parent&quot; state originating the pull-activation holds onto the result buffer containing the calculated output data.
^^┅┅┅┅┅┅the following text is ''superseded''┅┅┅┅┅┅┅┅┅^^
{{red{WIP as of 9/11 -- many details here are still to be worked out and might change as we go}}}
{{red{Update 8/13 -- work on this part of the code base has stalled, but now the plain is to get back to this topic when coding down from the Player to the Engine interface and from there to the NodeInvocation. The design as outlined above was mostly coded in 2011, but never really tested or finished; you can expect some reworkings and simplifications, but basically this design looks OK}}}
some points to note:
* when a node is &quot;inplace-capable&quot;, input and output buffer may actually point to the same location
@ -4814,11 +4809,20 @@ some points to note:
&amp;rarr; more fine grained [[implementation details|RenderImplDetails]]
</pre>
</div>
<div title="NodePort" creator="Ichthyostega" modifier="Ichthyostega" created="202501040435" modified="202501040448" tags="Rendering def draft" changecount="2">
<div title="NodePort" creator="Ichthyostega" modifier="Ichthyostega" created="202501040435" modified="202501050442" tags="Rendering def draft" changecount="20">
<pre>//The actual processing units within a Render Node.//
At a conceptual level, a »Node« represents a distinct processing functionality. But when it comes down to actually invoking the processing code, the operation is typically exposed in several flavours or configuration variations typically related to data format. E.g. a sound filtering node can be able to process stereo sound, but also deliver the filtering on the left or right channel in isolation. Or video image processing can be provided to work on various image resolutions, each requiring a different buffer layout. Any such processing variants are exposed as »''ports''« of the node.
This seemingly redundant configuration is based on //fundamental reasoning:// The Lumiera Render Engine performs //pre-arranged primitive operations,// which are -- to the extent this is even possible -- deprived of active decision logic. Instead of letting the invocation „work out“ some technical details like buffer-sizes on-the-fly, there is a pre-canned set of ports, each with a viable pre-configuration, so that data elements can be passed ''without any further checks'' and adaptation steps. In this respect, the [[»Render Node Network«|LowLevelModel]] is similar to //assembly code:// It proceeds into processing of low-level data right away and takes compatibility of all data types, buffer sizes and invoked functors for granted</pre>
This seemingly redundant configuration is based on //fundamental reasoning:// The Lumiera Render Engine performs //pre-arranged primitive operations,// which are -- to the extent this is even possible -- deprived of active decision logic. Instead of letting the invocation „work out“ some technical details like buffer-sizes on-the-fly, there is a pre-canned set of ports, each with a viable pre-configuration, so that data elements can be passed ''without any further checks'' and adaptation steps. In this respect, the [[»Render Node Network«|LowLevelModel]] is similar to //assembly code:// It proceeds into processing of low-level data right away and takes compatibility of all data types, buffer sizes and invoked functors for granted
!Turnout, ~TurnoutSystem and Weaving Pattern
The implementation of the {{{Port}}} interface is called a ''Turnout''.
For operation, it exposes a simple API function {{{Turnout::weave(TurnoutSystem&amp;)}}} — which acts as indirection or //virtual entrance point// into the complexly interwoven activities necessary to invoke a specific render operation, passing various input- and output-buffers and parameters. All these activities are organised into a common scheme of five steps, called a [[»Weaving Pattern«|NodeWeavingPattern]]. It is implemented as ''C++ template'' and will thus adapt itself in a flexible way to the actual buffer- and data-types and cardinalities. The actual instantiation of these templates must be driven from within a [[Adapter-Plug-in for a Media-Library|MediaLibPlugin]] (e.g. ~FFMpeg) -- because only there the actual types and layout requirements can be known. This setup leads to a specific twist for the Builder: at a given point, it must //delegate the control-flow// into the ~Media-Lib Plug-in, while passing a Node-Builder object. The Builder knows by means of the Asset-ID which Plug-in to address, and the specific Binding in the Plug-in knows how to implement an abstract »Asset« by invocation of specific processing functions within the Library.
The actual invocation of a Render Node processing chain is accomplished by an interplay of Turnout and TurnoutSystem, where the former represents the fixed, preconfigured operation scheme, while the latter, the {{{TurnoutSystem}}} instance is created anew on the stack for each invocation, and embodies the flexible control structure to guide through the sequence of Turnout invocations.
__🛈 Remark__: The name »Turnout« plays upon the overlay of several metaphors, notably the [[Railroad Turnout|https://en.wikipedia.org/wiki/Railroad_turnout]].
A »Turnout System« may thus imply either a system for generating and collecting turnout, or the complex interwoven system of tracks and switches found in large railway stations.</pre>
</div>
<div title="NonLinearPlayback" modifier="Ichthyostega" created="201301132217" modified="201402161739" tags="def Player Rendering draft" changecount="3">
<pre>The calculations for rendering and playback are designed with a base case in mind: calculating a linear sequence of frames consecutive in time.

View file

@ -82324,8 +82324,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
<node CREATED="1735353545681" ID="ID_532492491" MODIFIED="1735353570163" TEXT="Tr&#xe4;ger-Strukturen ben&#xf6;tigt">
<node CREATED="1735353572081" ID="ID_1577179744" MODIFIED="1735416204610" TEXT="ParamBuildSpec">
<arrowlink COLOR="#bb1f2e" DESTINATION="ID_736958022" ENDARROW="Default" ENDINCLINATION="-25;-162;" ID="Arrow_ID_44922252" STARTARROW="None" STARTINCLINATION="32;153;"/>
<node CREATED="1735353572081" ID="ID_1577179744" MODIFIED="1736039369431" TEXT="ParamBuildSpec">
<arrowlink COLOR="#1f46bb" DESTINATION="ID_736958022" ENDARROW="Default" ENDINCLINATION="-25;-162;" ID="Arrow_ID_44922252" STARTARROW="None" STARTINCLINATION="32;153;"/>
<linktarget COLOR="#516a87" DESTINATION="ID_1577179744" ENDARROW="Default" ENDINCLINATION="-646;109;" ID="Arrow_ID_1337495041" SOURCE="ID_559444595" STARTARROW="None" STARTINCLINATION="266;-28;"/>
<node CREATED="1735353649862" ID="ID_1195888823" MODIFIED="1735353669151" TEXT="mu&#xdf; statisch (&#xbb;aus dem Nichts&#xab;) erzeugbar sein">
<node CREATED="1735353859329" ID="ID_115937743" MODIFIED="1735353870651" TEXT="also von dem default-TurnoutSystem"/>
@ -86932,10 +86932,10 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node CREATED="1733588457681" ID="ID_1303174875" MODIFIED="1733588474099" TEXT="Storage f&#xfc;r den konkreten Aufruf">
<node CREATED="1733588482254" ID="ID_1143369961" MODIFIED="1733588491229" TEXT="direkt im Stack-Frame: das TurnoutSystem">
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1733588262543" ID="ID_855223653" MODIFIED="1733588650882" TEXT="Entwurf Storage-Layout f&#xfc;r Turnout-System">
<linktarget COLOR="#482eb7" DESTINATION="ID_855223653" ENDARROW="Default" ENDINCLINATION="-595;39;" ID="Arrow_ID_342943763" SOURCE="ID_1698079544" STARTARROW="None" STARTINCLINATION="-57;-58;"/>
<linktarget COLOR="#5d3c71" DESTINATION="ID_855223653" ENDARROW="Default" ENDINCLINATION="-921;1508;" ID="Arrow_ID_642394255" SOURCE="ID_603334752" STARTARROW="None" STARTINCLINATION="-1356;-81;"/>
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#1e677c" CREATED="1733588262543" ID="ID_855223653" MODIFIED="1736050695941" TEXT="Entwurf Storage-Layout f&#xfc;r Turnout-System">
<linktarget COLOR="#482eb7" DESTINATION="ID_855223653" ENDARROW="Default" ENDINCLINATION="-595;39;" ID="Arrow_ID_342943763" SOURCE="ID_1698079544" STARTARROW="None" STARTINCLINATION="-65;-160;"/>
<linktarget COLOR="#3c4371" DESTINATION="ID_855223653" ENDARROW="Default" ENDINCLINATION="-921;1508;" ID="Arrow_ID_642394255" SOURCE="ID_603334752" STARTARROW="None" STARTINCLINATION="-1356;-81;"/>
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1733589576707" ID="ID_1093208209" MODIFIED="1733589591873" TEXT="Design-Problem: variable Storage-Gr&#xf6;&#xdf;e">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1733589597272" ID="ID_344782477" MODIFIED="1733589604339" TEXT="wir brauchen N Parameter"/>
@ -87040,8 +87040,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1733611147207" ID="ID_867806700" MODIFIED="1734042089166" TEXT="Entwurf: Belegung der Slots">
<icon BUILTIN="pencil"/>
<node COLOR="#137c78" CREATED="1733611147207" ID="ID_867806700" MODIFIED="1736050671034" TEXT="Entwurf: Belegung der Slots">
<icon BUILTIN="yes"/>
<node CREATED="1733611235157" ID="ID_1373022274" MODIFIED="1733611269549" TEXT="Abstraktes Ablauf-Schema">
<icon BUILTIN="info"/>
<node CREATED="1733611321861" ID="ID_1648703683" MODIFIED="1733615415248">
@ -87064,7 +87064,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1733615228700" ID="ID_1380425177" MODIFIED="1733616010854" TEXT="Design-Schlu&#xdf;folgerungen">
<node CREATED="1733615242584" ID="ID_1830762609" MODIFIED="1733615439843" TEXT="k&#xf6;nnte vielleicht sogar eine reine compiletime-L&#xf6;sung sein...."/>
<node CREATED="1733615483265" ID="ID_1213847672" MODIFIED="1733615505254" TEXT="das w&#xe4;re nat&#xfc;rlich sch&#xf6;n ... dann w&#xe4;re n&#xe4;mlich die Storage einfach ein Tupel"/>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1733615518940" ID="ID_1505216998" MODIFIED="1733615532779" TEXT="Vorsicht ... riskant">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1733615518940" FOLDED="true" ID="ID_1505216998" MODIFIED="1736050647595" TEXT="Vorsicht ... riskant">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1733615534866" ID="ID_1412476849" MODIFIED="1733615967508" TEXT="was macht man wenn die Belegung dann doch dynamisch sein mu&#xdf;....?">
<richcontent TYPE="NOTE"><html>
@ -87098,10 +87098,10 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733617201642" ID="ID_1106866186" MODIFIED="1733617251089" TEXT="nochmal grunds&#xe4;tzlich nachdenken">
<node BACKGROUND_COLOR="#c4c8b6" COLOR="#435e98" CREATED="1733617201642" FOLDED="true" ID="ID_1106866186" MODIFIED="1736050638792" TEXT="nochmal grunds&#xe4;tzlich nachdenken">
<linktarget COLOR="#dd294d" DESTINATION="ID_1106866186" ENDARROW="Default" ENDINCLINATION="48;-115;" ID="Arrow_ID_515415207" SOURCE="ID_196130689" STARTARROW="None" STARTINCLINATION="-305;26;"/>
<icon BUILTIN="flag-yellow"/>
<node CREATED="1733617429492" ID="ID_1627227887" MODIFIED="1733617435111" TEXT="warum bin ich hier....?">
<icon BUILTIN="yes"/>
<node COLOR="#435e98" CREATED="1733617429492" ID="ID_1627227887" MODIFIED="1736050624516" TEXT="warum bin ich hier....?">
<node CREATED="1733617437547" ID="ID_344667697" MODIFIED="1733617443145" TEXT="wegen der Notation!"/>
<node CREATED="1733617444178" ID="ID_1478573322" MODIFIED="1733618127045" TEXT="genauer: ich hab das Gef&#xfc;hl da&#xdf; hier Systematik notwendig w&#xe4;re">
<richcontent TYPE="NOTE"><html>
@ -87196,8 +87196,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node CREATED="1733667505561" ID="ID_281098138" MODIFIED="1733667513616" TEXT="Anpassungen am Konzept">
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1733667711513" ID="ID_709814165" MODIFIED="1733667720567" TEXT="wie weitrechend sind &#xc4;nderungen sinnvoll?">
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1733667505561" ID="ID_281098138" MODIFIED="1736050563532" TEXT="Anpassungen am Konzept">
<icon BUILTIN="forward"/>
<node COLOR="#435e98" CREATED="1733667711513" FOLDED="true" ID="ID_709814165" MODIFIED="1736050631522" TEXT="wie weitrechend sind &#xc4;nderungen sinnvoll?">
<icon BUILTIN="help"/>
<node CREATED="1733667732150" ID="ID_715622924" MODIFIED="1733667737561" TEXT="Szenarien">
<node CREATED="1733667738423" ID="ID_1466061748" MODIFIED="1733667742600" TEXT="gar nichts &#xe4;ndern">
@ -87356,18 +87357,18 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1733761653882" ID="ID_950074593" MODIFIED="1733761667427" TEXT="allerdings h&#xe4;lt jeder Storage-Frame gleich ein Tupel von Werten"/>
<node CREATED="1733704677700" ID="ID_57789571" MODIFIED="1733704753675" TEXT="Storage-Frames werden per Accessor-Key registriert"/>
<node CREATED="1733704793907" ID="ID_1040373700" MODIFIED="1733704816204" TEXT="offen halten &#x2014; keine integrierte Magie"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733704821863" ID="ID_1350706165" MODIFIED="1734552063674" TEXT="au&#xdf;erdem: Umbau auf das Misch-Modell f&#xfc;r Parameter">
<arrowlink COLOR="#a06e80" DESTINATION="ID_1354544776" ENDARROW="Default" ENDINCLINATION="-1058;-56;" ID="Arrow_ID_501116604" STARTARROW="None" STARTINCLINATION="1136;60;"/>
<node COLOR="#435e98" CREATED="1733704821863" ID="ID_1350706165" MODIFIED="1736050510574" TEXT="au&#xdf;erdem: Umbau auf das Misch-Modell f&#xfc;r Parameter">
<arrowlink COLOR="#706ea0" DESTINATION="ID_1354544776" ENDARROW="Default" ENDINCLINATION="-1058;-56;" ID="Arrow_ID_501116604" STARTARROW="None" STARTINCLINATION="1136;60;"/>
<icon BUILTIN="yes"/>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1733590902929" ID="ID_1045639317" MODIFIED="1733868511337" TEXT="Implementierung overflow-Buckets">
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#c8c0b6" CREATED="1733765037437" ID="ID_1724101101" MODIFIED="1734041962487" TEXT="unterst&#xfc;tzte Interaktionen">
<node CREATED="1733765068881" ID="ID_523511672" MODIFIED="1733765084522" TEXT="ein default TurnoutSystem mit Grund-Ausstattung"/>
<node CREATED="1733765092674" ID="ID_1865816766" MODIFIED="1733765118024">
<node COLOR="#338800" CREATED="1733590902929" ID="ID_1045639317" MODIFIED="1736050194303" STYLE="fork" TEXT="Implementierung overflow-Buckets">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#c8c0b6" CREATED="1733765037437" ID="ID_1724101101" MODIFIED="1736050194303" TEXT="unterst&#xfc;tzte Interaktionen">
<node CREATED="1733765068881" ID="ID_523511672" MODIFIED="1736050194303" TEXT="ein default TurnoutSystem mit Grund-Ausstattung"/>
<node CREATED="1733765092674" ID="ID_1865816766" MODIFIED="1736050194304">
<richcontent TYPE="NODE"><html>
<head/>
<body>
@ -87377,9 +87378,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</body>
</html></richcontent>
</node>
<node CREATED="1733765203927" ID="ID_39536680" MODIFIED="1733765221728" TEXT="Accessor f&#xfc;r einen Einzelwert bereitstellen"/>
<node CREATED="1733765657476" ID="ID_381368973" MODIFIED="1733765679248" TEXT="Zugriff per Accessor auf einer konkreten TurnoutSystem-Instanz"/>
<node CREATED="1733765766459" ID="ID_329973215" MODIFIED="1733766906645" TEXT="zur Laufzeit offen">
<node CREATED="1733765203927" ID="ID_39536680" MODIFIED="1736050194306" TEXT="Accessor f&#xfc;r einen Einzelwert bereitstellen"/>
<node CREATED="1733765657476" ID="ID_381368973" MODIFIED="1736050194306" TEXT="Zugriff per Accessor auf einer konkreten TurnoutSystem-Instanz"/>
<node CREATED="1733765766459" ID="ID_329973215" MODIFIED="1736050194306" TEXT="zur Laufzeit offen">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -87391,10 +87392,10 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="yes"/>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" CREATED="1733766910569" ID="ID_462136727" MODIFIED="1734041986220" TEXT="&#x27f9; gebraucht wird">
<node BACKGROUND_COLOR="#c8c0b6" CREATED="1733766910569" ID="ID_462136727" MODIFIED="1736050194306" TEXT="&#x27f9; gebraucht wird">
<linktarget COLOR="#4c74b0" DESTINATION="ID_462136727" ENDARROW="Default" ENDINCLINATION="19;2576;" ID="Arrow_ID_402192560" SOURCE="ID_303076243" STARTARROW="None" STARTINCLINATION="-818;-116;"/>
<icon BUILTIN="yes"/>
<node COLOR="#435e98" CREATED="1733766926415" FOLDED="true" ID="ID_1686613162" MODIFIED="1734041954497" TEXT="Library f&#xfc;r heterogene verkn&#xfc;pfte Storage-Bl&#xf6;cke">
<node COLOR="#435e98" CREATED="1733766926415" FOLDED="true" ID="ID_1686613162" MODIFIED="1736050194307" TEXT="Library f&#xfc;r heterogene verkn&#xfc;pfte Storage-Bl&#xf6;cke">
<icon BUILTIN="yes"/>
<node COLOR="#338800" CREATED="1733767199547" ID="ID_22701741" MODIFIED="1733868478977" TEXT="Template HeteroData">
<icon BUILTIN="button_ok"/>
@ -87403,12 +87404,12 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#435e98" CREATED="1733766989087" FOLDED="true" ID="ID_1930665408" MODIFIED="1734020488102" TEXT="typsicheres compiletime-Overlay f&#xfc;r diese">
<node COLOR="#435e98" CREATED="1733766989087" FOLDED="true" ID="ID_1930665408" MODIFIED="1736050194307" TEXT="typsicheres compiletime-Overlay f&#xfc;r diese">
<icon BUILTIN="yes"/>
<node CREATED="1733767103376" ID="ID_36453586" MODIFIED="1733928886422" TEXT="verkettete factory-Funktionen f&#xfc;r einzelne Storage-Bl&#xf6;cke"/>
<node CREATED="1733767025290" ID="ID_741129447" MODIFIED="1733928908892" TEXT="daraus sind Accessoren f&#xfc;r typsicheren Zugriff erzeugbar"/>
</node>
<node COLOR="#435e98" CREATED="1733767147610" FOLDED="true" ID="ID_966052237" MODIFIED="1734041952890" TEXT="Zugriff auf einzelne Datenwerte per Accessor">
<node COLOR="#435e98" CREATED="1733767147610" FOLDED="true" ID="ID_966052237" MODIFIED="1736050194307" TEXT="Zugriff auf einzelne Datenwerte per Accessor">
<icon BUILTIN="yes"/>
<node CREATED="1733794253049" ID="ID_524032108" MODIFIED="1733794287860" TEXT="Grundlage: das C++ - Tuple-Protocol implementieren">
<icon BUILTIN="idea"/>
@ -87435,9 +87436,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1733799750738" ID="ID_532258033" MODIFIED="1734041922506" TEXT="Implementierung ausarbeiten">
<node COLOR="#338800" CREATED="1733799750738" ID="ID_532258033" MODIFIED="1736050194307" TEXT="Implementierung ausarbeiten">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1733804423613" FOLDED="true" ID="ID_1306152229" MODIFIED="1733882827467" TEXT="Zugriff">
<node COLOR="#338800" CREATED="1733804423613" FOLDED="true" ID="ID_1306152229" MODIFIED="1736050194307" TEXT="Zugriff">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1733804463800" ID="ID_1686530886" MODIFIED="1733804491599" TEXT="definiere den Datentyp rekursiv">
<icon BUILTIN="button_ok"/>
@ -88237,19 +88238,33 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node COLOR="#435e98" CREATED="1733883796910" ID="ID_1268320323" MODIFIED="1734040982353" TEXT="Grenzen / Gefahren / Manipulation zeigen"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733767161520" ID="ID_1853669534" MODIFIED="1735317877078" TEXT="Standard-Definition f&#xfc;r TurnoutSystem auf dieser Basis">
<arrowlink COLOR="#8936cd" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="91;-154;" ID="Arrow_ID_799125046" STARTARROW="None" STARTINCLINATION="-312;15;"/>
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1733767161520" ID="ID_1853669534" MODIFIED="1736050194308" TEXT="Standard-Definition f&#xfc;r TurnoutSystem auf dieser Basis">
<arrowlink COLOR="#364bcd" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="91;-154;" ID="Arrow_ID_799125046" STARTARROW="None" STARTINCLINATION="-312;15;"/>
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1736050083892" HGAP="13" ID="ID_1788504615" LINK="#ID_329885446" MODIFIED="1736050208103" STYLE="bubble" TEXT="Design best&#xe4;tigt durch Implementierung der &#xbb;Param-Agent-Node&#xab;" VSHIFT="15">
<edge COLOR="#5a1f97"/>
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
</node>
</node>
<node CREATED="1735317829474" ID="ID_1602954198" MODIFIED="1735317877078" TEXT="HeteroData-Storage in TurnoutSystem integriert">
<linktarget COLOR="#8936cd" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="91;-154;" ID="Arrow_ID_799125046" SOURCE="ID_1853669534" STARTARROW="None" STARTINCLINATION="-312;15;"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735317895769" ID="ID_820113536" MODIFIED="1735319385665" TEXT="Standard-Container einrichten">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1735317829474" ID="ID_1602954198" MODIFIED="1736050419018" TEXT="HeteroData-Storage in TurnoutSystem integriert">
<linktarget COLOR="#364bcd" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="91;-154;" ID="Arrow_ID_799125046" SOURCE="ID_1853669534" STARTARROW="None" STARTINCLINATION="-312;15;"/>
<linktarget COLOR="#67a8a8" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="-210;558;" ID="Arrow_ID_1946296815" SOURCE="ID_109108903" STARTARROW="None" STARTINCLINATION="-965;-59;"/>
<linktarget COLOR="#67a8a8" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="-255;300;" ID="Arrow_ID_1139247366" SOURCE="ID_1531388711" STARTARROW="None" STARTINCLINATION="-1071;59;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1735317895769" ID="ID_820113536" MODIFIED="1736050217893" TEXT="Standard-Container einrichten">
<icon BUILTIN="button_ok"/>
<node COLOR="#3015b7" CREATED="1736050240471" ID="ID_777754498" MODIFIED="1736050269064" TEXT="using FrontBlock = lib::HeteroData&lt;Time,ProcessKey&gt;;">
<font NAME="Monospaced" SIZE="12"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735317904224" ID="ID_1075228" MODIFIED="1735319401454" TEXT="&#xe4;u&#xdf;eres API ableiten">
<linktarget COLOR="#bf136e" DESTINATION="ID_1075228" ENDARROW="Default" ENDINCLINATION="-1141;139;" ID="Arrow_ID_862683421" SOURCE="ID_972907747" STARTARROW="None" STARTINCLINATION="-1041;-48;"/>
<node COLOR="#338800" CREATED="1736050276459" ID="ID_1291599530" MODIFIED="1736050283875" TEXT="Standard-Accessoren dazu">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#435e98" CREATED="1735317904224" ID="ID_1075228" MODIFIED="1736050310903" TEXT="&#xe4;u&#xdf;eres API ableiten">
<linktarget COLOR="#3513bf" DESTINATION="ID_1075228" ENDARROW="Default" ENDINCLINATION="-1141;139;" ID="Arrow_ID_862683421" SOURCE="ID_972907747" STARTARROW="None" STARTINCLINATION="-1041;-48;"/>
<icon BUILTIN="yes"/>
<node CREATED="1735317930357" ID="ID_1334553457" MODIFIED="1735319415952" TEXT="Anforderungen">
<icon BUILTIN="yes"/>
@ -88257,7 +88272,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<linktarget COLOR="#416c8f" DESTINATION="ID_837392347" ENDARROW="Default" ENDINCLINATION="-1509;-82;" ID="Arrow_ID_1306665687" SOURCE="ID_559218482" STARTARROW="None" STARTINCLINATION="669;49;"/>
</node>
<node CREATED="1735319244509" ID="ID_1172487625" MODIFIED="1735321094521" TEXT="Basis f&#xfc;r Parameter-Behandlung im Node-Builder">
<linktarget COLOR="#a04095" DESTINATION="ID_1172487625" ENDARROW="Default" ENDINCLINATION="-1928;110;" ID="Arrow_ID_970821272" SOURCE="ID_828844081" STARTARROW="None" STARTINCLINATION="-1172;-61;"/>
<linktarget COLOR="#4043a0" DESTINATION="ID_1172487625" ENDARROW="Default" ENDINCLINATION="-1928;110;" ID="Arrow_ID_970821272" SOURCE="ID_828844081" STARTARROW="None" STARTINCLINATION="-1172;-61;"/>
<node CREATED="1735319768739" ID="ID_1368931891" MODIFIED="1735321078648" TEXT="direkter Zugriff auf Basis-Parameter f&#xfc;r Automation">
<richcontent TYPE="NOTE"><html>
<head/>
@ -88308,6 +88323,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1736050357744" ID="ID_1068914782" LINK="#ID_481525559" MODIFIED="1736050485207" TEXT="Per Einsatz in einfachen Testf&#xe4;llen best&#xe4;tigt"/>
</node>
</node>
</node>
@ -89065,10 +89081,10 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734877552951" ID="ID_1383452569" MODIFIED="1735267749563" TEXT="Parameter: fest und funktionsgeneriert">
<node COLOR="#338800" CREATED="1734877552951" ID="ID_1383452569" MODIFIED="1736047451980" TEXT="Parameter: fest und funktionsgeneriert">
<linktarget COLOR="#406cd3" DESTINATION="ID_1383452569" ENDARROW="Default" ENDINCLINATION="-1339;91;" ID="Arrow_ID_1946653398" SOURCE="ID_600115804" STARTARROW="None" STARTINCLINATION="-1035;100;"/>
<linktarget COLOR="#406cd3" DESTINATION="ID_1383452569" ENDARROW="Default" ENDINCLINATION="-1070;72;" ID="Arrow_ID_71441743" SOURCE="ID_985974600" STARTARROW="None" STARTINCLINATION="-1035;100;"/>
<icon BUILTIN="pencil"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1735267723607" ID="ID_1259281567" MODIFIED="1735267745234" TEXT="&#xbb;Dropper&#xab; Parameter-Funktor">
<icon BUILTIN="button_ok"/>
</node>
@ -89083,6 +89099,23 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1736047423403" ID="ID_1699556394" MODIFIED="1736047444321" TEXT="Node-Kette mit zwei Inputs und Parametern">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1736047461876" ID="ID_805975898" LINK="#ID_173220882" MODIFIED="1736047512789" TEXT="verwendet das vereinfachte 1:1 - Wiring">
<icon BUILTIN="idea"/>
</node>
<node COLOR="#338800" CREATED="1736047588555" ID="ID_1438268725" MODIFIED="1736047638165" TEXT="zwei Source-Nodes">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1736047601927" ID="ID_611115627" MODIFIED="1736047638166" TEXT="aber mit jeweils anderer Parameter-Versorgung">
<icon BUILTIN="button_ok"/>
<node CREATED="1736047784393" ID="ID_1972351256" MODIFIED="1736047804510" TEXT="testet nebenbei auch gleich noch die allgemeine Variante des Param-Funktors"/>
<node CREATED="1736047805536" ID="ID_1271560826" MODIFIED="1736047817256" TEXT="sowie diverse implizite Typ-Umwandlungen"/>
</node>
<node COLOR="#338800" CREATED="1736047614018" ID="ID_1294785770" MODIFIED="1736047638167" TEXT="Top-level-Node nimmt ein Array von Eingabe-Buffern">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1733531449614" ID="ID_481525559" MODIFIED="1736042355078" TEXT="speziell auch Anlegen einer &#xbb;Param-Agent-Node&#xab;">
<linktarget COLOR="#406cd3" DESTINATION="ID_481525559" ENDARROW="Default" ENDINCLINATION="-155;9;" ID="Arrow_ID_55724637" SOURCE="ID_1678162572" STARTARROW="None" STARTINCLINATION="-358;-24;"/>
<linktarget COLOR="#fe433f" DESTINATION="ID_481525559" ENDARROW="Default" ENDINCLINATION="1490;75;" ID="Arrow_ID_570772162" SOURCE="ID_1587342377" STARTARROW="None" STARTINCLINATION="-530;-37;"/>
@ -89236,8 +89269,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1733577444940" ID="ID_494911945" MODIFIED="1733577551783" TEXT="Turnout-System f&#xfc;r den Parameter-Austausch">
<arrowlink COLOR="#406cd3" DESTINATION="ID_932666491" ENDARROW="Default" ENDINCLINATION="-128;9;" ID="Arrow_ID_983808840" STARTARROW="None" STARTINCLINATION="-353;-26;"/>
</node>
<node CREATED="1733577653926" ID="ID_1678162572" MODIFIED="1733577896049" TEXT="ParamAgent zum Einspeisen der Parameter-Daten">
<arrowlink COLOR="#406cd3" DESTINATION="ID_481525559" ENDARROW="Default" ENDINCLINATION="-140;9;" ID="Arrow_ID_55724637" STARTARROW="None" STARTINCLINATION="-358;-24;"/>
<node CREATED="1733577653926" ID="ID_1678162572" MODIFIED="1736042355078" TEXT="ParamAgent zum Einspeisen der Parameter-Daten">
<arrowlink COLOR="#406cd3" DESTINATION="ID_481525559" ENDARROW="Default" ENDINCLINATION="-155;9;" ID="Arrow_ID_55724637" STARTARROW="None" STARTINCLINATION="-358;-24;"/>
</node>
</node>
</node>
@ -91788,9 +91821,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734060125195" ID="ID_1347066000" MODIFIED="1735415986487" TEXT="Entwurf um Storage + Funktor f&#xfc;r Parameter erg&#xe4;nzen">
<linktarget COLOR="#b02152" DESTINATION="ID_1347066000" ENDARROW="Default" ENDINCLINATION="-925;49;" ID="Arrow_ID_1367798112" SOURCE="ID_1795912761" STARTARROW="None" STARTINCLINATION="532;31;"/>
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1734060125195" ID="ID_1347066000" MODIFIED="1736050519694" TEXT="Entwurf um Storage + Funktor f&#xfc;r Parameter erg&#xe4;nzen">
<linktarget COLOR="#216db0" DESTINATION="ID_1347066000" ENDARROW="Default" ENDINCLINATION="-925;49;" ID="Arrow_ID_1367798112" SOURCE="ID_1795912761" STARTARROW="None" STARTINCLINATION="532;31;"/>
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1734060219654" ID="ID_64712491" MODIFIED="1734060380089" TEXT="Konzeption der Nutz-Muster">
<arrowlink COLOR="#314dba" DESTINATION="ID_927225402" ENDARROW="Default" ENDINCLINATION="536;1135;" ID="Arrow_ID_352726523" STARTARROW="None" STARTINCLINATION="-380;-913;"/>
<icon BUILTIN="info"/>
@ -93383,7 +93416,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#338800" CREATED="1734132967020" ID="ID_1354544776" MODIFIED="1734727643658" TEXT="Param-Tuple in FeedManifold aufnehmen">
<linktarget COLOR="#a06e80" DESTINATION="ID_1354544776" ENDARROW="Default" ENDINCLINATION="-1058;-56;" ID="Arrow_ID_501116604" SOURCE="ID_1350706165" STARTARROW="None" STARTINCLINATION="1136;60;"/>
<linktarget COLOR="#706ea0" DESTINATION="ID_1354544776" ENDARROW="Default" ENDINCLINATION="-1058;-56;" ID="Arrow_ID_501116604" SOURCE="ID_1350706165" STARTARROW="None" STARTINCLINATION="1136;60;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1734286428873" ID="ID_1059514888" MODIFIED="1734725656839" TEXT="Vorraussetzung ist ein anspruchsvoller Umbau">
<icon BUILTIN="button_ok"/>
@ -93921,8 +93954,18 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1734133441531" ID="ID_109108903" MODIFIED="1734133509736" TEXT="Turnout-System mit Storage implementieren">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1734133441531" ID="ID_109108903" MODIFIED="1736050400884" TEXT="Turnout-System mit Storage implementieren">
<arrowlink COLOR="#67a8a8" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="-210;558;" ID="Arrow_ID_1946296815" STARTARROW="None" STARTINCLINATION="-965;-59;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1736040682445" ID="ID_613383271" MODIFIED="1736040718290" TEXT="Standard-Konfiguration f&#xfc;r den Prefix-Chain">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1736040694715" ID="ID_89195773" MODIFIED="1736040718291" TEXT="Zugriffsfunktionen f&#xfc;r die Standard-Parameter">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1736040707129" ID="ID_1431290734" MODIFIED="1736040718291" TEXT="Zugangspunkte f&#xfc;r eine Param-Agent-Node">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1734133474862" ID="ID_1734639141" MODIFIED="1734831257737" TEXT="MediaWeavingPattern intern anpassen">
<icon BUILTIN="button_ok"/>
@ -94418,7 +94461,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node COLOR="#435e98" CREATED="1735608975638" ID="ID_1109142296" MODIFIED="1735783209314" TEXT="zweite Frage: wann?">
<icon BUILTIN="help"/>
<node COLOR="#5b280f" CREATED="1735608988000" ID="ID_895559050" MODIFIED="1735783201716" TEXT="echtes RAII &#x27f9; dann sofort">
<node COLOR="#5b280f" CREATED="1735608988000" FOLDED="true" ID="ID_895559050" MODIFIED="1735783201716" TEXT="echtes RAII &#x27f9; dann sofort">
<icon BUILTIN="button_cancel"/>
<node CREATED="1735609004510" ID="ID_1911256331" MODIFIED="1735609026839" TEXT="w&#xfc;rde bedeuten: praktisch alles passiert im mount(TurnoutSystem&amp;)"/>
<node CREATED="1735609090986" ID="ID_951840714" MODIFIED="1735609113027" TEXT="f&#xfc;r die (optionale) Nachverarbeitung bleibt noch Design-Spielraum"/>
@ -94463,7 +94506,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="smiley-angry"/>
</node>
</node>
<node CREATED="1735609684093" ID="ID_1602209150" MODIFIED="1735783205922" TEXT="oder: einen UninitialisedStorage-Block vorsehen">
<node CREATED="1735609684093" FOLDED="true" ID="ID_1602209150" MODIFIED="1736040390166" TEXT="oder: einen UninitialisedStorage-Block vorsehen">
<icon BUILTIN="forward"/>
<node CREATED="1735609703440" ID="ID_1428111001" MODIFIED="1735609715570" TEXT="die Gr&#xf6;&#xdf;e ist ja im Voraus bekannt"/>
<node CREATED="1735609732772" ID="ID_1616902380" MODIFIED="1735609783730" TEXT="Sch&#xf6;n ist das nicht....">
@ -94496,7 +94539,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1735775078805" ID="ID_773290103" LINK="#ID_499331038" MODIFIED="1735775549052" TEXT="ergibt sich n&#xe4;mlich alles bereits aus der Spec">
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735775093091" ID="ID_1477113659" MODIFIED="1735775124239" TEXT="aber Laufzeit-Parameter sind nat&#xfc;rlich notwendig">
<node COLOR="#435e98" CREATED="1735775093091" ID="ID_1477113659" MODIFIED="1736040378334" TEXT="aber Laufzeit-Parameter sind nat&#xfc;rlich notwendig">
<icon BUILTIN="yes"/>
<node CREATED="1735775126615" ID="ID_861839311" MODIFIED="1735775141609" TEXT="(optionaler) Postprocessing-Funktor"/>
<node CREATED="1735775143004" ID="ID_684578183" MODIFIED="1735775147851" TEXT="die delegate-Node">
@ -94553,13 +94596,13 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1735777939763" ID="ID_654818284" MODIFIED="1735783309728" TEXT="Setup-Parameter im Weaving-Pattern">
<icon BUILTIN="pencil"/>
<node COLOR="#5b280f" CREATED="1735777972926" ID="ID_1471110800" MODIFIED="1735783080965" TEXT="das Funktoren-Tupel">
<node COLOR="#338800" CREATED="1735777939763" ID="ID_654818284" MODIFIED="1736040303291" TEXT="Setup-Parameter im Weaving-Pattern">
<icon BUILTIN="button_ok"/>
<node COLOR="#5b280f" CREATED="1735777972926" FOLDED="true" ID="ID_1471110800" MODIFIED="1736040318186" TEXT="das Funktoren-Tupel">
<icon BUILTIN="button_cancel"/>
<node CREATED="1735778000411" ID="ID_605093508" MODIFIED="1735778009822" TEXT="eigentlich brauchen wir nur einen Block-Builder"/>
<node CREATED="1735778011170" ID="ID_1721187835" MODIFIED="1735778025451" TEXT="aber in dem m&#xfc;&#xdf;te das Tupel drinnen stecken"/>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1735778026895" ID="ID_876564472" MODIFIED="1735778038315" TEXT="&#xdc;berlapp mit der Spec im aktuellen Design">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1735778026895" ID="ID_876564472" MODIFIED="1736040309255" TEXT="&#xdc;berlapp mit der Spec im aktuellen Design">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1735778040638" ID="ID_325760853" MODIFIED="1735778053152" TEXT="wir k&#xf6;nnten die Spec speichern"/>
<node CREATED="1735778055468" ID="ID_652295544" MODIFIED="1735778070117" TEXT="aber deren ganzer Builder-Part ist eigentlich redundant"/>
@ -96334,7 +96377,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728856777992" ID="ID_1457051384" MODIFIED="1728856785965" TEXT="Verdrahtung (fertig) ausf&#xfc;hren">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1728858555925" ID="ID_65764746" MODIFIED="1728858571751" TEXT="was zu leisten ist....">
<node CREATED="1728858555925" ID="ID_65764746" MODIFIED="1736049191261" TEXT="was zu leisten ist....">
<icon BUILTIN="yes"/>
<node CREATED="1728858604761" ID="ID_790361441" MODIFIED="1728858624320" TEXT="eingangsseitig mu&#xdf; f&#xfc;r jeden Slot eine Lead-Connection bestehen">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1728858628016" ID="ID_303987757" MODIFIED="1728858659791" TEXT="Datentyp mu&#xdf; pasen &#x2014; hier nicht mehr &#xfc;berpr&#xfc;fbar">
<icon BUILTIN="messagebox_warning"/>
@ -96349,24 +96393,40 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node CREATED="1728861007944" ID="ID_1830241208" MODIFIED="1728861032180" TEXT="mu&#xdf; aber gespeichert werden, da konfigurierbar"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728858747160" ID="ID_1825558530" MODIFIED="1728858939877" TEXT="Konsequenz &#x27f9; zu wenig Leads bedeutet error::Logic">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1728858747160" ID="ID_1825558530" MODIFIED="1736049335278" TEXT="Konsequenz &#x27f9; zu wenig Leads bedeutet error::Logic">
<icon BUILTIN="yes"/>
</node>
</node>
<node CREATED="1728858952853" ID="ID_157065776" MODIFIED="1728858971152" TEXT="ausgangsseitig hat der WeavingBuilder ein Array mit Typinfos">
<node CREATED="1728859055657" ID="ID_1509836267" MODIFIED="1728859066657" TEXT="das mu&#xdf; mit Typ-Markern gef&#xfc;llt werden"/>
<node CREATED="1728859075077" ID="ID_708925676" MODIFIED="1728859099002" TEXT="1:1-Verdrahtung hei&#xdf;t hier: den festen Output-Typ einf&#xfc;llen"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728861156109" ID="ID_717078277" MODIFIED="1728861169116" TEXT="den mu&#xdf; daher der PortBuilder ermitteln">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1728861156109" FOLDED="true" ID="ID_717078277" MODIFIED="1736049330373" TEXT="den mu&#xdf; daher der PortBuilder ermitteln">
<icon BUILTIN="hourglass"/>
<node CREATED="1728861989407" ID="ID_1702195585" MODIFIED="1728862007092" TEXT="konkreter Typ wird erst f&#xfc;r den InvocationAdapter + Manifold ermittelt"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1728862023317" ID="ID_82788432" MODIFIED="1728862039191" TEXT="...und der steckt bisher fest verdrahtet im WeavingBuilder">
<icon BUILTIN="broken-line"/>
</node>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1728861938092" ID="ID_474371188" MODIFIED="1728862042391" TEXT="bisher alles noch zu knapp gehalten">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1728861938092" ID="ID_474371188" MODIFIED="1736049214794" TEXT="bisher alles noch zu knapp gehalten">
<arrowlink COLOR="#dd0239" DESTINATION="ID_865228634" ENDARROW="Default" ENDINCLINATION="1738;0;" ID="Arrow_ID_1284493211" STARTARROW="None" STARTINCLINATION="-299;23;"/>
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1736049216603" ID="ID_788912310" MODIFIED="1736049237342">
<richcontent TYPE="NODE"><html>
<head/>
<body>
<p>
Ja .... aber <font size="1" color="#ca1010">(YAGNI)</font>
</p>
</body>
</html>
</richcontent>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728862045992" ID="ID_1245289000" MODIFIED="1728862204253" TEXT="Prototyp &#x27f9; erst mal das Type-Binding explizit in den WeavingBuilder aufdoppeln">
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1736049253340" ID="ID_526314697" MODIFIED="1736049293137" TEXT="auf das n&#xe4;chste Vertical-Slice vertagen">
<arrowlink COLOR="#fef8b1" DESTINATION="ID_780472721" ENDARROW="Default" ENDINCLINATION="-347;20;" ID="Arrow_ID_389100241" STARTARROW="None" STARTINCLINATION="-1;67;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#630983" CREATED="1728862045992" ID="ID_1245289000" MODIFIED="1736049318262" TEXT="Prototyp &#x27f9; erst mal das Type-Binding explizit in den WeavingBuilder aufdoppeln">
<icon BUILTIN="yes"/>
<node CREATED="1728862298588" ID="ID_1483120295" MODIFIED="1728862313310" TEXT="und zwar als Spezialisierung f&#xfc;r die 1:1-Verdrahtung"/>
<node CREATED="1728862314322" ID="ID_21254566" MODIFIED="1728862354792" TEXT="denn hief&#xfc;r m&#xfc;ssen stets alle restlichen Output-Buffer ausgef&#xfc;llt werden"/>
@ -96374,7 +96434,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="broken-line"/>
<node CREATED="1728862780842" ID="ID_1335801248" MODIFIED="1728862813235" TEXT="&#xbb;buffer type&#xab; : einerseits ein explizit getypter Pointer"/>
<node CREATED="1728862814218" ID="ID_73032642" MODIFIED="1728862857856" TEXT="&#xbb;buffer type&#xab; : andererseits ein Inlay-Typ, der vom BufferProider in den Buffer konstruiert wird"/>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1728862873502" ID="ID_780472721" MODIFIED="1728862893714" TEXT="TOTAL UNKLAR was &#x201e;die Libraries&#x201c; wirklich brauchen">
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1728862873502" ID="ID_780472721" MODIFIED="1736049287490" TEXT="TOTAL UNKLAR was &#x201e;die Libraries&#x201c; wirklich brauchen">
<linktarget COLOR="#fef8b1" DESTINATION="ID_780472721" ENDARROW="Default" ENDINCLINATION="-347;20;" ID="Arrow_ID_389100241" SOURCE="ID_526314697" STARTARROW="None" STARTINCLINATION="-1;67;"/>
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1728862945789" ID="ID_1315354060" MODIFIED="1728862967044" TEXT="mutma&#xdf;lich zwei Pattern">
<richcontent TYPE="NOTE"><html>
@ -96429,7 +96490,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<arrowlink COLOR="#3d2f67" DESTINATION="ID_1595587422" ENDARROW="Default" ENDINCLINATION="-1475;-107;" ID="Arrow_ID_1028125005" STARTARROW="None" STARTINCLINATION="2920;124;"/>
<icon BUILTIN="messagebox_warning"/>
</node>
<node COLOR="#435e98" CREATED="1728870377629" ID="ID_616326824" MODIFIED="1728914206823" TEXT="Irgendetwas mit der move/realloc-Funktion in lib::SeveralBuilder ist nicht in Ordnung">
<node COLOR="#435e98" CREATED="1728870377629" FOLDED="true" ID="ID_616326824" MODIFIED="1736049072050" TEXT="Irgendetwas mit der move/realloc-Funktion in lib::SeveralBuilder ist nicht in Ordnung">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -96511,6 +96572,39 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1728914228920" ID="ID_1907870057" MODIFIED="1728914316325" TEXT="im Realbetrieb k&#xf6;nnte es problematisch werden ">
<icon BUILTIN="messagebox_warning"/>
</node>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#5101a5" CREATED="1736048767406" ID="ID_1116401979" MODIFIED="1736048872585">
<richcontent TYPE="NODE"><html>
<head/>
<body>
<p>
<u>Nachtrag</u>: aus anderen Gr&#252;nden habe ich Bulk-Allokation erm&#246;glicht
</p>
</body>
</html></richcontent>
<arrowlink COLOR="#4d629c" DESTINATION="ID_893369954" ENDARROW="Default" ENDINCLINATION="-77;-21;" ID="Arrow_ID_1401355780" STARTARROW="None" STARTINCLINATION="-450;19;"/>
<icon BUILTIN="idea"/>
<node CREATED="1736048882630" ID="ID_813800805" MODIFIED="1736049019887" TEXT="das hat den Builder schrecklich kompliziert gemacht...">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Aber es f&#252;hrt kein Weg daran vorbei; das hier erstmals bemerkte Problem, da&#223; Port non-copyable ist/sein sollte, f&#252;hrt tats&#228;chlich dazu, da&#223; man keine <i>einfache dynamische Speicherbelegung</i>&#160;bekommt. Genauere Analyse zeigt aber, da&#223; das grunds&#228;tzlich nicht m&#246;glich ist (und auch nicht w&#252;nschenswert, da wir eine low-level-Struktur bauen und auch gute Cache-Koh&#228;renz wollen)
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1736048896780" ID="ID_763288131" MODIFIED="1736049067495" TEXT="daf&#xfc;r aber bekommen wir nun eine wunderbar kompakte Storage">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Nun habe ich den Builder so umgebaut, da&#223; alle Port-Konstruktoren als Lambda verz&#246;gert aufgesammelt werden; man kann dann am Ende alle Allokationen auf einmal &#187;abwerfen&#171;, so da&#223; sie wunderbar kompakt liegen
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1728913971453" ID="ID_852271835" MODIFIED="1728914059311" TEXT="Warnung abstellen">
<richcontent TYPE="NOTE"><html>
@ -96530,7 +96624,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="clanbomber"/>
</node>
</node>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1728914498759" ID="ID_283927094" MODIFIED="1728914523119" TEXT="Builder-Gebrauch und Speicherbelegung (&#x27f6; realloc )">
<node BACKGROUND_COLOR="#c5aead" COLOR="#474175" CREATED="1728914498759" FOLDED="true" ID="ID_283927094" MODIFIED="1736049131213" TEXT="Builder-Gebrauch und Speicherbelegung (&#x27f6; realloc )">
<icon BUILTIN="messagebox_warning"/>
<node COLOR="#435e98" CREATED="1728914683488" ID="ID_204246046" MODIFIED="1728914794055" TEXT="ProcNode sind NonCopyable (m&#xfc;ssen auch)">
<richcontent TYPE="NOTE"><html>
@ -96552,7 +96646,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="idea"/>
</node>
</node>
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1728918043717" ID="ID_828413139" MODIFIED="1728918052586" TEXT="Konzeptionelles Problem mit Port im Builder">
<node BACKGROUND_COLOR="#e4c074" COLOR="#ad0d28" CREATED="1728918043717" FOLDED="true" ID="ID_828413139" MODIFIED="1736049079972" TEXT="Konzeptionelles Problem mit Port im Builder">
<icon BUILTIN="broken-line"/>
<node COLOR="#3a0830" CREATED="1728918063615" ID="ID_1224903798" MODIFIED="1729562503204" TEXT="&#xd83d;&#xddf2; Konflikt in mehrerlei Hinsicht">
<font NAME="SansSerif" SIZE="12"/>
@ -96636,12 +96730,13 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node COLOR="#435e98" CREATED="1728919511214" ID="ID_717691514" MODIFIED="1729562426291" TEXT="L&#xf6;sungs-Strategien">
<icon BUILTIN="idea"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1728919519861" ID="ID_893369954" MODIFIED="1729562341054" TEXT="Port tats&#xe4;chlich non-copyable machen">
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1728919519861" ID="ID_893369954" MODIFIED="1736048872586" TEXT="Port tats&#xe4;chlich non-copyable machen">
<linktarget COLOR="#4d629c" DESTINATION="ID_893369954" ENDARROW="Default" ENDINCLINATION="-77;-21;" ID="Arrow_ID_1401355780" SOURCE="ID_1116401979" STARTARROW="None" STARTINCLINATION="-450;19;"/>
<icon BUILTIN="forward"/>
<node CREATED="1728919575373" ID="ID_1789193481" MODIFIED="1728919601059" TEXT="dann m&#xfc;&#xdf;te der WeavingBuilder per Seiteneffekt in emplacen">
<icon BUILTIN="idea"/>
<node CREATED="1728919603437" ID="ID_1351297042" MODIFIED="1728919611061" TEXT="das w&#xe4;re definitiv machbar"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728919612233" ID="ID_10047786" MODIFIED="1728919761204" TEXT="und zwar ohne gro&#xdf;en Aufwand">
<node BACKGROUND_COLOR="#eae49f" COLOR="#760099" CREATED="1728919612233" ID="ID_10047786" MODIFIED="1736039774820" TEXT="und zwar ohne gro&#xdf;en Aufwand">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -96850,7 +96945,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1729302196298" ID="ID_1847553313" MODIFIED="1729562797498" TEXT="eine pa&#xdf;genaue Allokation ist eigens sicherzustellen">
<arrowlink COLOR="#a33264" DESTINATION="ID_1966477380" ENDARROW="Default" ENDINCLINATION="16;-35;" ID="Arrow_ID_1870774816" STARTARROW="None" STARTINCLINATION="-112;6;"/>
<arrowlink COLOR="#453f7d" DESTINATION="ID_1966477380" ENDARROW="Default" ENDINCLINATION="16;-35;" ID="Arrow_ID_1870774816" STARTARROW="None" STARTINCLINATION="-112;6;"/>
<icon BUILTIN="yes"/>
<node CREATED="1729302235086" ID="ID_1925341713" MODIFIED="1729302359360" TEXT="die Diskussion btr. Non-copyable vs. movable ist peripher">
<richcontent TYPE="NOTE"><html>
@ -96885,9 +96980,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1729303081050" ID="ID_1966477380" MODIFIED="1729562785747" TEXT="Ausarbeiten einer pa&#xdf;genauen Implementierung">
<linktarget COLOR="#a33264" DESTINATION="ID_1966477380" ENDARROW="Default" ENDINCLINATION="16;-35;" ID="Arrow_ID_1870774816" SOURCE="ID_1847553313" STARTARROW="None" STARTINCLINATION="-112;6;"/>
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1729303081050" ID="ID_1966477380" MODIFIED="1736048528208" TEXT="Ausarbeiten einer pa&#xdf;genauen Implementierung">
<linktarget COLOR="#453f7d" DESTINATION="ID_1966477380" ENDARROW="Default" ENDINCLINATION="16;-35;" ID="Arrow_ID_1870774816" SOURCE="ID_1847553313" STARTARROW="None" STARTINCLINATION="-112;6;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1729303163506" ID="ID_1888134179" MODIFIED="1729303172498" TEXT="Zielvorgaben">
<icon BUILTIN="yes"/>
<node CREATED="1729303190542" ID="ID_1157491975" MODIFIED="1729303371888">
@ -97040,7 +97135,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node COLOR="#435e98" CREATED="1729385821879" ID="ID_562398626" MODIFIED="1729561730249" TEXT="neues Interface f&#xfc;r Build-Ergebnis schaffen">
<icon BUILTIN="yes"/>
<node CREATED="1729385860586" ID="ID_1726006228" MODIFIED="1729385872581" TEXT="Zweck...">
<node CREATED="1729385873337" ID="ID_1712688191" MODIFIED="1729385886298" TEXT="erzeuge eine Deque mit function-Objekten"/>
<node CREATED="1729385873337" ID="ID_1712688191" MODIFIED="1736048449916" TEXT="erzeuge eine Sequenz von function-Objekten"/>
<node CREATED="1729385887568" ID="ID_44692572" MODIFIED="1729385917344" TEXT="diese nehmen eine DataBuilder-Referenz als Argument"/>
<node CREATED="1729385918479" ID="ID_1138214516" MODIFIED="1729385963867">
<richcontent TYPE="NODE"><html>
@ -97061,7 +97156,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="idea"/>
</node>
</node>
<node COLOR="#338800" CREATED="1729386797044" ID="ID_1761275309" MODIFIED="1729690316126" TEXT="Builder-Closure vom WeavingBuilder entkoppeln">
<node COLOR="#338800" CREATED="1729386797044" FOLDED="true" ID="ID_1761275309" MODIFIED="1729690316126" TEXT="Builder-Closure vom WeavingBuilder entkoppeln">
<linktarget COLOR="#5bb062" DESTINATION="ID_1761275309" ENDARROW="Default" ENDINCLINATION="-1537;-2205;" ID="Arrow_ID_256183749" SOURCE="ID_1138966283" STARTARROW="None" STARTINCLINATION="658;22;"/>
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1729386815675" ID="ID_1416710632" MODIFIED="1729561753982" TEXT="WeavingBuilder lebt nur tempor&#xe4;r auf dem Stack">
@ -97213,7 +97308,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</html></richcontent>
</node>
</node>
<node COLOR="#338800" CREATED="1729477829436" ID="ID_669795504" MODIFIED="1729562241528" TEXT="PortBuilder::build() mu&#xdf; nun Build-Funktor erzeugen">
<node COLOR="#338800" CREATED="1729477829436" FOLDED="true" ID="ID_669795504" MODIFIED="1729562241528" TEXT="PortBuilder::build() mu&#xdf; nun Build-Funktor erzeugen">
<linktarget COLOR="#3d37ad" DESTINATION="ID_669795504" ENDARROW="Default" ENDINCLINATION="-187;-368;" ID="Arrow_ID_91190585" SOURCE="ID_466296328" STARTARROW="None" STARTINCLINATION="-105;399;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1729555298490" ID="ID_1421832672" MODIFIED="1729555506141" TEXT="die Several-Builds komplett entflechten">
@ -97378,9 +97473,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1729824226571" ID="ID_1548990852" MODIFIED="1729824234251" TEXT="Verdrahtung vervollst&#xe4;ndigen">
<icon BUILTIN="pencil"/>
<node CREATED="1729824237682" ID="ID_636711160" MODIFIED="1729824246476" TEXT="Eingangsseitig">
<node COLOR="#338800" CREATED="1729824226571" ID="ID_1548990852" MODIFIED="1736048297108" TEXT="Verdrahtung vervollst&#xe4;ndigen">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1729824237682" ID="ID_636711160" MODIFIED="1736049157177" TEXT="Eingangsseitig">
<node COLOR="#5b280f" CREATED="1729824384286" ID="ID_1876187632" MODIFIED="1729824783905" TEXT="Steuerung mu&#xdf; im PortBuilder liegen">
<richcontent TYPE="NOTE"><html>
<head/>
@ -97393,7 +97488,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<linktarget COLOR="#636e77" DESTINATION="ID_1876187632" ENDARROW="Default" ENDINCLINATION="95;-2208;" ID="Arrow_ID_508627026" SOURCE="ID_322570697" STARTARROW="None" STARTINCLINATION="-946;47;"/>
<icon BUILTIN="button_cancel"/>
</node>
<node COLOR="#435e98" CREATED="1729824794902" ID="ID_773941137" MODIFIED="1729868602025" TEXT="nein: sogar eine Ebene h&#xf6;her?">
<node COLOR="#435e98" CREATED="1729824794902" FOLDED="true" ID="ID_773941137" MODIFIED="1729868602025" TEXT="nein: sogar eine Ebene h&#xf6;her?">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1729824942675" ID="ID_1214779054" LINK="#ID_1804465000" MODIFIED="1729825085282" TEXT="der DataBuilder f&#xfc;r die Ports ist nun transient">
<icon BUILTIN="broken-line"/>
@ -97422,7 +97517,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1729872260939" ID="ID_1699716079" MODIFIED="1729908040734" TEXT="Kollaboration zwischen PortBuilder und WeavingBuilder">
<node COLOR="#338800" CREATED="1729872260939" FOLDED="true" ID="ID_1699716079" MODIFIED="1729908040734" TEXT="Kollaboration zwischen PortBuilder und WeavingBuilder">
<icon BUILTIN="button_ok"/>
<node CREATED="1729872286056" ID="ID_100746695" MODIFIED="1729872380469" TEXT="nur WeavingBuilder kennt die aktuell gesammelten Daten">
<icon BUILTIN="idea"/>
@ -97501,7 +97596,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node CREATED="1729824247416" ID="ID_967491409" MODIFIED="1729824250860" TEXT="Ausgangsseitig">
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1729824247416" ID="ID_967491409" MODIFIED="1736049157177" TEXT="Ausgangsseitig">
<node COLOR="#338800" CREATED="1729824254831" ID="ID_1308386017" MODIFIED="1729824373104" TEXT="naheliegend (und bereits implementiert)">
<icon BUILTIN="button_ok"/>
</node>
@ -97521,8 +97616,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<linktarget COLOR="#5732c2" DESTINATION="ID_1282095550" ENDARROW="Default" ENDINCLINATION="-406;569;" ID="Arrow_ID_497899045" SOURCE="ID_35388918" STARTARROW="None" STARTINCLINATION="981;80;"/>
<icon BUILTIN="hourglass"/>
</node>
<node COLOR="#338800" CREATED="1734141168279" ID="ID_1127056731" MODIFIED="1736038915524" TEXT="Pram-Funktor in den Builder einf&#xfc;hren">
<arrowlink COLOR="#2bcbc1" DESTINATION="ID_284201304" ENDARROW="Default" ENDINCLINATION="428;-33;" ID="Arrow_ID_1685749535" STARTARROW="None" STARTINCLINATION="-2223;155;"/>
<node COLOR="#338800" CREATED="1734141168279" ID="ID_1127056731" MODIFIED="1736049451635" TEXT="Pram-Funktor in den Builder einf&#xfc;hren">
<arrowlink COLOR="#2bcbc1" DESTINATION="ID_284201304" ENDARROW="Default" ENDINCLINATION="347;-26;" ID="Arrow_ID_1685749535" STARTARROW="None" STARTINCLINATION="-2223;155;"/>
<linktarget COLOR="#0299c0" DESTINATION="ID_1127056731" ENDARROW="Default" ENDINCLINATION="-1257;-48;" ID="Arrow_ID_1717201620" SOURCE="ID_1364724277" STARTARROW="None" STARTINCLINATION="-908;50;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1736038966051" ID="ID_864062784" MODIFIED="1736038996147" TEXT="haben nun einen &#xbb;Feed Prototype&#xab; im MediaWeavingPattern eingebettet"/>
@ -97539,6 +97634,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1728870964942" ID="ID_1694707450" MODIFIED="1728870992248" TEXT="ist n&#xe4;mlich nur im Header buffhandle-attach.hpp definiert"/>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1728870993972" ID="ID_1606733362" MODIFIED="1728871010352" TEXT="warum ist das so? ist das als Extension gedacht?">
<icon BUILTIN="help"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1736049380587" ID="ID_535297331" MODIFIED="1736049397015" TEXT="Verdacht: hier versteckt sich ein Konzeptions-Problem">
<icon BUILTIN="broken-line"/>
</node>
</node>
</node>
@ -97546,10 +97643,11 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721782550869" ID="ID_173220882" MODIFIED="1721782642416" TEXT="vereinfachtes Aufruf-API: Slots der Reihe nach belegen">
</node>
<node COLOR="#338800" CREATED="1721782550869" ID="ID_173220882" MODIFIED="1736038842435" TEXT="vereinfachtes Aufruf-API: Slots der Reihe nach belegen">
<linktarget COLOR="#5581a2" DESTINATION="ID_173220882" ENDARROW="Default" ENDINCLINATION="-314;-501;" ID="Arrow_ID_84112739" SOURCE="ID_1583773170" STARTARROW="None" STARTINCLINATION="540;29;"/>
<linktarget COLOR="#596573" DESTINATION="ID_173220882" ENDARROW="Default" ENDINCLINATION="-96;5;" ID="Arrow_ID_940636281" SOURCE="ID_162016103" STARTARROW="None" STARTINCLINATION="-238;-12;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1728575111581" ID="ID_1267841334" LINK="#ID_973244167" MODIFIED="1728580405766" TEXT="Nutz-Kontext">
<linktarget COLOR="#507ec8" DESTINATION="ID_1267841334" ENDARROW="Default" ENDINCLINATION="-66;-100;" ID="Arrow_ID_537610685" SOURCE="ID_807507393" STARTARROW="None" STARTINCLINATION="-257;20;"/>
<icon BUILTIN="edit"/>
@ -97625,12 +97723,15 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1728580079395" ID="ID_573399636" MODIFIED="1728580185350" TEXT="direkte Angabe eines InvocationAdapters anstelle der Funktion">
<icon BUILTIN="hourglass"/>
<node COLOR="#5b280f" CREATED="1736047543522" ID="ID_257803126" MODIFIED="1736047563284" TEXT="nicht klar ob wir das jemals brauchen...">
<icon BUILTIN="help"/>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1728580156849" ID="ID_413544349" MODIFIED="1728580179825" TEXT="(geplant/optional) direkte Angabe eines WeavinPatternBuilders">
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1728580156849" ID="ID_413544349" MODIFIED="1728580179825" TEXT="(geplant/optional) direkte Angabe eines WeavingPatternBuilders">
<icon BUILTIN="hourglass"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728581030897" ID="ID_1283310596" MODIFIED="1728581127193" TEXT="Angabe einer Funktion zwingend erforderlich">
<node COLOR="#435e98" CREATED="1728581030897" ID="ID_1283310596" MODIFIED="1736038833949" TEXT="Angabe einer Funktion zwingend erforderlich">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -98050,13 +98151,13 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node>
</node>
<node CREATED="1735181310482" ID="ID_828844081" MODIFIED="1735321094521" TEXT="retrieveParam(Accessor)">
<arrowlink COLOR="#a04095" DESTINATION="ID_1172487625" ENDARROW="Default" ENDINCLINATION="-1928;110;" ID="Arrow_ID_970821272" STARTARROW="None" STARTINCLINATION="-1172;-61;"/>
<arrowlink COLOR="#4043a0" DESTINATION="ID_1172487625" ENDARROW="Default" ENDINCLINATION="-1928;110;" ID="Arrow_ID_970821272" STARTARROW="None" STARTINCLINATION="-1172;-61;"/>
<node CREATED="1735181646685" HGAP="31" ID="ID_1181419965" MODIFIED="1735265718809" TEXT="Parameter aus TurnoutSystem per Accessor abholen">
<font NAME="SansSerif" SIZE="10"/>
</node>
</node>
<node COLOR="#435e98" CREATED="1735181577102" ID="ID_524332742" MODIFIED="1736044954879" TEXT="attachAutomation(AUTO)">
<arrowlink COLOR="#8f2ea4" DESTINATION="ID_972907747" ENDARROW="Default" ENDINCLINATION="887;-53;" ID="Arrow_ID_685087124" STARTARROW="None" STARTINCLINATION="-536;60;"/>
<arrowlink COLOR="#4043a0" DESTINATION="ID_972907747" ENDARROW="Default" ENDINCLINATION="887;-53;" ID="Arrow_ID_685087124" STARTARROW="None" STARTINCLINATION="-536;60;"/>
<node CREATED="1735181646685" HGAP="30" ID="ID_1875790841" MODIFIED="1735181809869" TEXT="zeitbasierte Funktion adaptieren (Zeit aus Turnoutsystem)">
<font NAME="SansSerif" SIZE="10"/>
</node>
@ -98069,23 +98170,38 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node>
</node>
</node>
<node CREATED="1735235825819" ID="ID_340685726" MODIFIED="1735235829758" TEXT="Testf&#xe4;lle">
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1735235055662" ID="ID_895934657" LINK="#ID_1383452569" MODIFIED="1735235856739" TEXT="Parameterbehandlung im Node-Builder">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1734133441531" ID="ID_1531388711" MODIFIED="1736050419018" TEXT="Storage im Turnout-System wie geplant auslegen...">
<arrowlink COLOR="#67a8a8" DESTINATION="ID_1602954198" ENDARROW="Default" ENDINCLINATION="-255;300;" ID="Arrow_ID_1139247366" STARTARROW="None" STARTINCLINATION="-1071;59;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1736040682445" ID="ID_391004745" MODIFIED="1736040876598" TEXT="Standard: nominal Time + processKey">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1736040694715" ID="ID_589124067" MODIFIED="1736040886885" TEXT="Accessoren spezifisch und generisch">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1735235825819" ID="ID_340685726" MODIFIED="1736047876713" TEXT="Testf&#xe4;lle">
<icon BUILTIN="forward"/>
<node COLOR="#338800" CREATED="1735235055662" ID="ID_895934657" LINK="#ID_1383452569" MODIFIED="1736047714984" TEXT="Parameterbehandlung im Node-Builder">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1735245149850" ID="ID_1185930169" MODIFIED="1735267765133" TEXT="&#xbb;Dropper&#xab; f&#xfc;r fest konfigurierte Parameter-Werte">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1735245164581" ID="ID_1648154346" MODIFIED="1735245175431" TEXT="Automations-Funktion &#xfc;ber die nominalTime">
<icon BUILTIN="hourglass"/>
<node COLOR="#338800" CREATED="1735245164581" ID="ID_1648154346" LINK="#ID_1150839986" MODIFIED="1736045332538" TEXT="Automations-Funktion &#xfc;ber die nominalTime">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1736047751726" ID="ID_277205699" LINK="#ID_1699556394" MODIFIED="1736047906858" TEXT="gleich auch noch ein komplexer Node-Graph">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1735235242744" ID="ID_387030013" LINK="#ID_1817704532" MODIFIED="1735244888823" TEXT="Node-Feed: Parameter Data">
<icon BUILTIN="button_ok"/>
<node CREATED="1735244535909" ID="ID_1449241849" MODIFIED="1735244566899" TEXT="hier einmal ein Turnout explizit &#x201e;zu Fu&#xdf;&#x201c; gebaut..."/>
<node CREATED="1735244568320" ID="ID_1640313609" MODIFIED="1735244582210" TEXT="...und auch direkt aufgerufen, ohne umschli&#xdf;ene ProcNode"/>
</node>
<node CREATED="1735235299769" ID="ID_1559115287" LINK="#ID_1305712041" MODIFIED="1735417239799" TEXT="Node-Feed: ParamNode &#x27f6; extraParams">
<node COLOR="#338800" CREATED="1735235299769" ID="ID_1559115287" LINK="#ID_1305712041" MODIFIED="1736047893464" TEXT="Node-Feed: ParamNode &#x27f6; extraParams">
<linktarget COLOR="#53a3b5" DESTINATION="ID_1559115287" ENDARROW="Default" ENDINCLINATION="-116;8;" ID="Arrow_ID_35370272" SOURCE="ID_1420751527" STARTARROW="None" STARTINCLINATION="-39;-6;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1735417162872" ID="ID_1823137654" MODIFIED="1735417286318" TEXT="auch hier: vor allem die Strukturen &#x201e;zu Fu&#xdf;&#x201c; aufbauen....">
<icon BUILTIN="yes"/>
</node>
@ -98136,9 +98252,10 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1735416494813" ID="ID_329885446" MODIFIED="1736040774387" TEXT="Builder f&#xfc;r dedizierte ParamNode">
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1735416494813" ID="ID_329885446" MODIFIED="1736050158941" TEXT="Builder f&#xfc;r dedizierte ParamNode">
<linktarget COLOR="#482c86" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-553;-36;" ID="Arrow_ID_1024921689" SOURCE="ID_921902157" STARTARROW="None" STARTINCLINATION="598;1114;"/>
<linktarget COLOR="#5747d2" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-844;-25;" ID="Arrow_ID_1824926310" SOURCE="ID_1257939291" STARTARROW="None" STARTINCLINATION="-647;38;"/>
<linktarget COLOR="#a9b4c1" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-23;242;" ID="Arrow_ID_13081633" SOURCE="ID_730488586" STARTARROW="None" STARTINCLINATION="282;10;"/>
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#bcdcd5" CREATED="1735416968791" HGAP="28" ID="ID_1420751527" MODIFIED="1736015728624" STYLE="bubble" VSHIFT="20">
<richcontent TYPE="NODE"><html>
@ -98264,19 +98381,36 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<node COLOR="#338800" CREATED="1736015405246" ID="ID_1879329039" MODIFIED="1736015411469" TEXT="NodeFeed_test">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1736015412757" ID="ID_1799619760" MODIFIED="1736015424555" TEXT="NodeBuilder_test">
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1736015412757" ID="ID_1799619760" LINK="#ID_481525559" MODIFIED="1736042364899" TEXT="NodeBuilder_test">
<icon BUILTIN="flag-pink"/>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734633240020" ID="ID_1096327457" MODIFIED="1736039593131" TEXT="Dokumentation NodeBuilder">
<linktarget COLOR="#82878e" DESTINATION="ID_1096327457" ENDARROW="Default" ENDINCLINATION="-1293;117;" ID="Arrow_ID_1693662542" SOURCE="ID_164798551" STARTARROW="None" STARTINCLINATION="1447;0;"/>
<icon BUILTIN="pencil"/>
<node CREATED="1736039852212" ID="ID_607701776" MODIFIED="1736039857079" TEXT="node-builder.hpp">
<node CREATED="1736039871254" ID="ID_1127553622" MODIFIED="1736039877141" TEXT="konzeptionelles hier..."/>
<node CREATED="1736039878372" ID="ID_939271453" MODIFIED="1736039890587" TEXT="die Builder-Levels (1,2,3,...)"/>
<node CREATED="1736039892134" ID="ID_1052777275" MODIFIED="1736039897598" TEXT="using custom allocators"/>
<node CREATED="1736039898910" ID="ID_1410455185" MODIFIED="1736039910024" TEXT="high-level-Beschreibung Node-Builder"/>
</node>
<node CREATED="1736039920851" ID="ID_68877974" MODIFIED="1736039928414" TEXT="weaving-pattern-builder.hpp">
<node CREATED="1736039930185" ID="ID_689706854" MODIFIED="1736039938148" TEXT="technische Details im Zusammenspiel der Builder"/>
</node>
<node CREATED="1736039970012" ID="ID_784147942" MODIFIED="1736039976815" TEXT="param-weaving-pattern.hpp">
<node CREATED="1736039979227" ID="ID_1474150503" MODIFIED="1736039990939" TEXT="vorwiegend das Schema f&#xfc;r eine &#xbb;Param Agent Node&#xab;"/>
<node CREATED="1736039992209" ID="ID_570154454" MODIFIED="1736039999252" TEXT="aber der Builder ist hier mit behandelt"/>
</node>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720622703868" ID="ID_332813706" MODIFIED="1729962145775" TEXT="in Bausteine zerlegen">
<linktarget COLOR="#ff6936" DESTINATION="ID_332813706" ENDARROW="Default" ENDINCLINATION="-884;1900;" ID="Arrow_ID_1891924781" SOURCE="ID_527170177" STARTARROW="None" STARTINCLINATION="909;76;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1728500237115" ID="ID_1324415480" MODIFIED="1728500255724" TEXT="unklar: wo wird die Flexibilit&#xe4;t f&#xfc;r WeavingPatters eingef&#xfc;hrt?">
<node COLOR="#435e98" CREATED="1728500237115" FOLDED="true" ID="ID_1324415480" MODIFIED="1736049941195" TEXT="unklar: wo wird die Flexibilit&#xe4;t f&#xfc;r WeavingPatters eingef&#xfc;hrt?">
<icon BUILTIN="help"/>
<node CREATED="1728500258076" ID="ID_1366737489" MODIFIED="1735069723322" TEXT="ich hab jetzt einen SimpleWeavingPatternBuilder">
<richcontent TYPE="NOTE"><html>
@ -98318,11 +98452,25 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</p>
</body>
</html></richcontent>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1728861676015" ID="ID_865228634" MODIFIED="1728861963334" TEXT="da habe ich f&#xfc;r den Prototypen zu stark vereinfacht">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1728861676015" ID="ID_865228634" MODIFIED="1736048015059" TEXT="da habe ich f&#xfc;r den Prototypen zu stark vereinfacht">
<linktarget COLOR="#dd0239" DESTINATION="ID_865228634" ENDARROW="Default" ENDINCLINATION="1738;0;" ID="Arrow_ID_1284493211" SOURCE="ID_474371188" STARTARROW="None" STARTINCLINATION="-299;23;"/>
<icon BUILTIN="broken-line"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1736048027145" HGAP="32" ID="ID_1737731988" MODIFIED="1736048268166" TEXT="deutet aber auch auf eine gewisse Konvergenz hin..." VSHIFT="9">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Da der Prototyp hier <i>direkt durchmaschiert,</i>&#160;und man trotzdem damit erst mal jede erdenkliche Medienberechnung per CPU erschlagen k&#246;nnte (dank der Flexibilit&#228;t, die ich mir in die Parameter-Signatur der Processing-function eingebaut habe), besteht vorerst wohl doch kein so starker Bedarf nach weiterer Flexibilit&#228;t. Immerhin, der Extension-Point ist da, wie ich durch die Implementierung des &#187;Param Agent Scheme&#171; demonstrieren konnte.
</p>
<p>
<i>Potentiell problematisch ist,</i>&#160;da&#223; die Verdrahtung im NodeBuilder / PortBuilder extrem technisch anspruchsvoll ist (man reicht mehrere Template-Parameter durch, hat cross-Builder, ein up-Slicing und einen deduction-Guide, der dann &#187;nebenbei&#171; auch noch eine funktionale Datenstruktur bef&#252;llt. Nicht da&#223; ich das aus Spa&#223; so gemacht h&#228;tte....
</p>
</body>
</html>
</richcontent>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728861734053" ID="ID_1720499002" MODIFIED="1729689297880" TEXT="m&#xfc;&#xdf;te das Produkt des WeavingBuilders konfigurierbar machen">
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1728861734053" ID="ID_1720499002" MODIFIED="1736047973686" TEXT="m&#xfc;&#xdf;te das Produkt des WeavingBuilders konfigurierbar machen">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -98332,6 +98480,11 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</body>
</html></richcontent>
<icon BUILTIN="yes"/>
<icon BUILTIN="hourglass"/>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1736047976583" HGAP="24" ID="ID_692385591" MODIFIED="1736048005382" TEXT="nicht klar ob man das wirklich braucht" VSHIFT="2">
<font NAME="SansSerif" SIZE="10"/>
<icon BUILTIN="help"/>
</node>
</node>
<node CREATED="1735246648677" ID="ID_1390294887" MODIFIED="1735246967617" TEXT="SimpleWeavnigPattern &#x27f6; MediaWeavingPattern ist jetzt Default">
<richcontent TYPE="NOTE"><html>
@ -98345,6 +98498,41 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<arrowlink COLOR="#4b5f94" DESTINATION="ID_1436882221" ENDARROW="Default" ENDINCLINATION="114;-2;" ID="Arrow_ID_1816177660" STARTARROW="None" STARTINCLINATION="-320;14;"/>
</node>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1736049462208" ID="ID_1388611042" MODIFIED="1736049478864" TEXT="Beschlu&#xdf;: vorerst reicht dieser Level an Flexibilit&#xe4;t">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
<node COLOR="#435e98" CREATED="1736049868268" HGAP="39" ID="ID_971930486" MODIFIED="1736049933210" TEXT="brauche viel weniger Extension-Points als angenommen" VSHIFT="13">
<font NAME="SansSerif" SIZE="11"/>
</node>
<node COLOR="#435e98" CREATED="1736049885823" HGAP="36" ID="ID_607542089" MODIFIED="1736049933208" TEXT="daf&#xfc;r wird eine enorme Komplexit&#xe4;t in den Library-Binding Plug-Ins enstehen...." VSHIFT="1">
<font NAME="SansSerif" SIZE="11"/>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1721238837562" HGAP="148" ID="ID_1021077233" MODIFIED="1736049626540" STYLE="bubble" TEXT="Binding-Flexibilit&#xe4;t erschl&#xe4;gt 80%" VSHIFT="44">
<edge COLOR="#ff5d00" STYLE="sharp_linear"/>
<arrowlink COLOR="#fe512a" DESTINATION="ID_863330262" ENDARROW="Default" ENDINCLINATION="1101;-48;" ID="Arrow_ID_1306547654" STARTARROW="None" STARTINCLINATION="-816;65;"/>
<icon BUILTIN="idea"/>
<node CREATED="1721239003353" ID="ID_1381024991" MODIFIED="1736049646699" STYLE="fork" TEXT="brauche gar nicht zig verschiedene &#xbb;Weaving-Pattern&#xab;">
<font NAME="SansSerif" SIZE="8"/>
</node>
<node CREATED="1721239003353" ID="ID_1755315938" MODIFIED="1736049667408" STYLE="fork" TEXT="alles bisher Vorstellbare l&#xe4;&#xdf;t sich durch geschichtes Funktor-Binding l&#xf6;sen">
<font NAME="SansSerif" SIZE="8"/>
</node>
<node CREATED="1721239003353" ID="ID_1185509046" MODIFIED="1736049859983" STYLE="fork" TEXT="Tupel + Templates sind voll DER BRINGER">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Da&#223; das <i>in solchem Ma&#223; erfolgreich wird,</i>&#160;h&#228;tte ich nicht erwartet. Zugegeben: ich hab's erst vor mir hergeschoben, und als ich dann den Umbau tats&#228;chlich durchgezogen habe, war das eine der brutalsten Aktionen, die ich jemals gemacht habe. Also genau das Richtige f&#252;r Weihnachten (!).
</p>
<p>
Und &#8212; oh Wunder &#8212; mir geht die Phantasie aus. Ich kann mir im Moment keine Berechnungs-Aufgabe ausdenken, die man nicht mit diesem Standard Weaving-Pattern + geschickter Verwendung von Parametern l&#246;sen kann. Also wird das vielleicht erst etwas f&#252;r <i>viel sp&#228;ter</i>&#160;&#8212; Hardware-Accelleration und so....
</p>
</body>
</html></richcontent>
<font NAME="SansSerif" SIZE="8"/>
</node>
</node>
</node>
</node>
<node COLOR="#435e98" CREATED="1735246847847" ID="ID_183039781" MODIFIED="1735246927561" TEXT="preparePort().invoke&lt;FUN&gt;()">
<icon BUILTIN="info"/>
@ -98354,11 +98542,11 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node>
<node CREATED="1735246909755" ID="ID_403760027" MODIFIED="1735246916593" TEXT="adaptiert processing-functor"/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734139914450" ID="ID_284201304" MODIFIED="1735245128858" TEXT="Steuerung der Parameter-Verarbeitung">
<linktarget COLOR="#d90755" DESTINATION="ID_284201304" ENDARROW="Default" ENDINCLINATION="428;-33;" ID="Arrow_ID_1685749535" SOURCE="ID_1127056731" STARTARROW="None" STARTINCLINATION="-2201;158;"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1734139914450" ID="ID_284201304" MODIFIED="1736049451635" TEXT="Steuerung der Parameter-Verarbeitung">
<linktarget COLOR="#2bcbc1" DESTINATION="ID_284201304" ENDARROW="Default" ENDINCLINATION="347;-26;" ID="Arrow_ID_1685749535" SOURCE="ID_1127056731" STARTARROW="None" STARTINCLINATION="-2223;155;"/>
<linktarget COLOR="#a71e73" DESTINATION="ID_284201304" ENDARROW="Default" ENDINCLINATION="-170;12;" ID="Arrow_ID_170732865" SOURCE="ID_616768316" STARTARROW="None" STARTINCLINATION="150;11;"/>
<linktarget COLOR="#c33786" DESTINATION="ID_284201304" ENDARROW="Default" ENDINCLINATION="-149;10;" ID="Arrow_ID_1396373869" SOURCE="ID_1184999563" STARTARROW="None" STARTINCLINATION="335;-34;"/>
<icon BUILTIN="pencil"/>
<icon BUILTIN="yes"/>
<node CREATED="1735236115714" ID="ID_536087493" MODIFIED="1735236180383">
<richcontent TYPE="NODE"><html>
<head/>
@ -98406,22 +98594,40 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<arrowlink COLOR="#497fac" DESTINATION="ID_1734022233" ENDARROW="Default" ENDINCLINATION="-1101;-113;" ID="Arrow_ID_144045811" STARTARROW="None" STARTINCLINATION="-687;133;"/>
<icon BUILTIN="pencil"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733429229455" ID="ID_1168009537" MODIFIED="1733429237190" TEXT="Implementierung">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733429241884" ID="ID_303076243" MODIFIED="1734041986220" TEXT="Daten-Zugriff">
<node COLOR="#338800" CREATED="1733429229455" ID="ID_1168009537" MODIFIED="1736050032761" TEXT="Implementierung">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1733429241884" ID="ID_303076243" MODIFIED="1736049954394" TEXT="Daten-Zugriff">
<arrowlink COLOR="#4c74b0" DESTINATION="ID_462136727" ENDARROW="Default" ENDINCLINATION="19;2576;" ID="Arrow_ID_402192560" STARTARROW="None" STARTINCLINATION="-818;-116;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#439498" CREATED="1736050037666" ID="ID_1174699623" MODIFIED="1736050062429" TEXT="Standard-Accessoren">
<font NAME="SansSerif" SIZE="11"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733429249083" ID="ID_1856105582" MODIFIED="1733429265122" TEXT="Daten-Registrierung">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#439498" CREATED="1736050043994" ID="ID_337586306" MODIFIED="1736050062430" TEXT="flexible custom-Accessoren">
<font NAME="SansSerif" SIZE="11"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733429257540" ID="ID_1545686183" MODIFIED="1733429265122" TEXT="Default-Ausstattung">
<icon BUILTIN="flag-yellow"/>
</node>
<node COLOR="#338800" CREATED="1733429249083" ID="ID_1856105582" MODIFIED="1736049968277" TEXT="Daten-Registrierung">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1736049970068" ID="ID_245077356" MODIFIED="1736049983756" TEXT="realisiert &#xfc;ber die HeteroData Chain-Blocks">
<icon BUILTIN="info"/>
</node>
<node COLOR="#435e98" CREATED="1736049984690" ID="ID_730488586" MODIFIED="1736050158941" TEXT="bereits f&#xfc;r ein extrem komplexes Beispiel (Param-Agent) durchgespielt">
<arrowlink DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-23;242;" ID="Arrow_ID_13081633" STARTARROW="None" STARTINCLINATION="282;10;"/>
</node>
</node>
<node COLOR="#338800" CREATED="1733429257540" ID="ID_1545686183" MODIFIED="1736050030105" TEXT="Default-Ausstattung">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1736050014994" ID="ID_1496478469" MODIFIED="1736050027972" TEXT="nominalTime">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
<node COLOR="#435e98" CREATED="1736050020781" ID="ID_1122202324" MODIFIED="1736050027973" TEXT="processKey">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734059951987" ID="ID_1795912761" MODIFIED="1735415986487" TEXT="bestehenden Entwurf um Parameter erg&#xe4;nzen">
<arrowlink COLOR="#b02152" DESTINATION="ID_1347066000" ENDARROW="Default" ENDINCLINATION="-925;49;" ID="Arrow_ID_1367798112" STARTARROW="None" STARTINCLINATION="532;31;"/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734059951987" ID="ID_1795912761" MODIFIED="1736050528792" TEXT="bestehenden Entwurf um Parameter erg&#xe4;nzen">
<arrowlink COLOR="#216db0" DESTINATION="ID_1347066000" ENDARROW="Default" ENDINCLINATION="-925;49;" ID="Arrow_ID_1367798112" STARTARROW="None" STARTINCLINATION="532;31;"/>
<linktarget COLOR="#5718da" DESTINATION="ID_1795912761" ENDARROW="Default" ENDINCLINATION="-997;61;" ID="Arrow_ID_1582668720" SOURCE="ID_1344849864" STARTARROW="None" STARTINCLINATION="-507;-39;"/>
<linktarget COLOR="#787a90" DESTINATION="ID_1795912761" ENDARROW="Default" ENDINCLINATION="4;118;" ID="Arrow_ID_804587938" SOURCE="ID_1862852275" STARTARROW="None" STARTINCLINATION="-427;0;"/>
<icon BUILTIN="pencil"/>
@ -99322,8 +99528,8 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<linktarget COLOR="#d20e48" DESTINATION="ID_1860532476" ENDARROW="Default" ENDINCLINATION="158;-8;" ID="Arrow_ID_1150766303" SOURCE="ID_1712932544" STARTARROW="None" STARTINCLINATION="86;4;"/>
<icon BUILTIN="yes"/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734059376947" ID="ID_603334752" MODIFIED="1734059596013" TEXT="mu&#xdf; Storage-Layout f&#xfc;r das Turnout-System festlegen">
<arrowlink COLOR="#5d3c71" DESTINATION="ID_855223653" ENDARROW="Default" ENDINCLINATION="-921;1508;" ID="Arrow_ID_642394255" STARTARROW="None" STARTINCLINATION="-1356;-81;"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734059376947" ID="ID_603334752" MODIFIED="1736050705036" TEXT="mu&#xdf; Storage-Layout f&#xfc;r das Turnout-System festlegen">
<arrowlink COLOR="#3c4371" DESTINATION="ID_855223653" ENDARROW="Default" ENDINCLINATION="-921;1508;" ID="Arrow_ID_642394255" STARTARROW="None" STARTINCLINATION="-1356;-81;"/>
<icon BUILTIN="yes"/>
<icon BUILTIN="pencil"/>
</node>
@ -99331,9 +99537,9 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<arrowlink COLOR="#5718da" DESTINATION="ID_1795912761" ENDARROW="Default" ENDINCLINATION="-997;61;" ID="Arrow_ID_1582668720" STARTARROW="None" STARTINCLINATION="-507;-39;"/>
<icon BUILTIN="yes"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735317581894" ID="ID_972907747" MODIFIED="1735319395835" TEXT="brauche tats&#xe4;chliches TurnoutSystem-API">
<arrowlink COLOR="#bf136e" DESTINATION="ID_1075228" ENDARROW="Default" ENDINCLINATION="-1141;139;" ID="Arrow_ID_862683421" STARTARROW="None" STARTINCLINATION="-1041;-48;"/>
<linktarget COLOR="#8f2ea4" DESTINATION="ID_972907747" ENDARROW="Default" ENDINCLINATION="887;-53;" ID="Arrow_ID_685087124" SOURCE="ID_524332742" STARTARROW="None" STARTINCLINATION="-536;60;"/>
<node COLOR="#435e98" CREATED="1735317581894" ID="ID_972907747" MODIFIED="1736050320399" TEXT="brauche tats&#xe4;chliches TurnoutSystem-API">
<arrowlink COLOR="#3513bf" DESTINATION="ID_1075228" ENDARROW="Default" ENDINCLINATION="-1141;139;" ID="Arrow_ID_862683421" STARTARROW="None" STARTINCLINATION="-1041;-48;"/>
<linktarget COLOR="#4043a0" DESTINATION="ID_972907747" ENDARROW="Default" ENDINCLINATION="887;-53;" ID="Arrow_ID_685087124" SOURCE="ID_524332742" STARTARROW="None" STARTINCLINATION="-536;60;"/>
<icon BUILTIN="yes"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735317659721" ID="ID_796632095" MODIFIED="1735318553867" TEXT="Builder-API f&#xfc;r ParamNode festlegen">
@ -101786,6 +101992,10 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<linktarget COLOR="#fe512a" DESTINATION="ID_1353514662" ENDARROW="Default" ENDINCLINATION="1101;-48;" ID="Arrow_ID_147584569" SOURCE="ID_1631533844" STARTARROW="None" STARTINCLINATION="-832;60;"/>
<icon BUILTIN="bell"/>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1721238814245" ID="ID_863330262" MODIFIED="1736049626540" TEXT="Feststellung: exzessive Flexibilit&#xe4;t (vorerst) nicht notwendig">
<linktarget COLOR="#fe512a" DESTINATION="ID_863330262" ENDARROW="Default" ENDINCLINATION="1101;-48;" ID="Arrow_ID_1306547654" SOURCE="ID_1021077233" STARTARROW="None" STARTINCLINATION="-816;65;"/>
<icon BUILTIN="idea"/>
</node>
</node>
<node BACKGROUND_COLOR="#e2caa2" COLOR="#990000" CREATED="1729956600896" ID="ID_988254887" MODIFIED="1729956915005" STYLE="fork" TEXT="Probleme">
<edge COLOR="#b14253" STYLE="sharp_linear"/>
@ -141105,8 +141315,23 @@ std::cout &lt;&lt; tmpl.render({&quot;what&quot;, &quot;World&quot;}) &lt;&lt; s
<arrowlink COLOR="#82878e" DESTINATION="ID_1833389965" ENDARROW="Default" ENDINCLINATION="-1293;117;" ID="Arrow_ID_1228391309" STARTARROW="None" STARTINCLINATION="1447;0;"/>
<icon BUILTIN="pencil"/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734633109131" ID="ID_164798551" MODIFIED="1736039585332" TEXT="NodeBuilder">
<arrowlink COLOR="#82878e" DESTINATION="ID_1096327457" ENDARROW="Default" ENDINCLINATION="-1293;117;" ID="Arrow_ID_1693662542" STARTARROW="None" STARTINCLINATION="1447;0;"/>
<icon BUILTIN="pencil"/>
</node>
</node>
<node CREATED="1702416647540" ID="ID_1689012176" MODIFIED="1702416651071" TEXT="&#xdc;bersichts-Seiten"/>
<node COLOR="#bb1fb8" CREATED="1736039529395" FOLDED="true" ID="ID_1771259702" MODIFIED="1736039581051" STYLE="bubble" TEXT="&lt;Template&gt;">
<edge COLOR="#893775"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734633109131" ID="ID_351820760" MODIFIED="1736039496135" TEXT="TechXXX">
<arrowlink COLOR="#82878e" DESTINATION="ID_1930073028" ENDARROW="Default" ENDINCLINATION="-1293;117;" ID="Arrow_ID_1519227463" STARTARROW="None" STARTINCLINATION="1447;0;"/>
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734633240020" ID="ID_1930073028" MODIFIED="1736039501486" TEXT="Dokumentation XXX">
<linktarget COLOR="#82878e" DESTINATION="ID_1930073028" ENDARROW="Default" ENDINCLINATION="-1293;117;" ID="Arrow_ID_1519227463" SOURCE="ID_351820760" STARTARROW="None" STARTINCLINATION="1447;0;"/>
<icon BUILTIN="pencil"/>
</node>
</node>
</node>
</node>
<node CREATED="1702417147449" ID="ID_127149039" MODIFIED="1702417598605" TEXT="Tickets">
<icon BUILTIN="info"/>