Skip to content

New nodes: shape/curve primitives - #1389

Merged
Keavon merged 12 commits into
masterfrom
new-primitives
Aug 27, 2023
Merged

Keavon merged 12 commits into
masterfrom
new-primitives

Conversation

@Ezbaze

@Ezbaze Ezbaze commented Aug 14, 2023

Copy link
Copy Markdown
Contributor

Partly closes #912

New Nodes:

  • Line
  • Spline
  • Rectangle
  • Circle
  • Elipse
  • Polygon
  • Star

@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 14, 2023 01:52 Inactive
@Keavon Keavon changed the title Add new Primitive Shape/Curve Nodes Add new primitive shape/curve nodes Aug 14, 2023
@Keavon

Keavon commented Aug 14, 2023

Copy link
Copy Markdown
Member

Shouldn't 'Spline' be called 'Arc'? Or alternatively, take N inputs if that'd be possible.

@Ezbaze

Ezbaze commented Aug 15, 2023

Copy link
Copy Markdown
Contributor Author

Shouldn't 'Spline' be called 'Arc'? Or alternatively, take N inputs if that'd be possible.

I think calling it a 'Arc' would be a bit misleading as you wouldn't really be able to use it in that mannar.

As for the "N inputs", I was thinking of making that a seperate mode inside the node itself or making it into a seperate node entirely?

Technically the 'Spline' node resembles the 'Quadratic Bezier' node in Blender

@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 15, 2023 01:57 Inactive
@Keavon

Keavon commented Aug 15, 2023

Copy link
Copy Markdown
Member

I can't imagine that this Spline node is all that useful all on its own, but the n-input Spline node likely would be useful (and would act as a superset, so your three-point use case is covered using it). I suggest changing it to support the n-input case.

@Ezbaze

Ezbaze commented Aug 15, 2023

Copy link
Copy Markdown
Contributor Author

Yes, it would also allow the ( #1125 ) to be completed.

Additionally I think it would be good to modify how the List Inputs currently function (Eg. Stroke Node -> Dashed Lengths ) to function similarly to how the Gradient Input functions, and ideally it would also be good to have an input that takes more than one input (Eg. Join Geometry Node) to make it easier to join Lists (And it would be useful for other types of nodes like the Vector Ops)

  • Gradient Input
    image

  • Join Geometry Node
    image

@Keavon

Keavon commented Aug 15, 2023

Copy link
Copy Markdown
Member

Yes, that would be a good improvement! Feel free to implement that.

Regarding the multi-input node connections, we should ask @TrueDoctor about any limitations his Graphene system design might impose.

@TrueDoctor

Copy link
Copy Markdown
Member

Yes, it would also allow the ( #1125 ) to be completed.

Additionally I think it would be good to modify how the List Inputs currently function (Eg. Stroke Node -> Dashed Lengths ) to function similarly to how the Gradient Input functions, and ideally it would also be good to have an input that takes more than one input (Eg. Join Geometry Node) to make it easier to join Lists (And it would be useful for other types of nodes like the Vector Ops)

  • Gradient Input
    image
  • Join Geometry Node
    image

there is a graphene-idiomatic way to construct lists by basically using vertical compositing to chain together multiple push nodes which you could then feed into the list input. You could then of course hide the layer stack to reduce visual clutter and in general design abstractions which hide this from the user, but that is what has to happen in the backend.

@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 15, 2023 19:51 Inactive
@Keavon
Keavon force-pushed the master branch 20 times, most recently from 3ae78c3 to f05c647 Compare August 16, 2023 10:20

@0HyperCube 0HyperCube left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works well - I'm excited to see these integrated into the tools.

Comment thread node-graph/gcore/src/vector/generator_nodes.rs Outdated
Comment thread node-graph/gcore/src/vector/generator_nodes.rs Outdated
Comment thread node-graph/gcore/src/vector/generator_nodes.rs Outdated
Comment thread node-graph/gcore/src/vector/generator_nodes.rs Outdated
Comment thread node-graph/interpreted-executor/src/node_registry.rs Outdated
@Ezbaze Ezbaze self-assigned this Aug 24, 2023
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 24, 2023 21:37 Inactive
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 25, 2023 22:48 Inactive
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 27, 2023 08:18 Inactive
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 27, 2023 08:39 Inactive
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 27, 2023 08:48 Inactive
@Keavon
Keavon force-pushed the new-primitives branch 2 times, most recently from c6edfea to 7919d98 Compare August 27, 2023 08:49
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 27, 2023 08:55 Inactive
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 27, 2023 09:01 Inactive
@github-actions
github-actions Bot temporarily deployed to graphite-dev (Preview) August 27, 2023 09:06 Inactive
@Keavon
Keavon merged commit 226b962 into master Aug 27, 2023
@Keavon
Keavon deleted the new-primitives branch August 27, 2023 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tracking Issue: New nodes

4 participants