HEIF Demo Website Rebuilt on C-Facade Binding
The demo website has been rebuilt from the ground up. The legacy embind-based
Gallery. A new universal Gallery page replaces the old per-file examples. Any HEIF file can be dropped in: thumbnails are decoded on the fly, grid and overlay compositions resolve automatically, tone-mapped HDR gain maps display inline, entity groups are classified, and track sequences (msf1) play back with edit-list timing. Alternate items are togglable. Memory leaks on async failure paths are closed, and idle decode loops are eliminated.
Comparison. The side-by-side comparison page is rewired to the modern reader with full metabox count fields and zoom support.
Visual refresh. Dark/light theme support via a theme manager, mobile-responsive navigation, dropdown menus, a context menu for image interaction, and a clean Public Sans typeface replace the legacy Bootstrap/jQuery/Handlebars stack.
Under the hood. A singleton WASM module prevents redundant instantiation.
heif-api.js is retired; the site now runs entirely on the pure-C-façade binding (heif-raw.js + heif.js), compiled to WebAssembly with native exception support.
Gallery. A new universal Gallery page replaces the old per-file examples. Any HEIF file can be dropped in: thumbnails are decoded on the fly, grid and overlay compositions resolve automatically, tone-mapped HDR gain maps display inline, entity groups are classified, and track sequences (msf1) play back with edit-list timing. Alternate items are togglable. Memory leaks on async failure paths are closed, and idle decode loops are eliminated.
Comparison. The side-by-side comparison page is rewired to the modern reader with full metabox count fields and zoom support.
Visual refresh. Dark/light theme support via a theme manager, mobile-responsive navigation, dropdown menus, a context menu for image interaction, and a clean Public Sans typeface replace the legacy Bootstrap/jQuery/Handlebars stack.
Under the hood. A singleton WASM module prevents redundant instantiation.
close() severs back-references to avoid GC retention. Stream callbacks survive WASM memory growth. The file-info snapshot is rebuilt entirely in JS, eliminating the old heif-object stub.