Glebrio Web 0.12.0 – Quellcode und Bibliotheken
Stand: 2026-10-25

Die Lizenztexte gelten komponentenweise. Die Rechte zur Änderung der LGPL-
Bibliotheken und zum Debuggen solcher Änderungen bleiben bestehen. Die
Lizenzbedingungen der Drittanbieter sind für deren Bestandteile maßgeblich.

Web-Anwendung
-------------
Glebrio-0.12.0-Web-Source.zip enthält die passenden Webquellen einschließlich
Website-Ergänzungen, vollständigem Lockfile und gemeinsamer Namens-Testdatei.
Ausgangsarchiv der unveränderten Basis: Bildwerk-0.11.0-Quellcode.zip
SHA-256: 3ebd5032be73020151da43f83f7c02eafef95bfaf3f8e3c7418816972a54030b

Die Umbenennung zu Glebrio erhält den Funktionsstand 0.12.0 und den vorhandenen
Browser-Vorlagenschlüssel. Die Website-Ausgabe 0.12.0 ergänzt Schnellwerkzeuge, Vierteldrehungen und
Spiegelung, rücknehmbare Einstellungen, Kontrast und Details sowie optionale
Datei-/Ordnerausgabe in unterstützten Browsern. Sie erhält den bisherigen
Tastaturfokus beim Entfernen eines Bildes. Weitere Ergänzungen betreffen
Navigation, Rechtslinks, lokale Favicons, Cursor-Effekt, Footer-Lesbarkeit und
die app-spezifischen Hostingregeln. PDF und SVG werden lokal verarbeitet;
SVG-Optimierung erhält Metadaten, der Rasterexport entfernt sie.

Build im Ordner web/: pnpm install --frozen-lockfile, pnpm test, pnpm build.
Vite 8.3.3, relative Assets; web/index.html und web/favicon.html sind die
Build-Einstiege. web/public enthält die zusätzliche Website-/Lizenzausgabe.
deployment enthält die tatsächlich ausgelieferten HTML-Einstiegsdateien.
web/tests/naming-cases.json ist die gemeinsame synthetische Namens-Testdatei.
Kein node_modules, dist, KI-Modell oder privates Bildmaterial im Quellangebot.
Abhängigkeiten, Codecs, Fonts und Modell entsprechen der vorherigen Integration.
Frühere Quellen bleiben erhalten, gehören aber zu den jeweiligen Altversionen.
Download: ../sources/Glebrio-0.12.0-Web-Source.zip

Die ausdrückliche Erlaubnis zur lokalen Neukombination mit geänderten LGPL-
Bibliotheken steht in LOCAL-MODIFICATION-PERMISSION.txt.

LGPL-Bibliotheken und exakter HEIC-Build
--------------------------------------
1. libheif-js 1.23.5, npm-gitHead:
   d8ec4bc3bc5bf8055975577bccbbc7e1d7313c2d
   https://github.com/catdad-experiments/libheif-js/tree/d8ec4bc3bc5bf8055975577bccbbc7e1d7313c2d
   Quellarchiv:
   https://github.com/catdad-experiments/libheif-js/archive/d8ec4bc3bc5bf8055975577bccbbc7e1d7313c2d.tar.gz
   scripts/install.js und scripts/bundle.js erzeugen die npm-WASM-ESM-Datei.
   Das Installskript verwendet den folgenden Emscripten-Release.

2. libheif-emscripten v1.23.5:
   https://github.com/catdad-experiments/libheif-emscripten/releases/tag/v1.23.5
   https://github.com/catdad-experiments/libheif-emscripten/tree/v1.23.5
   Workflow .github/workflows/emscripten.yml; Emscripten 3.1.61,
   Ubuntu 22.04, Node 24. Der WASM-Build ersetzt USE_WASM=0 durch
   USE_WASM=1 USE_UNSAFE_EVAL=0 im nachstehenden run-ci.sh.
   Achtung: ein GitHub-Quellarchiv dieses Wrapper-Repositories enthält den
   libheif-Submodulinhalt nicht automatisch. Quelle 3 zusätzlich herunterladen.

