Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 20 Apr 04:27
· 80 commits to trunk since this release
Immutable release. Only release title and notes can be modified.
v0.3.0
c484fb3

Added

  • New encoder backend: ARM astcenc for ASTC (ctt-astcenc crate, encoder-astcenc feature).
  • New encoder backend: AMD Compressonator for BC1–BC7 (ctt-compressonator crate, encoder-amd feature).
  • New encoder backend: etcpak for ETC/EAC and a subset of BCn (ctt-etcpak crate, encoder-etcpak feature).
  • High-level library API: ctt::convert with ConvertSettings, plus crate-level documentation and examples covering the end-to-end pipeline.
  • KTX and DDS input support: existing compressed textures can now be re-encoded or transcoded, not just raw PNG/JPEG/etc.
  • KTX2 supercompression: optional zstd and zlib compression of the payload (--zstd / --zlib).
  • Color space and alpha mode conversion: sRGB↔linear and straight↔premultiplied conversions are modeled in the pipeline and triggered automatically when source and target disagree.
  • Mipmap generation.
  • NPOT (non-power-of-two) textures are now handled correctly throughout the pipeline, including mipmap generation.
  • Profiling scopes via the profiling crate across the pipeline.

Changed

  • Core transformation pipeline rewritten around a conversion graph and typed transform nodes, unifying how format conversion, color space conversion, alpha handling, swizzling, mipmapping, and compression are scheduled.
  • Mipmap downsampling now uses fast_image_resize; the default filter is box.
  • sRGB encode/decode uses an approximate OETF/EOTF on the hot path, significantly speeding up loading and conversion of sRGB images.
  • Output handling reworked: clearer container selection from extension, better diagnostics, and cleaner layering between the container writers and the pipeline.

Removed

  • Dropped the Intel ISPC Texture Compressor's built-in ASTC path in favor of astcenc, which produces higher-quality output.