Skip to content

Lumina 1.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 19:31
· 20 commits to main since this release

Überarbeitete Oberfläche, aus zwei Reviews entstanden: einem gestalterischen
(Leitidee Leuchtkasten - die Oberfläche tritt zurück, die Bilder tragen) und
einem zur macOS-Idiomatik.

Bibliothek

  • Markieren und Zusammenstellen sind getrennt: Klick markiert, Cmd und Umschalt
    erweitern, Pfeiltasten bewegen die Markierung, ⌘A markiert alles
  • Entfernte Bilder verschwinden aus dem Raster, statt grau liegen zu bleiben.
    Löschtaste entfernt die Markierung, die Statuszeile führt zurück
  • Dateinamen sind aus dem Raster verschwunden und erscheinen beim Überfahren
    zusammen mit einem Play-Knopf
  • Ein Import-Menü statt zweier fast gleicher Knöpfe, ein prominenter
    Abspielen-Knopf, "Unterordner einbeziehen" beim Import statt in den
    Wiedergabe-Einstellungen

Einstellungen

  • Vorlagen als Karten mit aktivem Zustand, darunter die vier häufig genutzten
    Regler, alles Übrige eingeklappt: sichtbar 9 statt 17 Bedienelemente
  • Die Übergangsdauer wird ausgeblendet statt ausgegraut, wenn es keinen Übergang gibt

Player

  • Ladezustand zeigt das Bild unscharf vorab statt eines Spinners auf Schwarz
  • Steuerleiste entschlackt, mit Verlauf über die volle Breite; das Ende der Show
    ist ein Zustand dieser Leiste statt eines Dialogs mitten im Bild
  • Fortschrittsbalken ist im Ruhezustand ein Haarstrich

Behoben

  • Klicks auf die Kachel-Knöpfe wurden von der Auswahl-Geste geschluckt
  • Verlauf und Schatten der Steuerleiste waren auf Kapselbreite abgeschnitten

Aus dem Code-Review

  • Animierte WebP wurden immer in voller Auflösung dekodiert und der Puffer nur nach
    Frame-Anzahl begrenzt: eine 4000x4000-Animation hätte 1.5 GB belegt. Frames werden
    jetzt auf Anzeigegrösse verkleinert, der Puffer ist auf 64 MB begrenzt
  • Der WebP-Decoder reichte einen Zeiger aus Data.withUnsafeBytes an libwebp weiter,
    das ihn behält und später daraus liest. Er besitzt seinen Puffer jetzt selbst;
    geprüft mit 3000 dekodierten Frames unter dem Address Sanitizer
  • Konnte keine Datei gelesen werden, rief sich der Bildwechsel unbegrenzt selbst auf.
    Jetzt eine Schleife mit Rundendeckel und sichtbarer Fehlermeldung
  • Ken-Burns konnte bei Skalierung 1.0 einen leeren Rand zeigen und hielt bei ganz
    abgespielten Animationen zu früh an
  • Vorauslade-Aufgaben wurden nie abgebrochen und füllten den geleerten Cache neu
  • Der Frame-Producer lief bei unlesbaren Dateien mit 100 Hz leer
  • Zwei unzutreffende @unchecked Sendable-Zusagen entfernt
  • Meldungen gehen an os.Logger statt still verloren

Aus dem zweiten Review-Durchgang

  • Eine laufende Dekodierung wurde unabhängig von der angeforderten Zielgrösse geteilt und
    ihr Ergebnis unter der grösseren Anfrage gespeichert. Danach galt ein zu klein dekodiertes
    Bild dauerhaft als gross genug
  • Das Überspringen unlesbarer Dateien sprang immer an den Listenanfang, auch ohne
    eingeschaltete Wiederholung: eine Show mit einer defekten Datei am Ende endete nie
  • Mehrere schnelle Tastendrücke innerhalb eines Ticks überschrieben einander, weil nur ein
    Kommando zwischengespeichert wurde