Files
mdg-filius/README.md
T
julian.kiedaischandClaude Opus 5.5 63273916b5 feat(editor): F4.3 the editor's frame and surface; a switch's cloud read and written
packages/editor (React 18, Vite) draws a document as Java FILIUS does: Java's
default hardware icons, the device button of JSidebarButton, cables as
JCablePanel's quadratic curve between the buttons' middles, wireless cables
dashed, documentation items below. The surface moves with mouse and finger
(the pointer captured only once it moved) and zooms with Ctrl and the
wheel, a trackpad pinch, two fingers and the zoom bar; the first view shows
all. German and English catalogs with Java's device names, the dashboard's
colour tokens, the bridge with its origin check. packages/doc gets the
drawing's light view of a document.

Java's Switch.cloud (the Internet in the examples) was lost on reading; it
is now read, kept in the model and written, with FlsOracle and the corpus,
written and exported checks renewed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:05:25 +00:00

49 lines
2.1 KiB
Markdown

# mdg-filius
Netzwerksimulation nach [FILIUS](https://www.lernsoftware-filius.de) 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`](https://github.com/filius-project/filius-ipad)
(Swift, GPLv2 oder GPLv3) — Vorlage für Kern, `.fls`-Codec und Tests,
* [`filius1/filius`](https://gitlab.com/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 |
| `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): bisher die Fläche; `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
```bash
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).