Skip to content

OCL im Instanz-Editor, Ladeanzeige, Workspace-Editor und Workspace-Wechsel - #182

Merged
vwfox merged 17 commits into
mainfrom
feat/ocl-und-ladeanzeige
Oct 26, 2026
Merged

vwfox merged 17 commits into
mainfrom
feat/ocl-und-ladeanzeige

Conversation

@vwfox

@vwfox vwfox commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Fasst #180 und #181 zusammen.

Teil 1: OCL im Instanz-Editor (#180)

Worum es geht

Im Uni-Workspace (genE/uni) bekam ein Student einen Kurs einer fremden Uni:

  • nichts wurde ausgegraut,
  • keine Warnung beim Zuweisen,
  • „Validate OCL (local)“ fand nichts.

Modell und Daten sind in Ordnung – Martin (Uni Jena) mit Informatik (Mittweida) verletzt KurseNurVonEigenerUni. Gene hat schlicht nicht geprüft.

Ursachen und Änderungen

„Validate OCL“ war tot

  • Der Menüpunkt sendet validate-ocl-request; seit d42388f hörte niemand darauf. Der alte Handler prüfte zudem die gemeinsame Ressource statt des Tab-Dokuments.
  • Jetzt beantwortet das Instanzbaum-Plugin die Anfrage mit allen Ressourcen des vorderen Tabs. Der tote Handler ist entfernt.

Keine Live-Prüfung

  • attachTo merkte sich die Ressource nur (sein Kommentar versprach anderes). Jetzt hängt ein EContentAdapter daran: jede echte Änderung prüft entprellt neu.
  • Jedes Instanz-Tab-Dokument meldet seine Ressourcen an; beim Schließen werden sie abgelöst.
  • validateResource ersetzt nur noch die Befunde dieser Ressource – Parser-Meldungen und andere Tabs bleiben.

OCL verglich Objekte falsch

  • wrapEObjectForOcl baute bei jedem Zugriff eine neue Hülle; uk = k war nie wahr. Sobald die Prüfung lief, hätte jeder Kurs als fremder gegolten. Jetzt eine Hülle je Objekt.

Constraint-Dateien des Workspace

  • .c-ocl/.cocl im Ordner der .wsp werden beim Öffnen mitgeladen (vor den Instanzen). Damit greift der Referenz-Filter aus university.c-ocl und graut fremde Kurse aus.
  • Ein Feld in der .wsp wäre die ausdrückliche Lösung, bräuchte aber ein neues Generat – das eingecheckte passt schon heute nicht zum Modell (EditorBinding fehlt).

Tests

  • OCL lädt jetzt in Vitest: @emfts/ocl.* importiert in dist ohne Dateiendung, Node lehnt das ab; Vitest wandelt die Pakete nun selbst um.
  • Problems-Service mit dem Uni-Modell: Verstoß auf Anfrage, eigener Kurs erlaubt, live nach Zuweisung und nach Korrektur, später hinzugefügte Objekte, abgelöste Ressource, andere Tabs und Parser-Meldungen bleiben, Referenz-Filter der .c-ocl. Ohne die Änderungen scheitern 5 von 6 der Live-Tests.
  • Instanzbaum: Beobachter der Tab-Ressourcen, Validieren eines Dokuments, Plugin hört auf „Validate OCL“ und meldet Dokumente an.
  • Workspace: Suche der .c-ocl neben der .wsp (nur dieser Ordner, Wurzel, .cocl, Fehler bricht nichts ab).
  • Alle Unit-Tests grün, keine neuen Typfehler, ESLint ohne Fehler.

Nachtrag: Anzeige im Editor

Nach dem ersten Stand schlug die Prüfung an, im Editor war aber nichts zu sehen.

  • Suchdialog graut aus: kurse wird über die Suche gefüllt. Sie bekommt jetzt auch den REFERENCE_FILTER aus der .c-ocl und wertet Filter mit self (Student) und target (Kurs) aus – query bindet dafür target je Kandidat. Bisher gab die Suche bei solchen Ausdrücken auf.
  • Feld wird rot: Das Referenzfeld wertet den Filter je Kandidat aus (statt Umschreiben und Namensvergleich) und markiert zugewiesene Werte, die der Filter ablehnt, mit Meldung am Feld.
  • Rot war nie rot: var(--red-500) gibt es im PrimeVue-4-Theme nicht; die Felder des Instanz-Editors nutzen jetzt var(--p-red-500) mit Rückfall. Andere Bereiche (Layout, Atlas, Aktionen) haben dieselbe Variable noch.
  • Geprüft: Tests für query mit target, das Feld (Informatik bei Martin markiert, Mathe nicht) und die Suche (Kurse aus Mittweida gesperrt); im Browser mit dem Uni-Workspace.

Teil 2: Ladeanzeige für Instanz- und Modell-Editor (#181)

Worum es geht

Im CWM-Zweig (features_cwm) gibt es beim Öffnen eines Editors eine Ladeanzeige. Instanz- und Modell-Editor bekommen sie jetzt auch.

Was sich ändert

  • Übernommen aus features_cwm:
    • 0247856: Overlay beim Öffnen eines Workspace, bis Modelle und Instanzen geladen sind.
    • f2819b8: „Editor wird geladen“ und das überarbeitete Overlay (Karte im Panel-Stil, Ring in der Primärfarbe, deutsche Titel). Ohne den CWM-Öffner, den es auf main nicht gibt.
  • Instanz- und Modell-Editor: loadInstances und openMetamodelInEditor laufen über die Ladeanzeige. Sie erscheint zwei Bilder vor der blockierenden Arbeit und bleibt, bis der Tab gezeichnet ist; verschachteltes Öffnen hält sie bis zum äußersten Aufruf.
  • Eigener Baustein: services/editorLoading.ts statt Code in App.vue, damit testbar.

Geprüft

  • Tests: Overlay steht mit Dateiname vor der Arbeit, verschachtelt bis zum Ende, verschwindet bei Fehlern.
  • Im Browser: university-instance.xmi (Instanz-Editor) und university.ecore (Modell-Editor) zeigen „Editor wird geladen“ mit Dateinamen, danach ist das Overlay weg.
  • Alle Unit-Tests grün, keine neuen Typfehler, ESLint ohne Fehler.

Hinweis

Wird features_cwm später auf main gezogen, kommen 0247856 und f2819b8 dort schon mit; beim CWM-Öffner bietet sich dann withEditorLoading statt der eigenen Kopie an.

Zusammen

  • Beim Öffnen eines Workspace laufen jetzt auch die .c-ocl-Dateien unter dem Workspace-Overlay.
  • Alle Unit-Tests grün (585), keine neuen Typfehler, ESLint ohne Fehler.

Teil 3: Geladener Workspace in der Kopfzeile

  • Die Kopfzeile zeigt den geladenen Workspace: ein kleines Quadrat mit dem Anfangsbuchstaben, daneben der Name (aus der .wsp, sonst der Dateiname), der Pfad im Tooltip. Die Farbe kommt aus dem Namen.
  • Bisher stand dort immer „Gene Workspace“: die Kopfzeile fragte den Perspektiven-Dienst einmal beim Aufbau, bevor das Plugin ihn anmeldete. Jetzt über whenService.
  • Tests für Name, Buchstabe und Farbe; im Browser geprüft (uni/uni.wsp → „U“ und „uni“).

Teil 4: Ungespeicherte Workspace-Änderungen

  • Punkt in der Kopfzeile: neben dem Workspace-Namen, solange es ungespeicherte Änderungen gibt; ein Klick schreibt die .wsp. Bisher zeigte das nur der Einstellungsdialog.
  • Rückfrage beim Wechsel: Hat der geladene Workspace ungespeicherte Änderungen, fragt ein Dialog vor dem Öffnen eines anderen: Speichern, Verwerfen oder Abbrechen. Schlägt das Speichern fehl, bleibt der alte offen. Bisher gingen die Änderungen still verloren.
  • Appearance sitzt jetzt rechts in der ersten Kopfzeile statt in der Menüleiste unter dem Tab.
  • Tests: Komponente der Kopfzeile, Ablauf beim Wechsel (alle Wege). Im Browser geprüft: Punkt erscheint und speichert, Abbrechen behält „uni“, Verwerfen öffnet „karla“.

Teil 5: Beim Wechsel den alten Workspace entladen

  • Bisher blieb beim Öffnen eines anderen Workspace alles vom vorigen geladen: Metamodelle (Registry und EPackageRegistry), OCL-Pakete, Constraints und C-OCL-Filter, offene Datei-Tabs, Issues, Atlas-Verbindungen.
  • Jetzt wird vor dem Laden entladen: Datei-Tabs schließen (Panels wie Model Atlas und die Workspace-Vorschau bleiben), Modelle entladen (unloadUserModels, eingebaute bleiben), OCL-Dienst zurücksetzen, Atlas-Verbindungen trennen.
  • Geänderte Dateien in diesen Tabs nennt die Rückfrage beim Wechsel.
  • Tests: Entladen in der Registry, Auswahl der Tabs, Ablauf des Entladens. Im Browser geprüft: uni → karla lässt nichts übrig, zurück zu uni lädt wieder alles.

Teil 6: Workspace-Editor

  • Mit geladenem Workspace zeigte der Tab „Workspace“ bisher „Noch keine Workspaces geoeffnet“. Jetzt zeigt er den Workspace nach Abschnitten, jeder Eintrag mit Status:

    • Modelle / Instanzen: öffnen, entfernen (entlädt bzw. schließt den Tab mit), hinzufügen aus den passenden Dateien der Quelle
    • Constraints: die .c-ocl neben der .wsp, öffnen
    • Atlas: Verbindungsstatus, verbinden und trennen
    • Package-Resolver: Übersicht; bearbeitet wird weiter im Einstellungsdialog
  • Kopfzeile mit Speichern (aktiv bei ungespeicherten Änderungen) und Einstellungen.

  • Eine im Explorer gewählte Datei wird weiter im Tab vorgeschaut, mit Rückweg zum Workspace.

  • Fix: Instanzdateien des Workspace wurden beim Öffnen nicht geladen, wenn ihr Pfad relativ zur Quelle eingetragen war (so schreibt ihn addInstanceSource).

  • Tests für die Übersicht; im Browser geprüft: Status, Entfernen und Hinzufügen einer Instanz.

  • Fix: Rechtsklick auf eine .wsp zeigte kein Menü. Jetzt gibt es „Workspace öffnen“ und „Öffnen mit → XML-Editor“ (die XML-Ansicht kennt .wsp/.workspace).

Teil 7: Offene Tabs im Workspace

  • Neu im Modell: LayoutConfig.openEditors (OpenEditor: filePath, editorId, active), Code per npm run generate.

  • Beim Speichern werden die offenen Datei-Tabs eingetragen (Reihenfolge und vorderer Tab). Ein geöffneter oder geschlossener Tab allein macht den Workspace nicht ungespeichert.

  • Beim Öffnen kommen sie im jeweiligen Editor zurück, der vordere wieder nach vorn. Ist keiner gespeichert, liegt der Workspace-Tab vorne.

  • Generator: Die genconfig nutzt jetzt ecorePackage="#/". Mit der nsURI erzeugte der Lauf nur Factory, Package und Index.

  • editorBindings stand in der Ecore, war aber nie generiert. Bisher hat editorConfigFixup das Feature zur Laufzeit ergänzt. Jetzt liefert es der Generator, und der Fixup erkennt das und tut nichts mehr. Er kann bei Gelegenheit weg.

  • Tests für Sammeln und Wiederherstellen. Im Browser geprüft: Instanz, Metamodell und XML-Ansicht offen, speichern, karla → uni stellt alle drei wieder her, der XML-Tab liegt vorne.

  • Fix: Ein geschlossener Workspace-Tab ließ sich nicht wieder öffnen. Jetzt holt ein Klick auf den Workspace-Namen in der Kopfzeile ihn zurück. Auch das Öffnen eines Workspace und die Auswahl einer Datei im Explorer legen ihn an, wenn er fehlt.

  • Fremde .wsp: Wer eine andere Workspace-Datei als die geladene anwählt, sieht sie jetzt im Workspace-Editor, nur lesend. Die Abschnitte zeigen, was die Datei einträgt, und markieren fehlende Dateien. Statt „Speichern“ gibt es „Workspace öffnen“. Bisher erschien die alte Dateivorschau mit rohem XML.

vwfox added 7 commits October 26, 2026 08:34
…bjekte richtig

Im Uni-Workspace bekam ein Student einen Kurs einer fremden Uni, ohne dass
die Invariante KurseNurVonEigenerUni anschlug.

- attachTo merkte sich die Ressource nur. Jetzt haengt ein EContentAdapter
  daran: jede echte Aenderung prueft die Ressource entprellt neu, je Ressource
  ein eigener Takt. detachFrom nimmt Adapter und Befunde wieder weg.
- validateResource ersetzte die ganze Problemliste. Jetzt nur die
  Pruef-Befunde dieser Ressource; Parser-Meldungen und andere Tabs bleiben.
- wrapEObjectForOcl baute bei jedem Zugriff eine neue Huelle. OCL vergleicht
  per Identitaet, `uk = k` war damit nie wahr - jeder Kurs haette als fremder
  gegolten. Jetzt eine Huelle je Objekt.
- Vitest wandelt @emfts/ocl.* selbst um: deren dist importiert ohne
  Dateiendung, unter Node liess sich OCL bisher nicht laden und nicht testen.

Tests mit dem Uni-Modell: Verstoss auf Anfrage und live, Korrektur raeumt
auf, spaeter hinzugefuegte Objekte, abgeloeste Ressource, andere Tabs und
Parser-Meldungen bleiben, Referenz-Filter der .c-ocl.
… live geprueft

Der Menuepunkt "Validate OCL (local)" sendete validate-ocl-request, aber seit
der Menueleiste je Perspektive (d42388f) hoerte niemand darauf. Der alte
Handler im Instanzbaum pruefte zudem die gemeinsame Ressource statt des
Dokuments im Tab.

- Das Plugin beantwortet die Anfrage: alle Ressourcen des Dokuments im
  vorderen Tab (validateDocument).
- Jedes Instanz-Tab-Dokument meldet seine Ressourcen an einen Beobachter;
  das Plugin reicht sie an den Problems-Dienst (live pruefen) und loest sie
  beim Schliessen des Tabs wieder. Problems-Dienst und Event-Bus koennen
  spaeter kommen - auf beide wird gewartet.
- Der tote Handler im Instanzbaum ist entfernt.

Tests: Beobachter (kommen, gehen, Tab zu, spaeter gesetzt), Validieren
eines Dokuments, Plugin hoert auf die Anfrage und meldet die Dokumente an.
…tgeladen

Die Workspace-Datei kennt keine Constraint-Dateien. university.c-ocl mit dem
Referenz-Filter "nur Kurse der eigenen Uni" lag neben uni.wsp und wurde nie
geladen, ausser man oeffnete sie von Hand - ausgegraut wurde nichts.

Jetzt kommen alle .c-ocl/.cocl im Ordner der .wsp mit, nach den Modellen und
vor den Instanzen, damit schon die erste Pruefung die Filter hat. Nur dieser
Ordner: ein Workspace an der Wurzel einer Quelle zieht nicht alles darunter.

Ein Feld in der .wsp waere die ausdrueckliche Loesung, braucht aber ein neues
Generat - und das eingecheckte passt schon heute nicht zum Modell
(EditorBinding fehlt darin).
…achen das Feld rot

Nach #180 schlug die Pruefung beim Zuweisen an, aber im Editor war nichts zu
sehen: das Kurse-Feld blieb unmarkiert, die Auswahl bot fremde Kurse an.

- Eine mehrwertige Referenz wird ueber den Suchdialog gefuellt. Der bekam nur
  Filter aus Annotationen; jetzt auch den REFERENCE_FILTER aus geladenen
  .c-ocl-Dateien fuer die Klasse des Besitzers.
- Der Filter spricht von zwei Objekten: self (Student) und target (Kurs).
  Die Suche gab bei solchen Ausdruecken auf. Jetzt wertet sie sie auf dem
  Besitzer aus, mit target je Kandidat gebunden - query nimmt dafuer
  Variablen an (die OCL-Engine kann das, gene reichte sie nicht durch).
- Das Referenzfeld wertet den Filter ebenso je Kandidat aus statt den
  Ausdruck in eine Menge umzuschreiben und per Name zu vergleichen. Zugewiesene
  Werte, die der Filter ablehnt, sind markiert, das Feld zeigt die Meldung.
- Rot war nie rot: var(--red-500) gibt es im PrimeVue-4-Theme nicht. In den
  Feldern des Instanz-Editors jetzt var(--p-red-500) mit Rueckfall.

Tests: query mit target, Feld markiert Informatik bei Martin und laesst Mathe
unmarkiert, die Suche sperrt die Kurse der fremden Uni. Im Browser geprueft
mit dem Uni-Workspace.
Das zentrale Overlay steht vom Öffnen der .wsp bis Modelle und Instanzen geladen sind.
…anz- und Modell-Editor

Übernommen aus features_cwm (f2819b8), dort für den CWM-Editor: das zentrale
Overlay zeigt "Editor wird geladen" vom Öffnen bis der Tab gezeichnet ist,
neu gestaltet (Karte im Panel-Stil, Ring in der Primärfarbe, deutsche Titel).

Hier ohne den CWM-Öffner (gibt es auf main nicht). Stattdessen die Hülle
withEditorLoading: zwei Bilder Vorlauf, damit das Overlay vor der
blockierenden Arbeit erscheint, und bleibt bis nach dem Zeichnen des Tabs;
verschachtelte Aufrufe halten es bis zum äußersten. Instanz-Editor
(loadInstances) und Modell-Editor (openMetamodelInEditor) laufen darüber.
…t Tests

withEditorLoading lebte in App.vue und war dort nicht zu testen. Jetzt
createEditorLoading in services/editorLoading.ts; App.vue nutzt es fuer
Instanz- und Modell-Editor.

Tests: Overlay mit Dateiname steht vor der Arbeit (zwei Bilder Vorlauf) und
bleibt ein Bild danach, bleibt bei verschachteltem Oeffnen bis zum
aeussersten, geht bei Fehlern weg. Im Browser geprueft: university-instance.xmi
und university.ecore zeigen "Editor wird geladen" mit ihrem Namen.
…gsbuchstaben

Die Kopfzeile stand auf "Gene Workspace", egal was geladen war: GeneLayout
fragte den Perspektiven-Dienst einmal beim Aufbau, bevor das Plugin ihn
anmeldete, und danach nie wieder. workspacePath war gesetzt, die Anzeige
erfuhr es nicht.

- Perspektive und Workspace-Konfiguration kommen jetzt ueber whenService.
- Geladen ist ein Workspace: ein kleines Quadrat mit seinem Anfangsbuchstaben,
  daneben sein Name; der Pfad im Tooltip. Der Name ist der, den die .wsp sich
  gibt (name="uni"), sonst der Dateiname. Die Farbe kommt aus dem Namen -
  zwei Workspaces unterscheiden sich auf einen Blick.

Tests fuer Name, Buchstabe und Farbe (workspaceBadge). Im Browser geprueft:
uni/uni.wsp zeigt "U" und "uni".
@vwfox vwfox changed the title OCL im Instanz-Editor und Ladeanzeige für Instanz- und Modell-Editor OCL im Instanz-Editor, Ladeanzeige der Editoren, Workspace in der Kopfzeile Oct 26, 2026
vwfox added 3 commits October 26, 2026 09:26
… ein Klick speichert

Aenderungen am Workspace (hinzugefuegte Instanzdateien, Editor-Wahl, Layout)
liegen im Speicher, bis etwas die .wsp schreibt. Gezeigt hat das nur der
Einstellungsdialog.

Jetzt steht neben dem Workspace-Namen ein Punkt, solange es ungespeicherte
Aenderungen gibt - wie beim geaenderten Tab. Ein Klick darauf schreibt die
.wsp; waehrenddessen ist er gesperrt. Die Anzeige ist eine eigene Komponente
(WorkspaceTitle), mit Komponententest. Im Browser geprueft: Aenderung zeigt
den Punkt, Klick schreibt uni.wsp und der Punkt geht.
Ein weiterer Workspace ersetzte die geladene Konfiguration ohne Rueckfrage;
ungespeicherte Aenderungen gingen still verloren.

Jetzt fragt ein Dialog: Speichern, Verwerfen oder Abbrechen. Speichern
schreibt die .wsp und wechselt; schlaegt es fehl, bleibt der alte Workspace
offen. Der Ablauf ist mayLeaveWorkspace, getestet fuer alle Wege. Im Browser
geprueft: Abbrechen behaelt "uni" samt Punkt, Verwerfen oeffnet "karla".
Der Knopf gehoert der Anwendung, nicht der Datei im Tab - er stand in der
Menueleiste unter dem Tab und ist jetzt rechts in der ersten Kopfzeile.
@vwfox vwfox changed the title OCL im Instanz-Editor, Ladeanzeige der Editoren, Workspace in der Kopfzeile OCL im Instanz-Editor, Ladeanzeige, Workspace in der Kopfzeile mit Änderungsanzeige Oct 26, 2026
vwfox added 6 commits October 26, 2026 09:54
Bisher blieb beim Oeffnen eines anderen Workspace alles vom vorigen
geladen: Metamodelle in Registry und EPackageRegistry, OCL-Pakete,
Constraints und C-OCL-Filter, offene Datei-Tabs, Issues und
Atlas-Verbindungen.

Jetzt wird vor dem Laden entladen:
- Datei-Tabs schliessen (Panels wie Model Atlas und die
  Workspace-Vorschau bleiben)
- Modelle des Workspace entladen (unloadUserModels, eingebaute bleiben)
- OCL-Dienst zuruecksetzen
- Atlas-Verbindungen trennen

Geaenderte Dateien in diesen Tabs werden in der Rueckfrage genannt.
Mit geladenem Workspace zeigte der Tab "Noch keine Workspaces
geoeffnet"; was der Workspace mitbringt, war nirgends zu sehen.

Jetzt zeigt er den Workspace nach Abschnitten, jeder Eintrag mit Status:
- Modelle und Instanzen: oeffnen, entfernen (entlaedt/schliesst mit),
  hinzufuegen aus den passenden Dateien der Quelle
- Constraints: die .c-ocl neben der .wsp, oeffnen
- Atlas: Verbindungsstatus, verbinden und trennen
- Package-Resolver: Uebersicht, Bearbeiten im Einstellungsdialog
Speichern und Einstellungen in der Kopfzeile. Eine im Explorer gewaehlte
Datei wird weiter vorgeschaut, mit Rueckweg zum Workspace.

Nebenbei: Instanzdateien des Workspace wurden beim Oeffnen nicht
geladen, wenn ihr Pfad relativ zur Quelle eingetragen war (so schreibt
ihn addInstanceSource). Der Lader probiert diesen Pfad jetzt auch.
Rechtsklick auf eine .wsp zeigte nichts: Das Menue erscheint nur mit
Eintraegen, und fuer Workspace-Dateien gab es keine - die XML-Ansicht
kannte die Endung nicht.

- XML-Editor oeffnet auch .wsp/.workspace ("Oeffnen mit")
- "Workspace oeffnen" im Menue, derselbe Weg wie der Doppelklick
Der Workspace merkte sich nicht, welche Dateien in welchem Editor offen
waren; beim Oeffnen kamen nur die Instanzdateien als Tabs zurueck.

- LayoutConfig.openEditors (OpenEditor: filePath, editorId, active)
  in fennec-generic-ui.ecore, Code per npm run generate
- Beim Speichern werden die offenen Datei-Tabs eingetragen (in
  Tab-Reihenfolge, mit dem vorderen); ein Tab allein macht den
  Workspace nicht ungespeichert
- Beim Oeffnen kommen sie im jeweiligen Editor zurueck, der vordere
  wieder nach vorn; ohne gespeicherten vorderen Tab der Workspace-Tab

Generator: genconfig nutzt ecorePackage="#/" - mit der nsURI
erzeugte er nur Factory, Package und Index. Der Lauf bringt
editorBindings mit, das in der Ecore stand, aber nie generiert war:
die Editor-Wahl aus "Oeffnen mit" wurde dadurch nicht gespeichert.
…ffnen

Der Tab wurde nur einmal beim Start angelegt; geschlossen war er weg -
und mit ihm die Vorschau gewaehlter Dateien.

- Klick auf den Workspace-Namen in der Kopfzeile holt ihn nach vorn
  (Event show-workspace-editor), bei Bedarf neu angelegt
- Oeffnen eines Workspace und Dateiauswahl im Explorer legen ihn an,
  wenn er fehlt
… lesend

Wer eine andere Workspace-Datei als die geladene anwaehlte, sah die alte
Dateivorschau (Wurzelelement, Elementzahl, rohes XML) statt des
Workspace-Editors.

Jetzt zeigt der Tab sie in derselben Form, nur lesend: Modelle,
Instanzen, Constraints, Atlas und Resolver, wie die Datei sie eintraegt,
fehlende Dateien markiert. Statt Speichern gibt es "Workspace oeffnen".
Gelesen wird mit parseEditorConfig, ohne den geladenen Workspace zu
beruehren.

Korrektur zum vorigen Commit: editorBindings ging nicht verloren - das
ergaenzte bis jetzt editorConfigFixup zur Laufzeit; der Fixup erkennt
das generierte Feature und tut nichts mehr.
@vwfox vwfox changed the title OCL im Instanz-Editor, Ladeanzeige, Workspace in der Kopfzeile mit Änderungsanzeige OCL im Instanz-Editor, Ladeanzeige, Workspace-Editor und Workspace-Wechsel Oct 26, 2026
@vwfox
vwfox merged commit edab8ae into main Oct 26, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant