Live data from Hacker News

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

graphite.rs

21–30 of 133 posts

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

#21
post #9

Earlier quoted context omitted.

That'd be because it's all CPU-based at the moment . So your 4080 is taking a vacation while your CPU hits the gym. That's obviously not ideal, but you'll have to trust me that it is due to long-term architectural planning reasons and not a blatant disregard for sensible development practices. Our node graph engine is really advanced—it's actually a scripting language built upon Rust and its type system—which will ha…

When you start supporting GPUs, what APIs do you plan to use (cuda, vulkan, dx, etc.)? It would be quite unfortunate to use a non-vendor-neutral API (for both OS and GPU vendor). I would probably use wgpu or vulkan for this.

Everything will be using compute shaders for the foreseeable future. [WGPU](https://wgpu.rs/) abstracts that to work with WebGPU on browsers, DirectX/Vulkan on Windows, Metal on Mac, and Vulkan on Linux and Android. There may be opportunities to explore vendor-specific options like CUDA in the far future to leverage a further increase in performance, but compute shaders are portable and nearly as good.

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

#22

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?

but its not really photoshop either because its targeting vector based graphics, whereas Photoshop is mainly raster-based.

I'm not up on Adobe (I use InkScape which is sort of the default open-source / free alternative) but I guess Adobe Illustrator is the closest analogue here.

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

#24
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?

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

#25
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

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

#27
post #13

This looks neat. I’ve been using Illustrator for twenty five years and have been wishing for a node-oriented replacement of the Appearance stack a lot lately. I will have to check it out when you have binaries, I hate web apps.

Is Electron really so different in your experience than a PWA? Personally, I always try to use a PWA when the app is otherwise offered via Electron. If it’s going to depend on a browser engine, it may as well be the one I already have open and update regularly.

I’d prefer it to be one that the developers have specifically targeted and developed/tested against, especially if there’s any GPU involvement.

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

#28
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.)

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

#29
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.

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

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

#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 noted at https://github.com/GraphiteEditor/Graphite/issues/1870]

- shift+G/R/S for setting handle mode (bent, colinear, and colinear+equidistant respectively) works out quite intuitively; mode can be displayed as a different icon on the point (square for bent, rectangle aligned to angle for colinear, and circle for equidistant is what I use; circle is somewhat questionable but my handles have arrow tips)

- while holding just a handle, set the rotation/scale anchor point to its point

- allow both rotate and scale at the same time (maybe never useful but I still did it. ¯\_(ツ)_/¯)

- while rotating/scaling, some shortcut for setting the anchor point (esp. snapped to an element representing the rotational center of a symmetric design)

- middle-mouse-dragging while holding an element should ignore the delta mouse movement during the movement

- I draw visual indicators of the current r/g/s accumulated action (g: a line from the starting mouse position in the canvas to where it'd be dragged to; s: line from the anchor point through the current and original mouse position with different colors (i.e. the ratio of the color lengths is the ratio of scaling); r: lines from the anchor to original & current mouse position, with an arc in between (very busy-looking, don't quite like it))

- some actions - cut a path into two (a thing I don't have but have wanted is drag-selecting to cut into three), snapping to existing points if near enough; and another to join paths if two end-points are selected; and select all linked to current selection

Post reply on HN