node-vips
node-vips copied to clipboard
TODO
Things that need doing before we could declare 1.0, in no order:
- [ ] Documentation
- [x] Sort out naming conventions: we should probably switch to
newFromFile()
, for example - [ ] what about
.bandsplit()
and.bandjoin()
? Should they be.bandSplit()
and.bandJoin()
? - [ ] Fix module structure, hide internal things
- [x] Have something to generate convenience members for
Image
, eg.Image.black
should be generated automatically. - [x] Need convenience functions like
Image.prototype.bandsplit
- [x] Enum expansions, eg.
Image.prototype.sin
- [x] Need to handle the libvips error buffer
- [x] Fix up exceptions
- [x] More arithmetic wrappers need doing by hand, eg. see
Image.prototype.add
- [x] Load/save unformatted memory areas, eg. a Buffer holding a uint8 pixel array
- [x] Load/save formatted memory areas, eg. a string holding a PNG
- [x] Need to wrap
VipsInterpolate
- [x] Some examples
- [ ] Benchmarks
- [ ] Make it "just work" on Windows (it works right now, but you have to change the library names, see the FIXME notes)
- [ ] We open the libraries several times. It would be better to open once and share the handles. We could have code to use the Windows library names in just one place then as well.
- [x] We seem to leak some buffers in
example/thumb.js
in memory mode, investigate - [ ] Travis integration
- [ ] Add
vips.call.async
Please add more!
More abstract points:
libvips has several ways to make images: new_from_file
, new_from_buffer
etc. At the moment these are extra helper functions hanging off the main Image
constructor, but there's probably a better way.
It's very fragile: new Image(12);
, for example, will segv immediately. Perhaps there should be some argument checking.
It ended up mostly being copy-pasted from pyvips, since that was the one I'd done most recently and probably has the best internal structure. That would be a good place to copy-paste docs from, eg.:
https://github.com/jcupitt/pyvips/blob/master/pyvips/vimage.py#L196
https://github.com/jcupitt/pyvips/blob/master/doc/intro.rst
Any chance v1 will come out soon? Would you say this is production worthy atm?
Thanks @asilvas. I only ask because there's little documentation and
It's very fragile: new Image(12);, for example, will segv immediately. Perhaps there should be some argument checking.
From the above comment.
Actually I responded thinking it was vips, sorry. I do not have any experience with this package.
I thought you might've :) I checked out your package image-steam
a few days ago and it's pretty cool! I'm trying to build something similar. And I'm checking out node-vips for this because sharp doesn't expose all the functionality that vips offers.
I'm reluctant to declare 1.0 because I'm really not a node programmer -- I'm sure I've done all sorts of horrible things :(
This package needs someone experienced to look it over and fix it up, or we'll get users who will have to live with ugly stupid stuff that we'll then have to support. Plus the remaining items in this TODO, of course.
I totally understand, thank you for the input and the awesome lib! :)