Invocation: rearrange the Render Node development tests

This is an attempt to take aim at the next step,
which is to fill in the missing part for an actual node invocation...

''...still fighting to get ahead, due to complexity of involced concerns...''
This commit is contained in:
Fischlurch 2024-12-06 23:43:18 +01:00
parent 907fbef1ad
commit 544075d143
13 changed files with 253 additions and 163 deletions

View file

@ -20,7 +20,7 @@
**
** @see engine::ProcNode
** @see turnout-system.hpp
** @see NodeBasic_test
** @see NodeBase_test
**
*/

View file

@ -80,7 +80,7 @@
**
** @see turnout.hpp
** @see node-builder.hpp
** @see NodeLinkage_test
** @see NodeLink_test
**
** @todo WIP-WIP-WIP as of 10/2024 prototyping how to build and invoke render nodes /////////////////////////TICKET #1371
**

View file

@ -2,7 +2,7 @@ TESTING "Component Test Suite: Render Engine parts" ./test-suite --group=node
PLANNED "Proc Node basics" NodeBasic_test <<END
PLANNED "Proc Node basics" NodeBase_test <<END
END
@ -10,21 +10,25 @@ PLANNED "Proc Node creation" NodeBuilder_test <<END
END
TEST "Proc Node test support" NodeDevel_test <<END
TEST "Proc Node test setup" NodeDevel_test <<END
END
PLANNED "Proc Node fabrication" NodeFactory_test <<END
PLANNED "Proc Node data feeds" NodeFeed_test <<END
END
PLANNED "Proc Node connectivity" NodeLinkage_test <<END
PLANNED "Proc Node connectivity" NodeLink_test <<END
END
PLANNED "Proc Node input reading" NodeInput_test <<END
PLANNED "Proc Node metadata key" NodeMeta_test <<END
END
PLANNED "Proc Node operation modes" NodeOperation_test <<END
PLANNED "Proc Node operation modes" NodeOpera_test <<END
END
PLANNED "Proc Node engine storage setup" NodeStorage_test <<END
END

View file

@ -1,5 +1,5 @@
/*
NodeBasic(Test) - unit test covering render node basic lifecycle and usage
NodeBase(Test) - unit test to cover the render node base elements
Copyright (C)
2009, Hermann Vosseler <Ichthyostega@web.de>
@ -11,14 +11,15 @@
* *****************************************************************/
/** @file node-basic-test.cpp
** unit test \ref NodeBasic_test
/** @file node-base-test.cpp
** Unit test \ref NodeBase_test covers elementary components of render nodes.
*/
#include "lib/test/run.hpp"
#include "steam/engine/node-factory.hpp"
#include "steam/engine/proc-node.hpp"
//#include "steam/engine/nodewiring-obsolete.hpp" /////////////////////////////////////////////////////TICKET #1367 : sort out dependencies for reworked Node Invocation
#include "steam/engine/turnout.hpp"
#include "steam/engine/turnout-system.hpp"
#include "steam/engine/channel-descriptor.hpp"
#include "steam/mobject/session/effect.hpp"
@ -66,7 +67,7 @@ namespace test {
/***************************************************************//**
* @test basic render node properties and behaviour.
*/
class NodeBasic_test : public Test
class NodeBase_test : public Test
{
virtual void run(Arg)
{
@ -98,7 +99,7 @@ namespace test {
/** Register this test class... */
LAUNCHER (NodeBasic_test, "unit node");
LAUNCHER (NodeBase_test, "unit node");

View file

@ -12,7 +12,7 @@
* *****************************************************************/
/** @file node-builder-test.cpp
** unit test \ref NodeBuilder_test
** Unit test \ref NodeBuilder_test demonstrates how to build render nodes.
*/

View file

@ -12,7 +12,7 @@
* *****************************************************************/
/** @file node-devel-test.cpp
** unit test \ref NodeDevel_test
** Unit test \ref NodeDevel_test verifies helpers for testing of render nodes.
*/

View file

@ -1,8 +1,8 @@
/*
NodeInput(Test) - unit test of the source reading render node
NodeFeed(Test) - verify render node data feeds
Copyright (C)
2008, Hermann Vosseler <Ichthyostega@web.de>
2025, Hermann Vosseler <Ichthyostega@web.de>
  **Lumiera** is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
@ -11,8 +11,8 @@
* *****************************************************************/
/** @file node-input-test.cpp
** unit test \ref NodeInput_test
/** @file node-feed-test.cpp
** Feeding into and retrieving data from render nodes is covered by \ref NodeFeed_test.
*/
@ -33,7 +33,7 @@ namespace test {
/***************************************************************//**
* @test the source reading render node.
*/
class NodeInput_test : public Test
class NodeFeed_test : public Test
{
virtual void run(Arg)
{
@ -43,7 +43,7 @@ namespace test {
/** Register this test class... */
LAUNCHER (NodeInput_test, "unit node");
LAUNCHER (NodeFeed_test, "unit node");

View file

@ -1,8 +1,8 @@
/*
NodeLinkage(Test) - verify proper render node operation and calldown
NodeLink(Test) - render node connectivity and collaboration
Copyright (C)
2009, Hermann Vosseler <Ichthyostega@web.de>
2024, Hermann Vosseler <Ichthyostega@web.de>
  **Lumiera** is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
@ -11,8 +11,8 @@
* *****************************************************************/
/** @file node-linkage-test.cpp
** unit test \ref NodeLinkage_test
/** @file node-link-test.cpp
** The \ref NodeLink_test covers the essence of connected render nodes.
*/
@ -44,7 +44,7 @@ namespace test {
* - starting from any Port, a TurnoutSystem can be established
* - which in turn allows _turn out_ a render result from this port.
*/
class NodeLinkage_test : public Test
class NodeLink_test : public Test
{
virtual void
run (Arg)
@ -133,7 +133,7 @@ SHOW_EXPR(metaN1.genNodeSpec(con.leads))
/** Register this test class... */
LAUNCHER (NodeLinkage_test, "unit node");
LAUNCHER (NodeLink_test, "unit node");

View file

@ -0,0 +1,50 @@
/*
NodeMeta(Test) - verify render node data feeds
Copyright (C)
2024, Hermann Vosseler <Ichthyostega@web.de>
  **Lumiera** is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
  Free Software Foundation; either version 2 of the License, or (at your
  option) any later version. See the file COPYING for further details.
* *****************************************************************/
/** @file node-meta-test.cpp
** Naming and hash-key identification of render nodes is covered by \ref NodeMeta_test.
*/
#include "lib/test/run.hpp"
//#include "lib/util.hpp"
//using std::string;
namespace steam {
namespace engine{
namespace test {
/***************************************************************//**
* @test Render node metadata and hash identity keys.
*/
class NodeMeta_test : public Test
{
virtual void run(Arg)
{
UNIMPLEMENTED ("render node pulling source data from vault");
}
};
/** Register this test class... */
LAUNCHER (NodeMeta_test, "unit node");
}}} // namespace steam::engine::test

View file

@ -1,8 +1,8 @@
/*
NodeOperation(Test) - verify proper render node operation and calldown
NodeOpera(Test) - verify proper render node operation modes
Copyright (C)
2009, Hermann Vosseler <Ichthyostega@web.de>
2024, Hermann Vosseler <Ichthyostega@web.de>
  **Lumiera** is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
@ -11,8 +11,8 @@
* *****************************************************************/
/** @file node-operation-test.cpp
** unit test \ref NodeOperation_test
/** @file node-opera-test.cpp
** Let the nodes sing with \ref NodeOpera_test.
*/
@ -33,7 +33,7 @@ namespace test {
/***************************************************************//**
* @test check render node operation modes and collaboration.
*/
class NodeOperation_test : public Test
class NodeOpera_test : public Test
{
virtual void run(Arg)
{
@ -43,7 +43,7 @@ namespace test {
/** Register this test class... */
LAUNCHER (NodeOperation_test, "unit node");
LAUNCHER (NodeOpera_test, "unit node");

View file

@ -1,5 +1,5 @@
/*
NodeFactory(Test) - building render nodes
NodeStorage(Test) - verify storage setup for render nodes in the engine
Copyright (C)
2009, Hermann Vosseler <Ichthyostega@web.de>
@ -11,8 +11,8 @@
* *****************************************************************/
/** @file node-factory-test.cpp
** unit test \ref NodeFactory_test
/** @file node-storage-test.cpp
** Actual storage setup for render nodes is demonstrated by \ref NodeStorage_test.
** @todo 12/2024 this test will focus on the high-level integration,
** which is future work and possibly addressed in the next »Vertical Slice«
** when we add processing of a given media clip from disk.
@ -36,7 +36,7 @@ namespace test {
/***************************************************************//**
* @test creating and wiring various kinds of render nodes.
*/
class NodeFactory_test : public Test
class NodeStorage_test : public Test
{
virtual void
run (Arg)
@ -47,7 +47,7 @@ namespace test {
/** Register this test class... */
LAUNCHER (NodeFactory_test, "unit node");
LAUNCHER (NodeStorage_test, "unit node");

View file

@ -79,7 +79,7 @@ namespace test {
*
* @see TestFrame_test
* @see NodeDevel_test
* @see NodeLinkage_test
* @see NodeLink_test
*
*/
class TestRandOntology

View file

@ -20662,9 +20662,7 @@
</node>
<node CREATED="1569711684335" HGAP="68" ID="ID_1964864197" MODIFIED="1666448072593" VSHIFT="2">
<richcontent TYPE="NODE"><html>
<head>
</head>
<head/>
<body>
<p>
verwende eine <b>Beziehungs-Entit&#228;t</b>
@ -21019,9 +21017,7 @@
<node CREATED="1575216248349" ID="ID_512721194" MODIFIED="1575216253000" TEXT="bisheriger Stand">
<node CREATED="1575216253845" ID="ID_587308673" MODIFIED="1575216292655" TEXT="Problem ist nicht wirklich gel&#xf6;st">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<p>
wir k&#246;nnten zwar Widgets aufbauen, diese aber dann sp&#228;ter nicht umordnen oder zerst&#246;ren
@ -21529,9 +21525,7 @@
<icon BUILTIN="bell"/>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1675386676167" ID="ID_235963160" MODIFIED="1675387243008" TEXT="aktuell noch nicht klar welchen Content es hier geben wird">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<p>
2/2023
@ -22250,9 +22244,7 @@
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1487465759930" HGAP="19" ID="ID_923619509" MODIFIED="1557498707224" VSHIFT="26">
<richcontent TYPE="NODE"><html>
<head>
</head>
<head/>
<body>
<p>
<font color="#d71313">Problem</font>: Slave-Timeline
@ -23116,9 +23108,7 @@
<node CREATED="1480780704849" ID="ID_483861197" MODIFIED="1518487921082" TEXT="Abw&#xe4;gung">
<node CREATED="1480780835319" ID="ID_1263364267" MODIFIED="1540506617751">
<richcontent TYPE="NODE"><html>
<head>
</head>
<head/>
<body>
<p>
hey, es ist <b>mein Leben</b>
@ -25034,9 +25024,7 @@
</node>
<node CREATED="1611921337706" ID="ID_797338208" MODIFIED="1611921423971" TEXT="schlimmer noch: auf der falschen Ebene angesiedelt">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<ul>
<li>
@ -28736,9 +28724,7 @@
</body>
</html></richcontent>
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<p>
anstatt (konventionell) den Time-Ruler separat explizit auszuprogrammieren,
@ -34404,9 +34390,7 @@
</node>
<node CREATED="1584307731586" ID="ID_1716161483" MODIFIED="1584307998380">
<richcontent TYPE="NODE"><html>
<head>
</head>
<head/>
<body>
<p>
Nebenbei bemerkt: die Aktion mu&#223; <b>idempotent</b>&#160;sein
@ -38287,9 +38271,7 @@
<node CREATED="1617569057644" ID="ID_1030532541" MODIFIED="1617569060954" TEXT="Beispiele">
<node CREATED="1617569061629" ID="ID_1273582846" MODIFIED="1617569661108" TEXT="schon au&#xdf;erhalb geklickt">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<p>
Das bekommt dieser Controller dann nicht mit, und die Geste wird insofern auch nicht getriggert. Da hat der User eben Pech gehabt.
@ -39980,9 +39962,7 @@
<node CREATED="1542385433191" ID="ID_823514825" MODIFIED="1557498707234" TEXT="es kommen ggfs neue Elemente hinzu">
<node CREATED="1666741069270" ID="ID_126323667" MODIFIED="1666741234366" TEXT="Gtk::Layout bietet keinen sinnvollen Mechanismus zum Entfernen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<ul>
<li>
@ -40810,9 +40790,7 @@
</node>
<node CREATED="1667667185251" ID="ID_396603353" MODIFIED="1667667316295" TEXT="extrem gro&#xdf;e Canvas oder Fenster sind nicht gef&#xe4;hrlich">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<p>
sofern wir den Speicher haben...
@ -41214,9 +41192,7 @@
</node>
<node CREATED="1667752695274" ID="ID_1446953820" MODIFIED="1667752882367">
<richcontent TYPE="NODE"><html>
<head>
</head>
<head/>
<body>
<p>
<u>empirsche Kontrolle</u>
@ -41837,9 +41813,7 @@
</node>
<node COLOR="#435e98" CREATED="1669479223678" ID="ID_4317582" MODIFIED="1669479361432" TEXT="au&#xdf;erdem: Ausgang durch conformMetricToWindow">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<head/>
<body>
<p>
...und das betrachte ich als gutm&#252;tig und hinreichend abgesichert...
@ -42011,9 +41985,7 @@
<icon BUILTIN="button_ok"/>
<node CREATED="1670283526032" ID="ID_229404798" MODIFIED="1670283558380">
<richcontent TYPE="NODE"><html>
<head>
</head>
<head/>
<body>
<p>
Problem: <font color="#792020" face="Monospaced">detox()</font>&#160;macht den zu Null
@ -87438,8 +87410,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
<node CREATED="1733423975397" ID="ID_109989936" MODIFIED="1733425368345" TEXT="Rolle des Turnout-Systems nun bestimmt als Mediator f&#xfc;r Parameter-Daten">
<linktarget COLOR="#2942cb" DESTINATION="ID_109989936" ENDARROW="Default" ENDINCLINATION="-2247;88;" ID="Arrow_ID_1057402913" SOURCE="ID_62561618" STARTARROW="None" STARTINCLINATION="-1004;58;"/>
<linktarget COLOR="#53677a" DESTINATION="ID_109989936" ENDARROW="Default" ENDINCLINATION="-40;1688;" ID="Arrow_ID_424518297" SOURCE="ID_61528151" STARTARROW="None" STARTINCLINATION="1654;57;"/>
<linktarget COLOR="#2942cb" DESTINATION="ID_109989936" ENDARROW="Default" ENDINCLINATION="-2247;88;" ID="Arrow_ID_1057402913" SOURCE="ID_62561618" STARTARROW="None" STARTINCLINATION="-1004;58;"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1718932452300" ID="ID_1311517716" MODIFIED="1718932606380" TEXT="Turnout-System als 2.Layer denken">
@ -87587,8 +87559,25 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1713821236750" ID="ID_1655113761" MODIFIED="1713823539175" TEXT="testgetriebener Aufbau">
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713821606607" ID="ID_492497884" MODIFIED="1713823536290" TEXT="NodeDevel_test">
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1713821706444" ID="ID_1035135639" MODIFIED="1733525811029" TEXT="NodeBase_test">
<icon BUILTIN="hourglass"/>
<node CREATED="1733525753053" ID="ID_1646783261" MODIFIED="1733525804171" TEXT="Demonstriert die Grundelemente"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1719282799123" ID="ID_605400011" MODIFIED="1719282822229" TEXT="mu&#xdf; ich erst einmal gr&#xf6;&#xdf;tenteils auskommentieren">
<icon BUILTIN="messagebox_warning"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713823489509" ID="ID_738439301" MODIFIED="1719282837986" TEXT="idealerweise nebenbei neu mit aufbauen">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733525831136" ID="ID_1553180375" MODIFIED="1733527489987" TEXT="NodeBuilder_test">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1733525872194" ID="ID_1854723929" MODIFIED="1733525888068" TEXT="Erzeugen einzelner Nodes durch den Node-Builder"/>
<node CREATED="1733531449614" ID="ID_481525559" MODIFIED="1733532161164" TEXT="speziell auch Anlegen eines ParamAgent">
<linktarget COLOR="#fe433f" DESTINATION="ID_481525559" ENDARROW="Default" ENDINCLINATION="1169;95;" ID="Arrow_ID_570772162" SOURCE="ID_1587342377" STARTARROW="None" STARTINCLINATION="-530;-37;"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1713821606607" ID="ID_492497884" MODIFIED="1733527499249" TEXT="NodeDevel_test">
<icon BUILTIN="pencil"/>
<node CREATED="1713823362710" ID="ID_66967253" MODIFIED="1719277373397" TEXT="Hilfsmittel zur Entwicklung und zum Aufbau">
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1719277267208" HGAP="29" ID="ID_594112005" LINK="https://issues.lumiera.org/ticket/1372" MODIFIED="1722274638084" TEXT="#1372 establish a &#xbb;Test Domain Ontology&#xab;" VSHIFT="7">
<linktarget COLOR="#df3950" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="666;-662;" ID="Arrow_ID_801625266" SOURCE="ID_973384222" STARTARROW="None" STARTINCLINATION="-1433;133;"/>
@ -87714,10 +87703,32 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1713821694886" ID="ID_1102491970" MODIFIED="1718843733168" TEXT="NodeLinkage_test">
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1733527644101" ID="ID_486838965" MODIFIED="1733529538606" TEXT="NodeFeed_test">
<icon BUILTIN="hourglass"/>
<node CREATED="1733527649620" ID="ID_53133526" MODIFIED="1733527744507" TEXT="Node Data-Feed">
<node CREATED="1733531449614" ID="ID_1987832971" MODIFIED="1733532184689" TEXT="Param &#x27f6; Node">
<linktarget COLOR="#fe433f" DESTINATION="ID_1987832971" ENDARROW="Default" ENDINCLINATION="1285;255;" ID="Arrow_ID_284789378" SOURCE="ID_811325982" STARTARROW="None" STARTINCLINATION="-530;-37;"/>
</node>
<node CREATED="1733527812520" ID="ID_1146074169" MODIFIED="1733527820418" TEXT="Source &#x27f6; Node"/>
<node CREATED="1733527821742" ID="ID_1156747071" MODIFIED="1733527871646" TEXT="Node &#x27f7; Cache"/>
<node CREATED="1733527841026" ID="ID_861387753" MODIFIED="1733527860172" TEXT="Result &#x27f5; Node"/>
</node>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1713821694886" ID="ID_1102491970" MODIFIED="1733527508420" TEXT="NodeLink_test">
<linktarget COLOR="#fdd3b6" DESTINATION="ID_1102491970" ENDARROW="Default" ENDINCLINATION="-366;-51;" ID="Arrow_ID_1227159439" SOURCE="ID_943908122" STARTARROW="None" STARTINCLINATION="30;255;"/>
<linktarget COLOR="#78606d" DESTINATION="ID_1102491970" ENDARROW="Default" ENDINCLINATION="-1276;-2250;" ID="Arrow_ID_187211972" SOURCE="ID_1428576691" STARTARROW="None" STARTINCLINATION="-962;146;"/>
<icon BUILTIN="flag-pink"/>
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#61226b" CREATED="1733532301363" ID="ID_902320359" MODIFIED="1733532511373" STYLE="bubble" TEXT="&#xbb;Centrepiece&#xab;">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Dieser Test ist der Schl&#252;ssel zum Aufbau des Render-Node-Network &#8212; sowohl f&#252;r mich selber in der Entwicklung, alsauch sp&#228;ter zur Dokumentation. Der Aufbau sollte sorgf&#228;ltig vorgehen und sich auf das Wesentliche beschr&#228;nken
</p>
</body>
</html></richcontent>
<font BOLD="true" NAME="SansSerif" SIZE="14"/>
</node>
<node CREATED="1713823379083" ID="ID_673154392" LINK="#ID_888185703" MODIFIED="1718845332197" TEXT="die drei Stufen der Verschaltung">
<linktarget COLOR="#fe018a" DESTINATION="ID_673154392" ENDARROW="Default" ENDINCLINATION="3;-16;" ID="Arrow_ID_894402730" SOURCE="ID_1747091374" STARTARROW="None" STARTINCLINATION="-151;11;"/>
<icon BUILTIN="idea"/>
@ -88157,8 +88168,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
...das ein bestimmtes Schema f&#252;r Funktionsaufrufe und Buffer-Arrays fest vorgibt; damit kann dann auch die FeedManifold Teil des InvocationAdapters werden und beide zusammen liegen beim Aufruf im Stack-Frame
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733010006219" ID="ID_997227681" MODIFIED="1733010208787" TEXT="L&#xfc;cke soll im Library Plug-in geschlossen werden">
<arrowlink COLOR="#fde6ca" DESTINATION="ID_739693608" ENDARROW="Default" ENDINCLINATION="207;6;" ID="Arrow_ID_909824104" STARTARROW="None" STARTINCLINATION="-227;13;"/>
@ -88562,8 +88572,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
welcher hiermit nur noch &#252;ber eine virtuelle Methode weave() zur Laufzeit eingebunden ist
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
</node>
@ -88599,8 +88608,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
...w&#228;re demnach ehr eine <i>Hintert&#252;r im Design</i>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
<node COLOR="#5b280f" CREATED="1733092085455" ID="ID_905791603" MODIFIED="1733093102707" TEXT="die zun&#xe4;chst feste Vorstellung vom &#xbb;Turnout-System&#xab; l&#xf6;st sich auf">
@ -93897,12 +93905,28 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<arrowlink COLOR="#7e1ab2" DESTINATION="ID_1750696847" ENDARROW="Default" ENDINCLINATION="266;-492;" ID="Arrow_ID_379194887" STARTARROW="None" STARTINCLINATION="-138;440;"/>
<icon BUILTIN="pencil"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733430838925" ID="ID_1513206906" MODIFIED="1733431366491" TEXT="Exkurs: Einbindung in den Node-Builder betrachten">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733430838925" ID="ID_1513206906" MODIFIED="1733533298660" TEXT="Exkurs: Einbindung in den Node-Builder betrachten">
<arrowlink COLOR="#c50127" DESTINATION="ID_1619015453" ENDARROW="Default" ENDINCLINATION="-153;535;" ID="Arrow_ID_1374888051" STARTARROW="None" STARTINCLINATION="719;37;"/>
<linktarget COLOR="#d20e48" DESTINATION="ID_1513206906" ENDARROW="Default" ENDINCLINATION="-46;111;" ID="Arrow_ID_1518420686" SOURCE="ID_1712932544" STARTARROW="None" STARTINCLINATION="84;4;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1733533054398" ID="ID_1712932544" MODIFIED="1733533461389" TEXT="stecke fest &#x2014; mu&#xdf; mehrere Aspekte gleichzeitig f&#xf6;rdern">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Hab mich in den letzten Tagen wieder in einem Knoten festgefahren &#8212; der nun zum Gl&#252;ck wenigstens <i>in meinem Kopf schon gel&#246;st ist....</i>&#160; Trotzdem ist die Situation sehr schwierig, da ich mehrere&#160;&#187;intuitiv gekl&#228;rte&#171; Sachverhalte gleichzeitig aufbauen mu&#223;, und nicht recht wei&#223;, wo beginnen....
</p>
</body>
</html>
</richcontent>
<arrowlink COLOR="#d20e48" DESTINATION="ID_1513206906" ENDARROW="Default" ENDINCLINATION="-46;111;" ID="Arrow_ID_1518420686" STARTARROW="None" STARTINCLINATION="84;4;"/>
<arrowlink COLOR="#d20e48" DESTINATION="ID_1860532476" ENDARROW="Default" ENDINCLINATION="169;-7;" ID="Arrow_ID_1150766303" STARTARROW="None" STARTINCLINATION="117;6;"/>
<arrowlink COLOR="#d20e48" DESTINATION="ID_190733802" ENDARROW="Default" ENDINCLINATION="799;-49;" ID="Arrow_ID_1240305866" STARTARROW="None" STARTINCLINATION="788;37;"/>
<icon BUILTIN="broken-line"/>
</node>
</node>
<node COLOR="#338800" CREATED="1730900496156" ID="ID_744198194" MODIFIED="1732762744509" TEXT="erweiterte Verifikationen f&#xfc;r den TestFrame">
<icon BUILTIN="button_ok"/>
@ -93931,6 +93955,15 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="hourglass"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1728786069167" ID="ID_1584473368" MODIFIED="1728786088974" TEXT="Aufruf-Pfad durchimplementieren">
<icon BUILTIN="flag-pink"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733531749477" ID="ID_1587342377" MODIFIED="1733532993728" TEXT="ParamAgent im NodeBuilder_test anlegen">
<arrowlink COLOR="#fe433f" DESTINATION="ID_481525559" ENDARROW="Default" ENDINCLINATION="1169;95;" ID="Arrow_ID_570772162" STARTARROW="None" STARTINCLINATION="-530;-37;"/>
<linktarget COLOR="#f9407e" DESTINATION="ID_1587342377" ENDARROW="Default" ENDINCLINATION="330;471;" ID="Arrow_ID_316456085" SOURCE="ID_635342516" STARTARROW="None" STARTINCLINATION="667;53;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1733532910801" ID="ID_1860532476" MODIFIED="1733533358706" TEXT="brauche unmittelbar als N&#xe4;chstes ein minimales Turnout-System">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_1860532476" ENDARROW="Default" ENDINCLINATION="169;-7;" ID="Arrow_ID_1150766303" SOURCE="ID_1712932544" STARTARROW="None" STARTINCLINATION="117;6;"/>
<icon BUILTIN="yes"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1731890254602" ID="ID_447051297" MODIFIED="1731890346832" TEXT="brauche Buffer">
<arrowlink COLOR="#bb4c6b" DESTINATION="ID_1319945622" ENDARROW="Default" ENDINCLINATION="-663;35;" ID="Arrow_ID_542692149" STARTARROW="None" STARTINCLINATION="745;112;"/>
<icon BUILTIN="flag-yellow"/>
@ -93954,8 +93987,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</body>
</html></richcontent>
<arrowlink COLOR="#b8d9ff" DESTINATION="ID_1339048946" ENDARROW="Default" ENDINCLINATION="946;68;" ID="Arrow_ID_1341126818" STARTARROW="None" STARTINCLINATION="-962;-118;"/>
<linktarget COLOR="#fefbd6" DESTINATION="ID_645445153" ENDARROW="Default" ENDINCLINATION="132;-992;" ID="Arrow_ID_141565539" SOURCE="ID_941625824" STARTARROW="None" STARTINCLINATION="-379;55;"/>
<linktarget COLOR="#834e33" DESTINATION="ID_645445153" ENDARROW="Default" ENDINCLINATION="-758;-2250;" ID="Arrow_ID_1149277471" SOURCE="ID_1823583408" STARTARROW="None" STARTINCLINATION="1200;64;"/>
<linktarget COLOR="#fefbd6" DESTINATION="ID_645445153" ENDARROW="Default" ENDINCLINATION="132;-992;" ID="Arrow_ID_141565539" SOURCE="ID_941625824" STARTARROW="None" STARTINCLINATION="-379;55;"/>
<icon BUILTIN="yes"/>
<node CREATED="1732848272446" ID="ID_1888092204" MODIFIED="1732848282878" TEXT="erzeugt einen Testframe gem&#xe4;&#xdf; Frame-Nr"/>
<node CREATED="1732848286020" ID="ID_1229073795" MODIFIED="1732848311699" TEXT="k&#xf6;nnte einen Qualifier haben &#x27f9; Flavour oder Channel"/>
@ -94084,15 +94117,12 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<p>
Also explizit f&#252;r Kern-Funktionalit&#228;t; das w&#228;re ein naheliegender L&#246;sungsansatz, der sich <i>gewisserma&#223;en unter der Struktur der Feed-Manifold &#187;durchgr&#228;bt&#171;.</i>&#160;Hierzu w&#252;rde man spezielle Buffer vereinbaren, in denen ein Adapter-Typ liegt, der dann irgendwie mit den Parametern versorgt wird.
</p>
<p>
</p>
<p/>
<p>
Besonders fragw&#252;rdig ist die hohe Komplexit&#228;t, und auch die Indirektion, die &#252;ber mehrere Level des Builders hinweg durchgereicht werden mu&#223;
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<arrowlink COLOR="#944347" DESTINATION="ID_1820151066" ENDARROW="Default" ENDINCLINATION="-878;49;" ID="Arrow_ID_1447249364" STARTARROW="None" STARTINCLINATION="767;30;"/>
</node>
<node CREATED="1733079857638" ID="ID_394026120" MODIFIED="1733080133717" TEXT="andererseits: Buffer geschickt zu nutzen ist elegant und effizient">
@ -94106,8 +94136,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<i>effizient,</i>&#160;denn Buffer-Speicher wird gepoolt und damit gute Chancen auf Cache-Locality
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733080783208" ID="ID_347599439" MODIFIED="1733080991580" TEXT="Bindeglied liegt im Turnout-System und wird Teil des Aufrufs">
<richcontent TYPE="NOTE"><html>
@ -94117,8 +94146,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
die bisher bedachten Strukturen sind auf die Datenstr&#246;me ausgerichtet &#8212; es w&#228;re ungeschickt, hier explizit etwas zur Parameterversortung einzurichten; vielmehr kann der Apekt der Berechnungs-Verkn&#252;pfung hier mit abgebildet werden, aber die eigentliche Ansteuerung mu&#223; von der Invocation ausgehen, und kann daher nur durch das Turnout-System laufen, welches hierdurch seinen bisher nur abstrakt gefa&#223;ten Sinn bekommt.
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733430520384" ID="ID_1927401834" LINK="#ID_1734022233" MODIFIED="1733430746380" TEXT="ParamAgent-Node als Adapter vorgesehen">
<richcontent TYPE="NOTE"><html>
@ -94143,8 +94171,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
da dr&#252;cke ich mich schon seit Jahren drum
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<linktarget COLOR="#dd2253" DESTINATION="ID_14036913" ENDARROW="Default" ENDINCLINATION="270;-959;" ID="Arrow_ID_294414347" SOURCE="ID_145148184" STARTARROW="None" STARTINCLINATION="-735;32;"/>
<icon BUILTIN="smily_bad"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1733082597960" ID="ID_51687123" MODIFIED="1733430759272" TEXT="Skizze ins Unreine">
@ -94163,8 +94190,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<i>&#187;geliefert&#171; </i>ist das Wort das diese Debatte kl&#228;rt
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -94172,8 +94198,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Hier im Rahmen der Render-Engine wird nach einem einheitlichen <i>Webemuster </i>vorgegangen: die Berechnung erfolgt <i>lazy</i>&#160;und schreitet in Wellen von der Quelle in Richtung des Resultats fort. Und, ganz wichtig, die Berechnungen sind hochgradig concurrent. Deshalb mu&#223; jedweder intemedi&#228;re Berechnungszustand externalisiert werden &#8212; wir brauchen Storage, die in Buffern organisiert ist und jweils f&#252;r eine Node-Invocation bereitgestellt wird. Daher mu&#223; ein Berechnungsergebnis stets <i>irgendwo abgestellt werden</i>&#160;&#8212; und das hei&#223;t, es <i>f&#228;llt als Wert an.</i>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
<node CREATED="1733084685693" ID="ID_966083797" MODIFIED="1733084696679" TEXT="haben einen Wertebereich">
@ -94196,8 +94221,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
als Funktion der <i>nominal Time</i>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<font NAME="SansSerif" SIZE="12"/>
</node>
<node CREATED="1733085201966" ID="ID_1298073643" MODIFIED="1733085208337" TEXT="als Datenfeed (extern)"/>
@ -94229,8 +94253,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Es ist eine ungekl&#228;rte Frage, ob Abk&#252;rzungen in der Render-Engine sinnvoll sind. Diese Frage kann nur empirisch gekl&#228;rt werden, und vermutlich niemals abschlie&#223;end. Erfahrung im high-Performance-Computing zeigt, da&#223; Schematisierung oft der Einzelfallbehandlung &#252;berlegen ist &#8212; es sei denn, der Einzelfalls stellt selbst ein Schema dar
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733085873047" ID="ID_1749839460" MODIFIED="1733085892872" TEXT="daher wird Automation nat&#xfc;rlicher Weise als Node repr&#xe4;sentiert"/>
</node>
@ -94249,8 +94272,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Automation ist eine <b>Domain-Ontology</b>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<node CREATED="1733086132720" ID="ID_1140199407" MODIFIED="1733086150246" TEXT="diese genie&#xdf;t in der Render-Engine eine Sonderstellung"/>
<node CREATED="1733086120234" ID="ID_16490202" MODIFIED="1733086155321" TEXT="denn sie legt sich zwischen / vor andere Belange"/>
<node CREATED="1733086156693" ID="ID_811305187" MODIFIED="1733086167879" TEXT="selbst externe Libraries wollen mit Parametern versorgt sein"/>
@ -94264,8 +94286,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
nenne sie &#187;<b>Special Agent</b>&#171;
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733086288339" ID="ID_1611103068" MODIFIED="1733086309716" TEXT="sie &#xfc;bernehmen die Rolle von Kontroll- und Steuerpunkten im Netz"/>
<node CREATED="1733086363985" ID="ID_963049305" MODIFIED="1733086847206" TEXT="bekannte F&#xe4;lle">
@ -94278,8 +94299,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<b><font face="Monospaced">DataAgent</font></b>: &#220;bergabe von Daten aus einem anderen Job
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733086393061" ID="ID_38547756" MODIFIED="1733086824786">
<richcontent TYPE="NODE"><html>
@ -94289,8 +94309,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<b><font face="Monospaced">ParamAgent</font></b>: Einspielen von Steuerparametern
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733086544609" ID="ID_583248511" MODIFIED="1733086814950">
<richcontent TYPE="NODE"><html>
@ -94378,8 +94397,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Fahrweg &#8212; Weichenstra&#223;e &#8212; konkrete Spurf&#252;hrung
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733097784512" ID="ID_771543469" MODIFIED="1733423899508" TEXT="das Vermeiden einer absoluten Festlegung">
<richcontent TYPE="NOTE"><html>
@ -94395,8 +94413,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Seitens der Nodes ist mir das wohl ganz gut gelungen, aber es besteht die Gefahr, sich letztlich doch noch irgendwo auf ein &#220;ber-System festzulegen; daher sollte auch auf der Seite der Kontrolle und Steuerung ein Erweiterungspunkt vorgesehen werden
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
<node CREATED="1733108226311" ID="ID_1913226855" MODIFIED="1733423899508" TEXT="der Kontext der Analyse">
@ -94412,8 +94429,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Das ist <b>hochgradig relevant</b>, weil auf diesem Weg <i>jetzt etwas gebaut</i>&#160;werden kann, ohne die Gefahr von Architektur-Fehlern
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
<node CREATED="1733108578676" ID="ID_709007450" MODIFIED="1733423899509" TEXT="gekl&#xe4;rt: Basis-Koordinaten der Invocation auswerten">
@ -94440,8 +94456,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
die w&#252;rde sich der SpecialAgent dann vom generischen TurnoutSystem holen um dann in einem speziellen Service einen hinterlegten Kontext aufzugreifen
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1733108930964" ID="ID_1383096548" MODIFIED="1733423899511" TEXT="das w&#xfc;rde aber die Idee des Turnout-Systems aufweichen">
<icon BUILTIN="messagebox_warning"/>
@ -94455,8 +94470,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
das widerspricht jedoch dem Erkenntnisbild von <i>Fahrweg &#10230; Weichenstra&#223;e &#10230; Spurf&#252;hrung</i>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
</node>
@ -94489,8 +94503,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Festlegung: <b>genau ein</b>&#160;virtual call pro Node
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<icon BUILTIN="yes"/>
</node>
<node CREATED="1733101040033" ID="ID_131724118" MODIFIED="1733423899515" TEXT="daher mu&#xdf; TurnoutSystem eine Schnittstelle sein ohne Typ-Parameter"/>
@ -94528,8 +94541,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</li>
</ul>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1733106602966" ID="ID_526542488" MODIFIED="1733423899516" TEXT="Gedankenspiel: die Idee vom Visitor adaptieren?">
<font NAME="SansSerif" SIZE="12"/>
@ -94542,8 +94554,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
VTable-Tr&#228;ger ist der <i>&#187;opaque Gegenstand&#171;</i>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733106850085" ID="ID_149829337" MODIFIED="1733423899516" TEXT="dieser k&#xf6;nnte dann in eine konkrete Tool-Impl deflektieren"/>
<node CREATED="1733106957817" ID="ID_846966270" MODIFIED="1733423899516" TEXT="hier w&#xfc;rden aber folgende Begegnungen ben&#xf6;tigt">
@ -94595,8 +94606,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
und zwar mu&#223; noch festgelegt werden, auf welche Art Parameter zugegriffen wird, und wo; das k&#246;nnte allerdings Teil eines Parameter-Berechnungsfunktors sein, der dann ein TurnoutSystem&amp; als Argument nimmt &#8212; damit w&#228;re die Prekonfiguration auf einem vergleichbaren Level wie f&#252;r die Medienberechnungs-Nodes
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733371687589" ID="ID_610151603" MODIFIED="1733423899518" TEXT="zus&#xe4;tzlich braucht es zur Laufzeit eine &#xdc;bersetzung um die Daten zu bekommen">
<richcontent TYPE="NOTE"><html>
@ -94606,8 +94616,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Unabh&#228;ngig davon ob lediglich ein Basis-Parameter zugegriffen wird, oder ob ein vorher explizit berechneter Parameterwerd von einer ParamAgent-Node abgeholt wird: es ist eine Indirektion notwendig, um die die Konkrete Daten_Adresse zu bekommen, denn diese ist i.d.R. erst zum Zeitpunkt der Invocation feststellbar
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733372288179" ID="ID_512469533" MODIFIED="1733423899518" TEXT="das k&#xf6;nnte ein Accessor-Modul im TurnoutSystem leisten">
<icon BUILTIN="idea"/>
@ -94631,8 +94640,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Paramter werden in ParamAgent-Nodes berechnet, welche &#252;ber den normalen Builder eingeh&#228;ngt werden &#8212; und zwar nur bei Bedarf. Sofern also spezielle Parameter-Berechnung notwendig ist, wird dies in der Belegung und Verschaltung der Nodes prekonfiguriert, so da&#223; die eigentliche Invocation davon nichts wissen mu&#223;.
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733422108714" ID="ID_487918990" MODIFIED="1733431505319" TEXT="gem&#xe4;&#xdf; Modell-2 wird die Aufbereitung in einer ParamEval-Node geb&#xfc;ndelt">
<richcontent TYPE="NOTE"><html>
@ -94642,8 +94650,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Obzwar weitgehende Flexibilit&#228;t besteht, soll im Regelfall die weitergehende Parameter-Berechnung in einer speziellen Parameter-Aufbereitungs-Node geb&#252;ndelt werden; diese ist als erster Lead unter der Exit-Node eingeh&#228;ngt und wird somit als erste aktiviert. Die Berechnungsfunktion in dieser Node bekommt eine Referenz auf das TurnoutSystem, und kann somit dort <b>per Seiteneffekt</b>&#160;zus&#228;tzliche Daten-Module registrieren. Als Storage f&#252;r die zus&#228;tzlichen Datenmodule dient der Ausgabepuffer dieser Aufbereitungs-Node, welcher &#8212; gem&#228;&#223; allgemeinem Auswertungsschema &#8212; garantiert bis zum Ende der Render-Invocation im Speicher bestehen bleibt.
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733422154203" ID="ID_531256668" MODIFIED="1733423899519" TEXT="das Turnout-System &#xfc;bernimmt eine Vermittler-Rolle">
<richcontent TYPE="NOTE"><html>
@ -94653,8 +94660,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
Das Turnout-System erlaubt es, einzelne Datenmodule zu registrieren und sp&#228;ter &#252;ber diese Registrierung auch wieder (mit integriertem Cast) abzugreifen. In der Grundausstattung bietet das Turnout-System nur Zugriff auf die Invocation-Koordinaten (vor allem: die absolute nominal Time). In die ParamAgentNodes (welche letztlich einen konkreten Parameter f&#252;r eine nachfolgend aufgeschaltete Berechnungs-Node bereitstellen) wird ein konkret abgeschlossenes Zugriffs-&#955; gebunden, welches das TurnoutSystem als Referenz bekommt, und dann aber eine Template-Funktion f&#252;r den konkreten Datenzugriff aufruft. An dieser Stelle finden keine Verifikationen mehr statt, aber das Turnout-System speichert die Indirektion auf den konkreten Datenpuffer
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
</node>
@ -94674,6 +94680,18 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<arrowlink COLOR="#ce5d7e" DESTINATION="ID_1619015453" ENDARROW="Default" ENDINCLINATION="-417;871;" ID="Arrow_ID_386484765" STARTARROW="None" STARTINCLINATION="549;-1534;"/>
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733531683777" ID="ID_190733802" MODIFIED="1733533461389" TEXT="einfachen Node &#x27f7; Parameter - Feed durchspielen">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_190733802" ENDARROW="Default" ENDINCLINATION="799;-49;" ID="Arrow_ID_1240305866" SOURCE="ID_1712932544" STARTARROW="None" STARTINCLINATION="788;37;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733531749477" ID="ID_811325982" MODIFIED="1733532161164" TEXT="im NodeFeed_test anlegen">
<arrowlink COLOR="#fe433f" DESTINATION="ID_1987832971" ENDARROW="Default" ENDINCLINATION="1285;255;" ID="Arrow_ID_284789378" STARTARROW="None" STARTINCLINATION="-530;-37;"/>
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733532021223" ID="ID_635342516" MODIFIED="1733532105787" TEXT="brauche dazu auch ParamAgent">
<arrowlink COLOR="#f9407e" DESTINATION="ID_1587342377" ENDARROW="Default" ENDINCLINATION="330;471;" ID="Arrow_ID_316456085" STARTARROW="None" STARTINCLINATION="667;53;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1728786171058" ID="ID_1300765185" MODIFIED="1728786272700" TEXT="Buffer bereitstellen und entgegennehmen">
<icon BUILTIN="flag-yellow"/>
@ -94769,7 +94787,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<font face="Monospaced" size="1">0000000515: INFO: testframe.cpp:168: thread_1: getFrame: Growing channel #0 of test frames 0 -&gt; 1 elements. </font>
</p>
<p>
<font face="Monospaced" size="1">0000000516: CHECK: buffer-provider-protocol-test.cpp:107: thread_1: verifySimpleUsage: (</font><font face="Monospaced" size="1" color="#a70202">testData(0) == checker.accessMemory (0)</font><font face="Monospaced" size="1">) </font>
<font face="Monospaced" size="1">0000000516: CHECK: buffer-provider-protocol-test.cpp:107: thread_1: verifySimpleUsage: (</font><font color="#a70202" face="Monospaced" size="1">testData(0) == checker.accessMemory (0)</font><font face="Monospaced" size="1">) </font>
</p>
</body>
</html></richcontent>
@ -95001,8 +95019,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
...weil man es nicht erwarten kann, da&#223; irgend ein Library-Plugin hier eine sinnvolle Systematik einf&#252;hrt
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1733002919747" ID="ID_845660931" MODIFIED="1733080479928" TEXT="wozu werden hier &#xfc;berhaupt Strukturen gebraucht?">
<linktarget COLOR="#b91c52" DESTINATION="ID_845660931" ENDARROW="Default" ENDINCLINATION="572;31;" ID="Arrow_ID_1879161582" SOURCE="ID_1096486793" STARTARROW="Default" STARTINCLINATION="268;992;"/>
@ -95018,8 +95035,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
&#160;nicht einfach <i>ad hoc</i>&#160;verdrahten
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<icon BUILTIN="yes"/>
</node>
</node>
@ -95724,7 +95740,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<arrowlink COLOR="#ff6936" DESTINATION="ID_1111138525" ENDARROW="Default" ENDINCLINATION="-884;1900;" ID="Arrow_ID_456241753" STARTARROW="None" STARTINCLINATION="692;47;"/>
<icon BUILTIN="xmag"/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1728870351532" ID="ID_1397097310" MODIFIED="1729982999080" TEXT="die Verdrahtung vorl&#xe4;ufig aufbauen">
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1728870351532" ID="ID_1397097310" MODIFIED="1733533325385" TEXT="die Verdrahtung vorl&#xe4;ufig aufbauen">
<arrowlink COLOR="#ff6936" DESTINATION="ID_228375055" ENDARROW="Default" ENDINCLINATION="-1238;118;" ID="Arrow_ID_864180679" STARTARROW="None" STARTINCLINATION="779;56;"/>
<icon BUILTIN="xmag"/>
</node>
@ -95844,18 +95860,37 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1713821706444" ID="ID_1035135639" MODIFIED="1713823527160" TEXT="NodeBasic_test">
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1733525978260" ID="ID_15277358" MODIFIED="1733527327443" TEXT="NodeMeta_test">
<icon BUILTIN="hourglass"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1719282799123" ID="ID_605400011" MODIFIED="1719282822229" TEXT="mu&#xdf; ich erst einmal gr&#xf6;&#xdf;tenteils auskommentieren">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1733525991242" ID="ID_1334388738" MODIFIED="1733526054926" TEXT="Namen, ID- und Hashverkn&#xfc;pfung"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713823489509" ID="ID_738439301" MODIFIED="1719282837986" TEXT="idealerweise nebenbei neu mit aufbauen">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1713821728361" ID="ID_1456365802" MODIFIED="1713823527161" TEXT="NodeFactory_test">
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1733527343357" ID="ID_1948224513" MODIFIED="1733527590656" TEXT="NodeOpera_test">
<icon BUILTIN="hourglass"/>
<node CREATED="1713823503251" ID="ID_1961332963" MODIFIED="1713823519437" TEXT="m&#xf6;glicherweise einfachsten Fall hier"/>
<node CREATED="1733527358995" ID="ID_1763413562" MODIFIED="1733532620352" TEXT="Integrationstest &#x2014; im Test-Setup">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Nodes werden hier noch direkt erzeugt und verwenden die automatische Heap-Allokation; denn es geht um die Zusammenarbeit der Funktionalit&#228;t <i>in den Render-Nodes.</i>
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1733527376977" ID="ID_506164017" MODIFIED="1733527393014" TEXT="typische Kollaborations-Schemata"/>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1713821728361" ID="ID_1456365802" MODIFIED="1733527178159" TEXT="NodeStorage_test">
<icon BUILTIN="hourglass"/>
<node CREATED="1713823503251" ID="ID_1961332963" MODIFIED="1733532879594" TEXT="Aufbau wie in der realen Engine">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Framework und Services aus dem produktiven Setup verwenden, m&#246;glichst auch den realen Memory-Buffer-Provider. Damit stellt sich die Frage, wie hier &#252;berhaupt verifiziert werden kann; vermutlich werde ich Instrumentierungs-Hilfsmittel einf&#252;hren und daf&#252;r auch Zugangspunkte in die produktiven Services einf&#252;hren m&#252;ssen &#8212; &#228;hnlich wie ich es erfolgreich f&#252;r den Block-Flow-Allokator im Scheduler getan habe
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1720454088551" ID="ID_1795755773" MODIFIED="1720454187970" TEXT="Einsatz des Custom-Allocators">
<linktarget COLOR="#ca3e80" DESTINATION="ID_1795755773" ENDARROW="Default" ENDINCLINATION="333;-16;" ID="Arrow_ID_778082175" SOURCE="ID_1238813567" STARTARROW="None" STARTINCLINATION="-512;47;"/>
</node>
@ -95878,8 +95913,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</body>
</html></richcontent>
<edge COLOR="#c13131" STYLE="sharp_linear" WIDTH="4"/>
<linktarget COLOR="#da0f33" DESTINATION="ID_155032865" ENDARROW="Default" ENDINCLINATION="611;-37;" ID="Arrow_ID_1499307333" SOURCE="ID_261792042" STARTARROW="None" STARTINCLINATION="-1389;70;"/>
<linktarget COLOR="#e12666" DESTINATION="ID_155032865" ENDARROW="Default" ENDINCLINATION="1198;-57;" ID="Arrow_ID_788681274" SOURCE="ID_760381442" STARTARROW="None" STARTINCLINATION="1940;96;"/>
<linktarget COLOR="#da0f33" DESTINATION="ID_155032865" ENDARROW="Default" ENDINCLINATION="611;-37;" ID="Arrow_ID_1499307333" SOURCE="ID_261792042" STARTARROW="None" STARTINCLINATION="-1389;70;"/>
<icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1719880227490" ID="ID_625069360" MODIFIED="1719880233976" TEXT="Performance-Abw&#xe4;gungen">