ReportRun reads Java's report back with iText: every piece of text with its place, font, size and colour. The editor lays the report out by iText's rules (A4, leading 1.5, loose chunks in the current line, tables 80 % wide with padding 2, fixed traffic columns, page breaks) and draws it with pdf-lib in the PDF's own Helvetica, widths without kerning as iText measures. All device pages of Internet_Komplett, the first page and the data exchange of einfaches_rechnernetz_komplett match Java piece by piece; Java's iText reads our PDF with the same text in the same places. The sidebar gains Java's "Report"; the frames come from the room by a short subscription. Not adopted: true/false for DHCP (Java's own Ja/Nein), hash table orders, an image running off the page, the report writing back into the model. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.3 KiB
mdg-filius
Netzwerksimulation nach FILIUS für den Browser — als App „Filius" im MDG-Dashboard, gemeinsam bearbeitbar.
Based on Filius by Dr. Stefan Freischlad and the Filius project.
Dieses Projekt ist unabhängig. Es wird weder vom ursprünglichen Filius-Projekt (Universität Siegen) noch von
filius-project(Filius on iPad) herausgegeben, betrieben oder unterstützt.
Herkunft
Der Simulationskern ist eine Übertragung nach TypeScript aus
filius-project/filius-ipad(Swift, GPLv2 oder GPLv3) — Vorlage für Kern,.fls-Codec und Tests,filius1/filius(Java, GPLv2 oder GPLv3) — Referenz für Dateiformat und Verhalten.
Jede übertragene Datei nennt in ihrem Kopf die Quelldatei. CHANGES.md führt
die Herkunft je Paket. Lizenz dieses Repos: GPL-3.0 (LICENSE).
Aufbau
| Pfad | Inhalt |
|---|---|
packages/core |
Simulationskern: Modell, Ereignis-Warteschlange, Protokolle, Anwendungen — ohne DOM, ohne Node |
packages/fls |
.fls lesen, schreiben, Unbekanntes bewahren |
packages/doc |
gemeinsames Dokument (Yjs): Projekt ⇄ Dokument, Schnappschuss des Kerns, Hausmeister, die Änderungen der Werkzeuge und des Geräte-Blatts (mit Javas Eingabeprüfung) |
packages/protocol |
die eine Nachrichtenliste zwischen Editor und Simulationsraum (/sim) |
packages/sim |
Simulationsraum (für Server F und den Web Worker) und LocalSimHost |
packages/editor |
Oberfläche im Iframe des Dashboards (React, Vite): Fläche, Palette, Werkzeuge des Entwurfs, Geräte-Blatt, Aktionsmodus (Desktops, Anwendungen, Datenaustausch), Dokumentationsmodus (Text, Gliederungsfläche, Bild exportieren, Bericht als PDF); npm run dev -w @mdg-filius/editor öffnet die Entwicklungsseite |
server |
Filius-Dienst auf Server F (folgt) |
Plan und Entscheidungen: knowledge/plans/FILIUS_WEB_PLAN.md im Dashboard.
Entwickeln
npm install
npm run hooks # Sprachprüfung vor jedem Commit (braucht das Dashboard drumherum)
npm run check # Typprüfung + Tests
npm run test:browser # Tests im echten Browser (Playwright, Chromium aus dem Cache)
Code, Kommentare und Testnamen sind englisch; sichtbare Texte stehen hinter i18n-Schlüsseln (Deutsch/Englisch).