feat: F4.7 the data exchange window, measured against Java's

One row per frame (its highest layer's), Java's detail tree, the table as
Java's text file, "Tabellen löschen" for every card (clearCapture in the
room), a tab per card with Java's title, Java's layer colours as tokens,
the chosen frame and autoscroll per tab. New oracle ExchangeWindowRun.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-04 09:12:38 +00:00
co-authored by Claude Opus 5.5
parent 6809a71300
commit 9252b942c4
26 changed files with 7692 additions and 33 deletions
+38
View File
@@ -1623,3 +1623,41 @@ Gemessen (03.10.2026):
zeigt `HH:mm:ss.SSS : ` und den Frame in Javas Textform
(`[src=…, dest=…, type=0x800 | [id=…; ttl=64; …]]`; ein IP-Paket ohne sein
Segment).
### Datenaustausch-Fenster (F4.7)
`ExchangeWindowRun` benutzt Javas Datenaustausch-Fenster wie eine Person:
`AggregatedExchangeDialog`, das `filius.ini` wählt (`old-exchange-dialog=0`),
mit den Details als `MessageDetailsPanel` (ohne die experimentelle
Schichtenansicht, Javas Voreinstellung). Auf `web-lan` öffnet die Sonde die
Karte des Browsers vor jedem Verkehr, lädt `www.filius.de/text.txt`, wählt
jede Zeile und liest die Details, exportiert die Tabelle (`writeToStream`),
öffnet die Karte des Servers daneben und die erste wieder, wählt „Tabellen
löschen“ aus dem Menü der Tabelle (per `mousePressed`), lädt noch einmal
und startet die Simulation ohne den Server neu (als wäre er im Entwurf
entfernt); dann wird das Fenster aktiviert (`clearUnavailableComponents`).
Nach jedem Schritt: Reitertitel, gewählter Reiter, die Zeilen jeder Tabelle
und zum Vergleich `Lauscher.getDaten` (`packages/core/test/exchangeWindow.java.json`).
Gemessen (04.10.2026):
* Die Tabelle zeigt je Frame eine Zeile, die seiner höchsten Schicht (mit
Adresse:Port); 17 Zeilen statt Javas 51 Schichtzeilen.
* Reitertitel „Anna - 192.168.0.20“, beim Rechner mit der Adresse als
Beschriftung nur „192.168.0.30“; ein zweites Öffnen wählt den Reiter.
* Die Details: „Nr.: 1 / Zeit: 08:32:35.815“, je Schicht ihr Name, darunter
`Quelle:`, `Ziel:`, `Protokoll:` auf 15 Zeichen aufgefüllt (leere fehlen),
„Bemerkungen / Details: …“, bei der Anwendung „(83 Bytes)“; eine
Bemerkung mit Zeilenumbruch oder über 60 Zeichen als eigener Knoten.
* Der Export: Rahmen aus `=` um den Kopf, Breiten 10/20/40, die Bemerkung
auf Wörter zu je höchstens 40 Zeichen, Zeilen mit CR LF.
* „Tabellen löschen“ leert die Tabellen aller Karten; danach beginnen die
Nummern bei 1. Das Menü: „Tabellen löschen“, „Als Textdatei exportieren“,
„Automatisches Scrollen“.
* Nach dem Neustart bleiben der Reiter des Browsers und seine 13 Zeilen;
der Reiter des nicht gestarteten Servers verschwindet.
Fallen der Sonde: Die Einträge des Tabellenmenüs hören nur auf
`mousePressed` (sie haben keinen `ActionListener`). Beim Stoppen versteckt Javas Oberfläche das Fenster
(`closeDialogs`); ein Aktivieren im Entwurf, wie es die Sonde zuerst tat,
entfernt alle Reiter, kommt aber in Javas Oberfläche nicht vor.