diora-web/tui/diora_tui
mrwnslz e246a32212 TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen)
Dieselben verschlüsselten Listen wie der Web-Reader (annotations.py). Die Anker des Webs
(Block-Index plus Zeichenposition im Rohtext) werden auf den angezeigten Text umgerechnet
(marks.py, blocks.collapse_map), alte XPath-Anker über das Zitat gefunden. Im Reader: v markiert
(Cursor je Wort, Anfang/Ende, Farbe oder Notiz), n legt eine Notiz an, b ein Lesezeichen,
a öffnet die Liste (springen, Notiz ändern, löschen).

Der Server ersetzt die Liste als Ganzes; die TUI legt ihre Änderungen vor dem Schreiben
dreiwege je Eintrag-ID auf die aktuelle Liste des Servers, offline bleiben sie vorgemerkt.
Geprüft: die echten resolveAnchorRange des Webs lösen 81 TUI-Anker exakt auf
(tools/parity/web_anchors.cjs), 34 von 34 echten Web-Markierungen werden angezeigt, der
Server-Smoke schreibt und mischt zwei Geräte. 75 Tests.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 16:42:32 +01:00
..
__init__.py TUI: lokaler EPUB-Reader als erste Stufe eines diora-TUI-Clients 2026-08-15 16:04:18 +02:00
__main__.py TUI: lokaler EPUB-Reader als erste Stufe eines diora-TUI-Clients 2026-08-15 16:04:18 +02:00
annotation_screens.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
annotations.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
api.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
app.py TUI: Bibliothek wie im Web (Weiterlesen-Karte, Status- und Ordner-Chips, Suche, Sortierung, Länge) 2026-10-26 13:18:49 +01:00
app.tcss TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
blocks.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
book_view.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
cache.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
config.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
crypto.py TUI: Bibliothek wie im Web (Weiterlesen-Karte, Status- und Ordner-Chips, Suche, Sortierung, Länge) 2026-10-26 13:18:49 +01:00
epub.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
layout.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
library.py TUI: Bibliothek wie im Web (Weiterlesen-Karte, Status- und Ordner-Chips, Suche, Sortierung, Länge) 2026-10-26 13:18:49 +01:00
library_meta.py TUI: Bibliothek wie im Web (Weiterlesen-Karte, Status- und Ordner-Chips, Suche, Sortierung, Länge) 2026-10-26 13:18:49 +01:00
library_screen.py TUI: Bibliothek wie im Web (Weiterlesen-Karte, Status- und Ordner-Chips, Suche, Sortierung, Länge) 2026-10-26 13:18:49 +01:00
login.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
marks.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
paths.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
progress.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
reader_screen.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
remote.py TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) 2026-10-26 16:42:32 +01:00
secretstore.py TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
statusbar.py TUI: Statusleiste mit Akkustand und Uhrzeit 2026-08-15 20:36:54 +02:00