|
|
|
|
@ -19375,9 +19375,7 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1664056051832" ID="ID_528560555" MODIFIED="1664056323292" TEXT="möglicherweise die human-readable-Form">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
...die name-ID muß eindeutig sein (modulo Objekt-Typ), weil allein daraus eine EntryID zu konstruieren ist, vermöge deren die Kommunikation über den Bus gesteuert wird. Daher ist es denkbar, daß die User [optional] eine mnemonische Form definieren wollen, und diese steht dann im Label-Widget. Und noch etwas: der Label-Text wird ggfs. zur Anzeige gekürzt, also muß irgendwo der Basis-Text stehen (es sei denn, man holt sich den via Request über den Bus)
|
|
|
|
|
@ -19754,9 +19752,7 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1661703733113" ID="ID_1280505961" MODIFIED="1661704551822" TEXT="Angaben müssen angepaßt werden">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
...wannimmersich die Display-Metrik ändert (bei jeder Zoom-Anpassung!)
|
|
|
|
|
@ -20185,9 +20181,7 @@
|
|
|
|
|
<node CREATED="1666315741368" ID="ID_581715301" MODIFIED="1666315759423" TEXT="und die Voraussetzung: man braucht ein zugeordnetes GdkWindow"/>
|
|
|
|
|
<node CREATED="1666315760552" ID="ID_491760379" MODIFIED="1666315831393" TEXT="Diagnose: Gtk::Frame hat kein Window">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
get_has_window()  ➔ <font face="Monospaced" color="#6c13de">false</font>
|
|
|
|
|
@ -20737,9 +20731,7 @@
|
|
|
|
|
<node CREATED="1569799685975" ID="ID_1899453702" MODIFIED="1569799698129" TEXT="zunächst einmal ziemlich festgelegt">
|
|
|
|
|
<node CREATED="1569799719906" ID="ID_201546085" MODIFIED="1576282358095" TEXT="Lambdas würden einen Ziel-Pointer pro Lambda erfordern">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
Erläuterung: man könnte auf die Idee kommen, die vier notwendigen Operationen auf dem Ziel durch Lambdas zu verkapseln. Wenn man dann aber nicht aufpaßt, resultiert das in einer Closure für jedes dieser vier Lamdas, und diese Closure hält zumindest einen Pointer auf das Zielobjekt. <i>Der Vorteil eines solchen Ansatzes </i>wäre natürlich, daß der konkrete Typ von Quelle und Ziel aus der Definition des ViewHook verschwindet (allerdings auch nur, wenn diese Lambdas in std::function-Objekte gewickelt sind)
|
|
|
|
|
@ -21624,9 +21616,7 @@
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1675387257113" ID="ID_324465991" MODIFIED="1675387413606" TEXT="Anhaltspunkt: TreeMutator für Clips im TrackPresenter">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
dieser greift im »Constructor« binding...
|
|
|
|
|
@ -23337,9 +23327,7 @@
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
<node CREATED="1666476598232" ID="ID_412611180" MODIFIED="1666476751149" TEXT="zunächst als Dependency-Injection in die Track-Struktur eingewoben">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
per »einhäkel-λ«
|
|
|
|
|
@ -26667,9 +26655,7 @@
|
|
|
|
|
<icon BUILTIN="button_cancel"/>
|
|
|
|
|
<node CREATED="1582926631295" ID="ID_1387833468" MODIFIED="1582926643826">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
<i>wenn</i> das so relevant werden sollte
|
|
|
|
|
@ -36842,9 +36828,7 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1532791334135" ID="ID_669771307" MODIFIED="1576282358028">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
wohl <b>einzige verbleibende</b> Verwendung
|
|
|
|
|
@ -40024,9 +40008,7 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1672672309323" ID="ID_903266469" MODIFIED="1672672619791" TEXT="es gibt technische Beschränkungen">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
bedingt durch die interne Repräsesntation (als 64bit µ-Ticks bzw. signed fraction)...
|
|
|
|
|
@ -41555,9 +41537,7 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1668110543283" ID="ID_1610967476" MODIFIED="1668110656569" TEXT="Test auf Anhieb erfolgreich">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
Mathematik halt....
|
|
|
|
|
@ -42435,9 +42415,7 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1670607798845" ID="ID_1832446179" MODIFIED="1670607935324" TEXT="es gibt hier keine Garantien">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
anders im Nenner;  md * dd ist garantiert berechenbar, sofern die Duration selber aus einem time::Duration gebildet wurde (und md ist durch das detox() limitiert worden)
|
|
|
|
|
@ -43053,9 +43031,7 @@
|
|
|
|
|
<node CREATED="1670717895146" ID="ID_750112679" MODIFIED="1670717903085" TEXT="effektiv ~ 1e-9"/>
|
|
|
|
|
<node CREATED="1670717904177" ID="ID_850581245" MODIFIED="1670718019510" TEXT="oder etwas kleiner falls MAX_TIMESPAN">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
die MAX_TIMESPAN-Limitierung beginnt etwas über 1000px zu greifen; diese Unterschwelle wäre aber px · 1e-14
|
|
|
|
|
@ -43491,9 +43467,7 @@
|
|
|
|
|
<node CREATED="1671291612706" ID="ID_1061099064" MODIFIED="1671291623193" TEXT="obwohl wir da definitiv mehr darstellen könnten"/>
|
|
|
|
|
<node CREATED="1671292172775" ID="ID_778157874" MODIFIED="1671292310771" TEXT="ich sehe aber keinen Nutzen dafür">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
selbst Sound-Samples sind (absolut betrachet) noch 10.41ms auseinander; solange wir <i>das</i> komfortabel und sauber im GUI darstellen und handhaben können, sind wir fein
|
|
|
|
|
@ -43767,9 +43741,7 @@
|
|
|
|
|
<node CREATED="1668399055151" ID="ID_1320606425" MODIFIED="1668399066085" TEXT="sind beide in der gleichen Größenordnung"/>
|
|
|
|
|
<node CREATED="1668399066733" ID="ID_833533643" MODIFIED="1668399154910" TEXT="was dagegen spricht: ich kenne nicht den Grund warum std::ilogb so schnell ist">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
eine andere Standard-Library, und ilogb() könnte deutlich langsamer sein.
|
|
|
|
|
@ -52784,8 +52756,9 @@
|
|
|
|
|
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1732221642486" ID="ID_1450873226" MODIFIED="1732233711887" TEXT="neues Problem: expander-Kollaborations-API weitergeben">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1732221665403" ID="ID_421112241" MODIFIED="1732221694417" TEXT="bisher wurde dieses auf dem BaseAdapter terminiert"/>
|
|
|
|
|
<node CREATED="1732221701598" ID="ID_776445249" MODIFIED="1732221710825" TEXT="ich brauche also einen anderen Base-Adapter"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1732221711745" ID="ID_1004997061" MODIFIED="1732233705544" TEXT="⟹ den untersten InterExplorer-Layer muß ich explizit konstruieren">
|
|
|
|
|
<node CREATED="1732221701598" ID="ID_776445249" MODIFIED="1732404349453" TEXT="ich brauche also einen anderen oder gar keinen Base-Adapter"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1732221711745" ID="ID_1004997061" MODIFIED="1732404392929" TEXT="⟹ Möglichkeit zur Anpassung des Base-Adapters schaffen">
|
|
|
|
|
<arrowlink COLOR="#a22991" DESTINATION="ID_87985222" ENDARROW="Default" ENDINCLINATION="-276;-254;" ID="Arrow_ID_125112633" STARTARROW="None" STARTINCLINATION="-524;25;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
@ -52860,6 +52833,143 @@
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1732404219427" ID="ID_87985222" MODIFIED="1732404384050" TEXT="Adapter-Generierung neu ordnen">
|
|
|
|
|
<linktarget COLOR="#ed5a59" DESTINATION="ID_87985222" ENDARROW="Default" ENDINCLINATION="180;171;" ID="Arrow_ID_1403487927" SOURCE="ID_1051749303" STARTARROW="None" STARTINCLINATION="425;-32;"/>
|
|
|
|
|
<linktarget COLOR="#a22991" DESTINATION="ID_87985222" ENDARROW="Default" ENDINCLINATION="-276;-254;" ID="Arrow_ID_125112633" SOURCE="ID_1004997061" STARTARROW="None" STARTINCLINATION="-524;25;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node CREATED="1732404405058" ID="ID_912348266" MODIFIED="1732404409231" TEXT="Feststellungen">
|
|
|
|
|
<node CREATED="1732404411080" ID="ID_619838250" MODIFIED="1732404450348" TEXT="IterExplorer fügt bisweilen unnötig Adapter hinzu"/>
|
|
|
|
|
<node CREATED="1732404451204" ID="ID_1816461381" MODIFIED="1732404472437" TEXT="der Base-Adapter könnte ganz wegfallen — wenn bereits einer da ist"/>
|
|
|
|
|
<node CREATED="1732404473288" ID="ID_1944760216" MODIFIED="1732404531008" TEXT="ein IterableDecorator und ggfs ein IterExplorer können abgehoben werden"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1732405205696" ID="ID_474793959" MODIFIED="1732405220566" TEXT="ich ziehe hier vor, auf explizite Type-Tags zu setzen">
|
|
|
|
|
<node CREATED="1732405221708" ID="ID_156327017" MODIFIED="1732405242941" TEXT="diese gehören sicher zum IterExplorer-Ökosystem"/>
|
|
|
|
|
<node CREATED="1732405244193" ID="ID_1388758928" MODIFIED="1732405273344" TEXT="als Extension-Point können sie auch explizit gesetzt werden ⟹ Lösung"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1732405282395" ID="ID_1720349507" MODIFIED="1732418699090" TEXT="zwei neue Aufbereitungs-Schritte">
|
|
|
|
|
<icon BUILTIN="pencil"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732405300562" ID="ID_1747377543" MODIFIED="1732418717425" TEXT="BaseSrc freilgen anhand von Type-Tags">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732405337093" ID="ID_119797718" MODIFIED="1732418749082" TEXT="IterExplorer setzt dieses Tag stets auf den direkt unterliegenden SRC-Typ">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#435e98" CREATED="1732405363656" ID="ID_1939842999" MODIFIED="1732418735716" TEXT="darunter liegender IterableDecorator wird automatisch auf Core gestrippt">
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732405652074" ID="ID_3854674" MODIFIED="1732418743893" TEXT="sonst: nichts machen (d.h. IT ≙ BaseSrc)">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#435e98" CREATED="1732418790617" ID="ID_817698426" MODIFIED="1732487151425" TEXT="kann man hier auch noch eine redundant eingefügte CheckedCore strippen?">
|
|
|
|
|
<font NAME="SansSerif" SIZE="12"/>
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node COLOR="#5b280f" CREATED="1732418814782" ID="ID_1506139893" MODIFIED="1732418841725" TEXT="1. Versuch: direkt in die _DecoratorTraits">
|
|
|
|
|
<icon BUILTIN="button_cancel"/>
|
|
|
|
|
<node CREATED="1732418842978" ID="ID_1120619472" MODIFIED="1732418878886" TEXT="erst mal : muß die CheckedCore selber mit Type-Tag markieren">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
andere Tricks mit der _rawCore()-Zugriffsfunktion scheinen nicht zu gehen
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
</richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#5b280f" CREATED="1732418880968" ID="ID_1435649475" MODIFIED="1732418978932" TEXT="Tilt! das führt dazu, daß jeder Processing-Layer sofort wieder gestrippt wird">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
...da alle Processing-Layer auf State-Cores beruhen, präsentieren wir dem darüberzulegenden IterExplorer die neue Core, und der findet dann die unter diesem Layer liegende CheckedCore des Vorgängers und strippt den neuen Layer weg. <i>YESS es funktioniert!!!!!!</i>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="broken-line"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732487080930" ID="ID_1941671854" MODIFIED="1732487106352" TEXT="2. Versuch: an der gleichen Stelle beim Einstieg">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
<node CREATED="1732487107328" ID="ID_448728086" MODIFIED="1732487121488" TEXT="also jeweils nur wenn der IterExplorer initial konstruiert wird"/>
|
|
|
|
|
<node CREATED="1732487124717" ID="ID_287102344" MODIFIED="1732487148843" TEXT="genaure: sogar nur als ein 2.Preprocessing-Schritt auf der freigelegten BaseSrc"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732405404073" ID="ID_1428756660" MODIFIED="1732418719461" TEXT="Optional einen Base-Adapter einfügen">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732405423113" ID="ID_1973273876" MODIFIED="1732418740596" TEXT="falls kein Base-Adapter-Tag gefunden wurde">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732405460404" ID="ID_994840933" MODIFIED="1732418741710" TEXT="sonst: nichts machen (d.h. bestehenden Base-Adapter verwenden)">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1732487170847" ID="ID_1262167504" MODIFIED="1732487199877" TEXT="Ergebnis: nun viel schlankere und minimale Typ-Schachtelung">
|
|
|
|
|
<icon BUILTIN="forward"/>
|
|
|
|
|
<node CREATED="1732487344743" HGAP="31" ID="ID_488136081" MODIFIED="1732487803727" STYLE="bubble" VSHIFT="11">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
<u><font size="2">vorher</font></u><font size="2">:</font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">IterExplorer< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">  </font><font color="#a70230" face="Monospaced" size="1">BaseAdapter</font><font face="Monospaced" size="1">< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">    IterableDecorator<uint, </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">      CheckedCore< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">        </font><font color="#9301d5" face="Monospaced" size="1">IterExplorer</font><font face="Monospaced" size="1">< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">          </font><font color="#da3300" face="Monospaced" size="1">IterableDecorator</font><font face="Monospaced" size="1"><uint, </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">            </font><font color="#da3300" face="Monospaced" size="1">CheckedCore</font><font face="Monospaced" size="1">< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">              Transformer< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">                BaseAdapter<NumIter<int> >, </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">                uint </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<u><font size="2">nachher</font></u><font size="2">:</font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">IterExplorer< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">  IterableDecorator<uint, </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">    CheckedCore< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">      Transformer< </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">        BaseAdapter<NumIter<int> >, </font>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font face="Monospaced" size="1">        uint </font>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1732235208972" ID="ID_1764687143" MODIFIED="1732308740170" TEXT="nun in Library-Code extrahieren">
|
|
|
|
|
@ -53088,16 +53198,20 @@
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1732332677537" ID="ID_800914951" MODIFIED="1732332688213" TEXT="nachgeschaltete Pipeline">
|
|
|
|
|
<icon BUILTIN="pencil"/>
|
|
|
|
|
<node CREATED="1732332692124" ID="ID_1457478622" MODIFIED="1732332701439" TEXT="transformer in einfache Zahl"/>
|
|
|
|
|
<node CREATED="1732332702041" ID="ID_682214158" MODIFIED="1732332719372" TEXT="Filter basieren auf Werten aus dem Tupel">
|
|
|
|
|
<node COLOR="#338800" CREATED="1732332692124" ID="ID_1457478622" MODIFIED="1732401346084" TEXT="transformer in einfache Zahl">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1732332702041" ID="ID_682214158" MODIFIED="1732401344958" TEXT="Filter basierend auf Werten aus dem Tupel">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1732333449943" ID="ID_1811172733" MODIFIED="1732333478683" TEXT="Beobachtung: direkt gegebener IterExplorer wird nochmal gewrapped">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1732333481816" ID="ID_488310307" MODIFIED="1732333491274" TEXT="das ist unschön"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1732333491869" ID="ID_34490328" MODIFIED="1732333528532" TEXT="...und würde das Durchreichen eines Child-Expanders verhindern">
|
|
|
|
|
<arrowlink COLOR="#7d7a99" DESTINATION="ID_1051749303" ENDARROW="Default" ENDINCLINATION="196;-161;" ID="Arrow_ID_922384929" STARTARROW="None" STARTINCLINATION="-576;25;"/>
|
|
|
|
|
<icon BUILTIN="broken-line"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1732332721552" ID="ID_884561005" MODIFIED="1732332738918" TEXT="erstes Ausgabetupel enthält uninitialisierte Werte">
|
|
|
|
|
<node COLOR="#435e98" CREATED="1732332721552" ID="ID_884561005" MODIFIED="1732380040032" TEXT="erstes Ausgabetupel enthält uninitialisierte Werte">
|
|
|
|
|
<icon BUILTIN="broken-line"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1732335037680" ID="ID_883671623" MODIFIED="1732335076161" TEXT="Ursache: das erste pullFilter() im ctor wird vor dem move() aufgerufen">
|
|
|
|
|
<icon BUILTIN="broken-line"/>
|
|
|
|
|
@ -53125,10 +53239,31 @@
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1732335090297" ID="ID_1603332767" MODIFIED="1732335111791" TEXT="konkret liegt danach im ItemWrapper ein Tuple mit dangling-references">
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1732335516273" ID="ID_77601" MODIFIED="1732335551076" TEXT="Konsequenz: KEINE Aktivität in einem Konstruktor darf Referenzen binden">
|
|
|
|
|
<icon BUILTIN="flag-pink"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1732336927298" ID="ID_1133143344" MODIFIED="1732336965422" TEXT="das betrifft auch Weitere, z.B. das Grouping">
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1732335516273" ID="ID_77601" MODIFIED="1732380035456" TEXT="Konsequenz: KEINE Aktivität in einem Konstruktor darf Referenzen binden">
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1732336927298" ID="ID_1133143344" MODIFIED="1732379480374" TEXT="das betrifft möglicherweise auch Weitere, z.B. das Grouping">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1732378962487" ID="ID_507210660" MODIFIED="1732378981608" TEXT="alle durchgesehen: tatsächlich ist das Grouping i.d.R davon nicht betroffen"/>
|
|
|
|
|
<node CREATED="1732378982412" ID="ID_298559499" MODIFIED="1732379024090" TEXT="alles was per-Value arbeitet, ist sicher (ein Aggregator ist potentiell gefährlich)"/>
|
|
|
|
|
<node CREATED="1732379482769" ID="ID_1391046371" MODIFIED="1732379567301">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
tatsächlich ist der Filter <b>besonders</b> gefährdet
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
weil der Filter selber ja nur den Feed pullt, aber selber keine Werte speichert; damit erzeugt er möglicherweise <i>upstream</i> obsolete Referenzen.
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
</richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1732336967005" ID="ID_643449650" MODIFIED="1732337008685">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
@ -53166,12 +53301,36 @@
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#fafe99" COLOR="#5617c6" CREATED="1732379576452" ID="ID_1580080364" MODIFIED="1732379866080">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
ungutes Gefühl...
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<font size="5">das Design hat hier eine </font><font size="5" color="#c20c49">Schwachstelle</font>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
</richcontent>
|
|
|
|
|
<linktarget COLOR="#dc1411" DESTINATION="ID_1580080364" ENDARROW="Default" ENDINCLINATION="-714;76;" ID="Arrow_ID_705169700" SOURCE="ID_1846153024" STARTARROW="None" STARTINCLINATION="639;23;"/>
|
|
|
|
|
<icon BUILTIN="clanbomber"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1732380041706" ID="ID_1315871262" MODIFIED="1732380070726" TEXT="mit dem Workaround ist das Problem (in diesem Fall) behoben">
|
|
|
|
|
<icon BUILTIN="smiley-oh"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1732235523602" ID="ID_1940842867" MODIFIED="1732235555232" TEXT="Durchgriff auf Child-Expander im Quell-Iterator">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1732404127247" ID="ID_1051749303" MODIFIED="1732404283575" TEXT="setzt Anpassungen an den Adaptern voraus">
|
|
|
|
|
<arrowlink COLOR="#ed5a59" DESTINATION="ID_87985222" ENDARROW="Default" ENDINCLINATION="180;171;" ID="Arrow_ID_1403487927" STARTARROW="None" STARTINCLINATION="425;-32;"/>
|
|
|
|
|
<linktarget COLOR="#7d7a99" DESTINATION="ID_1051749303" ENDARROW="Default" ENDINCLINATION="196;-161;" ID="Arrow_ID_922384929" SOURCE="ID_34490328" STARTARROW="None" STARTINCLINATION="-576;25;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
@ -54443,6 +54602,28 @@
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1732379711542" ID="ID_1700111124" MODIFIED="1732379714311" TEXT="Erfahrungen">
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#980009" CREATED="1732379716299" ID="ID_1803167134" MODIFIED="1732379732267" TEXT="Referenzen sind potentiell gefährlich">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1732379745207" ID="ID_1270739421" MODIFIED="1732379997110" TEXT="besonders der Transformer ist ein Gefahrenherd">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
Diese Gefahr resultiert exakt aus seiner Stärke, daß er nämlich <i>jede beliebige Funktion</i> adaptieren kann, also auch eine Funktion, die Referenzen liefert. Wenn diese Referenzen in internen State der Iterator-Pipeline zeigen, dann werden sie <b>dangling</b>, sobald man die Pipeline verschiebt. Und das passiert leider bereits <b>bei der Konstruktion</b>. Wenn dann hinter dem Transformer noch ein Filter hängt, nimmt das Verhängnis seinen Lauf
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1732379999989" ID="ID_903683469" LINK="#ID_1863518121" MODIFIED="1732380026881" TEXT="Woraround versucht"/>
|
|
|
|
|
<node CREATED="1732380011224" ID="ID_832964054" MODIFIED="1732380020278" TEXT="bin nicht sicher ob der »dicht« ist"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1732379768428" ID="ID_1846153024" MODIFIED="1732379866080" TEXT="das wurde relevant im Iter-Zip, welches ein Tupel von Referenzen speichert">
|
|
|
|
|
<arrowlink COLOR="#dc1411" DESTINATION="ID_1580080364" ENDARROW="Default" ENDINCLINATION="-714;76;" ID="Arrow_ID_705169700" STARTARROW="None" STARTINCLINATION="639;23;"/>
|
|
|
|
|
<icon BUILTIN="broken-line"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1535893137527" ID="ID_994961372" MODIFIED="1535893142488" TEXT="Verwendungen">
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
<node CREATED="1535893144518" ID="ID_1137736223" MODIFIED="1535893214860" TEXT="ViewSpec solver im UI">
|
|
|
|
|
|