da2ec1dae2ced823952fef77831fc090a3b420bf
importProject builds what the simulation core runs from Java's view of a
file: nodes with kinds and ports, links between port ids, device and
interface IP configurations, documentation items with Swift's derived
ids. The core gains the model types it needs (node, link, graph,
documentation item), ported from filius-ipad.
Checked against the Swift import, which the Swift oracle now writes in
full (corpus.swift.json, "state"), on the 13 files Swift reads
completely. Two differences are intended and named in the test:
- a device the file leaves unnamed has Java's default name
("Switch / WLAN"), not Swift's;
- multicast_server.fls: useIPAsName refers to a shared Boolean that
Swift cannot follow; Java shows the IP address, and so do we.
All 23 files import with as many devices and cables as Java has, and an
imported example pings across its router in the core.
Port counts of switches and routers follow Java's lists instead of
Swift's guess from references.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 (folgt) |
packages/doc |
gemeinsames Dokument (Yjs) (folgt) |
packages/editor |
Oberfläche im Iframe des Dashboards (folgt) |
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
Code, Kommentare und Testnamen sind englisch; sichtbare Texte stehen hinter i18n-Schlüsseln (Deutsch/Englisch).
Languages
TypeScript
85%
Java
11.6%
CSS
1.2%
Swift
1.1%
Shell
0.9%
Other
0.1%