blunderDB
blunderDB ist eine Software zum Erstellen von Datenbanken mit Backgammon-Stellungen. Ihre wichtigste Stärke besteht darin, einen einzigen Ort bereitzustellen, an dem ein Spieler die Stellungen sammeln kann, die er angetroffen hat (online, bei Turnieren), und diese Stellungen erneut studieren zu können, indem er sie mit verschiedenen, beliebig kombinierbaren Filtern filtert. blunderDB kann außerdem dazu verwendet werden, Kataloge von Referenzstellungen zu erstellen.
Die vorliegende Dokumentation ist wie folgt gegliedert:
Der Abschnitt Download und Installation erklärt, wie man blunderDB bezieht und startet.
Das Handbuch beschreibt die allgemeine Funktionsweise von blunderDB.
Der Benutzerleitfaden ist eine praktische Einführung, um blunderDB schnell zu nutzen.
Die Liste der Befehle sowie die Liste der Tastenkürzel ermöglichen eine effiziente Nutzung von blunderDB.
Der Abschnitt Befehlszeilenschnittstelle (CLI) beschreibt die verfügbaren Befehle für den Massenimport, die Automatisierung und das Scripting.
Die FAQ gibt Antworten auf die am häufigsten gestellten Fragen.
Versionsverlauf
Version |
Datum |
Ursache und/oder Art der Änderungen |
|---|---|---|
0.1.0 |
31/12/2024 |
Beta-Version |
0.2.0 |
06/01/2025 |
Diverse Fehlerbehebungen. Hinzufügen von Match-/TP-/GV-Tabellen. Hinzufügen von Suchfiltern (Züge, Dopplerentscheidung, Datum). Hinzufügen von Metadaten zu den Stellungen. Import-/Exportfunktion zwischen blunderDB-Instanzen. Hinzufügen einer Metadaten-Funktion für die Datenbanken. Einführung von Versionsnummern (Datenbank und Anwendung). |
0.3.0 |
27/01/2025 |
Diverse Fehlerbehebungen. Speichert automatisch die Fenstergröße. Importiert eventuelle Kommentare aus XG. |
0.4.0 |
03/02/2025 |
Diverse Fehlerbehebungen. Hinzufügen eines Symbols für blunderDB. Korrekturen an Filtern. Hinzufügen der macOS-Unterstützung. |
0.5.0 |
04/02/2025 |
Hinzufügen neuer Filter (Spiegelung, kein Kontakt, jan blot, outfield blot). |
0.6.0 |
13/02/2025 |
Hinzufügen der Filterbibliothek. Anzeige der Datenbankversion in den Metadaten. |
0.7.0 |
16/02/2025 |
Unterstützung japanischer und deutscher XG-Exporte. |
0.8.0 |
03/05/2025 |
Möglichkeit, den Pipcount auszublenden. Laden einer zufälligen Stellung. |
0.9.0 |
02/11/2025 |
Fehlerbehebung in der Filterbibliothek. Datenbankimport/-export. Anzeige von Pfeilen für die ausgewählten Züge. Tastenkürzel für Import/Export. |
0.10.0 |
25/02/2026 |
Import von Matches aus eXtreme Gammon (XG/XGP), GNUbg (SGF), Jellyfish (MAT/TXT) und BGBlitz (BGF/TXT). Navigation in den Matches: Durchlaufen der Züge eines importierten Matches, mit Hervorhebung des gespielten Zugs. Match-Panel: Liste, Sortierung, Inline-Bearbeitung, Vertauschen der Spieler, Zuordnung zu Turnieren. Import per rekursivem Ordner und Import per Drag & Drop. EPC-Rechner (Effective Pip Count) mit integrierter GNUbg-Bearoff-Datenbank. Sammlungen: benutzerdefinierte Gruppierung von Stellungen. Turniere: Gruppierung von Matches nach Veranstaltung. Speichern und Wiederherstellen des Sitzungszustands (letzte Suche, aktuelle Stellung). Automatische Migration des Datenbankschemas. Mehrere-Engines-Anzeige in der Analyse. Filter für Fehler/Blunder von Spieler 1 in den Suchen. Export der Datenbank mit granularer Auswahl (Matches, Sammlungen, Turniere, gespielte Züge). Navigationsschaltfläche in den Matches. Pipcount-Anzeige in der Match-Navigation. Vollständige Befehlszeilenschnittstelle (CLI). Automatisches Wiederöffnen der letzten Datenbank. Verbesserung der Symbolleiste und der Symbole. |
0.11.0 |
06/03/2026 |
Filter zur Suche innerhalb der aktuell gefilterten Stellungen. Hinzufügen von Filtern nach Match und nach Turnier. Automatisches Leeren des Bretts beim Öffnen des Suchpanels. |
0.12.0 |
19/03/2026 |
Import von eXtreme-Gammon-Stellungsdateien (XGP) mit Analyse. |
0.13.0 |
28/03/2026 |
Vereinfachung der Oberfläche: Die Navigation in Matches und Sammlungen erfolgt nun direkt über die Panels. In die Statusleiste integrierte Befehlszeile. Konsolen-Panel in Log-Panel umbenannt. Eigenes EPC-Panel im unteren Panel. Kopieren/Einfügen von Stellungen im Suchpanel. Drag & Drop zum Umordnen der Sammlungen, der Stellungen innerhalb der Sammlungen und der Matches innerhalb der Turniere. Turnierspalte im Match-Panel mit Inline-Bearbeitung. Automatische Anzeige des Analysepanels nach einer Suche. |
0.14.0 |
30/03/2026 |
Eigenes Anki-Panel für das Lernen mit verteilter Wiederholung (FSRS-Algorithmus). Import der Kommentare aus den XG-Dateien. |
0.15.0 |
31/03/2026 |
Export der Stellung als PNG-Bild in die Zwischenablage (nur Brett via Ctrl+X oder Brett mit Analyse via Ctrl+X Ctrl+X). |
0.16.0 |
18/04/2026 |
Datenbankschema v2.0.0: Deduplizierung der Stellungen über Zobrist-Hash, denormalisierte Filterspalten, Bitboard-Muster-Vorfilter, WAL-Journaling. Stapelimport >=3x schneller, gefilterte Suche <=100 ms bei 10k+ Stellungen. HINWEIS: DB-Dateien, die mit v0.16.0 erstellt wurden, können von älteren Versionen nicht geöffnet werden; alte DBs werden automatisch an Ort und Stelle migriert (zuerst eine Sicherung anlegen). |
0.17.0 |
20/04/2026 |
Speicheroptimierung: zlib-Komprimierung der Analysedaten (~80%ige Reduzierung), kompakte Kodierung der Stellungen (~90%ige Reduzierung der Größe). Hinzufügen von 5 fehlenden Indizes zur Verbesserung der Suchleistung. Korrektur der Suche nach Cube-Fehler. Korrektur des EDIT-Modus nach einer Suche ohne Ergebnisse. Wiederherstellung des Zustands des Suchpanels beim Wechsel der Reiter. Entfernung von 62 Debug-Anweisungen aus den kritischen Pfaden. |
0.18.0 |
20/04/2026 |
Größeres Code-Refactoring: Aufteilung von db.go (10k Zeilen) in 19 spezialisierte Dateien, Extraktion von 7 Service-Modulen aus App.svelte (4888→469 Zeilen), Konsolidierung der Modal-/Panel-Stores. Vollständige Migration zu Svelte 5 Runes. Ersetzung von 9 Tabellen-Modals durch eine generische DataTableModal-Komponente. Hinzufügen von ESLint + Prettier + vitest (125 Frontend-Tests) mit CI. WCAG-2.1-AA-Konformität (sichtbarer Fokus, ARIA-Rollen, Tastaturnavigation). Umstellung des Database-Mutex auf RWMutex für bessere Lese-Parallelität. Vollständige CLI-Dokumentation (CLI_USAGE.md + Sphinx FR/EN). Neuschreiben der README. Behebung aller ESLint-Warnungen (46→0) und Vite-Warnungen (6→0). |
0.19.0 |
07/05/2026 |
Hinzufügen des Stats-Panels: Indikatoren PR (Performance Rate), Snowie Error Rate und MWC cost (Match Winning Chance cost), Filterleiste (Spieler, Turnier, Datum, Entscheidungstyp, Matchlänge), Dashboard-Reiter mit Niveau-Karten / gleitendem PR / Top-Blunders, Progression-Reiter mit Kurve pro Turnier und Streudiagramm pro Match, Fehler-Reiter mit Aufschlüsselung nach Cube-Aktion und Histogramm der Fehlergrößen. Interaktives Drill-down zu den Stellungen / Matches / Turnieren von allen Indikatoren aus. Sofortiges Umschalten zwischen PR / MWC. CLI-Befehl list –type stats. Abgleich der Indikatoren PR / Snowie ER / MWC mit eXtremeGammon und gnuBG (Equity-Schwelle 0.16 für knappe Cubes). Korrektur der cube_error-Berechnung für Double/Pass-Entscheidungen. Dokumentation des Statistikmodells (Anhang: Statistikmodell — Abgleich XG / gnuBG / blunderDB). Siehe Stats-Panel. |
0.20.0 |
31/05/2026 |
Hinzufügen der Ausschluss-Struktur Except zum Suchpanel: schließt Stellungen aus, die einen der gezeichneten Steine enthalten, mit einem Marker « muss leer sein » (Doppelklick) und unbegrenzter Anzahl an Steinen pro Punkt (Befehl x). Hinzufügen der Option « nur erster Würfel » zum Würfelfilter (Variante D1, CLI-Option –dice). Kommentare-Panel: das Eingabefeld wird beim Öffnen automatisch fokussiert und die Schaltflächen Bearbeiten / Löschen sind immer sichtbar. Korrektur des Filters « Search Text », der nicht alle Kommentar-Tags fand. |
0.21.0 |
01/06/2026 |
Internationalisierung der Oberfläche: das gesamte blunderDB (Symbolleiste, Panels, Meldungen, Hilfe) kann nun wahlweise auf Englisch, Französisch, Deutsch, Italienisch, Spanisch, Finnisch, Japanisch, Griechisch oder Russisch angezeigt werden. Hinzufügen eines Konfigurationsfensters, das über eine zahnradförmige Schaltfläche in der Symbolleiste erreichbar ist und die Auswahl der Sprache ermöglicht. Die Sprachauswahl bleibt über Sitzungen hinweg erhalten. Siehe Konfiguration. |
0.22.0 |
02/06/2026 |
Hinzufügen eines Headless-Modus (Server), fortgeschritten und optional, der die Desktop-Anwendung ergänzt: ein Daemon |
0.23.0 |
05/06/2026 |
Hinzufügen geführter Touren durch die Oberfläche (allgemeine Tour, Suche, Matches, Turniere), wiederholbar über die Symbolleiste oder den Befehl |
0.24.0 |
06/06/2026 |
Hinzugefügt: ein Container-Image (Docker) für den Headless-Modus: ein dedizierter Einstiegspunkt |
0.25.0 |
07/06/2026 |
Server-Modus (headless): zwei neue Methoden, um eine Stellung zu rekonstruieren, ohne sie zu speichern — |
0.26.0 |
09/06/2026 |
Anzeigeeinstellungen für die Oberfläche im Konfigurationsfenster: ein Schieberegler zur Skalierung, um die gesamte Oberfläche zu vergrößern oder zu verkleinern, sowie eine Auswahl der Panel-Position (unten, seitlich oder automatisch), um breite Bildschirme besser auszunutzen. Hinzugefügt: eine Informationsleiste über dem Brett, die die Spieler und den Match-Kontext anzeigt (Ereignis, Ort, Runde, Datum, Länge). Beim Öffnen einer Datenbank wird das Matchs-Panel sofort angezeigt und die Durchsicht beginnt bei der ersten Stellung. Die Tastenkürzel sind nun unabhängig von der Tastaturbelegung (AZERTY, QWERTY, QWERTZ…). Behebung der XGID-Dekodierung (Jacoby/Beaver-Indikatoren und Doppler-Wert). Siehe Konfiguration. |
0.27.0 |
13/06/2026 |
Anki-Panel: ein neuer Modus für freies Üben (cram), erreichbar über die Schaltfläche Cram neben Study, der zufällige Stellungen aus dem Deck anzeigt, ohne den Plan der verteilten Wiederholung zu verändern — ideal zum Aufwärmen vor einem Turnier oder zum intensiven Wiederholen eines Decks, ohne dessen Reihenfolge zu stören. Suche: ein neuer Befehl |
Inhaltsverzeichnis
- 1. Download und Installation
- 2. Handbuch
- 2.1. Einführung
- 2.2. Wichtigste Interaktionen
- 2.3. Beschreibung der Benutzeroberfläche
- 2.4. Konfiguration
- 2.5. Geführte Touren und Beispieldatenbank
- 2.6. Navigation durch die Stellungen
- 2.7. Stellungen bearbeiten
- 2.8. Die Befehlszeile
- 2.9. Analyse-Panel
- 2.10. Kommentare-Panel
- 2.11. Such-Panel
- 2.12. Sammlungen-Panel
- 2.13. Matches-Panel
- 2.14. Turnier-Panel
- 2.15. Stats-Panel
- 2.16. EPC-Panel
- 2.17. Anki-Panel
- 2.18. Metadaten-Panel
- 2.19. Protokoll-Panel
- 3. Benutzerhandbuch
- 3.1. Eine neue Datenbank anlegen
- 3.2. Eine bestehende Datenbank öffnen
- 3.3. Eine Datenbank importieren und zusammenführen
- 3.4. Eine Position bearbeiten
- 3.5. Eine Position zur Datenbank hinzufügen
- 3.6. Eine Position mit einem Tag versehen
- 3.7. Eine Position löschen
- 3.8. Eine Position aus XG importieren
- 3.9. Ein Match importieren
- 3.10. Einen Ordner mit Matches importieren
- 3.11. Ziehen und Ablegen (Drag and Drop)
- 3.12. Durch ein Match navigieren
- 3.13. Das Match-Panel verwalten
- 3.14. Sammlungen verwalten
- 3.15. Turniere verwalten
- 3.16. Leistungsstatistiken anzeigen
- 3.17. Den EPC berechnen
- 3.18. Die Analyse einer aus XG importierten Position anzeigen
- 3.19. Eine Position nach XG exportieren
- 3.20. Die verschiedenen Positionen anzeigen
- 3.21. Positionen nach Kriterien suchen
- 4. Liste der Befehle
- 5. Tastenkürzel
- 6. Befehlszeilenschnittstelle (CLI)
- 6.1. Einführung
- 6.2. Allgemeine Syntax
- 6.3. Verfügbare Befehle
- 6.4. create — Eine Datenbank erstellen
- 6.5. import — Daten importieren
- 6.6. export — Daten exportieren
- 6.7. search — Positionen suchen
- 6.8. list — Inhalt auflisten
- 6.9. match — Ein Match anzeigen
- 6.10. info — Datenbank-Metadaten
- 6.11. edit — Metadaten ändern
- 6.12. verify — Integrität prüfen
- 6.13. delete — Daten löschen
- 6.14. Workflow-Beispiele
- 6.15. Rückgabecodes
- 7. Häufig gestellte Fragen (FAQ)
- 7.1. Wozu dient blunderDB?
- 7.2. Was hat die Entwicklung von blunderDB motiviert?
- 7.3. Wie speichert man den Zustand der aktuellen Datenbank?
- 7.4. Sollte ich für verschiedene Kategorien von Positionen unterschiedliche Datenbanken anlegen?
- 7.5. Wie führt man mehrere Datenbanken zusammen?
- 7.6. Welche Match-Dateiformate werden unterstützt?
- 7.7. Was ist eine Sammlung?
- 7.8. Was ist der EPC?
- 7.9. Verfügt blunderDB über eine Befehlszeilen-Schnittstelle?
- 7.10. Darf ich blunderDB verändern, kopieren und weitergeben?
- 7.11. Welches Datenformat verwendet blunderDB?
- 7.12. Was waren die Entwurfsprinzipien von blunderDB?
- 7.13. Wie ist die Softwarearchitektur von blunderDB aufgebaut?
- 7.14. Auf welchen Plattformen läuft blunderDB?
- 7.15. Woher stammt das Symbol von blunderDB?
- 8. Headless-Modus (Server)
- 9. Anhang: Fortgeschrittene Nutzung der Filter
- 10. Windows-Anhang: Fälschliche Erkennung von blunderDB als Schadsoftware
- 11. Mac-Anhang: Mögliche Blockierung von blunderDB
- 12. Anhang: Datenbankschema
- 13. Anhang: Statistikmodell — Abgleich XG / gnuBG / blunderDB
Kontakt
Autor: Kévin Unger <blunderdb@proton.me>. Sie finden mich auch auf Heroes unter dem Benutzernamen postmanpat.
Ich habe blunderDB ursprünglich für meinen persönlichen Gebrauch entwickelt, um Muster in meinen Fehlern erkennen zu können. Doch es ist sehr erfreulich, Rückmeldungen zu erhalten, besonders wenn man viele Stunden in Konzeption, Programmierung und Debugging gesteckt hat. Zögern Sie also nicht, mir zu schreiben, um Ihre Erfahrungen mitzuteilen. Jedes (konstruktive) Feedback ist willkommen.
Hier sind mehrere Möglichkeiten zum Austausch:
dem Discord-Server von blunderDB beitreten: https://discord.gg/DA5PpzM9En
mir eine E-Mail an blunderdb@proton.me schreiben,
sich mit mir unterhalten, falls wir uns bei einem Turnier treffen,
auf GitHub,
ein Ticket eröffnen: https://github.com/kevung/blunderDB/issues
für Fehlerbehebungen oder Verbesserungsvorschläge einen Pull Request erstellen.
Spenden
Wenn Sie blunderDB schätzen und die bisherige und zukünftige Entwicklung unterstützen möchten, können Sie
mir ein Getränk spendieren, falls wir uns kennenlernen dürfen!
eine kleine Spende per PayPal an die Adresse blunderdb@proton.me leisten
Danksagungen
Ich widme diese kleine Software meiner Partnerin Anne-Claire und unserer lieben Tochter Perrine. Ganz besonders möchte ich einigen Freunden danken:
Tristan Remille, dafür, dass er mich mit Freude und Wohlwollen ins Backgammon eingeführt hat; dass er den Weg zum Verständnis dieses wunderbaren Spiels weist; dass er mich trotz meiner kläglichen Versuche, besser zu spielen, weiter ermutigt.
Nicolas Harmand, fröhlicher Gefährte seit nunmehr über einem Jahrzehnt in tollen Abenteuern und ein fantastischer Spielpartner, seit er sich mit dem Backgammon-Virus angesteckt hat.