From 736e9c1d88802fb04b41982918f1b60149ca3b0c Mon Sep 17 00:00:00 2001 From: mhoennig Date: Thu, 3 Sep 2026 16:12:31 +0200 Subject: [PATCH] =?UTF-8?q?docs(rfc):=20RFC=20003=20=E2=80=94=20Knoten=20i?= =?UTF-8?q?m=20Text=20verschieben,=20als=20Bauanleitung=20f=C3=BCr=20einen?= =?UTF-8?q?=20Coding-Agenten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zwei Knöpfe in der Editor-Titelzeile und Alt+↑/↓ verschieben den Block des Knotens der Cursor-Zeile (Zeile, \-Fortsetzungen, "-Beschreibungen, Teilbaum) vor den vorherigen bzw. hinter den nächsten Geschwisterknoten — als reine Text→Text-Regel neben setFoldMark/expandShortIds, ein Undo-Schritt über writeAt, ohne neue Editor-Komponente. Das RFC legt Blockgrenzen, Nachbarsuche, Zusammensetzen, Verdrahtung, i18n, 15 Testfälle samt Mutations-Gegenproben, Browser-Nachmessung und die nachzuziehenden Dokumente (SPEC §9, CHANGELOG, D95, Plan-Knoten #ed.move) fest. Nichts gebaut. Co-Authored-By: Claude Fable 5.1 --- docs/rfc/003-knoten-verschieben.md | 658 +++++++++++++++++++++++++++++ 1 file changed, 658 insertions(+) create mode 100644 docs/rfc/003-knoten-verschieben.md diff --git a/docs/rfc/003-knoten-verschieben.md b/docs/rfc/003-knoten-verschieben.md new file mode 100644 index 0000000..0651a2b --- /dev/null +++ b/docs/rfc/003-knoten-verschieben.md @@ -0,0 +1,658 @@ +# RFC 003 — Knoten im Text verschieben: zwei Knöpfe, ein Block, ein Undo-Schritt + +| | | +|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| Status | **Entschieden, nicht gebaut** (2026-09-03). Dieses Dokument ist die vollständige Bauanleitung; ein Coding-Agent soll es ohne Rückfrage umsetzen können. | +| Anlass | Nutzerwunsch: In der Editor-Titelzeile Knöpfe „nach oben“/„nach unten“, die den Knoten der Cursor-Zeile vor den vorherigen bzw. hinter den nächsten Geschwisterknoten schieben — samt `"`-Zeilen und `\`-Fortsetzungen | +| Plan-Knoten | `#ed.move` in `docs/examples/werkbaum.werkbaum` (anzulegen, §9.6) | +| Entscheidung | D95 in `docs/DECISIONS.md` (anzulegen, §9.5) | +| Berührt | `frontend/src/parser.js` (eine neue Text→Text-Funktion), `frontend/src/app.js` (zwei Knöpfe, Tastatur, Zustand), `frontend/index.html`, `frontend/src/style.css` (höchstens eine Regel), i18n ×9, `frontend/tests/move.test.js` (neu), SPEC §9 (ein Abschnitt), CHANGELOG, Plan | +| Berührt nicht | Notation (kein neues Zeichen, `llms.md` bleibt unberührt), Renderer, Modell, Backend, Live-Protokoll (D76), Deploy | +| Neue Technologie / Abhängigkeit | **keine** — reine Textoperation auf dem vorhandenen `