Repository navigation
Conversation
… sequences Problem: the Media Browser lists .tga and .hdr files (and groups them into image sequences), but media::is_importable had neither extension and the still decoder never tried them, so importing them failed. Fix: enable the image crate's built-in tga and hdr decoders (no new dependency), add both to STILL_EXTENSIONS and the File > Import dialog, and pick a still's format by signature with an extension fallback, since Targa has no signature. Radiance HDR is linear float light and is sRGB-encoded like OpenEXR (super-white kept); Targa alpha goes through the existing unlabeled-alpha interpretation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
This was referenced Oct 11, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #745.
Part of ranked gap #17 "Media Browser lists files import refuses" (docs/gaps.md).
Problem
The Media Browser lists
.tgaand.hdrfiles (and image-sequence detection groups them), butmedia::is_importablehad neither extension and the still decoder never tried them, so importing a Targa or Radiance HDR file failed.Fix
crates/media/Cargo.toml: enable theimagecrate's built-intgaandhdrdecoders. These features pull in no new crates, andCargo.lockis unchanged.crates/media/src/lib.rs: addtgaandhdrtoSTILL_EXTENSIONS. A newstill_formatpicks a still's format by its signature and falls back to the extension, because Targa has no signature.probe_bytesandMediaPooldecoding both use it.crates/ui-egui/src/menus.rs: the File ▸ Import dialog filter now offerstgaandhdr.file-format-parity.mdare updated.Tests
New tests in
crates/media/tests/footage.rs. Both fail without this change.targa_still_matches_ffmpeg: ffmpeg encodes an RLE Targa with an alpha gradient. Our decode must be pixel-identical to the source PNG, the footage must be a still with straight alpha and codecTGA, and truncated files (hostile input) must be refused or decoded without panicking.radiance_hdr_still_is_linear_float: a file written by theimageencoder checks linear 0.214 → 0.5 and that super-white is kept. A second file from ffmpeg's Radiance encoder (RLE scanlines) must decode to sRGB-encoded mid grey within 0.01.Gates
cargo fmt --all --checkcargo clippy -j 4 -p effectcraft-media -p effectcraft-ui-egui --all-targets -- -D warningscargo test -j 4 -p effectcraft-media(all targets)cargo test -j 4 -p effectcraft-ui-egui(all targets)cargo check -j 4 -p effectcraft-media --target wasm32-unknown-unknowncargo xtask layersI did not run the full
cargo xtask cilocally because the machine is shared.What remains
Note: the one-line change to the import-dialog list in
menus.rstouches the same line as #735 and #742. Whichever merges second needs a trivial rebase.🤖 Generated with Claude Code