fix(editor): „nur ansehen" gilt jetzt dem Dokument, nicht nur dem Textfeld — auch das Diagramm faltet dort nicht mehr

Nutzer-Einwand, folgerichtig aus dem Vorgänger-Commit: Wenn Falten eine
Änderung ist, muss der Nur-Ansehen-Modus auch das Diagramm stillstellen —
im haltenden Fenster natürlich weiter nicht.

Es war schlimmer als eine fehlende Sperre: `readonly` hielt gar nichts auf.
`replaceTextUndoable` fällt auf `src.value = neu` zurück, wenn `execCommand`
scheitert, und eine Zuweisung an `value` schreibt auch in ein
schreibgeschütztes Feld. Nachgemessen: Ein Klick auf das Falt-Zeichen im
Nur-Ansehen-Fenster setzte `- > Ast A (M)` in Textfeld UND Speicher — der
Modus war nur eine Beschriftung.

Gesperrt wird jetzt an der Schreibstelle: eine Zeile in
`replaceTextUndoable` weist jeden programmatischen Schreibzugriff ab
(Falten, Durchschalter, „aus Taiga übernehmen", früherer Stand,
ID-Kurzform). Dazu ruhen die Gesten selbst, damit nichts still ins Leere
geht — toggleFold und der Durchschalter kehren früh um, Falt-Zeichen und
Knopf treten zurück und nehmen keinen Klick an (body.viewonly), und im
Knoten-Fenster entfallen die Aktionen, die in die Zeile schreiben.
„Nach Taiga schreiben" bleibt: Es fasst den Plan nicht an. Ansicht bleibt
Ansicht — Zoom, Modus, Pfad, Export, Sprünge unverändert bedienbar.

Nachgemessen mit zwei Fenstern: Chip, Tastatur und Durchschalter lassen im
Nur-Ansehen-Fenster Text und Speicher unangetastet; im haltenden Fenster
faltet dieselbe Geste weiter; verlässt es das Dokument, wird das andere von
selbst wieder beschreibbar und faltbar. SPEC §9, D94-Nachtrag 3 und
CHANGELOG nachgezogen; 666 Tests grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-09-02 20:28:20 +02:00
co-authored by Claude Opus 5
parent 2a58951138
commit 2d78baf407
5 changed files with 84 additions and 8 deletions
+4 -2
View File
@@ -963,8 +963,10 @@ Verlustfall hält jedes Fenster, solange ein nicht-`live:`-Dokument vorn
ist, eine **Sperre** (Web Locks API) auf es — atomar, und sie fällt von
selbst, wenn das Fenster schließt. Bekommt das zweite Fenster sie nicht,
zeigt es einen Dialog mit drei Auswegen: anderes Dokument öffnen, hier nur
ansehen (Textfeld schreibgeschützt, wird von selbst beschreibbar, sobald
das andere Fenster loslässt) oder trotzdem hier bearbeiten — dann gewinnt
ansehen (**das ganze Dokument ist dann schreibgeschützt**: Textfeld wie
Diagramm — auch die Faltmarken lassen sich dort nicht umklappen, denn das
schriebe in den Text; es wird von selbst wieder beschreibbar, sobald das
andere Fenster loslässt) oder trotzdem hier bearbeiten — dann gewinnt
die **zuletzt gespeicherte Änderung**, und die Warnung nennt das Dokument.
Änderung heißt dabei nicht nur Tippen: Auch das Falten im Diagramm schreibt
in den Text (§9, `>`/`<`) und nimmt an diesem Wettlauf teil. Das andere