Invocation: plan for extended parameter computations
Based on ''theoretical reasoning,'' I draw the conclusion that some advanced usages of processing parameters can not be satisfied by the simple direct integration of a parameter-functor... Thus the concept for an extension point, which relies on a dedicated ''Param (Agent) Node'' and a specifically tailored ''Param Weaving Pattern'' to evaluate several parameter functors and place the results into an extension data block in the invocation stack frame.
This commit is contained in:
parent
c4b2902dd4
commit
7d8c0c5753
6 changed files with 580 additions and 50 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
WEAVING-PATTERN.hpp - Base patterns to organise data connections and render processing invocation
|
||||
MEDIA-WEAVING-PATTERN.hpp - Base patterns to organise data connections and render processing invocation
|
||||
|
||||
Copyright (C)
|
||||
2008, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
*/
|
||||
|
||||
|
||||
/** @file weaving-pattern.hpp
|
||||
/** @file media-weaving-pattern.hpp
|
||||
** Construction set to assemble and operate a data processing scheme within a Render Node.
|
||||
** Together with turnout.hpp, this header provides the "glue" which holds together the
|
||||
** typical setup of a Render Node network for processing media data. A MediaWeavingPattern
|
||||
|
|
@ -131,8 +131,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef STEAM_ENGINE_WEAVING_PATTERN_H
|
||||
#define STEAM_ENGINE_WEAVING_PATTERN_H
|
||||
#ifndef STEAM_ENGINE_MEDIA_WEAVING_PATTERN_H
|
||||
#define STEAM_ENGINE_MEDIA_WEAVING_PATTERN_H
|
||||
|
||||
#include "steam/common.hpp"
|
||||
#include "steam/engine/turnout.hpp"
|
||||
|
|
@ -260,4 +260,4 @@ namespace engine {
|
|||
|
||||
|
||||
}}// namespace steam::engine
|
||||
#endif /*STEAM_ENGINE_WEAVING_PATTERN_H*/
|
||||
#endif /*STEAM_ENGINE_MEDIA_WEAVING_PATTERN_H*/
|
||||
263
src/steam/engine/param-weaving-pattern.hpp
Normal file
263
src/steam/engine/param-weaving-pattern.hpp
Normal file
|
|
@ -0,0 +1,263 @@
|
|||
/*
|
||||
PARAM-WEAVING-PATTERN.hpp - Base patterns to organise data connections and render processing invocation
|
||||
|
||||
Copyright (C)
|
||||
2008, 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
|
||||
Free Software Foundation; either version 2 of the License, or (at your
|
||||
option) any later version. See the file COPYING for further details.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/** @file param-weaving-pattern.hpp
|
||||
** Construction set to assemble and operate a data processing scheme within a Render Node.
|
||||
** Together with turnout.hpp, this header provides the "glue" which holds together the
|
||||
** typical setup of a Render Node network for processing media data. A MediaWeavingPattern
|
||||
** implements the sequence of steps — as driven by the Turnout — to combine the invocation
|
||||
** of media processing operations from external Libraries with the buffer- and parameter
|
||||
** management provided by the Lumiera Render Engine. Since these operations are conducted
|
||||
** concurrently, all invocation state has to be maintained in local storage on the stack.
|
||||
**
|
||||
** # Integration with media handling Libraries
|
||||
**
|
||||
** A Render invocation originates from a [Render Job](\ref render-invocation.hpp), which first
|
||||
** establishes a TurnoutSystem and then enters into the recursive Render Node activation by
|
||||
** invoking Port::weave() for the »Exit Node«, as defined by the job's invocation parameters.
|
||||
** The first step in the processing cycle, as established by the Port implementation (\ref Turnout),
|
||||
** is to build a »Feed instance«, from the invocation of `mount(TurnoutSystem&)`.
|
||||
**
|
||||
** Generally speaking, a `Feed` fulfils the role of an _Invocation Adapter_ and a _Manifold_ of
|
||||
** data connections. The standard implementation, as given by MediaWeavingPattern, relies on a
|
||||
** combination of both into a \ref FeedManifold. This is a flexibly configured data adapter,
|
||||
** directly combined with an embedded _adapter functor_ to wrap the invocation of processing
|
||||
** operations provided by an external library.
|
||||
**
|
||||
** Usually some kind of internal systematics is assumed and applied within such a library.
|
||||
** Operations can be exposed as plain function to invoke, or through some configuration and
|
||||
** builder notion. Function arguments tend to follow a common arrangement and naming scheme,
|
||||
** also assuming specific arrangement and data layout for input and output data. This kind of
|
||||
** schematism is rooted in something deeper: exposing useful operations as a library collection
|
||||
** requires a common ground, an understanding about the _order of things_ to be treated — at least
|
||||
** for those kind of things, which fall into a specific _domain,_ when tasks related to such a
|
||||
** domain shall be supported by the Library. Such an (implicit or explicit) framework of structuring
|
||||
** is usually designated as a **Domain Ontology** (in contrast to the questions pertaining Ontology
|
||||
** in general, which are the subject of philosophy proper). Even seemingly practical matters like
|
||||
** processing media data do rely on fundamental assumptions and basic premises regarding what is
|
||||
** at stake and what shall be subject to treatment, what fundamental entities and relationships
|
||||
** to consider within the domain. Incidentally, many of these assumptions are positive in nature
|
||||
** and not necessarily a given — which is the root of essential incompatibilities between Libraries
|
||||
** targeting a similar domain: due to such fundamental differences, they just can not totally agree
|
||||
** upon what kinds of things to expect and where to draw the line of distinction.
|
||||
**
|
||||
** The Lumiera Render Engine and media handling framework is built in a way _fundamentally agnostic_
|
||||
** to the specific presuppositions of this or that media handling library. By and large, decisions,
|
||||
** distinctions and qualifications are redirected back into the scope of the respective library, by
|
||||
** means of a media-library adapter plug-in. Assuming that the user _in fact understands_ the meaning
|
||||
** of and reasoning behind employing a given library, the _mere handling_ of the related processing
|
||||
** can be reduced to a small set of organisational traits. For sake of consistency, you may label
|
||||
** these as a »Render Engine Ontology«. In all brevity,
|
||||
** - We assume that the library provides distinguishable processing operations
|
||||
** that can be structured and classified and managed as _processing assets,_
|
||||
** - we assume that processing is applied to sources or »media« and that
|
||||
** the result of processing is again a source that can be processed further;
|
||||
** - specific operations can thus be conceptualised as processing-stages or _Nodes,_
|
||||
** interconnected by _media streams,_ which can be tagged with a _stream type._
|
||||
** - At implementation level, such streams can be represented in entirety as data buffers
|
||||
** of a specific layout, filled with some »frame« or chunk of data
|
||||
** - and the single processing step or operation can be completely encapsulated
|
||||
** as a pure function (referentially transparent, without side effects);
|
||||
** - all state and parametrisation can be represented either as some further data stream in/out,
|
||||
** or as parameters-of-processing, which can be passed as a set of values to the function
|
||||
** prior of invocation, thereby completely determining the observable behaviour.
|
||||
**
|
||||
** # composition of the Invocation State
|
||||
**
|
||||
** By means of this positing, the attachment point to an external library can be reduced into a small
|
||||
** number of connector links. Handling the capabilities of a library within the Session and high-level Model
|
||||
** will require some kind of _registration,_ which is beyond the scope of this discussion here. As far as
|
||||
** the Render Engine and the low-level-Model is concerned, any usage of the external libraries capabilities
|
||||
** can be reduced into...
|
||||
** - Preparing an adapter functor, designated as **processing-functor**. This functor takes three kinds of
|
||||
** arguments, each packaged as a single function call argument, which may either be a single item, or
|
||||
** possibly be structured as a tuple of heterogeneous elements, or an array of homogeneous items.
|
||||
** + an output data buffer or several such buffers are always required
|
||||
** + (optionally) an input buffer or several such buffers need to be supplied
|
||||
** + (optionally) also a parameter value, tuple or array can be specified
|
||||
** - Supplying actual parameter values (if necessary); these are drawn from the invocation
|
||||
** of a further functor, designated as **parameter-functor**, and provided from within
|
||||
** the internal framework of the Lumiera application, either to deliver fixed parameter
|
||||
** settings configured by the user in the Session, or by evaluating _Parameter Automation,_
|
||||
** or simply to supply some technically necessary context information, most notably the
|
||||
** frame number of a source to retrieve.
|
||||
** - Preparing buffers filled with input data, in a suitable format, one for each distinct
|
||||
** item expected in the input data section of the processing-functor; filling these
|
||||
** input buffers requires the _recursive invocation_ of further Render Nodes...
|
||||
** - Allocating buffers for output data, sized and typed accordingly, likewise one for
|
||||
** each distinct item detailed in the output data argument of the processing-functor.
|
||||
**
|
||||
** The FeedManifold template, which (as mentioned above) is used by this standard implementation
|
||||
** of media processing in the form of the MediaWeavingPattern, is configured specifically for each
|
||||
** distinct signature of a processing-functor to match the implied structural requirements. If a
|
||||
** functor is output-only, no input buffer section is present; if it expects processing parameters,
|
||||
** storage for an appropriate data tuple is provided and a parameter-functor can be configured.
|
||||
** A clone-copy of the processing-functor itself is also stored as clone-copy alongside within
|
||||
** the FeedManifold, and thus placed into stack memory, where it is safe even during deeply nested
|
||||
** recursive invocation sequences, while rendering in general is performed massively in parallel.
|
||||
**
|
||||
** In the end, the actual implementation code of the weaving pattern has to perform the connection
|
||||
** and integration between the »recursive weaving scheme« and the invocation structure implied by
|
||||
** the FeedManifold. It has to set off the recursive pull-invocation of predecessor ports, retrieve
|
||||
** the result data buffers from these and configure the FeedManifold with the \ref BuffHandle entries
|
||||
** retrieved from these recursive calls. Buffer handling in general is abstracted and codified thorough
|
||||
** the [Buffer Provider framework](\ref buffer-provider.hpp), which offers the means to allocate further
|
||||
** buffers and configure them into the FeedManifold for the output data. The »buffer handling protocol«
|
||||
** also requires to invoke BuffHandle::emit() at the point when result data can be assumed to be placed
|
||||
** into the buffer, and to release buffers not further required through a BuffHandle::release() call;
|
||||
** Notably this applies to the input buffers are completion of the processing-functor invocation, and
|
||||
** is required also for secondary (and in a way, superfluous) result buffers, which are sometimes
|
||||
** generated as a by-product of the processing function invocation, but are actually not passed
|
||||
** as output up the node invocation chain.
|
||||
**
|
||||
** @see feed-manifold.hpp
|
||||
** @see weaving-pattern-builder.hpp
|
||||
** @see \ref proc-node.hpp "Overview of Render Node structures"
|
||||
**
|
||||
** @warning WIP as of 12/2024 first complete integration round of the Render engine ////////////////////////////TICKET #1367
|
||||
**
|
||||
*/
|
||||
|
||||
|
||||
#ifndef STEAM_ENGINE_PARAM_WEAVING_PATTERN_H
|
||||
#define STEAM_ENGINE_PARAM_WEAVING_PATTERN_H
|
||||
|
||||
#include "steam/common.hpp"
|
||||
#include "steam/engine/turnout.hpp"
|
||||
#include "steam/engine/turnout-system.hpp"
|
||||
#include "steam/engine/feed-manifold.hpp"
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1367 : Rebuild the Node Invocation
|
||||
//#include "vault/gear/job.h"
|
||||
//#include "steam/engine/exit-node.hpp"
|
||||
//#include "lib/time/timevalue.hpp"
|
||||
//#include "lib/linked-elements.hpp"
|
||||
#include "lib/several.hpp"
|
||||
//#include "lib/util-foreach.hpp"
|
||||
//#include "lib/iter-adapter.hpp"
|
||||
//#include "lib/meta/function.hpp"
|
||||
//#include "lib/itertools.hpp"
|
||||
//#include "lib/util.hpp" ////////OOO wegen manifoldSiz<FUN>()
|
||||
|
||||
//#include <stack>
|
||||
|
||||
|
||||
namespace steam {
|
||||
namespace engine {
|
||||
|
||||
using lib::Several;
|
||||
|
||||
|
||||
/**
|
||||
* Standard implementation for a _Weaving Pattern_ to connect
|
||||
* the input and output data feeds (buffers) into a processing function.
|
||||
* @tparam INVO a configuration / policy base class to _adapt for invocation_
|
||||
* @note assumptions made regarding the overall structure
|
||||
* - `INVO::Feed` defines an _invocation adapter_ for the processing function
|
||||
* - `INVO::buildFeed()` is a functor to (repeatedly) build `Feed` instances
|
||||
* - the _invocation adapter_ in turn embeds a `FeedManifold<FUN>` to hold
|
||||
* + a setup of output buffer pointers (single, tuple or array)
|
||||
* + (optionally) a similar setup for input buffer pointers
|
||||
* + (optionally) a parameter or parameter tuple
|
||||
* + storage to configure BuffHandle entries for each «slot»
|
||||
* + storage to hold the actual processing functor
|
||||
*/
|
||||
template<class INVO>
|
||||
struct ParamWeavingPattern
|
||||
: INVO
|
||||
{
|
||||
using Feed = typename INVO::Feed;
|
||||
|
||||
static_assert (_verify_usable_as_InvocationAdapter<Feed>());
|
||||
|
||||
Several<PortRef> leadPort;
|
||||
Several<BuffDescr> outTypes;
|
||||
|
||||
uint resultSlot{0};
|
||||
|
||||
/** forwarding-ctor to provide the detailed input/output connections */
|
||||
template<typename...ARGS>
|
||||
ParamWeavingPattern (Several<PortRef>&& pr
|
||||
,Several<BuffDescr>&& dr
|
||||
,uint resultIdx
|
||||
,ARGS&& ...args)
|
||||
: INVO{forward<ARGS>(args)...}
|
||||
, leadPort{move(pr)}
|
||||
, outTypes{move(dr)}
|
||||
, resultSlot{resultIdx}
|
||||
{ }
|
||||
|
||||
|
||||
Feed
|
||||
mount (TurnoutSystem& turnoutSys)
|
||||
{
|
||||
ENSURE (leadPort.size() <= INVO::FAN_I);
|
||||
ENSURE (outTypes.size() <= INVO::FAN_O);
|
||||
return INVO::buildFeed (turnoutSys);
|
||||
}
|
||||
|
||||
void
|
||||
pull (Feed& feed, TurnoutSystem& turnoutSys)
|
||||
{
|
||||
if constexpr (Feed::hasInput())
|
||||
for (uint i=0; i<leadPort.size(); ++i)
|
||||
{
|
||||
BuffHandle inputData = leadPort[i].get().weave (turnoutSys);
|
||||
feed.inBuff.createAt(i, move(inputData));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
shed (Feed& feed, OptionalBuff outBuff)
|
||||
{
|
||||
for (uint i=0; i<outTypes.size(); ++i)
|
||||
{
|
||||
BuffHandle resultData =
|
||||
i == resultSlot and outBuff? *outBuff
|
||||
: outTypes[i].lockBuffer();
|
||||
feed.outBuff.createAt(i, move(resultData));
|
||||
}
|
||||
feed.connect();
|
||||
}
|
||||
|
||||
void
|
||||
weft (Feed& feed)
|
||||
{
|
||||
feed.invoke(); // process data
|
||||
}
|
||||
|
||||
BuffHandle
|
||||
fix (Feed& feed)
|
||||
{
|
||||
if constexpr (Feed::hasInput())
|
||||
for (uint i=0; i<leadPort.size(); ++i)
|
||||
{
|
||||
feed.inBuff[i].release();
|
||||
}
|
||||
for (uint i=0; i<outTypes.size(); ++i)
|
||||
{
|
||||
feed.outBuff[i].emit(); // state transition: data ready
|
||||
if (i != resultSlot)
|
||||
feed.outBuff[i].release();
|
||||
}
|
||||
ENSURE (resultSlot < INVO::FAN_O, "invalid result buffer configured.");
|
||||
return feed.outBuff[resultSlot];
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
}}// namespace steam::engine
|
||||
#endif /*STEAM_ENGINE_PARAM_WEAVING_PATTERN_H*/
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
** and switches found in large railway stations.
|
||||
** @see \ref proc-node.hpp "Overview of Render Node structures"
|
||||
** @see turnout-system.hpp
|
||||
** @see weaving-pattern.hpp
|
||||
** @see media-weaving-pattern.hpp
|
||||
** @see weaving-pattern-builder.hpp
|
||||
** [Railroad Turnout]: https://en.wikipedia.org/wiki/Railroad_turnout
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -135,9 +135,9 @@
|
|||
#include "lib/several-builder.hpp"
|
||||
#include "steam/engine/proc-id.hpp"
|
||||
#include "steam/engine/engine-ctx.hpp"
|
||||
#include "steam/engine/weaving-pattern.hpp"
|
||||
#include "steam/engine/buffer-provider.hpp"
|
||||
#include "steam/engine/buffhandle-attach.hpp" /////////////////OOO why do we need to include this? we need the accessAs<TY>() template function
|
||||
#include "steam/engine/media-weaving-pattern.hpp"
|
||||
#include "lib/meta/tuple-helper.hpp"
|
||||
//#include "lib/test/test-helper.hpp" ////////////////////////////OOO TODO added for test
|
||||
#include "lib/format-string.hpp"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
#include "lib/test/run.hpp"
|
||||
#include "steam/engine/proc-node.hpp"
|
||||
#include "steam/engine/node-builder.hpp"
|
||||
#include "steam/engine/weaving-pattern.hpp"
|
||||
#include "steam/engine/media-weaving-pattern.hpp"
|
||||
#include "steam/engine/turnout-system.hpp"
|
||||
#include "steam/engine/turnout.hpp"
|
||||
#include "steam/engine/diagnostic-buffer-provider.hpp"
|
||||
|
|
@ -49,6 +49,7 @@ namespace test {
|
|||
run (Arg)
|
||||
{
|
||||
feedParam();
|
||||
feedParamNode();
|
||||
UNIMPLEMENTED ("render node pulling source data from vault");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29210,9 +29210,7 @@
|
|||
</node>
|
||||
<node COLOR="#338800" CREATED="1560175529230" ID="ID_914166338" MODIFIED="1560441859516">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Verhältnis zum Inteface <b>Renderer</b> klären
|
||||
|
|
@ -29731,9 +29729,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1674248116285" ID="ID_1285555258" MODIFIED="1674254382320" TEXT="...daß das wirkliche Maximum gemessen wird">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
⟹ es muß das strukturell korrekte Maximum explizit berechnet werden; würden wir nur die rechte Spalte summieren, bliebe eine bereits bestehende Spreizung in der linken Spalte unberücksichtigt
|
||||
|
|
@ -29969,9 +29965,7 @@
|
|||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1674160771852" ID="ID_459820507" MODIFIED="1674161151512" TEXT="Def »scope ruler«">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Jeder Track kann 0...N Ruler haben (Ruler = horizontale Scala);
|
||||
|
|
@ -30376,9 +30370,7 @@
|
|||
</node>
|
||||
<node CREATED="1560685923962" ID="ID_1098705000" MODIFIED="1576282358054" TEXT="Alternativ könnte es...">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...im Session-Modell für eine Timeline jeweils ein Property hierfür geben...
|
||||
|
|
@ -31402,9 +31394,7 @@
|
|||
</node>
|
||||
<node COLOR="#338800" CREATED="1563033192867" ID="ID_243229354" MODIFIED="1563033251713" TEXT="besser erst dann aufrufen, wenn das TimelineWidget schon eingehängt ist">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...d.h. dann aus dem InteractionDirector heraus
|
||||
|
|
@ -32043,9 +32033,7 @@
|
|||
<node CREATED="1564932181697" ID="ID_266632545" MODIFIED="1564932191323" TEXT="läßt sich aber integrieren">
|
||||
<node CREATED="1564932194424" ID="ID_1904122891" MODIFIED="1576282358046" TEXT="die Nützlichkeit des box-shadow ist ohnehin beschränkt">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
falls inset, wird er nur <i>innerhalb </i>der border und über den Hintergrund gezeichnet
|
||||
|
|
@ -79198,7 +79186,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1714777926334" ID="ID_579939758" MODIFIED="1714777939981" TEXT="Thema: Zuordnung zu einem Prozeß">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1714778001228" ID="ID_1999491710" MODIFIED="1730598037898" TEXT="wir brauchen einen Cache-Key">
|
||||
<arrowlink COLOR="#79214c" DESTINATION="ID_968805110" ENDARROW="Default" ENDINCLINATION="271;-5;" ID="Arrow_ID_617691253" STARTARROW="None" STARTINCLINATION="-191;250;"/>
|
||||
<arrowlink COLOR="#79214c" DESTINATION="ID_968805110" ENDARROW="Default" ENDINCLINATION="1028;-25;" ID="Arrow_ID_617691253" STARTARROW="None" STARTINCLINATION="-191;250;"/>
|
||||
<arrowlink COLOR="#ff461d" DESTINATION="ID_518441567" ENDARROW="Default" ENDINCLINATION="475;-655;" ID="Arrow_ID_743151366" STARTARROW="None" STARTINCLINATION="197;254;"/>
|
||||
<linktarget COLOR="#553750" DESTINATION="ID_1999491710" ENDARROW="Default" ENDINCLINATION="-708;70;" ID="Arrow_ID_338052928" SOURCE="ID_701755621" STARTARROW="None" STARTINCLINATION="842;41;"/>
|
||||
<linktarget COLOR="#5c536b" DESTINATION="ID_1999491710" ENDARROW="Default" ENDINCLINATION="-1732;155;" ID="Arrow_ID_1638495806" SOURCE="ID_631143493" STARTARROW="None" STARTINCLINATION="944;56;"/>
|
||||
|
|
@ -80720,7 +80708,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1714580592801" ID="ID_1478713442" MODIFIED="1715524362164" TEXT="Freiheitsgrade...">
|
||||
<arrowlink COLOR="#3e5caa" DESTINATION="ID_206055852" ENDARROW="Default" ENDINCLINATION="-901;1952;" ID="Arrow_ID_1954815494" STARTARROW="None" STARTINCLINATION="-330;-93;"/>
|
||||
<linktarget COLOR="#618cdf" DESTINATION="ID_1478713442" ENDARROW="Default" ENDINCLINATION="-1475;183;" ID="Arrow_ID_812438746" SOURCE="ID_865895790" STARTARROW="None" STARTINCLINATION="1596;-112;"/>
|
||||
<linktarget COLOR="#618cdf" DESTINATION="ID_1478713442" ENDARROW="Default" ENDINCLINATION="-1489;181;" ID="Arrow_ID_812438746" SOURCE="ID_865895790" STARTARROW="None" STARTINCLINATION="1582;-114;"/>
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1714580615114" ID="ID_1400673889" MODIFIED="1714580620205" TEXT="nominelle Zeit">
|
||||
<node CREATED="1714580868121" HGAP="31" ID="ID_1305751151" MODIFIED="1714580906874" TEXT="die einzige pro Frame bewegliche Größe" VSHIFT="3">
|
||||
|
|
@ -82260,8 +82248,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1735064599178" ID="ID_152831343" MODIFIED="1735064621219" TEXT="Konsequenz ⟹ Builder steuert Parameter via FeedPrototype"/>
|
||||
<node CREATED="1735064622575" ID="ID_873434155" MODIFIED="1735068695791" TEXT="Ansatzpunkt auf dem Port-Builder">
|
||||
<arrowlink COLOR="#8595a8" DESTINATION="ID_1218064070" ENDARROW="Default" ENDINCLINATION="-31;-184;" ID="Arrow_ID_1907314003" STARTARROW="None" STARTINCLINATION="-201;17;"/>
|
||||
<node CREATED="1735064622575" ID="ID_873434155" MODIFIED="1735323528683" TEXT="Ansatzpunkt auf dem Port-Builder">
|
||||
<arrowlink COLOR="#8595a8" DESTINATION="ID_1218064070" ENDARROW="Default" ENDINCLINATION="-31;-184;" ID="Arrow_ID_1907314003" STARTARROW="None" STARTINCLINATION="-219;19;"/>
|
||||
<node CREATED="1735064673697" ID="ID_1825450032" MODIFIED="1735064771303" TEXT="brauche Quer-Schwenk auf schon bestehendem (vollen) PortBuilder">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -82275,7 +82263,112 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1735064779481" ID="ID_1880332085" MODIFIED="1735064805874" TEXT="muß Parametrisierung des eingebetteten WeavingBuilders heben / ergänzen"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1733431522849" ID="ID_1650778246" MODIFIED="1735055781159" TEXT="ParamNode: Auswertung"/>
|
||||
<node CREATED="1733431522849" ID="ID_1650778246" MODIFIED="1735321833734" TEXT="ParamNode: Auswertung">
|
||||
<linktarget COLOR="#d10d4d" DESTINATION="ID_1650778246" ENDARROW="Default" ENDINCLINATION="-1710;1813;" ID="Arrow_ID_720477782" SOURCE="ID_796632095" STARTARROW="None" STARTINCLINATION="4744;-200;"/>
|
||||
<linktarget COLOR="#6c6489" DESTINATION="ID_1650778246" ENDARROW="Default" ENDINCLINATION="-274;1070;" ID="Arrow_ID_1212360945" SOURCE="ID_113807641" STARTARROW="None" STARTINCLINATION="1789;61;"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1735322445124" ID="ID_77949868" MODIFIED="1735322738864">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Beachte: es handelt sich um einen Erweiterungspunkt von <i>theoretischer Relevanz...</i>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Ich kann derzeit lediglich vorhersagen, daß die strikte Beschränkung allein auf die <i>absolute-nominal-Time</i> im Allgemeinen nicht durchzuhalten ist. Es sind Fälle denkbar, in denen im Besondern aktzeller kontextueller Zustand der Applikation mit einfließt — die Automations-Auswertung mithin keine <i>»pure Function«</i> mehr ist.
|
||||
</p>
|
||||
<p>
|
||||
Ich halte es für ehrlicher, diese Möglichkeit offen aufzuzeigen, und dafür sogar einen Ansatzpunkt im Modell vorzusehen; denn es ist allemal besser, wenn eine solche externe Verbindung sich als eine »AgentNode« im Modell niederschlägt, als wenn sie irgendwo durch eine Hintertür in einem Seiten-Effekt einzelner Parameter-Funktoren versteckt wird...
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1735321213285" ID="ID_378343455" MODIFIED="1735321333153" TEXT="Disponieren einer Param(Agent)Node">
|
||||
<linktarget COLOR="#404379" DESTINATION="ID_378343455" ENDARROW="Default" ENDINCLINATION="117;1022;" ID="Arrow_ID_1292202508" SOURCE="ID_1191574208" STARTARROW="None" STARTINCLINATION="967;42;"/>
|
||||
<node CREATED="1735324031254" ID="ID_445760123" MODIFIED="1735324061664" TEXT="um sie zu nutzen....">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1735324070658" ID="ID_1716605155" MODIFIED="1735324090841" TEXT="wird man sie an einer strategisch relevanten Stelle in den Graphen einbauen wollen"/>
|
||||
<node CREATED="1735324096255" ID="ID_1218284262" MODIFIED="1735324240952" TEXT="das wirft ein Problem wechselseitiger Abhängigkeiten auf">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Die ParamAgentNode wird bezüglich des Aufrufs eine darunter liegende Node <i>durchreichen</i> wollen. Aber die Definition dieser darunter liegenden Node und deren Leads wird, typischerweise, auf die »Slots« im ParamAgent bezug nehmen...
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1735324313680" ID="ID_1620003909" MODIFIED="1735324375479">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
⟹ folglich braucht es eine vorgelagerte <b><font face="Monospaced" color="#1c0b4e">ParamBuildSpec</font></b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1735350499597" ID="ID_499331038" MODIFIED="1735350817902" TEXT="sonstiges Layout ist implizit">
|
||||
<node CREATED="1735350823586" ID="ID_1873404429" MODIFIED="1735351601621" TEXT="in der ParamBuildSpec....">
|
||||
<node CREATED="1735351602657" ID="ID_874026298" MODIFIED="1735351614340" TEXT=" können Parameter-Funktoren zur Initialisierung liegen"/>
|
||||
<node CREATED="1735351634861" ID="ID_941747027" MODIFIED="1735351649122" TEXT="oder auch nur konstante Init-Werte für einzelne Slots"/>
|
||||
</node>
|
||||
<node CREATED="1735351717186" ID="ID_100908146" MODIFIED="1735351729818" TEXT="optional kann ein Closure-Funktor gegeben werden">
|
||||
<node CREATED="1735351731245" ID="ID_1745183302" MODIFIED="1735351748417" TEXT="dieser ist void(TurnoutSystem&)"/>
|
||||
<node CREATED="1735351840835" ID="ID_1719532257" MODIFIED="1735351861027" TEXT="er sieht in diesem TurnoutSystem bereits den Chain-Block"/>
|
||||
<node CREATED="1735351752071" ID="ID_1884299327" MODIFIED="1735351825623" TEXT="er könnte als Side-Chain eine Node aufrufen">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735350848463" ID="ID_825377755" MODIFIED="1735350868039" TEXT="explizit wird nur ein Invocation-Chain gegeben">
|
||||
<node CREATED="1735351410795" ID="ID_1348409884" MODIFIED="1735351454345" TEXT="dieser sieht in seinem Turnout-System den erweiterten Datenblock"/>
|
||||
<node CREATED="1735351457973" ID="ID_1762703699" MODIFIED="1735351481290" TEXT="und sein Ergebnis-Buffer wird schließlich als Ergebnis durchgereicht"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735353545681" ID="ID_532492491" MODIFIED="1735353570163" TEXT="Träger-Strukturen benö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="1735353649862" ID="ID_1195888823" MODIFIED="1735353669151" TEXT="muß statisch (»aus dem Nichts«) erzeugbar sein">
|
||||
<node CREATED="1735353859329" ID="ID_115937743" MODIFIED="1735353870651" TEXT="also von dem default-TurnoutSystem"/>
|
||||
<node CREATED="1735353871759" ID="ID_982996300" MODIFIED="1735353886009" TEXT="alternativ: als Erweiterung zu einer bestehenden Chain"/>
|
||||
</node>
|
||||
<node CREATED="1735353673979" ID="ID_478818840" MODIFIED="1735353688725" TEXT="sollte selbst eine Art Typ-Builder-Notation darstellen"/>
|
||||
<node CREATED="1735353738797" ID="ID_378372956" MODIFIED="1735353750624" TEXT="enthält eine Folge von »Slots«">
|
||||
<node CREATED="1735353751968" ID="ID_1565293851" MODIFIED="1735353771287" TEXT="jeder Slot steht für einen Parameter-Wert"/>
|
||||
<node CREATED="1735353775789" ID="ID_1394846816" MODIFIED="1735353797045" TEXT="dazu ist ein Funktor-Typ definiert"/>
|
||||
<node CREATED="1735353798274" ID="ID_1422658744" MODIFIED="1735353856467" TEXT="und ein Accessor-Typ">
|
||||
<node CREATED="1735353948999" ID="ID_1107757772" MODIFIED="1735353956728" TEXT="dieser findet zum Slot zurück"/>
|
||||
<node CREATED="1735353970175" ID="ID_542964897" MODIFIED="1735353992387" TEXT="und ist eine Erweiterung der HeteroData-Accessoren">
|
||||
<node CREATED="1735353994703" ID="ID_755528962" MODIFIED="1735354004015" TEXT="vielleicht gar keine Erweiterung?"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735353577816" ID="ID_1908488051" MODIFIED="1735416015564" TEXT="ParamWeavingPattern">
|
||||
<arrowlink COLOR="#9b505d" DESTINATION="ID_348960119" ENDARROW="Default" ENDINCLINATION="116;-502;" ID="Arrow_ID_967296024" STARTARROW="None" STARTINCLINATION="78;483;"/>
|
||||
<node CREATED="1735354012199" ID="ID_1188003901" MODIFIED="1735354036645" TEXT="muß die vollständige Verarbeitungsfolge eines ParamAgent darstellen"/>
|
||||
<node CREATED="1735354094901" ID="ID_1484484879" LINK="#ID_357401280" MODIFIED="1735416059728" TEXT="Schritte">
|
||||
<node CREATED="1735354099466" ID="ID_401717230" MODIFIED="1735354156573" TEXT="mount : Feed-Frame erzeugen"/>
|
||||
<node CREATED="1735354158273" ID="ID_1053216917" MODIFIED="1735354198247" TEXT="pull : Param-Funktor aufrufen und Tupel erstellen"/>
|
||||
<node CREATED="1735354209348" ID="ID_1431347028" MODIFIED="1735354256129" TEXT="shed : Chain-Block erstellen und nachverarbeiten"/>
|
||||
<node CREATED="1735354287727" ID="ID_1794150447" MODIFIED="1735354316106" TEXT="weft : Target-Node aufrufen"/>
|
||||
<node CREATED="1735354360652" ID="ID_973572549" MODIFIED="1735354376078" TEXT="fix : Chain-Block abhängen und Output-Buffer zurückggeben"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735416828361" ID="ID_874513800" MODIFIED="1735416906787" TEXT="Einstiegspunkt auf dem PortBuilderRoot">
|
||||
<arrowlink COLOR="#9c47c5" DESTINATION="ID_921902157" ENDARROW="Default" ENDINCLINATION="-472;-1106;" ID="Arrow_ID_1849846169" STARTARROW="None" STARTINCLINATION="-130;9;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720143945014" ID="ID_1230383106" MODIFIED="1720143962663" TEXT="prepareNode()">
|
||||
<node CREATED="1720143965823" ID="ID_1699834856" MODIFIED="1720144003274" TEXT="addLead(ProcNode&)"/>
|
||||
|
|
@ -82335,9 +82428,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1728587027861" ID="ID_1530575925" MODIFIED="1728587061668" TEXT="connectLeadPort(ProcNode&, p)"/>
|
||||
<node CREATED="1728587063136" ID="ID_26296441" MODIFIED="1728587070363" TEXT="useLeadPort(p)"/>
|
||||
</node>
|
||||
<node CREATED="1735068628307" ID="ID_1218064070" MODIFIED="1735234502189" TEXT="Konfiguration für Parameter">
|
||||
<node CREATED="1735068628307" ID="ID_1218064070" MODIFIED="1735323528683" TEXT="Konfiguration für Parameter">
|
||||
<arrowlink COLOR="#3d55ca" DESTINATION="ID_470723577" ENDARROW="Default" ENDINCLINATION="-1255;-52;" ID="Arrow_ID_767774106" STARTARROW="None" STARTINCLINATION="289;1826;"/>
|
||||
<linktarget COLOR="#8595a8" DESTINATION="ID_1218064070" ENDARROW="Default" ENDINCLINATION="-31;-184;" ID="Arrow_ID_1907314003" SOURCE="ID_873434155" STARTARROW="None" STARTINCLINATION="-201;17;"/>
|
||||
<linktarget COLOR="#8595a8" DESTINATION="ID_1218064070" ENDARROW="Default" ENDINCLINATION="-31;-184;" ID="Arrow_ID_1907314003" SOURCE="ID_873434155" STARTARROW="None" STARTINCLINATION="-219;19;"/>
|
||||
<node CREATED="1735181285893" ID="ID_598324724" MODIFIED="1735234161386" TEXT="setParam(PAR)">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -82485,6 +82578,11 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1735416652065" ID="ID_921902157" MODIFIED="1735416906788" TEXT="Spezialfall: Param(Agent)Node">
|
||||
<arrowlink COLOR="#482c86" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-553;-36;" ID="Arrow_ID_1024921689" STARTARROW="None" STARTINCLINATION="598;1114;"/>
|
||||
<linktarget COLOR="#9c47c5" DESTINATION="ID_921902157" ENDARROW="Default" ENDINCLINATION="-472;-1106;" ID="Arrow_ID_1849846169" SOURCE="ID_874513800" STARTARROW="None" STARTINCLINATION="-130;9;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
<node CREATED="1720178543387" ID="ID_1839001807" MODIFIED="1720178576252" TEXT="adaptInvocation<ADA>">
|
||||
<node CREATED="1720178577432" ID="ID_438090694" MODIFIED="1720178597453" TEXT="ADA ≡ Typ der Invocation-Adapter Klasse"/>
|
||||
<node CREATED="1720178598060" ID="ID_1951506826" MODIFIED="1720999561682">
|
||||
|
|
@ -83035,6 +83133,14 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1735414861630" ID="ID_1832247988" MODIFIED="1735414864372" TEXT="konkret">
|
||||
<node CREATED="1735414867120" ID="ID_882727048" MODIFIED="1735415639542" TEXT="MediaWeavingPattern für Medien-Daten-Berechnung">
|
||||
<arrowlink COLOR="#4033e3" DESTINATION="ID_1680202759" ENDARROW="Default" ENDINCLINATION="-2222;-127;" ID="Arrow_ID_607031123" STARTARROW="None" STARTINCLINATION="2266;131;"/>
|
||||
</node>
|
||||
<node CREATED="1735414867120" ID="ID_1769136387" MODIFIED="1735415633919" TEXT="ParamWeavingPattern für komplexe Parameter-Koordination">
|
||||
<arrowlink COLOR="#4033e3" DESTINATION="ID_348960119" ENDARROW="Default" ENDINCLINATION="-2228;-103;" ID="Arrow_ID_1086551966" STARTARROW="None" STARTINCLINATION="1977;97;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1733427164499" ID="ID_627271416" MODIFIED="1733427171988" TEXT="Turnout-System">
|
||||
<node CREATED="1733427176722" ID="ID_450419618" MODIFIED="1733427183501" TEXT="entsteht transient für jeden Aufruf"/>
|
||||
|
|
@ -86590,7 +86696,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1715524107426" ID="ID_1048111807" MODIFIED="1715524113447" TEXT="Job">
|
||||
<node CREATED="1715524116854" ID="ID_701533734" MODIFIED="1715524124821" TEXT="Aufruf / Funktor"/>
|
||||
<node CREATED="1715524163676" ID="ID_865895790" MODIFIED="1715524362164" TEXT="Job-Parameter">
|
||||
<arrowlink COLOR="#618cdf" DESTINATION="ID_1478713442" ENDARROW="Default" ENDINCLINATION="-1475;183;" ID="Arrow_ID_812438746" STARTARROW="None" STARTINCLINATION="1596;-112;"/>
|
||||
<arrowlink COLOR="#618cdf" DESTINATION="ID_1478713442" ENDARROW="Default" ENDINCLINATION="-1489;181;" ID="Arrow_ID_812438746" STARTARROW="None" STARTINCLINATION="1582;-114;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1715524428545" ID="ID_560958356" MODIFIED="1733427020906" TEXT="Render-Node">
|
||||
|
|
@ -86801,6 +86907,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node CREATED="1733425723596" ID="ID_710246921" MODIFIED="1733425985917" TEXT="das Turnout-System ermöglicht Datenaustausch an der Hierarchie vorbei"/>
|
||||
<node CREATED="1735318790618" ID="ID_559218482" MODIFIED="1735319158579" TEXT="es stellt dafür ein front-End-API bereit">
|
||||
<arrowlink COLOR="#416c8f" DESTINATION="ID_837392347" ENDARROW="Default" ENDINCLINATION="-1509;-82;" ID="Arrow_ID_1306665687" STARTARROW="None" STARTINCLINATION="669;49;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720313949720" ID="ID_545937744" MODIFIED="1720314520064" TEXT="Memory-Management einrichten">
|
||||
|
|
@ -88120,11 +88229,79 @@ Date:   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="1733767188150" TEXT="Standard-Definition für TurnoutSystem auf dieser Basis">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733767161520" ID="ID_1853669534" MODIFIED="1735317877078" TEXT="Standard-Definition fü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>
|
||||
</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>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735317904224" ID="ID_1075228" MODIFIED="1735319401454" TEXT="äuß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;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1735317930357" ID="ID_1334553457" MODIFIED="1735319415952" TEXT="Anforderungen">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1735319020096" ID="ID_837392347" MODIFIED="1735319158579" TEXT="Steuerung übergreifender Datenaustausch">
|
||||
<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ü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;"/>
|
||||
<node CREATED="1735319768739" ID="ID_1368931891" MODIFIED="1735321078648" TEXT="direkter Zugriff auf Basis-Parameter für Automation">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
der PortBuilder kann einen Adapter für klassische Parameter-Automation bauen; dieser muß intern auf die <i>absolute-nominal-Time</i>  zugreifen können
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1735319814705" ID="ID_1191574208" MODIFIED="1735321333153" TEXT="Zugang zu Chain-Datablock Typ-Konstruktor aus dem NodeBuilder">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Für den Bau einer Param(Agent)Node wird ein Chain-Block vorbereitet, welcher später dann in einen Invocation-Stack-Frame gelegt werden soll. Die tatsächlichen Dateninhalte für diesen Block stammen aus dem Aufruf eines Funktors, der in diesen Vorgang hinein verdrahtet wird. Der Builder muß selber einen Funktor konstruieren, der später alle diese Aktionen während der Invocation ausführt, als Schritte des speziellen Weaving-Patterns, das hier zum Einsatz kommt. Dafür braucht er Zugang zu Typ-Konstruktoren, die <i>prinzipiell bereits zur compile-Zeit vorliegen,</i>  da das TurnoutSystem eine fest eingestellte Basis-Typisierung als Anker verwendet. Darauf aufbauend erzeugt die konkrete Builder-Instanz den Typ für konkrete Accessoren, und bettet sie in die vorbereitete Invocation ein
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<arrowlink COLOR="#404379" DESTINATION="ID_378343455" ENDARROW="Default" ENDINCLINATION="117;1022;" ID="Arrow_ID_1292202508" STARTARROW="None" STARTINCLINATION="967;42;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735319455489" ID="ID_1454063827" MODIFIED="1735319466751" TEXT="Zugriff auf Daten im Overflow-Chain">
|
||||
<node CREATED="1735319487891" ID="ID_662237915" MODIFIED="1735319507209" TEXT="Hetero-Data-Basis">
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node CREATED="1735319580465" ID="ID_3993528" MODIFIED="1735319762044" TEXT="als Solches nur halb-sicher">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
die Typisierung über Hetero-Data stellt grundsätzlich sicher, daß es die zuzugreifenden Struktur irgendwann, irgendwie in diesem Executable <i>geben kann,</i> aber nicht wann sie tatsächlich existiert, oder wie lange sie lebt. Auch der Zugang über die interne linked-List stellt nur sicher, daß die Datenstruktur bereits erzeugt wurde, nicht aber <i>daß sie noch lebt</i>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1735320475025" ID="ID_1497021125" MODIFIED="1735320576626" TEXT="volle Sicherheit durch Scoping der Node-Invocation">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
die konkreten Accessoren werden als spezielle Typisierung in einen privaten Kontext in ein invocation-λ eingebettet, so daß sie nur aus dem Scope der tatsächlichen Invocation heraus sichtbar sind; solange dieser Scope lebt, ist <i>per Definitionem</i> auch zumindest dieser Chain-Block valide und zugreifbar.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1733588494688" ID="ID_1675794578" MODIFIED="1733588502918" TEXT="alles Weitere: in Buffer legen">
|
||||
<node CREATED="1733588511019" ID="ID_1891013981" MODIFIED="1733588526527" TEXT="die jeweilge Node kennt die benötige Buffer-Größe"/>
|
||||
|
|
@ -91129,8 +91306,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720546521352" ID="ID_1680202759" MODIFIED="1729962090231" TEXT="ein einfaches WeavingPattern für einen 1:1 Aufruf">
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720546521352" ID="ID_1680202759" MODIFIED="1735415902955" TEXT="ein einfaches WeavingPattern für einen 1:1 Aufruf">
|
||||
<linktarget COLOR="#ff6936" DESTINATION="ID_1680202759" ENDARROW="Default" ENDINCLINATION="-884;1900;" ID="Arrow_ID_1934503032" SOURCE="ID_313412689" STARTARROW="None" STARTINCLINATION="789;48;"/>
|
||||
<linktarget COLOR="#4033e3" DESTINATION="ID_1680202759" ENDARROW="Default" ENDINCLINATION="-2222;-127;" ID="Arrow_ID_607031123" SOURCE="ID_882727048" STARTARROW="None" STARTINCLINATION="2266;131;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720567224202" ID="ID_933061351" MODIFIED="1720567366517" TEXT="Buffer-Konstruktor-Spec bereitstellen">
|
||||
<arrowlink COLOR="#6555a4" DESTINATION="ID_33806321" ENDARROW="Default" ENDINCLINATION="-432;713;" ID="Arrow_ID_1589842372" STARTARROW="None" STARTINCLINATION="-186;-18;"/>
|
||||
|
|
@ -91573,8 +91751,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734060125195" ID="ID_1347066000" MODIFIED="1734755857763" TEXT="Entwurf um Storage + Funktor für Parameter ergänzen">
|
||||
<linktarget COLOR="#b02152" DESTINATION="ID_1347066000" ENDARROW="Default" ENDINCLINATION="-739;36;" ID="Arrow_ID_1367798112" SOURCE="ID_1795912761" STARTARROW="None" STARTINCLINATION="532;31;"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734060125195" ID="ID_1347066000" MODIFIED="1735415986487" TEXT="Entwurf um Storage + Funktor für Parameter ergä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 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;"/>
|
||||
|
|
@ -93992,6 +94170,25 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720546521352" ID="ID_348960119" MODIFIED="1735416007612" TEXT="ein WeavingPattern für erweiterte Parameter-Auswertung">
|
||||
<linktarget COLOR="#4033e3" DESTINATION="ID_348960119" ENDARROW="Default" ENDINCLINATION="-2228;-103;" ID="Arrow_ID_1086551966" SOURCE="ID_1769136387" STARTARROW="None" STARTINCLINATION="1977;97;"/>
|
||||
<linktarget COLOR="#ff6936" DESTINATION="ID_348960119" ENDARROW="Default" ENDINCLINATION="-641;1944;" ID="Arrow_ID_1163958018" SOURCE="ID_311704401" STARTARROW="None" STARTINCLINATION="1383;132;"/>
|
||||
<linktarget COLOR="#9b505d" DESTINATION="ID_348960119" ENDARROW="Default" ENDINCLINATION="116;-502;" ID="Arrow_ID_967296024" SOURCE="ID_1908488051" STARTARROW="None" STARTINCLINATION="78;483;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1735416170297" ID="ID_736958022" MODIFIED="1735416236279" TEXT="brauche ParamBuildSpec">
|
||||
<linktarget COLOR="#bb1f2e" DESTINATION="ID_736958022" ENDARROW="Default" ENDINCLINATION="-25;-162;" ID="Arrow_ID_44922252" SOURCE="ID_1577179744" STARTARROW="None" STARTINCLINATION="32;153;"/>
|
||||
<node CREATED="1735416468553" ID="ID_1257939291" MODIFIED="1735416600613" TEXT="dient als Basis für einen ParamNode-Builder">
|
||||
<arrowlink COLOR="#5747d2" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-844;-25;" ID="Arrow_ID_1824926310" STARTARROW="None" STARTINCLINATION="-633;42;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735354094901" ID="ID_357401280" LINK="#ID_1484484879" MODIFIED="1735416065935" TEXT="Grundstruktur / Schrittfolge">
|
||||
<node CREATED="1735354099466" ID="ID_1086019960" MODIFIED="1735354156573" TEXT="mount : Feed-Frame erzeugen"/>
|
||||
<node CREATED="1735354158273" ID="ID_1400465949" MODIFIED="1735354198247" TEXT="pull : Param-Funktor aufrufen und Tupel erstellen"/>
|
||||
<node CREATED="1735354209348" ID="ID_1189493104" MODIFIED="1735354256129" TEXT="shed : Chain-Block erstellen und nachverarbeiten"/>
|
||||
<node CREATED="1735354287727" ID="ID_348185915" MODIFIED="1735354316106" TEXT="weft : Target-Node aufrufen"/>
|
||||
<node CREATED="1735354360652" ID="ID_128985053" MODIFIED="1735354376078" TEXT="fix : Chain-Block abhängen und Output-Buffer zurückggeben"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720620607691" ID="ID_1114186515" MODIFIED="1720620622602" TEXT="diese Invocation nun konfigurierbar machen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
@ -97366,12 +97563,14 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<font NAME="SansSerif" SIZE="10"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735181310482" ID="ID_828844081" MODIFIED="1735181326359" TEXT="retrieveParam(Accessor)">
|
||||
<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;"/>
|
||||
<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 CREATED="1735181577102" ID="ID_524332742" MODIFIED="1735181609213" TEXT="attachAutomation(AUTO)">
|
||||
<node CREATED="1735181577102" ID="ID_524332742" MODIFIED="1735318266930" TEXT="attachAutomation(AUTO)">
|
||||
<arrowlink COLOR="#8f2ea4" 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>
|
||||
|
|
@ -97399,7 +97598,36 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<node CREATED="1735244535909" ID="ID_1449241849" MODIFIED="1735244566899" TEXT="hier einmal ein Turnout explizit „zu Fuß“ gebaut..."/>
|
||||
<node CREATED="1735244568320" ID="ID_1640313609" MODIFIED="1735244582210" TEXT="...und auch direkt aufgerufen, ohne umschlißene ProcNode"/>
|
||||
</node>
|
||||
<node CREATED="1735235299769" ID="ID_1559115287" LINK="#ID_1305712041" MODIFIED="1735235841042" TEXT="Node-Feed: ParamNode ⟶ extraParams"/>
|
||||
<node CREATED="1735235299769" ID="ID_1559115287" LINK="#ID_1305712041" MODIFIED="1735417239799" TEXT="Node-Feed: ParamNode ⟶ extraParams">
|
||||
<linktarget COLOR="#53a3b5" DESTINATION="ID_1559115287" ENDARROW="Default" ENDINCLINATION="-116;8;" ID="Arrow_ID_35370272" SOURCE="ID_1420751527" STARTARROW="None" STARTINCLINATION="-39;-6;"/>
|
||||
<node CREATED="1735417162872" ID="ID_1823137654" MODIFIED="1735417286318" TEXT="auch hier: vor allem die Strukturen „zu Fuß“ aufbauen....">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735417346027" ID="ID_1555206108" MODIFIED="1735417364905" TEXT="zunächst eine ParamBuildSpec anlegen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735416494813" ID="ID_329885446" MODIFIED="1735417263442" TEXT="Builder für dedizierte ParamNode">
|
||||
<linktarget COLOR="#5747d2" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-844;-25;" ID="Arrow_ID_1824926310" SOURCE="ID_1257939291" STARTARROW="None" STARTINCLINATION="-633;42;"/>
|
||||
<linktarget COLOR="#482c86" DESTINATION="ID_329885446" ENDARROW="Default" ENDINCLINATION="-553;-36;" ID="Arrow_ID_1024921689" SOURCE="ID_921902157" STARTARROW="None" STARTINCLINATION="598;1114;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1735416968791" HGAP="28" ID="ID_1420751527" MODIFIED="1735417275282" STYLE="bubble" VSHIFT="20">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
getrieben durch elaborierten Testfall
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced">NodeFeed_test::</font><font color="#990000" face="Monospaced"><b>feedParamNode</b>()</font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<edge COLOR="#3495a4"/>
|
||||
<arrowlink COLOR="#53a3b5" DESTINATION="ID_1559115287" ENDARROW="Default" ENDINCLINATION="-116;8;" ID="Arrow_ID_35370272" STARTARROW="None" STARTINCLINATION="-39;-6;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -97467,9 +97695,7 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
</node>
|
||||
<node CREATED="1735246648677" ID="ID_1390294887" MODIFIED="1735246967617" TEXT="SimpleWeavnigPattern ⟶ MediaWeavingPattern ist jetzt Default">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Über das Prototyping hat eine Art Normierung stattgefunden; ich bin jetzt sicher, daß die allermeisten Aufgaben zur Medien-Berechnung in dieses Standard-Pattern abgebildet werden können, vor allem durch die stark erweiterte Flexibilität des Buffer- und Parameter-Bindings
|
||||
|
|
@ -97555,8 +97781,8 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734059951987" ID="ID_1795912761" MODIFIED="1734831817696" TEXT="bestehenden Entwurf um Parameter ergänzen">
|
||||
<arrowlink COLOR="#b02152" DESTINATION="ID_1347066000" ENDARROW="Default" ENDINCLINATION="-739;36;" ID="Arrow_ID_1367798112" STARTARROW="None" STARTINCLINATION="532;31;"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734059951987" ID="ID_1795912761" MODIFIED="1735415986487" TEXT="bestehenden Entwurf um Parameter ergänzen">
|
||||
<arrowlink COLOR="#b02152" 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"/>
|
||||
|
|
@ -98399,9 +98625,10 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<arrowlink COLOR="#7e1ab2" DESTINATION="ID_1750696847" ENDARROW="Default" ENDINCLINATION="266;-492;" ID="Arrow_ID_379194887" STARTARROW="None" STARTINCLINATION="-138;440;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733430838925" ID="ID_1513206906" MODIFIED="1735055648443" TEXT="Exkurs: Einbindung in den Node-Builder betrachten">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1733430838925" ID="ID_1513206906" MODIFIED="1735318465511" 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;"/>
|
||||
<linktarget COLOR="#e20f59" DESTINATION="ID_1513206906" ENDARROW="Default" ENDINCLINATION="42;240;" ID="Arrow_ID_1322946134" SOURCE="ID_796632095" STARTARROW="None" STARTINCLINATION="385;-13;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -98465,6 +98692,16 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> 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ä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;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1735317659721" ID="ID_796632095" MODIFIED="1735318553867" TEXT="Builder-API für ParamNode festlegen">
|
||||
<arrowlink COLOR="#d10d4d" DESTINATION="ID_1650778246" ENDARROW="Default" ENDINCLINATION="-1710;1813;" ID="Arrow_ID_720477782" STARTARROW="None" STARTINCLINATION="4744;-200;"/>
|
||||
<arrowlink COLOR="#e20f59" DESTINATION="ID_1513206906" ENDARROW="Default" ENDINCLINATION="42;240;" ID="Arrow_ID_1322946134" STARTARROW="None" STARTINCLINATION="385;-13;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1731890254602" ID="ID_447051297" MODIFIED="1734388971845" TEXT="brauche Buffer">
|
||||
<arrowlink COLOR="#bb4c6b" DESTINATION="ID_1319945622" ENDARROW="Default" ENDINCLINATION="-663;35;" ID="Arrow_ID_542692149" STARTARROW="None" STARTINCLINATION="745;112;"/>
|
||||
|
|
@ -99751,7 +99988,7 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<node CREATED="1733423697567" ID="ID_1377737473" MODIFIED="1733423899519" TEXT="das TurnoutSystem dient als Daten-Austausch-Hub"/>
|
||||
<node CREATED="1733423734224" ID="ID_170887086" MODIFIED="1733423899519" TEXT="die Default-Ausstattung ermöglicht Zugriff auf die Invocation-Parameter"/>
|
||||
<node CREATED="1733423820748" ID="ID_951224237" MODIFIED="1733423899519" TEXT="der Level-2 Builder stellt Methoden bereit zum Anlegen von Parameter-Nodes"/>
|
||||
<node COLOR="#471e21" CREATED="1734832077434" ID="ID_1709268968" MODIFIED="1734832147899" TEXT="letztlich spielen nun die »Agent-Nodes« keine Rolle mehr für das Parameter-Handling">
|
||||
<node COLOR="#471e21" CREATED="1734832077434" ID="ID_1709268968" MODIFIED="1735318708081" TEXT="letztlich spielen nun »Agent-Nodes« keine Rolle mehr für standard-Parameter-Handling">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -99762,6 +99999,23 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
</html></richcontent>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node COLOR="#471e21" CREATED="1735321386947" ID="ID_113807641" MODIFIED="1735322433180" STYLE="fork" TEXT="»ParamAgent«-Konzept nun in Form einer ParamNode für komplexe Berechnungen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Denn das Konzept der »AgentNode« ist ja generisch, und nicht aus der Welt zu schaffen — hängt es doch an der Wurzel zusammen mit dem Ansatz einer vereinfachenden Abstraktion in einen Node-Graphen, die dann das Einlassen komplexerer Zusammenhänge in die lokale Struktur innerhalb dieses Graphen impliziert, in Form von Bau- und Verschaltungsmustern...
|
||||
</p>
|
||||
<p>
|
||||
Für die Parameter-Behandlung <i>sind komplexe Spezialfälle vorhersehbar, </i>welche die Pasis-Parameter, den Kontext-Zugriff über einen Prozeß-Key, sowie weitere, kontextuell zugängliche Zustandsdaten in einen erweiterten Satz konkreter Steuerparameter synthetisieren, um diese dann an anderer Stelle, rekursiv tiefer im Invocation-Tree, zur Parametrisierung der Medien-Berechnung heranzuziehen. Ein solches Muster ist in der Tat „speziell“ und ohne im Moment für mich erkennbaren konkreten Bezug; ich leite diese Möglichkeit lediglich aus allgemeinen Überlegungen zur Struktur her, und ziehe den Schluß, <i>zumindest die Ansatzpunkte hierfür</i> schaffen zu müssen....
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
||||
<arrowlink COLOR="#6c6489" DESTINATION="ID_1650778246" ENDARROW="Default" ENDINCLINATION="-274;1070;" ID="Arrow_ID_1212360945" STARTARROW="None" STARTINCLINATION="1789;61;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -100831,7 +101085,7 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<arrowlink COLOR="#ff6936" DESTINATION="ID_495934512" ENDARROW="Default" ENDINCLINATION="-884;1900;" ID="Arrow_ID_1128127655" STARTARROW="None" STARTINCLINATION="709;49;"/>
|
||||
<icon BUILTIN="xmag"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720546521352" ID="ID_313412689" MODIFIED="1729962090231" TEXT="Skizze für einen Aufruf mit 1:1-Verdrahtung">
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720546521352" ID="ID_313412689" MODIFIED="1735415891501" TEXT="Skizze für einen Aufruf mit 1:1-Verdrahtung">
|
||||
<arrowlink COLOR="#ff6936" DESTINATION="ID_1680202759" ENDARROW="Default" ENDINCLINATION="-884;1900;" ID="Arrow_ID_1934503032" STARTARROW="None" STARTINCLINATION="789;48;"/>
|
||||
<icon BUILTIN="xmag"/>
|
||||
</node>
|
||||
|
|
@ -100843,6 +101097,10 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<arrowlink COLOR="#ff6936" DESTINATION="ID_228375055" ENDARROW="Default" ENDINCLINATION="-1238;118;" ID="Arrow_ID_864180679" STARTARROW="None" STARTINCLINATION="779;56;"/>
|
||||
<icon BUILTIN="xmag"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720546521352" ID="ID_311704401" MODIFIED="1735415979208" TEXT="komplexe Parameter-Nodes">
|
||||
<arrowlink COLOR="#ff6936" DESTINATION="ID_348960119" ENDARROW="Default" ENDINCLINATION="-641;1944;" ID="Arrow_ID_1163958018" STARTARROW="None" STARTINCLINATION="1383;132;"/>
|
||||
<icon BUILTIN="xmag"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eeead5" COLOR="#990033" CREATED="1728785502988" ID="ID_694989290" MODIFIED="1729962183043" TEXT="Integration-1 : einfachst-möglicher Builder-Term">
|
||||
<arrowlink COLOR="#ff6936" DESTINATION="ID_1973895762" ENDARROW="Default" ENDINCLINATION="-884;1900;" ID="Arrow_ID_208548527" STARTARROW="None" STARTINCLINATION="369;22;"/>
|
||||
<icon BUILTIN="xmag"/>
|
||||
|
|
@ -102039,13 +102297,21 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1735414675514" ID="ID_1433375809" MODIFIED="1735414702232" TEXT="Turnout / Weaving-Pattern">
|
||||
<node CREATED="1735414704349" ID="ID_1339796525" MODIFIED="1735414716797" TEXT="implementieren die Ports in ProcNode"/>
|
||||
<node CREATED="1735414728754" ID="ID_1598517685" MODIFIED="1735414759465" TEXT="führen zur Invocation einen 5-Schritt-Zyklus aus"/>
|
||||
<node CREATED="1735414761840" ID="ID_1439330183" MODIFIED="1735414767449" TEXT="konkret..">
|
||||
<node CREATED="1735414768529" ID="ID_1316770724" MODIFIED="1735414773728" TEXT="MediaWeavingPattern"/>
|
||||
<node CREATED="1735414774740" ID="ID_965566430" MODIFIED="1735414781119" TEXT="ParamWeavingPattern"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1730596470751" ID="ID_1288148978" LINK="https://issues.lumiera.org/ticket/1377" MODIFIED="1730597727524" TEXT="#1377 processing identification">
|
||||
<linktarget COLOR="#484589" DESTINATION="ID_1288148978" ENDARROW="Default" ENDINCLINATION="-451;-260;" ID="Arrow_ID_79666749" SOURCE="ID_701755621" STARTARROW="None" STARTINCLINATION="-1086;55;"/>
|
||||
<linktarget COLOR="#832b91" DESTINATION="ID_1288148978" ENDARROW="Default" ENDINCLINATION="-2377;191;" ID="Arrow_ID_1024856417" SOURCE="ID_125486682" STARTARROW="None" STARTINCLINATION="-1447;-79;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1730597099323" ID="ID_968805110" MODIFIED="1730597155681" TEXT="darauf aufbauend: systematische Cache-Keys">
|
||||
<linktarget COLOR="#79214c" DESTINATION="ID_968805110" ENDARROW="Default" ENDINCLINATION="271;-5;" ID="Arrow_ID_617691253" SOURCE="ID_1999491710" STARTARROW="None" STARTINCLINATION="-191;250;"/>
|
||||
<linktarget COLOR="#79214c" DESTINATION="ID_968805110" ENDARROW="Default" ENDINCLINATION="1028;-25;" ID="Arrow_ID_617691253" SOURCE="ID_1999491710" STARTARROW="None" STARTINCLINATION="-191;250;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue