Live data from Hacker News

Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

graphite.rs

31–40 of 133 posts

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#31
post #16

Earlier quoted context omitted.

Upon rereading that paragraph, I suppose I didn't write that as clearly as I'd meant to. Blender is darn near perfect and there'd be no reason to replace it. So yes, as you figured out, I'm referring to becoming a second Blender but this time in the 2D realm: a generalist tool that uses actual innovation to catch up and then surpass its commercial competitors.

Graphite is to Photoshop as Blender is to 3DS Max?

Roughly speaking, that's the plan, with next year's roadmap focused on raster (image and raw photo) editing. Currently, Illustrator would be the more appropriate comparison instead of Photoshop, because vector editing is the primary feature set we've built so far.

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#32
post #15

What UI crate are you using for the GUI?

Right now, it's a custom HTML/CSS/TypeScript component system using Svelte built to minimize bloat. But since Graphite is a data-driven graphics app and render engine, we are planning to gradually rewrite our UI components as Graphite documents— allowing us to design the editor's UI within its own editor UI. Once that happens, we can probably drop the web dependencies— although we've taken pains to ensure our current…

Have you considered using Iced? It can be hard to figure out at first but it's blazing fast, cross-platform and can compile to WASM. It's also _beautifully_ designed.

Importantly, it's both "just Rust" and "very Rust". You can stay on the yellow brick road and kinda just get the app out there with incredible multi-threaded CPU + GPU rendering performance from the outset... or dig deeper and go into advanced stuff. Per the docs, it "leverages Rust to its full extent: ownership, borrowing, lifetimes, futures, streams, first-class functions"... it's just up to you how much of that you want to use

The documentation is admittedly WIP but if you need help, the Discord server is very helpful. I'm there virtually 24/7 and happy to answer any questions

The repo is at https://github.com/iced-rs/iced -- check out the readme for two complex apps recently built. It's fully themeable so you can make apps look exactly as you want them to (which is a downside for those looking for more native widgets)

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#34
This is amazing. I love Inskcapke but I think this tool is too good.

It makes me very excited to see tools that are built as web apps because more gravity on web means more capabilities for the web platform which is more open and accessible.

Rust is great - amazing. I presume it is compiled to Web Assembly.

I'm just wondering how and why these three passionate gifted individuals didn't go Round A, Round B Investor funding, post valuation SAFE, Press briefing route?

Been thinking a lot about it lately when I see tons of AI wrappers, open weight fine tuned packaged models and everything in between.

Probably passion can't be priced? Happiness is not valuation?

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#35

Wow, cool! I think I remember a post years ago about this project. IIRC you did a thesis in something to do with simulating brush strokes? Anyway, congrats on releasing this, super impressive to have worked on this for so long and come out with something that looks so good. (And it's awesome that you're looking into using Vello too.)

You remember correctly! Here's that thesis code https://github.com/Keavon/Brush-Nodes>. You can ignore the readme since it doesn't talk about brushes and open the GitHub Pages site (or, I can just link it here: https://keavon.github.io/Brush-Nodes/>). Then press Ctrl+1, Ctrl+2, Ctrl+3, or Ctrl+4 and reload the page after each. Be patient as it takes a couple seconds to load the page once a demo is chosen. That'll load the four brush demos:

- Ctrl+1: dotted stamp roller - Ctrl+2: bristle brush - Ctrl+3: diluted ink - Ctrl+4: ragged solid ink brush

This concept will be reimplemented in Graphite eventually. Maybe as a GSoC project.

The actual thesis write-up is here https://digitalcommons.calpoly.edu/theses/2653/> in case you're really interested for some reason.

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#36

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?

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.

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#37
post #15

Earlier quoted context omitted.

Right now, it's a custom HTML/CSS/TypeScript component system using Svelte built to minimize bloat. But since Graphite is a data-driven graphics app and render engine, we are planning to gradually rewrite our UI components as Graphite documents— allowing us to design the editor's UI within its own editor UI. Once that happens, we can probably drop the web dependencies— although we've taken pains to ensure our current…

Have you considered using Iced? It can be hard to figure out at first but it's blazing fast, cross-platform and can compile to WASM. It's also _beautifully_ designed. Importantly, it's both "just Rust" and "very Rust". You can stay on the yellow brick road and kinda just get the app out there with incredible multi-threaded CPU + GPU rendering performance from the outset... or dig deeper and go into advanced stuff. Pe…

It was a top contender when I was picking a GUI solution but it didn't meet the cut. Remember that this was 3.5 years ago. The decision to go with HTML/CSS was undoubtedly the right one and it'll continue to treat us well for the foreseeable future. But we are beginning to rewrite certain areas, like the node graph, in our own render stack because this streamlines the code best. And other widgets like histograms, color scopes, etc. will continue to be built with our own renderer. And then at some point, it will start making sense to begin gradually replacing other parts of our UI with the regular widgets like buttons and checkboxes with that system. Doing so will help us simplify things and make them more user-customizable, so plugin authors can affect the UI, etc.

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#38
post #30

Oh cool! I've had a very unfinished unpublished SVG editor from a couple years ago with blender-ish controls that I started cleaning up a couple days ago; guess I don't need to anymore. Here are some things in mine that I've found useful but don't see here (/ might have missed) and could be food for thought (presumably some of these are just NYI but noting them regardless): [edit: a couple of these things are already…

Thanks, those are really useful! Would you mind copy and pasting those into a comment in https://github.com/GraphiteEditor/Graphite/issues/1870 to help us keep track of those suggestions? I'd like to revisit them again.

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#39

Wow this looks fantastic! Good open-source tools for design are so necessary [1]. You should probably add Graphite to this list [2]. I'll definitely try Graphite and follow its progress. Good luck! -- 1: https://www.youtube.com/watch?v=lthVYUB8JLs 2: https://github.com/KenneyNL/Adobe-Alternatives

Adding to the above, in a way this can also be self hosted and is a candidate for the awesome selfhosted list [1].

1. https://github.com/awesome-selfhosted/awesome-selfhosted

Re: Show HN: Graphite, a Blender-inspired 2D procedural design Rust app

#40

Wow this looks fantastic! Good open-source tools for design are so necessary [1]. You should probably add Graphite to this list [2]. I'll definitely try Graphite and follow its progress. Good luck! -- 1: https://www.youtube.com/watch?v=lthVYUB8JLs 2: https://github.com/KenneyNL/Adobe-Alternatives

Thanks! I'll open it up to the community to suggest Graphite's inclusion in lists like that one but I'll abstain from doing that myself. I should mention that, at the present moment, the only category we'd appropriately fit under is the Illustrator alternatives. Next year we will be building towards raster editing as our next core competency, but vector editing is the only one we've focused on so far.
Post reply on HN