Job-Planning: attempt to stake claims
desperately trying to move forward and define a minimal first test case...
This commit is contained in:
parent
1dd1ec0e79
commit
d341f003ca
7 changed files with 198 additions and 33 deletions
|
|
@ -323,13 +323,13 @@ namespace lib {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
~LinkedElements ()
|
~LinkedElements()
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
LinkedElements ()
|
LinkedElements()
|
||||||
: head_(0)
|
: head_{nullptr}
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/** @param allo custom allocator or memory manager
|
/** @param allo custom allocator or memory manager
|
||||||
|
|
@ -338,8 +338,8 @@ namespace lib {
|
||||||
*/
|
*/
|
||||||
explicit
|
explicit
|
||||||
LinkedElements (typename ALO::CustomAllocator allo)
|
LinkedElements (typename ALO::CustomAllocator allo)
|
||||||
: ALO(allo)
|
: ALO{allo}
|
||||||
, head_(0)
|
, head_{nullptr}
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/** creating a LinkedElements list in RAII-style:
|
/** creating a LinkedElements list in RAII-style:
|
||||||
|
|
@ -350,10 +350,10 @@ namespace lib {
|
||||||
*/
|
*/
|
||||||
template<class IT>
|
template<class IT>
|
||||||
LinkedElements (IT elements)
|
LinkedElements (IT elements)
|
||||||
: head_(0)
|
: head_{nullptr}
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
pushAll(elements);
|
pushAll (elements);
|
||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{
|
{
|
||||||
|
|
@ -533,8 +533,8 @@ namespace lib {
|
||||||
{
|
{
|
||||||
N* node;
|
N* node;
|
||||||
|
|
||||||
IterationState(N* p=0)
|
IterationState (N* p =nullptr)
|
||||||
: node(p)
|
: node{p}
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/* ==== internal callback API for the iterator ==== */
|
/* ==== internal callback API for the iterator ==== */
|
||||||
|
|
@ -572,8 +572,8 @@ namespace lib {
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef IterStateWrapper< N, IterationState> iterator;
|
using iterator = IterStateWrapper< N, IterationState>;
|
||||||
typedef IterStateWrapper<const N, IterationState> const_iterator;
|
using const_iterator = IterStateWrapper<const N, IterationState>;
|
||||||
|
|
||||||
|
|
||||||
iterator begin() { return iterator (head_); }
|
iterator begin() { return iterator (head_); }
|
||||||
|
|
@ -581,12 +581,10 @@ namespace lib {
|
||||||
iterator end () { return iterator(); }
|
iterator end () { return iterator(); }
|
||||||
const_iterator end () const { return const_iterator(); }
|
const_iterator end () const { return const_iterator(); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace lib
|
} // namespace lib
|
||||||
#endif
|
#endif /*LIB_LINKED_ELEMENTS_H*/
|
||||||
|
|
|
||||||
|
|
@ -82,11 +82,13 @@ using util::isnil;
|
||||||
* This way, the JobTicket acts as _higher order function:_ a function
|
* This way, the JobTicket acts as _higher order function:_ a function
|
||||||
* generating on invocation another, specific function (= the job).
|
* generating on invocation another, specific function (= the job).
|
||||||
*
|
*
|
||||||
* @todo 1/12 WIP-WIP-WIP defining the invocation sequence and render jobs
|
* @todo 4/23 WIP-WIP-WIP defining the invocation sequence and render jobs
|
||||||
|
* @todo maybe the per-channel specialisation can be elided altogether...?
|
||||||
*/
|
*/
|
||||||
class JobTicket
|
class JobTicket
|
||||||
: util::NonCopyable
|
: util::NonCopyable
|
||||||
{
|
{
|
||||||
|
/** what handling this task entails */
|
||||||
struct Provision
|
struct Provision
|
||||||
{
|
{
|
||||||
Provision* next;
|
Provision* next;
|
||||||
|
|
@ -118,12 +120,12 @@ using util::isnil;
|
||||||
|
|
||||||
JobTicket()
|
JobTicket()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED ("job representation, planning and scheduling");
|
TODO ("job representation, planning and scheduling");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ExplorationState startExploration() const;
|
ExplorationState startExploration() const;
|
||||||
ExplorationState discoverPrerequisites (uint channelNr) const;
|
ExplorationState discoverPrerequisites (uint channelNr =0) const;
|
||||||
|
|
||||||
Job createJobFor (FrameCoord coordinates);
|
Job createJobFor (FrameCoord coordinates);
|
||||||
|
|
||||||
|
|
@ -134,7 +136,7 @@ using util::isnil;
|
||||||
if (channelConfig_.size() != requirement_.size())
|
if (channelConfig_.size() != requirement_.size())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
UNIMPLEMENTED ("validity self check");
|
TODO ("validity self check");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -152,7 +154,7 @@ using util::isnil;
|
||||||
|
|
||||||
ExplorationState (Prerequisites& prerequisites)
|
ExplorationState (Prerequisites& prerequisites)
|
||||||
{
|
{
|
||||||
if (!isnil (prerequisites.requiredJobs_))
|
if (not isnil (prerequisites.requiredJobs_))
|
||||||
toExplore_.push (prerequisites.requiredJobs_.begin());
|
toExplore_.push (prerequisites.requiredJobs_.begin());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -237,6 +239,7 @@ using util::isnil;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// @deprecated : could be expendable ... likely incurred solely by the use of Monads as design pattern
|
||||||
inline JobTicket::ExplorationState
|
inline JobTicket::ExplorationState
|
||||||
JobTicket::startExploration() const
|
JobTicket::startExploration() const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -98,8 +98,9 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
namespace steam {
|
namespace steam{
|
||||||
namespace play {
|
namespace play {
|
||||||
|
namespace test {
|
||||||
|
|
||||||
// using std::string;
|
// using std::string;
|
||||||
// using lumiera::Subsys;
|
// using lumiera::Subsys;
|
||||||
|
|
@ -275,5 +276,5 @@ namespace play {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}} // namespace steam::play
|
}}} // namespace steam::play::test
|
||||||
#endif /*STEAM_PLAY_DUMMY_PLAY_CONNECTION_H*/
|
#endif /*STEAM_PLAY_DUMMY_PLAY_CONNECTION_H*/
|
||||||
|
|
|
||||||
|
|
@ -68,10 +68,10 @@ namespace test {
|
||||||
|
|
||||||
namespace { // used internally
|
namespace { // used internally
|
||||||
|
|
||||||
using play::PlayTestFrames_Strategy;
|
using play::test::PlayTestFrames_Strategy;
|
||||||
using play::ModelPorts;
|
using play::test::ModelPorts;
|
||||||
|
|
||||||
typedef play::DummyPlayConnection<play::PlayTestFrames_Strategy> DummyPlaybackSetup;
|
using DummyPlaybackSetup = play::test::DummyPlayConnection<PlayTestFrames_Strategy>;
|
||||||
|
|
||||||
|
|
||||||
class MockDispatcherTable
|
class MockDispatcherTable
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
//#include "steam/play/dummy-play-connection.hpp"
|
//#include "steam/play/dummy-play-connection.hpp"
|
||||||
#include "steam/mobject/model-port.hpp"
|
#include "steam/mobject/model-port.hpp"
|
||||||
#include "steam/engine/dispatcher.hpp"
|
#include "steam/engine/dispatcher.hpp"
|
||||||
|
#include "steam/engine/job-ticket.hpp"
|
||||||
//#include "steam/play/timings.hpp"
|
//#include "steam/play/timings.hpp"
|
||||||
//#include "lib/time/timevalue.hpp"
|
//#include "lib/time/timevalue.hpp"
|
||||||
////#include "lib/time/timequant.hpp"
|
////#include "lib/time/timequant.hpp"
|
||||||
|
|
@ -118,21 +119,22 @@ namespace test {
|
||||||
|
|
||||||
}//(End)internal test helpers....
|
}//(End)internal test helpers....
|
||||||
|
|
||||||
#if false /////////////////////////////////////////////////////////////////////////////////////////////////////////////UNIMPLEMENTED :: TICKET #880
|
#if false /////////////////////////////////////////////////////////////////////////////////////////////////////////////UNIMPLEMENTED :: TICKET #1221
|
||||||
#endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////UNIMPLEMENTED :: TICKET #890
|
#endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////UNIMPLEMENTED :: TICKET #1221
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mock for...
|
* Mock for...
|
||||||
*
|
*
|
||||||
* @see JobPlanningsetup_test
|
* @see JobPlanningSetup_test
|
||||||
* @see DispatcherInterface_test
|
* @see DispatcherInterface_test
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class MockJobTicket
|
class MockJobTicket
|
||||||
|
: public JobTicket
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
~MockJobTicket();
|
MockJobTicket() { };
|
||||||
|
|
||||||
private:
|
private:
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,8 @@ namespace test {
|
||||||
virtual void
|
virtual void
|
||||||
run (Arg)
|
run (Arg)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED ("shape the interface of the job-planning pipeline");
|
|
||||||
demonstrateScaffolding();
|
demonstrateScaffolding();
|
||||||
|
UNIMPLEMENTED ("shape the interface of the job-planning pipeline");
|
||||||
buildBaseTickGenerator();
|
buildBaseTickGenerator();
|
||||||
accessTopLevelJobTicket();
|
accessTopLevelJobTicket();
|
||||||
exploreJobTickets();
|
exploreJobTickets();
|
||||||
|
|
@ -81,6 +81,8 @@ namespace test {
|
||||||
void
|
void
|
||||||
demonstrateScaffolding()
|
demonstrateScaffolding()
|
||||||
{
|
{
|
||||||
|
MockJobTicket mockTick;
|
||||||
|
CHECK (mockTick.discoverPrerequisites().empty());
|
||||||
UNIMPLEMENTED ("how to mock and fake");
|
UNIMPLEMENTED ("how to mock and fake");
|
||||||
/////////////////////////////////////////////////////////////////////////////TODO: extract from DispatcherInterface_test
|
/////////////////////////////////////////////////////////////////////////////TODO: extract from DispatcherInterface_test
|
||||||
/////////////////////////////////////////////////////////////////////////////TODO: design a job-ticket-mock
|
/////////////////////////////////////////////////////////////////////////////TODO: design a job-ticket-mock
|
||||||
|
|
|
||||||
|
|
@ -68419,7 +68419,7 @@
|
||||||
<node CREATED="1512923672275" ID="ID_1369059082" MODIFIED="1557498707237" TEXT="Wiring"/>
|
<node CREATED="1512923672275" ID="ID_1369059082" MODIFIED="1557498707237" TEXT="Wiring"/>
|
||||||
<node CREATED="1512923682530" ID="ID_1204903801" MODIFIED="1557498707237" TEXT="Planning">
|
<node CREATED="1512923682530" ID="ID_1204903801" MODIFIED="1557498707237" TEXT="Planning">
|
||||||
<node CREATED="1512925214070" ID="ID_491842947" MODIFIED="1557498707237" TEXT="1.Entwurf">
|
<node CREATED="1512925214070" ID="ID_491842947" MODIFIED="1557498707237" TEXT="1.Entwurf">
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1512925217693" ID="ID_704714253" MODIFIED="1557498707237" TEXT="steckengeblieben">
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1512925217693" ID="ID_704714253" MODIFIED="1681837087287" TEXT="war seit 2012 steckengeblieben...">
|
||||||
<icon BUILTIN="smily_bad"/>
|
<icon BUILTIN="smily_bad"/>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1512925253328" HGAP="42" ID="ID_946385163" MODIFIED="1681168718652" TEXT="JobTicket" VSHIFT="-4">
|
<node CREATED="1512925253328" HGAP="42" ID="ID_946385163" MODIFIED="1681168718652" TEXT="JobTicket" VSHIFT="-4">
|
||||||
|
|
@ -68460,6 +68460,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681167470153" ID="ID_1806361283" MODIFIED="1681167480840" TEXT="PlaybackVerticalSlice">
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681167470153" ID="ID_1806361283" MODIFIED="1681167480840" TEXT="PlaybackVerticalSlice">
|
||||||
<icon BUILTIN="hourglass"/>
|
<icon BUILTIN="hourglass"/>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681839381459" ID="ID_697548050" MODIFIED="1681839536316" TEXT="im ersten Schritt: mit der neuen Struktur ohne Monaden nutzbar machen">
|
||||||
|
<arrowlink COLOR="#fe80b2" DESTINATION="ID_310889374" ENDARROW="Default" ENDINCLINATION="-503;-32;" ID="Arrow_ID_1927639949" STARTARROW="None" STARTINCLINATION="230;9;"/>
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
|
@ -69116,10 +69120,10 @@
|
||||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1681083093846" ID="ID_1045820854" MODIFIED="1681083294169" TEXT="der Scheduler ist eine denkbar ungünstige Schnittstelle zwischen verschiedenen Design-Stilen">
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1681083093846" ID="ID_1045820854" MODIFIED="1681083294169" TEXT="der Scheduler ist eine denkbar ungünstige Schnittstelle zwischen verschiedenen Design-Stilen">
|
||||||
<icon BUILTIN="stop-sign"/>
|
<icon BUILTIN="stop-sign"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1681083159662" ID="ID_860686341" MODIFIED="1681083294170" TEXT="die Aufteilung in Session und Engine ⟹ zu einfaches mentales Modell">
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1681083267223" ID="ID_1330479674" MODIFIED="1681083294171" TEXT="die Schnittstelle liegt an einer Grenze der Kopetenzen — nicht einer Grenze der Domänen">
|
||||||
<icon BUILTIN="stop-sign"/>
|
<icon BUILTIN="stop-sign"/>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1681083267223" ID="ID_1330479674" MODIFIED="1681083294171" TEXT="die Schnittstelle liegt an einer Grenze der Kopetenzen — nicht einer Grenze der Domänen">
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1681083159662" ID="ID_860686341" MODIFIED="1681083294170" TEXT="die Aufteilung in Session und Engine ⟹ zu einfaches mentales Modell">
|
||||||
<icon BUILTIN="stop-sign"/>
|
<icon BUILTIN="stop-sign"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
|
@ -69579,9 +69583,133 @@
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742890385" ID="ID_1681918468" MODIFIED="1681742901349" TEXT="JobTicket">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742890385" ID="ID_1681918468" MODIFIED="1681742901349" TEXT="JobTicket">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node CREATED="1681775901704" ID="ID_1011961716" MODIFIED="1681775914876" TEXT="muß Prerequisite-Struktur von weiteren JobTIckets bieten"/>
|
||||||
|
<node CREATED="1681775915726" ID="ID_723266604" MODIFIED="1681775925599" TEXT="diese müssen irgendwo in Storage gehalten werden"/>
|
||||||
|
<node CREATED="1681775956207" ID="ID_403116999" MODIFIED="1681775974479" TEXT="idealerweise kann der Test diese Stuktur in Grenzen selber vorgeben">
|
||||||
|
<node CREATED="1681776011645" ID="ID_398083887" MODIFIED="1681776024883" TEXT="das wäre eine DSL...">
|
||||||
|
<icon BUILTIN="smiley-oh"/>
|
||||||
|
</node>
|
||||||
|
<node CREATED="1681776041364" ID="ID_581175494" MODIFIED="1681832931895" TEXT="man könnte GenNode nutzen">
|
||||||
|
<richcontent TYPE="NOTE"><html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>
|
||||||
|
...bevor ich jetzt anfange, eine symbolische Notation und einen Parser zu erfinden, wäre ein einfache Konvetion für <i>structured data</i>  wohl sinnvoller; dann könnte man die Builder-Notation für GenNode nutzen
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html></richcontent>
|
||||||
|
<arrowlink COLOR="#fef7d1" DESTINATION="ID_1664606019" ENDARROW="Default" ENDINCLINATION="139;-4;" ID="Arrow_ID_1184218305" STARTARROW="None" STARTINCLINATION="13;150;"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node CREATED="1681776275452" ID="ID_952967108" MODIFIED="1681776292134" TEXT="damit würde hier sogar eine Art Mock-Fixture gebaut">
|
||||||
|
<node CREATED="1681776316175" ID="ID_814536760" MODIFIED="1681776323218" TEXT="1.Ebene: Segmentation"/>
|
||||||
|
<node CREATED="1681776335491" ID="ID_1866146614" MODIFIED="1681776353238" TEXT="jedes Element: ein JobTicket"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742895901" ID="ID_594113874" MODIFIED="1681742901350" TEXT="Test-Job">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742895901" ID="ID_594113874" MODIFIED="1681742901350" TEXT="Test-Job">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node CREATED="1681777299523" ID="ID_252686764" MODIFIED="1681777342528" TEXT="alle Test-Jobs verwenden einen einzigen Funktor"/>
|
||||||
|
<node CREATED="1681777343685" ID="ID_572811753" MODIFIED="1681777357938" TEXT="dieser beherbergt ein TestLog"/>
|
||||||
|
<node CREATED="1681777358683" ID="ID_768023482" MODIFIED="1681777393914" TEXT="er kann aber mit einem Adapter speziell markiert werden"/>
|
||||||
|
<node CREATED="1681777394886" ID="ID_1582494030" MODIFIED="1681777440923" TEXT="bei Aufruf loggt der Job diese spezilel Marke + gegebene Frame-Koord"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681831353728" ID="ID_1982624809" MODIFIED="1681831371808" TEXT="längerfristig: DummyPlayConnection ausbauen">
|
||||||
|
<icon BUILTIN="hourglass"/>
|
||||||
|
<node CREATED="1681831376448" ID="ID_1561067125" MODIFIED="1681831389254" TEXT="dort soll eine integrierte Dummy-Fixture entstehen">
|
||||||
|
<icon BUILTIN="info"/>
|
||||||
|
</node>
|
||||||
|
<node CREATED="1681832399136" ID="ID_1606283048" MODIFIED="1681832419154" TEXT="diese baut auf den Test-Hilfsmitteln auf (die wir hier entwickeln)"/>
|
||||||
|
<node CREATED="1681832422005" ID="ID_1203832652" MODIFIED="1681832531957" TEXT="aber: das ist mehr ein Konfigurations Front-end">
|
||||||
|
<richcontent TYPE="NOTE"><html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>
|
||||||
|
den skizzierten, wie üblich weitreichenden Plänen gemäß kann mit erheblicher Komplexität gerechnet werden; es erscheint daher angemessen, die eigentlichen Mock-Bausteine separat nutzbar zu halten und die DummyPlayConnection zur Orchestrierung des jeweiligen Test-Setup zu verwenden
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html></richcontent>
|
||||||
|
<icon BUILTIN="yes"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1681832844221" ID="ID_826966768" MODIFIED="1681832848268" TEXT="Aufbau">
|
||||||
|
<icon BUILTIN="pencil"/>
|
||||||
|
<node CREATED="1681832851795" ID="ID_1453467501" MODIFIED="1681832896408" TEXT="vom MockJobTicket aus beginnen...">
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681832899812" ID="ID_1664606019" MODIFIED="1681832943961" TEXT="GenNode-basierter Implementierungs-Kern">
|
||||||
|
<linktarget COLOR="#fef7d1" DESTINATION="ID_1664606019" ENDARROW="Default" ENDINCLINATION="139;-4;" ID="Arrow_ID_1184218305" SOURCE="ID_581175494" STARTARROW="None" STARTINCLINATION="13;150;"/>
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681833031252" HGAP="29" ID="ID_1232985944" MODIFIED="1681833059957" TEXT="leer" VSHIFT="14">
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681833034545" ID="ID_1378629902" MODIFIED="1681833049605" TEXT="rekursiv mit Prerequisite">
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681833071385" ID="ID_1107925235" MODIFIED="1681833077742" TEXT="MockJob hinterlegen">
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1681839415291" ID="ID_310889374" MODIFIED="1681839523165" TEXT="bestehenden Code nutzbar machen">
|
||||||
|
<linktarget COLOR="#fe80b2" DESTINATION="ID_310889374" ENDARROW="Default" ENDINCLINATION="-503;-32;" ID="Arrow_ID_1927639949" SOURCE="ID_697548050" STARTARROW="None" STARTINCLINATION="230;9;"/>
|
||||||
|
<icon BUILTIN="pencil"/>
|
||||||
|
<node CREATED="1681839541902" ID="ID_147064800" MODIFIED="1681839551928" TEXT="die Datenstrukturen im JobTicket sind mühsam">
|
||||||
|
<node CREATED="1681839553444" ID="ID_1298986941" MODIFIED="1681839563846" TEXT="die intrusive Linked-List ist fragwürdig"/>
|
||||||
|
<node CREATED="1681839564362" ID="ID_1371203216" MODIFIED="1681839580980" TEXT="aber Storage muß zwingend lückenlos sein"/>
|
||||||
|
<node CREATED="1681839581752" ID="ID_643256358" MODIFIED="1681839603985" TEXT="alternativ wäre daher ein Builder / Subtyp-Ansatz notwendig"/>
|
||||||
|
<node CREATED="1681839605783" ID="ID_133261971" MODIFIED="1681839717383" TEXT="dieser wirft auch so seine Probleme auf">
|
||||||
|
<richcontent TYPE="NOTE"><html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>
|
||||||
|
... vor allem eine zusätzliche Indirektion, deren Wirkung nicht einfach abzuschätzen ist. Die tatsächliche Listenlänge muß letztlich immer irgendwo explizit repräsentiert werden, und wenn man dies in einem Subtyp verbirgt, muß jeder Datenzugriff zwingend einmal durch eine Indirektion laufen
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html></richcontent>
|
||||||
|
<icon BUILTIN="stop-sign"/>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681839722781" ID="ID_1259093394" MODIFIED="1681839753677" TEXT="also erst mal so belassen">
|
||||||
|
<icon BUILTIN="yes"/>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681839729932" ID="ID_734404270" MODIFIED="1681839744054" TEXT="später nochmal analysieren">
|
||||||
|
<icon BUILTIN="hourglass"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681839764807" ID="ID_817794853" MODIFIED="1681839788158" TEXT="der mit eingebaute Stack muß jetzt irgendwie brach liegen bleiben">
|
||||||
|
<icon BUILTIN="messagebox_warning"/>
|
||||||
|
</node>
|
||||||
|
<node CREATED="1681839799283" ID="ID_830915873" MODIFIED="1681839807269" TEXT="selbst einfachste Tests brauchen...">
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681839808074" ID="ID_389152221" MODIFIED="1681839820464" TEXT="Einstiegspunkt">
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node CREATED="1681839824481" ID="ID_1782808621" LINK="#ID_1656777068" MODIFIED="1681839924803" TEXT="HA! startExploration könnte überflüssig sein">
|
||||||
|
<icon BUILTIN="idea"/>
|
||||||
|
<node CREATED="1681839942912" ID="ID_1045793970" MODIFIED="1681839954754" TEXT="an der Stelle zeigten sich deutlich die inneren Widersprüche"/>
|
||||||
|
<node CREATED="1681839958747" ID="ID_506200323" MODIFIED="1681839992513" TEXT="kann mich erinnern, daß ich damals mich dort massiv festgefahren habe">
|
||||||
|
<icon BUILTIN="smiley-angry"/>
|
||||||
|
</node>
|
||||||
|
<node CREATED="1681839975059" ID="ID_1105715936" MODIFIED="1681839987192" TEXT="und auch jetzt hab ich schon wieder ein paar Stunden gegrübelt">
|
||||||
|
<icon BUILTIN="smiley-oh"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681839812280" ID="ID_525360569" MODIFIED="1681839820465" TEXT="Iteration">
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node CREATED="1681840007512" ID="ID_1951568685" MODIFIED="1681840020471" TEXT="ist für LinkedElements bereits fertig implementiert">
|
||||||
|
<icon BUILTIN="idea"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681839815223" ID="ID_864479514" MODIFIED="1681839820465" TEXT="Verifikation">
|
||||||
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1681840026883" ID="ID_43381502" MODIFIED="1681840070423" TEXT="es gibt eine empty()-Funktion — brauchbar?">
|
||||||
|
<icon BUILTIN="help"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
|
@ -69671,9 +69799,40 @@
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-yellow"/>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742129796" ID="ID_189050777" MODIFIED="1681742134141" TEXT="pro">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742129796" ID="ID_189050777" MODIFIED="1681742134141" TEXT="pro">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node CREATED="1681838331575" ID="ID_239877433" MODIFIED="1681838347337" TEXT="einfachere Primitive im eigentlichen Render-Netzwerk"/>
|
||||||
|
<node CREATED="1681838400094" ID="ID_1608524064" MODIFIED="1681838415480" TEXT="ein pervasives, fast überall irrelevantes Meta-Datum fällt weg"/>
|
||||||
|
<node CREATED="1681838767717" ID="ID_1175513068" MODIFIED="1681838892572" TEXT="potentielle Komplexitäten der Channel-Selektion werden in den Build-Prozeß verlagert">
|
||||||
|
<richcontent TYPE="NOTE"><html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>
|
||||||
|
...es ist keineswegs sicher, daß wir mit einer bloßen Addressierung per Channel-Nummer auskommen; es könnte durchaus passieren, daß Erweiterung auf eine generische Selektions-Sprache notwendig wird
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html></richcontent>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742131726" ID="ID_1521704856" MODIFIED="1681742134141" TEXT="contra">
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681742131726" ID="ID_1521704856" MODIFIED="1681742134141" TEXT="contra">
|
||||||
<icon BUILTIN="flag-yellow"/>
|
<icon BUILTIN="flag-yellow"/>
|
||||||
|
<node CREATED="1681838010874" ID="ID_646358803" MODIFIED="1681838019972" TEXT="identisch pro channel aufgedoppelte Pipelines">
|
||||||
|
<node CREATED="1681838041838" ID="ID_1433619565" MODIFIED="1681838054376" TEXT="...müßten tatsächlich nur einmal geplant und realisiert werden"/>
|
||||||
|
<node CREATED="1681838058588" ID="ID_1606171759" MODIFIED="1681838075957" TEXT="sie werden dann lediglich mehrfach mit anderer Parametrisierung bespielt"/>
|
||||||
|
<node CREATED="1681838082068" ID="ID_262950828" MODIFIED="1681838121263" TEXT="die Parametrisierung wird typischerweise lediglich zur Quelle/Mediencontainer druchgereicht"/>
|
||||||
|
</node>
|
||||||
|
<node CREATED="1681838495277" ID="ID_314464979" MODIFIED="1681838672355" TEXT="führt zumindest zu massiver Duplikation von Deskriptoren und Metadaten zur Steuerung">
|
||||||
|
<richcontent TYPE="NOTE"><html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>
|
||||||
|
man denke nur an higher-order Ambisonics...
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html></richcontent>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681742137539" ID="ID_1756656706" MODIFIED="1681742142187" TEXT="Entscheidung">
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681742137539" ID="ID_1756656706" MODIFIED="1681742142187" TEXT="Entscheidung">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue