T.O.M. - Features & Changelog
Feature-Liste (Stand: Juni 2026)
🚀 Version 2.0: Architektur-Sprung & Modul-Trennung (In Entwicklung)
Umfangreiches Refactoring zur Vorbereitung auf den Mannschaftsbetrieb und die Backend-Anbindung.
🏢 Portal & Corporate Identity
- Neues, responsives Einstiegsportal (Hub) entwickelt.
- Strikte inhaltliche und visuelle Trennung in zwei Hauptmodule: "Einzelturniere" und "Mannschaftskämpfe".
- UX-Schutz: Zurück-Navigation im Einzelturnier-Modul deaktiviert, um Datenverlust durch Fehlklicks im Live-Betrieb zu verhindern.
🛡️ Neues Modul: Mannschaftskämpfe (v2.0 Beta)
- Zero Latency UI: Tab-Navigation (Tabelle, Spielplan, PGN) mit latenzfreiem Client-Side-Rendering.
- Relationales Datenmodell: Neues ES6-Modul-Fundament (
mock_liga.js) als exakte Blaupause für zukünftige SQL-Datenbanken.
- Live-Tabellen-Engine: Automatische Berechnung von Mannschaftspunkten (MP) und Brettpunkten (BP) in Echtzeit inkl. optionaler 3-Punkte-Regel.
- Dynamische Aufstellung: Flexible Dropdowns für Spieler mit direkter Anzeige der offiziellen Meldenummer (z.B.
(01), (04) oder (--) für Ersatzspieler).
- Regel-Fundament (Ligatemplate): Ausgliederung der Spiel- und Finanzordnung in ein separates, austauschbares Regel-Template (z.B. "Schachkreis Zugspitze 2025").
- Smart Check Engine (Digitaler Schiedsrichter):
- Aufrück-Pflicht (SO 2.3.1): Blockiert unbesetzte Bretter, wenn darunterliegende Bretter besetzt sind.
- Strikte Brettreihenfolge (SO 2.3.3): Verhindert den Tausch von Brettern entgegen der offiziellen Meldeliste.
- Antritts-Minimum (SO 2.6.2.4): Warnt automatisch, wenn weniger als 50% der Mannschaft anwesend sind.
⚙️ Architektur & Clean Code (Under the Hood)
- Auflösung des Monolithen: Modulares Dateisystem mit modernen ES6 Imports etabliert.
- Strikte MVC-Trennung (Model-View-Controller) umgesetzt.
- Sämtliches Inline-CSS eliminiert und in einer zentralen styles.css konsolidiert.
1. Turniermodi & Auslosungs-Engines
- Schweizer System (CH): Vollwertige Paarungs-Engine nach FIDE-Regeln.
- Rundenturnier (Round-Robin): Automatische Generierung inkl. Farbverteilung.
- Chess960 (Fischer Random): Integrierter Generator für alle 960 Stellungen inkl. FEN-Code und Lichess-Editor-Link.
- Manueller Modus (Rekonstruktion): Ermöglicht den Nachbau historischer Turniere oder manuelle Eingriffe (z. B. Paarungen erzwingen).
- Automatischer Farbausgleich: Maximale Farbwechsel, Verhinderung von mehr als zwei gleichen Farben in Folge.
- Intelligente Freilos-Vergabe: Systematischer Ausgleich bei ungerader Teilnehmerzahl (kein Spieler erhält zweimal ein Freilos).
2. Teilnehmer-Management & Runden-Management
- Live-Editierung: Spielerdaten (Name, Verein, DWZ, ELO) können jederzeit im laufenden Turnier korrigiert werden.
- Pausen-Modus: Spieler können für einzelne Runden auf "Inaktiv" gesetzt werden, ohne das Turnier verlassen zu müssen.
- Half-Point Bye: Systemseitige Option für pausierende Spieler. Das System vergibt regelkonform 0,5 Punkte, ohne den Spieler zu paaren.
- Runden-Navigator: Jederzeitiges Zurückspringen in bereits gespielte Runden, um fehlerhafte Ergebnismeldungen nachträglich zu korrigieren.
- Runden-Ankündigung: Automatischer Text-Generator für WhatsApp & E-Mail inkl. Fristen für Nachholpartien.
- Live-DWZ-Prognose: Berechnung der Wertungsänderung nach neuer WO 2026 direkt in der Teilnehmerliste.
3. Mathematik & Dynamische Tabellen
- FIDE-konforme Buchholz-Zunahme: Live-Einberechnung der aktuellen Punktzahlen zugewiesener Gegner noch während der laufenden Runde.
- Virtuelle Gegner (FIDE C.04.3.2): Vollwertige mathematische Korrektur für kampflose Partien und Freilose, um Verzerrungen der Buchholz-Wertung zu verhindern.
- Flexibles Umschalten (Live-Switches): Sowohl die Feinwertungen als auch das Berechnungsmodell (mit/ohne Virtuelle Gegner, Half-Point Bye) können live per Checkbox gewechselt werden.
- Altersklassen-Filter: Die Tabelle kann per Dropdown sofort auf einzelne Altersklassen (z. B. "Nur U12") reduziert werden – ideal für zielgerichtete Ausdrucke oder Uploads.
- Präsentationsansicht: Ablenkungsfreies Vollbild-Rendering der Tabellen (Dark-Mode optimiert) für Beamer. Skaliert dynamisch und scrollbar-frei auf jede Monitorgröße.
4. Export, Import & Web-Anbindung
- 🌐 1-Klick Web-Sync (Datenbank): Laufende und beendete Turniere können auf Knopfdruck in einer MySQL-Datenbank (Web-Pool) gespeichert werden.
- Dynamische iFrames: Jedes synchronisierte Turnier erhält eine eindeutige Web-ID und generiert automatisch einen Embed-Code für die Vereinshomepage.
- Live-Ticker: Der Web-Sync-Button überschreibt automatisch die reservierte ID 0, wodurch ein permanenter Live-Ticker auf der Homepage immer das aktuellste Turniergeschehen anzeigt.
- JSON-Backup & CSV: Lokale Sicherung des kompletten Turnierstatus sowie optimierter Import/Export von Vereinslisten (UTF-8 BOM Support). Die Web-ID bleibt in JSON-Backups erhalten.
- PGN-Export: Volle Partien-Dokumentation für einzelne Runden oder das gesamte Turnier (inkl. Chess960-Varianten-Header).
- Behörden-Export: TRF-Dateien (Fixed-Width) für den DSB/FIDE zur offiziellen Wertungsauswertung generieren.
Changelog
v2.0 Beta (Juni 2026) - Liga-Modul & Smart Check
- Feature: Vollständiger Neuaufbau des Liga-Moduls auf Basis von relationalen ES6-Modulen.
- Feature: "Smart Check Engine" eingeführt, die als digitaler Schiedsrichter Eingaben in Echtzeit gegen die Spielordnung validiert.
- Feature: Ligatemplate-Architektur geschaffen, um Regelwerke (z.B. Schachkreis Zugspitze) von der Code-Logik zu trennen.
- UI/UX: Spieler-Dropdowns im Liga-Modul zeigen nun direkt die offizielle Meldenummer im Format
(01) an.
v1.5 (Juni 2026) - TRF-Export & UI-Perfektion
- Feature: TRF-Export für beendete Turniere nach strengen FIDE/DSB Fixed-Width-Spezifikationen integriert (001-Codes, Padding, etc.).
- UI/UX: Export-Leiste komplett überarbeitet. Striktes Raster, einheitliche Höhen (38px) und strategische Farbgebung (Ghost-Buttons für PDF/TXT, Lila für PGN/TRF, Signalton für Web-Sync).
- UI/UX: Spielerliste robuster gemacht (Flexbox-Fix). Aktions-Buttons bleiben auch bei extrem langen Namen oder Fensterumbrüchen stets gebündelt am rechten Rand.
- UI/UX: Präsentationsansicht (Beamer) mit responsiver
clamp()-Schriftgröße ausgestattet, um horizontale Scrollbars auf jedem Endgerät zuverlässig zu verhindern.
- UI-Polish: Quadratische Action-Buttons (Stift-Icon) in der Liste für eine bessere Trefferfläche.
v1.4 (Mai 2026) - Das Web-Sync & Datenbank-Update
- Feature: Umstellung der Web-Anbindung von statischen HTML-Dateien auf eine dynamische MySQL-Datenbank (`tom_archive`).
- Feature: Einführung des "1-Klick Web-Sync"-Buttons. Laufende Turniere können nun lückenlos als Zwischenstände online aktualisiert werden, beendete Turniere werden eingefroren.
- Feature: Automatische Generierung von einzigartigen Web-IDs und iFrame-Einbettungscodes für eine kinderleichte Homepage-Pflege.
- Feature: "Live-Ticker"-Slot (`id=0`) integriert, der immer das zuletzt aktualisierte Turnier bereithält.
- UX-Fix: Die Feature-Liste öffnet sich nun als gesicherter Info-Tab und kann via Button geschlossen werden, um den Fokus auf dem lokalen Turnier-Tab zu behalten.
v1.3 (Mai 2026) - Das FIDE-Feinwertungs-Update
- Feature: Vollwertige FIDE-Berechnung für "Virtuelle Gegner" bei Freilosen und kampflosen Ergebnissen implementiert.
- Feature: "Half-Point Bye"-Modus für pausierende Spieler hinzugefügt – inklusive dynamischem FIDE-Wertungsmodell.
- Feature: Live-Synchronisation der Einstellungs-Checkboxen (Startmenü und Tabellen-Unterseite) zur fehlerfreien Live-Korrektur.
v1.2 (Mai 2026) - Die Web-Brücke & UI-Dynamik
- Feature: Erster Live-Upload der HTML-Tabelle auf den eigenen Webspace via PHP-Schnittstelle integriert.
- Feature: Live-Filter für Altersklassen (AK) in der Tabellenansicht hinzugefügt.
- Feature: Runden-Navigator integriert, um historische Runden nachträglich ohne Datenverlust zu korrigieren.
v1.1 (Mai 2026) - Erweiterungen & Komfort
- Manuelle Paarung: Feature zur Rekonstruktion laufender Turniere hinzugefügt.
- Chess960: Fischer-Random-Support implementiert.
- Kommunikation: WhatsApp/E-Mail Ankündigungs-Modul hinzugefügt.
v1.0 (Mai 2026) - Initial Release
- Grundlegende Architektur für CH-System und Rundenturniere.
- DWZ-Berechnungsmodul nach WO 2026.
- Lokale Datenhaltung via localStorage.