←back to thread

783 points Keavon | 6 comments | | HN request time: 0.404s | source | bottom

For the past three years I've been building what I hope will be the next Blender, tackling the lack of any good 2D design or image editing tools outside the Adobe monopoly. This was our first year participating in Google Summer of Code and this Q3 update includes the big payoff from that, covering the most progress we've made so far as a project. If you're a Rust dev, consider getting involved as we apply for the next GSoC in the new year— you could be our intern next summer :)

Q3 progress report: https://graphite.rs/blog/graphite-progress-report-q3-2024/

1. bufferoverflow ◴[] No.41854627[source]
The appeal of Blender for me is not just the open-sourceness, but also the fact that everything in it is programmable. Any action you can do via UI, you can do by calling some Python method.

Why create a new project instead of advancing InkScape though?

replies(2): >>41855416 #>>41859361 #
2. Keavon ◴[] No.41855416[source]
Graphite is built to be a programmatic data processing pipeline that takes the form of a render engine and WYSIWYG editor. You'll be able to write custom code for every part of the system.

And because it's time for a fresh start. Sometimes you can't turn around a heavy ship, and that ship doesn't want to be turned around. It's easy to write a sentence like that, but once you actually think about it, how does an outsider with a good idea and a capability to execute on it somehow approach an existing project and decide to "take it over"? That would be neither viable nor would it yield a desirable outcome. We're building something fundamentally different from Inkscape that just so happens to eclipse it.

replies(1): >>41856245 #
3. lionkor ◴[] No.41856245[source]
Absolutely - as with so many large open source projects, the maintainers and community are (rightfully) going to be sceptical of any newcomers.

This leaves only three options:

1. start contributing to the project slowly, try to get into their ranks, participate in conversation, and hope that you share the same vision

2. fork it and learn the codebase by yourself

3. write your own

Out of those, given the obviously conscious choice to go with Rust, and the ambitious goals, the third option is the only one that makes sense.

replies(1): >>41856302 #
4. Keavon ◴[] No.41856302{3}[source]
Exactly! The only thing harder than making something so ambitious would be doing it in a huge legacy codebase with an existing leadership team fighting against someone vying to rock the boat. Being new is an opportunity, not a flaw. It means there's a lot of work to do, but that's tractable with the right organization structure that I think we've successfully managed to build— and it's something other projects really struggle with, so starting fresh in that respect also avoids problems from cultural elements that could very well be the blame for the inadequacies of those existing projects.
5. _flux ◴[] No.41859361[source]
My understanding is that InkScape is foremost an SVG editor. If SVG can't do it, then InkScape can't either. This seems quite somewhat limiting for a general-purpose graphical editor, aspiring to integrate good bitmap editing support as well later.

Though, I guess it does somehow extend the SVG format, as it provides saving as either Inkscape SVG or plain SVG.. So maybe my understanding is incorrect?

replies(1): >>41862143 #
6. Keavon ◴[] No.41862143[source]
Yes, and furthermore, Inkscape doesn't even have its own file format. You save your work to SVG. So the entire program is intrinsically tied to the SVG spec, and won't ever expand beyond that. It wouldn't be a good base to try and extend into a highly generalized program meeting the Graphite vision.