Open bvssvni opened 6 years ago
I think it's a great idea to unite people working on image processing in Rust! From my small experience I can tell that Diesel is organised very well, probably, something could be bothered from there. For, example gitter chat where people can ask questions, get in touch with active contributors and users. It could be the chat not just about this crate, but for everything image-related in Rust
Also I noticed that milestones can be very helpful in the sense that new contributor always knows what are the current goals of the project. Maintainers can just set them for one or 2 versions upfront, leave a link somewhere in README and I think there will be enough interested rustaceans to implement all the wishes and fix known bugs.
This sounds good! I've created a chat room here https://gitter.im/PistonDevelopers/rust-image-group
It was everything image-related in Rust that I had in mind.
@bvssvni Don't you think posting the same text on r/rust would be a good idea?
I dont follow this so deeply at the moment but this sounds like a great idea; I did use the image crate, found it useful, and did have some ideas on how it could be more useful to other types of image processing ( but I realise nothing will satisfy everyone).
What do you imagine the boundaries to be? (not meaning to push feature-creep on you..)
@dobkeratops We're open minded. The point is to get more people interested in the image ecosystem in general. For example, your idea of a texture server on r/rust_gamedev. Perhaps other people are interested in joining?
I am interested in image editors and procedural generated textures. Maybe a Dyon environment dyonimage <program.dyon>
that leverages existing image processing such as imageproc
. Also, the work on the Rust to SPIR-V compiler might make it possible to do extremely fast image processing that also runs on the CPU.
ah texture server, thanks for reminding me about that.
a procedural texture system with a conrod interface built for it would be rather nice..
I'm not sure what's being suggested. The current image
crate has a good boundary already in my opinion. It's for reading/writing bitmap formats. I'm the author of rawloader
and chimper
and I use image
to load non-RAW images in chimper
. There's currently an image processing pipeline inside rawloader
that I need to make an independent crate itself. Part of the power of the rust ecosystem is having smaller crates that are reused often. Trying to stuff a lot more into image
would be a mistake in my opinion. Maybe we could do more to make sure common traits exist that are reused between crates?
@pedrocr It's not about stuffing more into image
. It's about collaborating between projects.
@bvssvni I guess you mean something like this then?
https://internals.rust-lang.org/t/announcing-the-cli-working-group/6872
If so it sounds good to me. I've been working on several crates to allow me to build my perfect image editing environment (currently chimper/syncer/rawloader/multicache) and registered #chimper
on the mozilla IRC to hang out and discuss things with people. I'm happy to join other people in discussing these kinds of things there or anywhere else. Personally I prefer IRC and there's already a fairly large rust community on the mozilla servers.
@pedrocr Precisely.
ok fair enough, i did suspect i was talking about excessive feature creep. I just remember wanting a little more in the formatting of what it loads images into (channels etc) but you're suggesting a separate image-processing crate. Could more specific names communicate this better ('ImageFileFormats crate vs ImageProcessing crate' etc). I think what sometimes takes a little thought is where to define the interfaces that many seperate pieces depend on , r.e. the coherence rules
This crate violates the naming conventions and the use of the Deref
trait recommended by the Rust API guidelines. Is there any motivation to address this?
@alteous: could you please open a separate issue on this? And be more precise where it is violated? Since this crate is much older than the API guidelines it could violate it virtually everywhere...
Sure. It had not occurred to me that the crate is older than the guidelines! I have raised https://github.com/PistonDevelopers/image/issues/741.
are you all open to questions on how to use functions for this crate in https://gitter.im/PistonDevelopers/rust-image-group ? I don't want to sign up only to find that nobody is actively participating.
I'm watching the group and can provide some guide-level discussions and would respond, within obvious limitations. Just respect that I want to stay out of project management and/or future directions etc. for the while as those obligations would be overburden me.
Here are some stats:
Yet, even this crate being this popular, the burden of reviewing PRs, responding to issues and driving it forward has been on @nwin 's shoulders for a long time. I'm listed as the second highest contributor, but I've not been actively participating in the design but just helped keeping versions updated. Most of the hard work is thanks to you guys who are making PRs!
So, I wonder if there any ways we can, if not shift the burden entirely, involve more people and make it more fun to contribute and helping others. I'm sure that out of the many users of this crate and projects that think this is important, there are somebody who have ideas.
Just to kick off this discussion, how about starting a Rust image working group? Can we create a collaboration between projects that work with images and Rust? How can we make this activity more visible in the Rust community?