docs: SAVEPOINT — 5.6.0 gebaut und lokal installiert, NICHT veröffentlicht; Übergabe
Ampel / ampel (push) Successful in 1m25s

Prüfsumme, Klick-Beweis (33 Schritte), Tests (446), die acht Punkte von 5.6.0
(inkl. Vorgangs-Leiste), was am Gerät noch zu messen ist, bekannte Schwächen.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-03 19:19:11 +02:00
co-authored by Claude Fable 5.1
parent f5dab5d1c1
commit 512b38cced
+145 -1
View File
@@ -1,6 +1,150 @@
# SAVEPOINT — Rippy # SAVEPOINT — Rippy
## ÜBERGABE an die nächste Session (02.09.2026 abends — 5.5.0 gebaut, lokal installiert und im Tag `aktuell` VERÖFFENTLICHT) ## ÜBERGABE an die nächste Session (03.09.2026 abends — 5.6.0 gebaut und lokal installiert, NICHT veröffentlicht)
### Wo die nächste Session startet
* **Arbeitsort:** `F:\Coding Stuff\rippy`, Branch `worktree-windows-electron`
(Spitze siehe `git log`). v5-Code in `rippy-windows/`; `main` ist reines
Docker-Rippy.
* **Bau:** wie in BAUEN.md — `npm install` + `node node_modules/electron/install.js`,
Playwright mit `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1`, `vendor/` aus
`%LOCALAPPDATA%\Rippy\tools`.
* **Die drei Läufe:** `npm test` (446 Tests in 44 Dateien),
`npm run smoke` (Gerüst), `npm run klick` (33 Klick-Schritte, Bilder
`beweise/klick/*.png`, darunter `07-hell-modus.png` und `02-dialog-vorwahl.png`).
Alle drei in dieser Session grün.
* **Release veröffentlichen — NUR nach dem Wort des Commanders:** die
Dateien im Gitea-Tag `aktuell` ERSETZEN (`RippySetup-5.6.0.exe`,
`.blockmap`, `latest.yml`; `w0.yml` bleibt liegen). Dateien liegen in
`rippy-windows/dist-setup/` (Kopie) und `rippy-windows/dist-setup-560/`
(Original). Weg wie bei 5.5.0 (siehe unten „Veröffentlicht"): Token
`F:\Coding Stuff\Gittea Token\rippy.txt` über das PowerShell-Werkzeug
lesen (nie ausgeben), LAN-Adresse
`http://192.168.178.153:3000/api/v1/repos/Hitonabi/rippy/releases/1`,
ERST Setup und Blockmap hochladen, DANN `latest.yml` löschen (204) und
neu hochladen (201), Release-Name/Notizen PATCHen, anonym über
`https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/rippy/releases/download/aktuell/`
gegenmessen. Das PowerShell-Werkzeug blockt Befehle mit `Remove-Item`
Skript ohne schreiben. **Im Kanal liegt 5.5.0.**
### Stand
**5.6.0 ist gebaut, am ausgepackten Paket bewiesen und auf DIESEM PC
installiert (03.09.2026 19:17, Installer-Exit 0, Rippy lief dabei nicht), NICHT im Kanal.** Der Commander testet erst.
* Setup: `RippySetup-5.6.0.exe`, **131 566 582 Bytes**, SHA-256
`4392CA5D36E165491085810D4181B22594BB29D62334ED1CDD0D2171264DA1FD` (Bau in `dist-setup-560/`).
* Paket-Smoke: `SMOKE: OK — fenster=geladen kern=pid:15172,node:24.18.1 datenbank=ok leine=gesetzt pong=ok version=5.6.0`.
* **446 Tests** in 44 Dateien (5.5.0: 413), drei
Typprüfungen und Bau grün.
* Klick-Beweis: 33 Schritte grün, Ausgang 0 — neu gegenüber 5.5.0:
beide Titel auf Hauptfilm → keine Vorwahl; Titel 1 auf Extra → „BEIM
ABSPIELEN AN" erscheint, `deu` gewählt; zwei „anderer Film …"-Knöpfe,
Suchfeld öffnet; Kompressions-Karte zeigt „noch … s" (ETA aus der
nachgebauten HandBrake-Zeile), die Kachel zeigt KEINEN vollen Block mehr,
sondern „Kompression fertig — das Ergebnis steht im Verlauf"; Hell-Modus
über Einstellungen → Allgemein (`html[data-design=hell]`, Bild), zurück
auf Dunkel; Vorgangs-Leiste in der Kachel (TITEL LESEN ✓, RIPPEN aktiv,
KOMPRIMIEREN/ABLEGEN offen, keine „PHASE x/4"-Texte) und in der
Kompressions-Karte (KOMPRIMIEREN aktiv).
* Commits dieser Session: `f5dab5d` (Kern, Fenster, Tests, Klick-Beweis, Aenderungsnotizen, Version 5.6.0 — 59 Dateien) und dieser SAVEPOINT.
### Was 5.6.0 enthält — die sechs Punkte des Commanders vom 03.09.2026
Seine Worte: „Bei Kompression ETA anzeigen / Wenn ein Job abgeschlossen
wird, wird Kompression beim Hero-Header und im Kompression angezeigt — nur
nötig bei Kompression, oder? / Beim Scrollen in den Einstellungen muss die
Bar oben sinnvoll mitscrollen / Untertitel müssen separat auswählbar sein
(das hatten wir besprochen) / White Mode / Verhalten, wenn eine Disc mehr
als einen Film hat, besprechen." Seine Entscheide in den Rückfragen: **nur
in der Kompressions-Karte; Untertitel-Vorwahl je Inhalt — „NUR für Extras
und IMMER OPTIONAL", weiche Spur, nie eingebrannt; je Titel eigener Film
im Dialog; Roh-Ordner UND Dateien tragen den Filmnamen.**
1. **Restzeit (ETA):** `kern/komprimieren/handbrake.ts etaAusZeile` liest
HandBrakes eigene Klammer — Formatstring aus dem Binary (1.11.2):
`Encoding: task %d of %d, %.2f %% (%.2f fps, avg %.2f fps, ETA %02dh%02dm%02ds)`.
`KompressionStand.restS` → Kompressions-Karte „noch ~12 min"
(`bausteine.restText`). In den ersten Sekunden ohne Klammer: „Restzeit
wird berechnet …".
2. **Kachel-Kurzzeile:** `LaufwerkKachel` zeigt nach dem Rip nur noch eine
Zeile (läuft / Platz n / fertig → Verlauf / Fehler bleibt sichtbar, R4).
3. **Kopfzeile bleibt stehen:** `App.tsx` header `sticky top-0 z-40` mit
`bg-buehne/85 backdrop-blur-md`; die Sektionswahl der Einstellungen
sitzt darunter (`lg:top-[76px]`).
4. **Untertitel-Vorwahl je Extra:** `RipAuftragTitel.untertitelVorwahl`
(`string` = diese Sprache vorgewählt, `null` = keine, fehlend = Rippys
Regel) → `RohDatei.untertitelVorwahl``auftrag.ts sprachwahl` stellt
sie nach vorn und setzt `untertitelStandard` (HandBrake
`--subtitle-default=1`, weiche Spur). Dialog: Select „BEIM ABSPIELEN AN"
nur bei Rolle Extra, Vorgabe „Rippys Regel (deu)".
5. **Mehrere Filme je Disc:** `RipAuftragTitel.film` (MetaVorschlag) aus dem
Dialog („anderer Film …" mit TMDb-Suche über `metadaten-suchen`);
`kern/ablauf/filme.ts filmGruppen` teilt am Rip-Ende: Titel eines
anderen Films ziehen per `renameSync` in einen eigenen Roh-Ordner
(`rohOrdnerName`), bekommen eigenen Vorgang (`<vorgang>-2`, `-3` …) und
eigenen Kompressions-Auftrag mit voller Zuordnung
(`erkennung.zuordnungAus` → TMDb-Details; Notnagel
`zuordnungAusVorschlag`). Behält KEIN Titel die Disc-Zuordnung, wird die
erste Gruppe zum Hauptvorgang. Die Vorschau im Dialog zeigt je Film
seine Zeile.
6. **Ordner und Dateien mit Filmnamen:** Roh-Ordner
`roh\Akira (1988)` bzw. `roh\Spartacus - Staffel 1 Disc 2`, bei
Wiederholung „(2)"; ohne Zuordnung weiter der Zeitstempel. Dateien
(`kern/ablage/dateinamen.ts`): `Akira (1988).mkv`, zwei Fassungen
`… - Fassung 1.mkv`, Extras `… - Extra 01.mkv` in `extras\`; Folgen
behalten den Namen bis zur Episoden-Zuordnung. Der Vorgangs-Name
(Zeitstempel) bleibt die Kennung — `Vorgang.rohOrdner` trägt den Pfad.
7. **Hell-Modus:** Einstellung `design` (dunkel / hell / system);
`App.tsx` setzt `data-design` auf `<html>`, `stil.css` überschreibt die
Farb-Tokens (`:root[data-design="hell"]`: warmes Papier, dunkleres Gold,
Tinte statt Weiß). Neuer Token `--color-tinte` ersetzt alle
`white/`-Alpha-Klassen (`bg-tinte/…`, `border-tinte/…`).
8. **Vorgangs-Leiste** (Commander mitten in der Session: „Phase 14 plus
Komprimierung — zu einem machen, der Phasen-Balken gefällt mir"; sein
Ja zu Variante A): `gemeinsam/vorgangsleiste.ts` (pur: Stationen
Titel lesen → [Rettungs-Abbild] → Rippen → Komprimieren → Ablegen,
`stationsZustand`, `leisteAusRip/-Vorgang/-Kompression`) und
`fenster/uebersicht/VorgangsLeiste.tsx` (Segment-Balken in der aktiven
Station, kompakt als Punkte). Kachel: Details der Laufwerks-Stationen,
nach dem Rip nur der Stand; Kompressions-Karte: Stationen 34 mit
Restzeit; Verlauf und Warteschlange: Punkte. Die Texte „PHASE x/4"
sind weg (`PHASEN_MONO`).
### ⚠ Am Gerät noch zu messen (nichts davon war in dieser Session möglich)
* **Zwei Filme auf einer echten Disc** (Double Feature): Roh-Umzug per
`renameSync` im Arbeitsordner, zwei Vorgänge, zwei Zielordner mit Poster
und NFO — Unit-Tests decken die Gruppen-Logik (`filme.test.ts`), nicht
den Lauf mit MakeMKV.
* **Untertitel-Vorwahl im Spieler:** Ob Jellyfin/VLC die als Default
markierte Spur bei einem Extra wirklich einblendet — HandBrake-Flag ist
am 01.09. gemessen (setzt default UND forced), das Abspielen nicht.
* **Restzeit an einem echten Encode** (die Klammer erscheint nach den
ersten Sekunden; im Klick-Beweis kommt sie vom Nachbau).
* **Hell-Modus mit Poster-Kulisse und echten Postern.**
* Weiter offen aus 5.5.0: Rettungs-Abbild an Spartacus Disc 2, Automatik an
echter Disc, Benachrichtigung live, Datenbank-Befund vom 01.09. (siehe
5.5.0-Übergabe unten).
### Bekannte Schwächen, bewusst in Kauf genommen
* Ein Roh-Ordner mit Filmnamen ist auch bei „Neu komprimieren" derselbe —
die Regel „ein Ordner je Vorgang" gilt weiter, nur der Name ist lesbar.
* Der zweite Film einer Disc bekommt Staffel/Folge nie (nur Filme, keine
Serien) und keinen Fingerprint (die Disc als Ganzes ist beim Hauptvorgang
gemerkt).
* Ohne Arbeitsordner schreibt HandBrake weiterhin direkt ins Ziel — bei
„Neu komprimieren" in denselben Ordner überschreibt der neue Encode die
alte Datei gleichen Namens erst am Ende des Laufs (Umzug), aber ohne
Arbeitsordner während des Laufs. Wer wiederholt, sollte den Arbeitsordner
gesetzt haben (5.5.0-Empfehlung).
* Das Fenster startet mit dunklem Hintergrund (`backgroundColor` in
`haupt/fenster.ts`) und schaltet erst mit den Einstellungen auf Hell —
ein kurzes Aufblitzen beim Start.
## Übergabe vom 02.09.2026 abends (5.5.0 — veröffentlicht im Tag `aktuell`; überholt durch 5.6.0)
### Wo die nächste Session startet ### Wo die nächste Session startet