release: add post-production workspace 0.9.0
This commit is contained in:
1 parent
abc31d920f
commit
a6c8606f3c
46 files changed
+10783
-3415
No files matched your search
@@ -634,3 +634,134 @@ aus der URL angewendet. Status gilt für beide Treffergruppen; Thema und Format
|
||||
gelten ausschließlich für Pieces und schließen Streamtreffer aus. Taxonomie und
|
||||
Trefferzahlen werden aus SQLite abgeleitet. Es gibt keinen neuen Index, keine
|
||||
Migration und keinen konto- oder browsergebundenen Filterzustand.
|
||||
|
||||
## D-038: Stream-Inspector statt Usage-Overlay
|
||||
|
||||
Die nicht-modale Dialoglösung aus D-036 wird für die Streamplanung durch eine
|
||||
dauerhafte rechte Inspector-Spalte ersetzt. Der Ablauf bleibt dadurch räumlich
|
||||
stabil und die Auswahl von Stream, Abschnitt oder Usage ändert nur den Inhalt
|
||||
derselben Metadatenfläche. Unterhalb der Desktopbreite ist der Inspector ein
|
||||
eigener `Details`-Pane statt eines überlagernden Dialogs.
|
||||
|
||||
Show und Abschnitt verwenden die vorhandenen Actions. Für Usage-Schnellfelder
|
||||
führt eine schmale Route-Action die nicht dargestellten Snapshotfelder aus der
|
||||
aktuellen serverseitigen Projektion mit und ruft anschließend unverändert
|
||||
`updatePieceUsage()` auf. Damit bleibt die Revision die gemeinsame
|
||||
Schreibgrenze; ein reduziertes Formular darf keine Moderations-, Recherche- oder
|
||||
Präsentationsdaten löschen. Der Link `Piece bearbeiten` führt bewusst zum
|
||||
Original-Piece und vermischt dessen Autosave nicht mit der Streamrevision.
|
||||
|
||||
## D-039: Postproduktion bleibt an abgeschlossene Streams gebunden
|
||||
|
||||
Post erhält kein zweites Sendungsmodell. Jeder Aufzeichnungsteil, jede Quelle und
|
||||
jeder Post-Inhalt verweist auf eine vorhandene Sendung; der Dienst akzeptiert
|
||||
ausschließlich `shows.status = 'completed'`. Gemeinsame Identität, Status,
|
||||
Revision, Herkunft und Reihenfolge liegen in `post_items`, während YouTube,
|
||||
Social-Clips und Twitch-Highlights ihre unterschiedlichen Felder in typbezogenen
|
||||
Tabellen führen. Migration `0021` ist damit rein additiv und verändert keine
|
||||
bestehenden Stream-Snapshots.
|
||||
|
||||
Markdown-Kontext wird unverändert privat gespeichert. SHA-256 schützt pro
|
||||
Sendung vor Dubletten; Zeitmarken und Transkriptfragmente werden nur aus
|
||||
tatsächlich vorhandenen Zeilen extrahiert. Quellen und Thumbnails verwenden
|
||||
zufällige Speichernamen im konfigurierten Uploadverzeichnis und authentifizierte
|
||||
Auslieferungsrouten. Ein Originalname oder Medienpfad wird nie zu einer
|
||||
ungeschützten statischen URL.
|
||||
|
||||
Ein Export darf seine technische Verwendbarkeit nicht vortäuschen. Resolve-XML
|
||||
benötigt daher einen absoluten Pfad oder `file://`, Framerate, Timebase sowie
|
||||
positive Start- und Endpunkte. SRT wird vollständig blockweise validiert. Fehlt
|
||||
eine Voraussetzung, antwortet die Exportroute mit `EXPORT_NOT_READY`, und die
|
||||
Oberfläche bietet den Export nicht an.
|
||||
|
||||
Eine KI-Schreibfunktion wird erst mit einem real konfigurierten Provider
|
||||
eingeführt. `post-ai.ts` definiert nur den providerneutralen Ein-/Ausgabevertrag;
|
||||
es gibt keine Scheinaktion, keinen Netzwerkaufruf und keine Abhängigkeit des
|
||||
manuellen Workflows von einem KI-Dienst.
|
||||
|
||||
## D-040: Gemeinsame Inhaltswerkbank und URL-gebundene Voll-Editoren
|
||||
|
||||
Pieces, Eingang und Post folgen derselben visuellen Hierarchie: Navigation oder
|
||||
Quellen links, auswählbare Inhalte mittig und häufige Bearbeitung rechts. Der
|
||||
Inspector ist ausdrücklich kein reines Metadatenpanel; er enthält die im Alltag
|
||||
benötigten Texte, kontextbezogene Uploads und Primäraktionen. Bei mittleren
|
||||
Breiten folgt er unter dem Inhalt, mobil werden die Bereiche geordnet gestapelt.
|
||||
Diese Projektion führt keine neue persistente Auswahl oder Fachlogik ein.
|
||||
„Gemeinsam“ bedeutet dabei auch gemeinsame Oberflächenbausteine: Katalognavigation,
|
||||
`builder-pane` und `stream-inspector` werden von Streams, Pieces und Post direkt
|
||||
geteilt. Bereichsspezifische Parallelimplementierungen mit nur ähnlicher Optik
|
||||
werden vermieden.
|
||||
|
||||
Die vollständige Piece- und Postbearbeitung behält ihre bestehende eigene URL.
|
||||
Der Piece-Editor bleibt ein nativer modaler Dialog ohne zweite
|
||||
Inhaltsnavigation. Die Post-Werkbank ist dagegen eine normale Seite im
|
||||
Streams-Layout, damit globale Navigation, Streamkontext und der Wechsel zwischen
|
||||
mehreren YouTube-, Social- und Highlight-Inhalten räumlich stabil bleiben. Sie
|
||||
ergänzt dafür bewusst eine linke Schnellnavigation. Piece-Autosave, Revisionen,
|
||||
Post-Revisionen und sämtliche Snapshotgrenzen bleiben die einzigen
|
||||
Schreibgrenzen.
|
||||
|
||||
RSS bleibt vor der Übernahme eine eigene Entität im Eingang. Eine einheitliche
|
||||
Darstellung darf diese Grenze nicht verwischen: Vorschau, Verwerfen und
|
||||
Übernehmen arbeiten auf `feed_entries`; erst der ausdrückliche Import erzeugt ein
|
||||
Piece. Ebenso projiziert Post ausschließlich vorhandene abgeschlossene Streams
|
||||
und erhält keine zweite Sendungsverwaltung.
|
||||
|
||||
## D-041: Stream-orientierte Post-Schnellwerkbank und gemeinsame Auswahlflächen
|
||||
|
||||
Die Post-Detailroute startet ohne ausgewählten Einzelinhalt. In diesem Zustand
|
||||
zeigt die Mitte eine kopierbare Übersicht und der Inspector ausschließlich
|
||||
Streammetadaten; erst eine Auswahl in der linken Navigation öffnet einen Editor.
|
||||
Die URL trägt die Auswahl als `item`, und jede Mutation übernimmt diesen
|
||||
Parameter. Dadurch bleiben Reload, Uploads und Speichern adressierbar, ohne einen
|
||||
neuen persistenten Auswahlzustand einzuführen.
|
||||
|
||||
TikTok und Instagram teilen eine Caption inklusive Hashtags. YouTube Shorts
|
||||
führt nur den Titel. Migration `0022` ergänzt dafür additiv `social_caption` und
|
||||
übernimmt vorhandene Texte. Eine einzige Kontextdatei wird bei der Anlage
|
||||
automatisch verknüpft. Piece-Optionen werden anhand der tatsächlichen Usages des
|
||||
geöffneten Streams begrenzt; die Postproduktion kann damit keine fachlich
|
||||
fremden Fundus-Pieces zuordnen.
|
||||
|
||||
Checkboxen und Radios werden nicht durch eigene JavaScript-Steuerungen ersetzt.
|
||||
Sie bleiben native, fokussierbare Eingaben, während das Label als farblich
|
||||
markierte Auswahlfläche erscheint und das Kästchen selbst unsichtbar bleibt.
|
||||
Diese Regel gilt sendewerkweit und erhält Formsemantik, Tastaturbedienung sowie
|
||||
serverseitige Formverträge.
|
||||
|
||||
Post verwendet für aktive Inhaltszeilen, Register, Zielplattformen und Filter
|
||||
dieselbe Auswahl wie Streams: abgerundete ruhige Fläche und dünne goldene
|
||||
Kontur, ohne Cyan-Füllung oder seitlichen Balken. Felder, Radien und Abstände
|
||||
werden aus der Streambearbeitung übernommen, statt einen eigenen
|
||||
Post-Formularstil zu bilden.
|
||||
|
||||
## D-042: Live als vollständig lesende Streamprojektion
|
||||
|
||||
Live ist keine eigene Steuerungsshell mehr, sondern eine reguläre
|
||||
Sendewerk-Seite. Sie verwendet globale Desktop- und Mobilnavigation, den
|
||||
Streamkopf sowie drei Pane-Flächen für Ablauf, Moderationsdokument und Details.
|
||||
Die responsive Umschaltung folgt den übrigen Werkbänken statt eines modalen
|
||||
Ablauf-Sheets.
|
||||
|
||||
Die Route zeigt keine Status-, Fortschritts-, Sortier- oder Abschlusssteuerung.
|
||||
Das Auswählen eines Pieces, Vor/Zurück und die Darstellungsoptionen sind
|
||||
ausschließlich lokaler Browserzustand. Präsentieren bleibt als ausdrücklich
|
||||
getrennte Ausgabeaktion erhalten und schreibt nur den Präsentationsstand. Dadurch
|
||||
kann Navigation innerhalb von Live weder den Stream- oder Usage-Status noch die
|
||||
Reihenfolge verändern. Bestehende Live-Daten werden als gespeicherter Stand
|
||||
dargestellt.
|
||||
|
||||
## D-043: Verbindliches Seitenraster und reduzierte App-Bewegung
|
||||
|
||||
Streams definiert nicht nur Farben und Pane-Radien, sondern das Seitenraster für
|
||||
alle Bereiche. Die linke Bereichsspalte beginnt unmittelbar unter der globalen
|
||||
Navigation und überspannt freien Seitenkopf sowie Inhaltszeile. Der Seitenkopf
|
||||
liegt ohne eigene Hintergrundfläche im Hauptbereich. Erst darunter beginnen die
|
||||
mittlere Inhaltsfläche und, falls vorhanden, der rechte Inspector. Gemeinsame
|
||||
Spaltenbreiten und Abstände dürfen nicht bereichsspezifisch abweichen.
|
||||
|
||||
Der Piece-Voll-Editor bleibt ein erkennbarer modaler Dialog und erhält deshalb
|
||||
auf Desktop Abstand zum Viewportrand, Kontur, Schatten und sichtbaren Backdrop.
|
||||
Öffnen, Schließen, Vergrößern beziehungsweise Pane-Wechsel verwenden kurze,
|
||||
ruhige Bewegungen unter 200 ms. Sie verändern keine Fachzustände und werden bei
|
||||
reduzierter Bewegung vollständig deaktiviert.
|
||||
Reference in new issue
Block a user