Live data from Hacker News

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

graphite.rs

111–120 of 133 posts

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

#111
post #40

Earlier quoted context omitted.

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.

Really looking forward to having something with decent vector AND raster capabilites. That niche is currently unfilled unless one wants to run an old version of Fireworks in a VM...

I'm glad at least one person in this thread mentioned Fireworks. I found it much more intuitive than Gimp and Inkscape.

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

#112
Could you see this having a CAD-like mode? I really see a gap there in terms of open-source projects.

I see that you have constraints on your roadmap, but that's not what I mean. I am specifically referring to the 2D mode of Vectorworks, which is, special modules aside, really just a vector editor with support for hairlines and representational line styling (so lines don't have a 'real' thickness, but you set semantical pen thickness).

The main feature here is more about the path drawing workflow, which enables you to efficiently work with exact measurements. E.g. to draw a line you'd click to start, hover on the desired angle, enter number, (optionally press tab, enter exact angle,) click. A rectangle, say, would have additional parameters to access via tab.

So thinking about it, it in fact it is kind of a restraints system, but it only applies to the current drawing process and has the absolute minimum needed key presses/actions as possible, because you need to do this a lot (Sketchup works simlar, too)

I could see myself working on something like that, but didn't see anything pointing in that direction in your open tasks, so I am wondering if that would be in scope for graphite.

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

#113
post #112

Could you see this having a CAD-like mode? I really see a gap there in terms of open-source projects. I see that you have constraints on your roadmap, but that's not what I mean. I am specifically referring to the 2D mode of Vectorworks, which is, special modules aside, really just a vector editor with support for hairlines and representational line styling (so lines don't have a 'real' thickness, but you set semanti…

That's all definitely in-scope. If you'd be motivated to contribute it, there should also be nothing that's really blocking it right now if you're willing to dive into the implementation details. Please join our Discord and let's talk about it more.

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

#114
post #110
post #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("changi…

1. Please see https://news.ycombinator.com/item?id=41854076 2. Yes, you got it! That's very much something we are building towards, and you hit it on the nail in describing how that will work and the utility it will provide to people across many industries from game dev to backend services.

Awesome! Composable tools rule.

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

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

Update: the issue with following what was shown in the tutorial is now fixed. Now the Fill and Stroke nodes apply to the vector contents of group data, which was the problem. (We made Circular Repeat produce a group of vector shapes to properly preserve styling information like gradients, which was why it broke.)

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

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

Update: that's fixed now. It was a super recent regression which is how it didn't get caught earlier. Thanks for the report.

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

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

Thanks for the feedback. What you've encountered is a type error— basically a programming language's compiler telling you that your code is invalid. It's not a bug per-se, although sometimes it is caused by our nodes not being as general as they should be. We just fixed an issue where the Stroke and Fill nodes only applied to vector data but didn't apply to group data (where the group contained one or more vector data). Those kinds of problems, when sensible, should probably get issues filed against them.

The red error message does tell you where to look:

> Check for error details in the node graph, which can be > opened with the viewport's top right _Node Graph_ button.

So in the top right of the viewport, and it's the button labeled "Node Graph". Is it possible your window was very small and the button got scrolled out of the way by other buttons? I'm open to feedback about how you may suggest improving the text of that message. It would currently be hard to make that dialog more visual or interactive, unfortunately, but that'll be something worth building towards improving in the future with improved diagonstics all around.

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

#118
post #99

Earlier quoted context omitted.

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…

I can try to reproduce but don't want to go through all the steps every time in case things go wrong again. Is there a savepoint/export/import kind of feature?

I think a tutorial regarding basics such as how to find shortcuts, do's/dont's for new beginners might help.

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

#119
post #100

Earlier quoted context omitted.

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.

Makes sense, I think that will end up a solid approach.

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

#120
post #117
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?

Thanks for the feedback. What you've encountered is a type error— basically a programming language's compiler telling you that your code is invalid. It's not a bug per-se, although sometimes it is caused by our nodes not being as general as they should be. We just fixed an issue where the Stroke and Fill nodes only applied to vector data but didn't apply to group data (where the group contained one or more vector dat…

I suggest putting a button in the error dialog that goes straight to the Node Graph.
Post reply on HN