3.1 KiB
3.1 KiB
Technische Bestandsaufnahme
Stand: 13. September 2026, Ausgangscommit 0b85f7d73a8ae09a8711038a4d08ae34642c6243.
Bestand
Das Projekt ist ein Swift-Package mit einer macOS-Anwendung und ohne externe Swift-Package-Abhängigkeiten. Die Oberfläche bietet Video-Zeitraffer, lokale Gesichts-/Augenanalyse, Stabilisierung, Variantenwahl und nachträgliche Ausschnittkorrekturen mit Cache. Eine kompilierte App samt Icon ist eingecheckt. Foto-Morphing ist implementiert, aber ausdrücklich gesperrt.
Ergänzungen dieser Überarbeitung
- README mit Voraussetzungen, Start, Bedienung, Dateiformaten und Grenzen.
- Persönliche Standardpfade entfernt: Eingabe/Ausgabe beginnen ohne Auswahl; FFmpeg und FFprobe werden automatisch gesucht. Bereits gespeicherte Einstellungen bleiben erhalten.
- Wiederholbarer Release-App-Build unter
scripts/build-app.sh, Ausgabe inbuild/. - Tests für Einstellungs-Persistenz und ältere JSON-Daten ergänzt.
- Lokale Build-Ausgaben, Projektdateien und Render-Caches in
.gitignoreergänzt.
Offene technische Arbeit
Diese Befunde stammen aus der Quellcodeprüfung; sie sind keine vollständig reproduzierten Fehlerberichte:
FFmpegService.rundeaktiviert beim Prozessende den Pipe-Reader, ohne ausdrücklich bis EOF zu lesen. Bei kurzen Prozessen könnte die letzte Ausgabe fehlen. Prozessausgabe und Abbruch sollten mit gezielten Integrationstests abgesichert werden.- Geladene Projekte enthalten absolute Pfade. Vor Rendern und Cache-Löschen sollten Projektstruktur, leere Cliplisten und zulässige Cache-Verzeichnisse validiert werden. Der Renderpfad greift auf den ersten Clip zu und setzt eine nicht leere Liste voraus.
- Ein neuer Render setzt den Review-Cache früh zurück; Ausgabeoperationen überschreiben das Ziel. Ein späterer Ausbau sollte temporäre Ausgabe und atomaren Austausch nach Erfolg verwenden.
- Fehlender VidStab führt zu Deshake, auch wenn dieser Filter ebenfalls fehlt. Eine frühzeitige klare Fehlermeldung wäre besser als ein späterer FFmpeg-Fehler.
VideoProcessor.swiftbündelt rund 2.900 Zeilen verschiedener Verantwortlichkeiten. Renderplanung, Projektverwaltung und Bildanalyse lassen sich für gezielte Tests trennen.- Es fehlen Render-Integrationstests mit synthetischen Videos für Audio, Überblendungen, HDR, Abbruch und Cache-Wiederverwendung sowie CI auf macOS.
- Release-Versionierung, Developer-ID-Signierung, Notarisierung und Lizenzentscheidung sind noch nicht als Veröffentlichungsprozess beschrieben. Das neue Build-Skript dient lokalen Builds.
Eine vollständige Produktfreigabe erfordert zusätzlich manuelle Prüfung der Oberfläche und repräsentativer Videoausgaben.
Lokale Verifikation
- Debug-Build erfolgreich.
- Release-App über
bash scripts/build-app.sherfolgreich gebaut und ad hoc signiert. swift testdurch fehlendesXCTestin der installierten Command-Line-Tools-Umgebung blockiert; die Tests sind daher noch nicht als bestanden verifiziert.- Shell-Syntax des Build-Skripts und
git diff --checkohne Befund. - Keine vollständige Prüfung von Oberfläche oder Videoausgabe durchgeführt.