3. libheif v1.23.5, exakter vom Emscripten-Release benannter Commit:
   413e2a87e6a70b3eccc3a3adc5801179dd2d9e00
   https://github.com/strukturag/libheif/tree/413e2a87e6a70b3eccc3a3adc5801179dd2d9e00
   https://github.com/strukturag/libheif/archive/413e2a87e6a70b3eccc3a3adc5801179dd2d9e00.tar.gz
   Buildskripte: build-emscripten.sh, scripts/install-ci-linux.sh,
   scripts/prepare-ci.sh und scripts/run-ci.sh in diesem Commit.
   build-emscripten.sh bindet standardmäßig libde265 1.0.15 statisch ein.
   AOM, OpenJPEG, WebCodecs und unkomprimierte Codecs sind dort standardmäßig aus.
   ENABLE_MULTITHREADING_SUPPORT=OFF, ENABLE_PLUGIN_LOADING=OFF.

4. libde265 v1.0.15:
   https://github.com/strukturag/libde265/tree/v1.0.15
   https://github.com/strukturag/libde265/releases/download/v1.0.15/libde265-1.0.15.tar.gz
   Das libheif-Buildskript nennt diesen Quellrelease, konfiguriert statisch und
   ohne SSE/Beispielprogramme und bindet libde265.a ein. COPYING enthält LGPL/GPL.

Für eine geänderte HEIC-Bibliothek: diese Quellen und die passenden Buildskripte
verwenden, die interface-kompatible libheif-bundle.mjs ersetzen, anschließend
die Web-App mit ihrem Lockfile und vite.config.js erneut bauen. Die Bibliothek
wird als separates Modul über libheif-js/libheif-wasm/libheif-bundle.mjs importiert.
Die Anwendung fordert keine kryptografische Signatur der HEIC-Bibliothek und
schränkt den lokalen Austausch nicht ein. Die Modell-Prüfsumme betrifft U2-Net,
nicht die LGPL-Bibliotheken.

Weitere Codecquellen
-------------------
@jsquash/avif 2.1.1 und @jsquash/png 3.1.1:
https://github.com/jamsinclair/jSquash/tree/b7fa9ac9ec02f224847ad23d19d115f9e296a368
AVIF-Build: packages/avif/codec/Makefile und helper.Makefile.
https://github.com/AOMediaCodec/libavif/tree/v1.0.1
https://aomedia.googlesource.com/aom/+/v3.7.0/
https://github.com/webmproject/libwebp/tree/e2c85878f6a33f29948b43d3492d9cdaf801aa54
PNG-Build: packages/png/codec/Cargo.toml, Cargo.lock und src/.
Jede Rust-Cratequelle ist in png-crates/sources.json mit Prüfsumme genannt.

@jsquash/jpeg 1.6.0:
https://github.com/jamsinclair/jSquash/tree/1f62015f53e28bd18b2d7c8a3ca3326577efc445
https://github.com/mozilla/mozjpeg/tree/v3.3.1

@jsquash/webp 1.5.0:
https://github.com/jamsinclair/jSquash/tree/8bcd212da8c2be7c9c223e8f222eb3d9574a713b
https://github.com/webmproject/libwebp/tree/d2e245ea9e959a5a79e1db0ed2085206947e98f2

U2-Net:
https://github.com/xuebinqin/U-2-Net
https://github.com/danielgatis/rembg/releases/download/v0.0.0/u2net.onnx

Die exakten Drittserverlinks sind das ergänzende Source-Angebot. Vor öffentlichem
Deployment auf Erreichbarkeit prüfen und bei Änderung/Ausfall durch dauerhaft
zugängliche passende eigene Quellarchive ersetzen. Lizenzpflichten zur
Quellverfügbarkeit bleiben beim Veröffentlicher.
Die vier oben genannten HEIC-Quellarchive wurden am 2026-10-07 per HEAD geprüft:
jeweils Status 200. Die Archivkörper wurden bei dieser Erreichbarkeitsprüfung
nicht heruntergeladen; ein vollständiger Rebuild-Nachweis wird nicht behauptet.

