www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - gamut v2.3.0

reply Guillaume Piolat <first.name gmail.com> writes:
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
Oct 23 2023
parent reply Petar Kirov [ZombineDev] <petar.p.kirov gmail.com> writes:
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`](http://mir-algorithm.libmir.org/mir_ndslice.html) / [Iterator](http://mir-algorithm.libmir.org/mir_ndslice_iterator.html) interface (optional, if mir-algorithm is installed, as I guess you prefer to avoid unnecessary dependencies)?
Oct 26 2023
parent Guillaume Piolat <first.name gmail.com> writes:
On Friday, 27 October 2023 at 06:00:27 UTC, Petar Kirov 
[ZombineDev] wrote:
 Have you considered exposing mir-algorithm [ND 
 `Slice`](http://mir-algorithm.libmir.org/mir_ndslice.html) / 
 [Iterator](http://mir-algorithm.libmir.org/mir_ndslice_iterator.html)
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.
Oct 27 2023