Thread overview
October 24

Gamut is an image decoding/encoding library for D.

What changed since last year is:

  • Added TGA, GIF, and BC7 support
  • Added 16-bit PNG output
  • Clear semantics
  • Multi-layer image support for animation
  • Optimization with miniz port instead of stbz in PNG

DUB: https://code.dlang.org/packages/gamut

October 27

On Tuesday, 24 October 2023 at 05:35:20 UTC, Guillaume Piolat wrote:

>

Gamut is an image decoding/encoding library for D.

What changed since last year is:

  • Added TGA, GIF, and BC7 support
  • Added 16-bit PNG output
  • Clear semantics
  • Multi-layer image support for animation
  • Optimization with miniz port instead of stbz in PNG

DUB: https://code.dlang.org/packages/gamut

Thanks for sharing, at least judging by the readme, it looks very well made!

Have you considered exposing mir-algorithm ND Slice / Iterator interface (optional, if mir-algorithm is installed, as I guess you prefer to avoid unnecessary dependencies)?

October 27

On Friday, 27 October 2023 at 06:00:27 UTC, Petar Kirov [ZombineDev] wrote:

>

Have you considered exposing mir-algorithm ND Slice / Iterator interface (optional, if mir-algorithm is installed, as I guess you prefer to avoid unnecessary dependencies)?

Hello,

No, and you can just create your own wrapper function if you want to make an ND Slice in your code.

(I'm not sure if you're talking about optional DUB dependency but if you use that, then your build will depend on existing DUB state on the machine? that's impure).

Otherwise I'm not super interested in generic libraries since your arrays often exist in a domain (they are tensors, images, this or that data) so keeping it in domain-specific object is an underrated solution in D that I'd like to promote. There are other problems with genericity and I think we're completely missing the point by not encouraging runtime-dispatch instead.