Live data from Hacker News

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

graphite.rs

91–100 of 133 posts

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

#91
post #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 fu…

You won't get funding for a vector editor. Re: open weight models Most of the innovation happens within companies who use OSS to either appeal to developers or to destroy potential competitors (think Meta spending a fraction of its ad revenue just to ruin the market for OpenAI / Microsoft) Some individuals get grants from VCs who want to make a name in AI for themselves for the cost of peanuts (eg. a16z sponsors some…

You could totally get funding for a vector editor. A friend of mine got funding for a node-based video editor.

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

#92
post #37

Earlier quoted context omitted.

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, col…

It's your app, so obviously do whatever you want, but I agree with the sibling comment that an immediate mode GUI wastes valuable CPU cycles redrawing the frame repeatedly and will invariably hurt performance

Again, since iced is "just rust", you can write whatever widgets you need, although it comes with a long list of built-in widgets (and there are many more built by the community). You can compose views with a bunch of these widgets to get to the UI you want.

There's also nothing stopping you from creating a way for users to write widgets for your iced application. The sky is the limit.

And I'm singling out iced because I'm a fan, but this should be true for pretty much all robust GUI toolkits out there.

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

#93
Very cool! One comment, one question. 1) panning the node graph of the leaves demo seemed slow / laggy on my macbook pro in chrome, which gave an initial low-quality feeling - moving nodes was nice and responsive.

2) Given that this is written in Rust (compiled), is it on the roadmap to 'export' the parameterized designs into some callable library code? e.g: a game engine that calls "leaves = generate_texture("changing_leaves.graphite", percentage=0.2)"? It would be cool to keep that configurability even once you leave the editor - basically, splitting the node-graph renderer out as its own library that you can call programmatically.

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

#94
post #81

Some suggestions: I was doing something and then suddently I got a red error message, "The document cannot be rendered in it current state", instructing me to click the Node Graph button. 1. I couldn't find that button. Perhaps show a picture of it or just embed it in the error message. 2. Make the error text selectable. 3. Let me report the bug straight from the app?

Simply using the brush tool triggered this error for me.

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

#95

Congrats on releasing such a complex tool, that's a big achievement. Someday, I'd like to try my hand at making my own vector graphics tool that contains a constraint solver. I am just an amateur when it comes to graphic design, but I often find Inkscape incredibly difficult to use. Certain shapes take bizarre combinations of commands to create and once a design is finished it can be hard to make adjustments. I find…

The closest thing would be Solvespace --- might want to look at Dune3D.

Those are both 3D CAD programs though, and almost all CAD software supports 2D parametric sketching. I mostly just find strange though that such a ubiquitous feature in CAD, which allows for fast creation and manipulation of 2D shapes, is missing from every vector graphics tool I've used.

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

#96

Earlier quoted context omitted.

The closest thing would be Solvespace --- might want to look at Dune3D.

Those are both 3D CAD programs though, and almost all CAD software supports 2D parametric sketching. I mostly just find strange though that such a ubiquitous feature in CAD, which allows for fast creation and manipulation of 2D shapes, is missing from every vector graphics tool I've used.

Yeah, it would be interesting to see the Solvespace solver ported to Inkscape as it was to Blender as CADsketcher.

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

#97
post #16

I had to re-read your intro paragraph a few times to understand what this is supposed to be. I read it as a replacement for Blender, but upon testing it I was confused as everything was 2D and looks like Photoshop. But no, you meant the next Photoshop, while referencing Blender as a popular open source version of closed-source 3D modeling/rendering software? Is that right?

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.

Good luck, you are going to need it.

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

#98
post #81

Some suggestions: I was doing something and then suddently I got a red error message, "The document cannot be rendered in it current state", instructing me to click the Node Graph button. 1. I couldn't find that button. Perhaps show a picture of it or just embed it in the error message. 2. Make the error text selectable. 3. Let me report the bug straight from the app?

Simply using the brush tool triggered this error for me.

That's a recent regression, thanks for mentioning that. We'll get that fixed ASAP. I should also mention that the brush tool isn't well-supported and will be fully rewritten early next year. It currently has some quality and performance issues because it has to generate a texture on the CPU of the width and height required by the entire stroke bounding box, which quickly hits a performance wall.

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

#99
post #81

Some suggestions: I was doing something and then suddently I got a red error message, "The document cannot be rendered in it current state", instructing me to click the Node Graph button. 1. I couldn't find that button. Perhaps show a picture of it or just embed it in the error message. 2. Make the error text selectable. 3. Let me report the bug straight from the app?

I got the same error when I was doing the tutorial (which went quite well) and was doing the steps for circular repeat of the sun rays. Pressing Ctrl-Z undid practically all the work instead of just the last wrong change (not sure what caused it).

Ah yes, good find: the stroke node can only apply to vector data, but when you use the Circular Repeat node, it now produces group data (as it should have always done). The fix is to put the Stroke node first to avoid the type error. I'll see what I can do to update the tutorial with that info, and to try to make the Stroke node more robust so it could apply to all group elements.

I'm surprised that Ctrl+Z undid more than one step, I've never seen that before. If you get the chance to reproduce that and write up the steps, please file an issue since we'd like to take a look into that.

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

#100
post #49

Earlier quoted context omitted.

Thanks! No support for custom scripts yet. But the whole concept is that we're basically building a WYSIWYG editor on top of a node-based compositor on top of a visual programming language (so that's three products in one, lots of work ahead for us!). The result is that the whole thing is a programmatic data pipeline and you'll be able to write custom scripts in both node and code form, then compose them into reusabl…

Do you think you'll use WASM as a target for the custom scripts in code form? Zed has an interesting WASM-based extension APIN that makes it really easy to write extensions in Rust, it might be worth checking out for this project.

Custom code will be compiled to Wasm so it's sandboxed for security purposes. First-party code that ships with Graphite, or perhaps trusted authors in the future, will be able to use non-Wasm native code on desktop. But Wasm is still a very high percentage of native speed.
Post reply on HN