258 lines
14 KiB
Markdown
258 lines
14 KiB
Markdown
# Projektstatus
|
||
|
||
## Aktueller Umfang
|
||
|
||
Etappe 1 bis Etappe 5 sind abgeschlossen. Architektur, Gesamtdatenmodell,
|
||
Anmeldung, Rollen, persistente Inhaltsbearbeitung, Sendungsplanung,
|
||
Live-Steuerung, Präsentationsausgabe und lokaler Betriebsweg sind dokumentiert.
|
||
Etappe 6 wurde nicht begonnen.
|
||
|
||
## Materialkorrektur 0.5.7
|
||
|
||
- statische Gold-/Blauviolettlichter so positioniert und verstärkt, dass sie im
|
||
eigentlichen Arbeitsbereich statt fast ausschließlich hinter der Navigation
|
||
sichtbar werden
|
||
- gemeinsame Materialtokens auf Außenglas, dunkle Innenfläche und tiefe
|
||
Ablaufkarte reduziert; verschachtelte Abschnitte, Pieces und Aktionsgruppen
|
||
werden nach innen dunkler statt heller und blaugrau
|
||
- aktive Editortabs transparent goldgetönt und private Recherche sowie
|
||
Quellen-/Materialbereiche auf transparente Nachtblauflächen zurückgeführt
|
||
- Dialog-Backdrop von starker Abdunklung und Unschärfe auf eine leichtere
|
||
Trennung reduziert, sodass die Lichtstimmung bei geöffnetem Editor erhalten
|
||
bleibt
|
||
- deckende Schreibfelder, Goldfokus, Lightmode, Mobilansicht und lesbare
|
||
Komponentenfüllungen ohne verfügbaren Blur bleiben erhalten
|
||
|
||
Die berechneten Hintergründe, Transparenzen, Filter und Begrenzungseigenschaften
|
||
wurden vor und nach der Korrektur in Chromium kontrolliert. Sendungsplanung,
|
||
Sendungstext und Recherche wurden bei 1440 × 1000 und 390 × 844 Pixeln in beiden
|
||
Themes visuell geprüft.
|
||
|
||
## Oberflächenkorrektur 0.5.6
|
||
|
||
- sichtbare statische Gold- und Blauviolettlichter hinter den halbtransparenten
|
||
Navigations- und Editorflächen
|
||
- klarere Glaswirkung in Navigation sowie Kopf, Tabs und Fuß des Piece-Editors;
|
||
Schreibflächen bleiben deckend, ruhig und goldfokussiert
|
||
- Fundus mit dauerhaft sichtbarer Suche und Neuanlage, aufklappbaren Zusatzfiltern
|
||
und inhaltsorientierten, vollständig anklickbaren Zeilen
|
||
- vorhandene Vorschaubilder beziehungsweise kleine Symbolplatzhalter sowie
|
||
gebündelte Menüs für Duplizieren und Archivieren
|
||
- bestehende Server-Actions, Filterlogik und Editor-Bereiche unverändert
|
||
|
||
Geprüft wurden `npm run check` sowie Fundus und geöffneter Piece-Editor in
|
||
Chromium bei 1440 × 1000 und 390 × 844 Pixeln in Light/Dark. Die gezielte
|
||
Kontrolle umfasste Tastaturöffnung, Menüs, Fokus, Glaswerte, Seitenüberlauf und
|
||
visuell geprüfte Screenshots. Produktionsbuild und vollständige Testmatrix wurden
|
||
gemäß Auftrag nicht ausgeführt.
|
||
|
||
## Oberflächenkorrektur 0.5.5
|
||
|
||
- dunkle Grundfläche mit sehr zurückhaltenden Gold-/Cyan-Lichtfeldern innerhalb
|
||
der Anwendung statt gleichmäßig deckender Blauflächen
|
||
- Navigation, große Arbeitsflächen und Piece-Dialog als dunkles beziehungsweise
|
||
helles Glas mit feiner Lichtkante, Unschärfe und ruhigem Schatten
|
||
- Gold für Dialogkontur, Fokus, aktive Zustände und Hauptaktionen; Cyan nur noch
|
||
für ergänzende redaktionelle Hinweise und Links
|
||
- klar abgegrenzte, weitgehend deckende Schreibfelder mit Goldfokus, Platzhaltern
|
||
und nach Textrolle abgestuften Höhen
|
||
- bestehende nachträgliche CSS-Override-Schicht entfernt und die Gestaltung in
|
||
gemeinsame Tokens und ursprüngliche Komponentenregeln zurückgeführt
|
||
|
||
Geprüft wurden Typen, Produktionsbuild sowie gezielte Chromium-Ansichten von
|
||
Eingang, Fundus, Piece-Editor, Sendungsplanung und Live-Steuerung bei 1440 × 1000
|
||
und 390 × 844 Pixeln in beiden Themes. Die vollständige Unit- und E2E-Matrix
|
||
bleibt wie beauftragt Schritt 3 vorbehalten.
|
||
|
||
## Oberflächenrelease 0.5.4
|
||
|
||
- gemeinsame Light-/Dark-Tokens für ruhige Arbeitsflächen, Cyan als
|
||
Interaktionsfarbe und Gold für die jeweilige Hauptaktion
|
||
- Darkmode im heinzlive-Farbraum mit Hintergrund `#0B1220`, Flächen `#152238`,
|
||
Text `#FFF7E8`, Sekundärtext `#A9B6C8`, Gold `#E7B957`, Cyan `#67DDE8` und
|
||
Grenzen `#30435C`
|
||
- vereinheitlichte Navigation, Formulare, Meldungen, Listen, Sendungsplan,
|
||
Live-Steuerung und Piece-Dialoge ohne Änderung der Bedienlogik
|
||
- kompaktere Planzeilen mit sichtbarem Drag-Griff und waagerechter Aktionsgruppe;
|
||
Klick-, Touch- und Tastaturalternativen bleiben erhalten
|
||
- verständliche Kontextnamen „Fundusfassung“ und „Sendungsfassung“ sowie weniger
|
||
technische Erläuterungen im redaktionellen Arbeitsfluss
|
||
- dezente Speicheraktion im gespeicherten Zustand und hervorgehobene Aktion bei
|
||
ungespeicherten Änderungen, Fehlern oder Konflikten
|
||
|
||
Für diesen Design-Release wurden `npm run check`, `npm run build` und gezielte
|
||
Chromium-Sichtkontrollen auf Eingang, Fundus, Piece-Editor, Sendungsplan und
|
||
Live-Steuerung bei 1440 × 1000 sowie 390 × 844 Pixeln in Light/Dark ausgeführt.
|
||
Konsolenfehler und horizontaler Seitenüberlauf traten dabei nicht auf. Die
|
||
vollständige Unit- und E2E-Matrix wurde für die rein visuelle Änderung bewusst
|
||
nicht erneut ausgeführt; die fachlichen Nachweise der Etappen 1 bis 5 bleiben
|
||
unverändert.
|
||
|
||
## Umgesetzter Stand Etappe 1
|
||
|
||
- SvelteKit-/TypeScript-Monolith mit Node-Adapter
|
||
- konfigurierbare lokale SQLite- und Uploadpfade
|
||
- wiederholbare Migrationen und realistischer Seed
|
||
- persistentes Light-/Dark-/System-Theme
|
||
- responsive Navigation und gekennzeichnete Vorschauen für Fundus,
|
||
Sendungsbau und Live-Modus
|
||
- kompakte Desktop-Arbeitsansicht mit fester Seitenleiste, Fundusliste und
|
||
zweigeteiltem Sendungsbau; auf schmalen Ansichten Umschaltung statt Engpass
|
||
- Healthcheck, Produktionsstart und frühes Cloudron-Paket
|
||
- getrennte Unit-/Integrations- und Browser-Testdaten
|
||
|
||
Die Vorschauen lesen echte Daten aus SQLite. Suche und mobile Pane-Umschaltung
|
||
funktionieren lokal; redaktionelle Schreiboperationen bleiben bewusst den
|
||
späteren Etappen vorbehalten.
|
||
|
||
Die abschließende Oberflächenüberarbeitung von Etappe 1 reduziert große
|
||
Seitenköpfe und verschachtelte Karten, bündelt den Schreibschutzhinweis
|
||
aufklappbar und hält Entwicklungsinformationen aus der Arbeitsoberfläche heraus.
|
||
Eingang und Archiv zeigen kurze Leerzustände, die Verwaltung trennt
|
||
Abschnittskategorien, Formate und Themen kompakt.
|
||
|
||
Die abschließende responsive Prüfung verdichtet Seitenleiste, Navigation und
|
||
Funduszeilen weiter. Mobile Funduskarten sind intern einspaltig; lange Titel,
|
||
Beschreibungen und Metadaten bleiben ohne feste Kartenhöhe sichtbar. Suche und
|
||
Statusfilter sind gleich hoch, und die Filtergruppe wird nur als Ganzes
|
||
umgebrochen.
|
||
|
||
## Noch nicht umgesetzt
|
||
|
||
Archivabschluss, Freigaben, RSS und API. Diese späteren Bereiche dürfen nicht
|
||
als bereits implementiert verstanden werden.
|
||
|
||
## Umgesetzter Stand Etappe 2
|
||
|
||
- einmalige Erstadmin-Einrichtung mit externem Betreiber-Token
|
||
- Login und POST-Logout mit widerrufbaren Datenbanksitzungen
|
||
- Rollen Barkeeper und Thekencrew mit serverseitiger Prüfung
|
||
- Einladungen und Passwortreset über befristete, einmalige Links
|
||
- Kontensperrung mit sofortigem Entzug bestehender Sitzungen
|
||
- zeitfensterbasiertes Login-Rate-Limit ohne dauerhafte Kontensperre
|
||
- lokale Mail-Outbox als Vorgabe und explizit konfigurierbarer SMTP-Versand
|
||
- responsive Authentifizierungs- und Kontenverwaltungsoberflächen
|
||
|
||
## Umgesetzter Stand Etappe 3
|
||
|
||
- persistente Piece-Neuanlage aus leerem Entwurf oder drei redaktionellen Vorlagen
|
||
- Schnellaufnahme von Gedanken und HTTP-/HTTPS-Links im Eingang
|
||
- vollständiger Editor für Quellen, Dauer in Minuten, Status und getrennte
|
||
Einleitung, Recherche, Moderation, Überleitung und Präsentation
|
||
- serverseitig bereinigte Markdown-Vorschau
|
||
- unabhängige Themen, Formate und Abschnittskategorien mit Barkeeper-Verwaltung
|
||
- serverseitige Suche und Filter nach Status, Format, Thema und Abschnitt
|
||
- Autospeichern mit sichtbarem Zustand und Warten vor interner Navigation
|
||
- optimistische Revisionen verhindern unbemerktes Überschreiben
|
||
- Duplizieren einschließlich Quellen, Taxonomie und Bildern
|
||
- Archivieren und Wiederherstellen in den vorherigen Arbeitsstatus
|
||
- private Rasterbilder mit Größen-/Signaturprüfung und geschützter Auslieferung
|
||
- erweiterter Seed mit Eingangs-, Archiv-, Markdown- und Recherchebeispielen
|
||
- standardmäßig ausgeblendete gesendete Pieces mit verlinkter, aufklappbarer
|
||
Verwendungshistorie; gesendet bedeutet erledigt in abgeschlossener Sendung
|
||
- standardmäßig ausgeblendete Pieces, die in mindestens einer noch nicht
|
||
abgeschlossenen Sendung eingeplant sind, mit unabhängigem Sofortfilter
|
||
- Fundus-Originale und sendungsspezifische Verwendungen nutzen denselben
|
||
großzügigen Dialograhmen mit den Bereichen „Sendungstext“, „Recherche &
|
||
Quellen“ und „Präsentation“; der jeweilige Speicherkontext ist sichtbar und
|
||
Original sowie Verwendung bleiben getrennte Revisionsgrenzen
|
||
- Titel, Einleitung, Moderationsstichpunkte und Überleitung sind ohne
|
||
vorgeschaltete Lese-/Bearbeitungsschalter direkt beschreibbar; eine kleine
|
||
Markdown-Leiste ergänzt Formatierung ohne Änderung des Speicherformats
|
||
- Recherche, Quellen, verwendungseigene Notizen und Material sind in einem
|
||
Bereich gebündelt; öffentliche Texte, Darstellungswahl und tatsächliche
|
||
Vorschau stehen gemeinsam im Präsentationsbereich
|
||
- der Dialog bleibt innerhalb der Desktop-Fensterhöhe, hält Kopf,
|
||
Bereichsnavigation und Aktionen sichtbar und nutzt mobil die volle
|
||
Bildschirmfläche; Bereichswechsel hängen Eingaben nicht aus und merken die
|
||
jeweilige Scrollposition
|
||
- die Schnellaufnahme akzeptiert Gedanke oder URL, bleibt nach dem Ablegen im
|
||
Eingang und öffnet die Ausarbeitung erst über eine bewusste Aktion
|
||
|
||
Für diese gezielte Überarbeitung wurden `npm run check` sowie kurze
|
||
Chromium-Sichtkontrollen des Original- und Verwendungseditors bei 1440 × 1000
|
||
und 390 × 844 Pixeln ausgeführt. Dabei waren Dialoggrenzen, feste Bedienbereiche,
|
||
alle drei Arbeitsbereiche und horizontaler Überlauf unauffällig. Die vollständige
|
||
Unit-, E2E- und Build-Matrix ist gemäß Auftrag noch offen.
|
||
|
||
## Umgesetzter Stand Etappe 4
|
||
|
||
- Sendungsübersicht mit leerem Start, Standardablauf und Spieleabend-Vorlage
|
||
- frei benennbare, kategorisierte und sortierbare Abschnitte einschließlich
|
||
eigenständiger Spieleblöcke
|
||
- Einplanung ausschließlich sendefertiger Pieces als unabhängige Text- und
|
||
Dauerkopien; Mehrfachverwendung desselben Originals ist möglich
|
||
- showweite Reservebank, die nicht in Abschnitts- oder Gesamtdauer einfließt
|
||
- explizite Abschnittsdauer ersetzt die Piece-Summe statt sie zu addieren
|
||
- Bearbeiten, Entfernen sowie Verschieben innerhalb und zwischen Abschnitten
|
||
- zugänglicher Stift-Dialog für alle sendungsspezifischen Felder und Aktionen,
|
||
auf Desktop zweispaltig und auf kleinen Bildschirmen einspaltig scrollbar
|
||
- explizites Aktualisieren eines Verwendungssnapshots aus dem Original für
|
||
Titel, Dauer und Redaktionstexte bei erhaltenen Notizen und Live-Daten
|
||
- Duplizieren einer konkreten Einplanung direkt hinter dem Ausgangselement mit
|
||
erhaltenen Anpassungen, aber zurückgesetztem Live-Zustand
|
||
- Piece-Dauern werden im Editor in Minuten eingegeben und intern weiterhin als
|
||
ganze Sekunden gespeichert
|
||
- Drag-and-drop über eindeutige Griffe, auch direkt aus gefilterten Quellen,
|
||
mit positionsgenauer Einfügevorschau, transparentem Original und
|
||
gleichwertigen Klick-, Touch- und Tastaturaktionen
|
||
- Planungsmutationen ohne Dokumentreload mit lokalem Speicherzustand und
|
||
animierter Neusortierung der betroffenen Elemente
|
||
- unabhängige Sofortfilter für verwendete sowie in der aktuellen Sendung schon
|
||
eingeplante Originale einschließlich Reservebank
|
||
- kopierbare Twitch-Titel und Ankündigungstexte
|
||
- showweite optimistische Revision schützt Metadaten, Reihenfolge und Inhalte
|
||
vor unbemerktem parallelem Überschreiben
|
||
- realistischer Seed mit Standardablauf und eigenständigem Spieleabend
|
||
|
||
## Umgesetzter Stand Etappe 5
|
||
|
||
- fokussierte Moderationsansicht mit Prompter-Schrift, Einleitung, Moderation,
|
||
Überleitung und standardmäßig geschlossener privater Recherche
|
||
- ausblendbare Zeit- und Ablaufanzeige sowie persistente lokale Leseposition
|
||
- aktuelles und nächstes Piece samt Abschnitt und geplantem Zeitbedarf
|
||
- persistenter Live-Stand mit tatsächlichen Laufintervallen, Erledigen,
|
||
Überspringen, Zurück und Wiederaufnahme
|
||
- idempotente Live-Befehle verhindern doppelte Wirkung bei Wiederholung
|
||
- serverseitig geschützte Umsortierung offener Pieces und Reserveeinfügung
|
||
- explizite Präsentationsaktion; normale Live-Navigation verändert die Ausgabe
|
||
nicht
|
||
- getrennte, tokenisierte heinzlive-Ausgabe mit Polling, Verbindungsanzeige,
|
||
Präsentationstext, Quellen und erlaubten Bildern
|
||
- wählbare Text-, Linkkarten- und Videodarstellung aus genau einer vorhandenen
|
||
Piece-Quelle mit manuell korrigierbaren, persistenten Metadaten
|
||
- ausdrückliches serverseitiges Neuladen von Linkmetadaten über Metascraper mit
|
||
DNS-, Redirect-, Zeit-, Größen- und Privatnetzschutz
|
||
- validierte YouTube- und TikTok-IDs, offizielle Player-Iframes ohne Autoplay
|
||
sowie Linkkarten-Fallback für nicht unterstützte Videoquellen
|
||
- unveränderliche Präsentationssnapshots je Einplanung und explizite
|
||
Aktualisierung aus dem Fundus
|
||
- isolierte Präsentationstestansicht ohne Änderung des Live-Stands sowie
|
||
tokengebundene, serverseitig geschützte Proxys für externe Vorschaubilder
|
||
- Ausgabe-HTML, JSON und Medienzugriff enthalten keine Recherche,
|
||
Moderationsnotizen, eigenen Notizen, Kontodaten oder internen Dateipfade
|
||
|
||
## Bekannte offene Betriebsprüfung
|
||
|
||
Eine echte Cloudron-Installation samt Backup/Restore, Reverse-Proxy-Verhalten
|
||
und read-only Laufzeit konnte ohne bereitgestellten Cloudron-Server nicht
|
||
durchgeführt werden. Auch der lokale Container-Smoke-Test blieb offen, weil
|
||
auf der Prüfmaschine kein Docker-Daemon lief. Manifestkernfelder und
|
||
Startskript-Syntax wurden lokal geprüft.
|
||
|
||
Eine reale OBS-Browserquelle stand nicht zur Verfügung. Die tokenisierte
|
||
Präsentationsausgabe wurde stattdessen in einem anonymen zweiten Chromium-
|
||
Browserkontext einschließlich Bild, JSON-Filterung, Polling und sichtbarem
|
||
Verbindungsabbruch geprüft.
|
||
|
||
Die automatisierten Playerprüfungen fingen YouTube- und TikTok-Requests lokal
|
||
ab. URL-Erkennung, Iframe-Wechsel, Zeitmarkenübergabe und mobile Ausgabe sind
|
||
damit geprüft, nicht jedoch die reale Wiedergabe oder Verfügbarkeit der Anbieter.
|
||
|
||
## Verifizierte Umgebung
|
||
|
||
- Node.js 22.23.1, npm 10.9.8
|
||
- SvelteKit 3.1.0, Svelte 5.57.2, Vite 8.3.5
|
||
- SQLite-Treiber `better-sqlite3` 13.0.3
|
||
- Playwright 1.64.1 mit Chromium 156.0.8078.4 (Fallback-Build für Ubuntu 24.04)
|