Skip to content

General Purpose Value Node #2822

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

General Purpose Value Node #2822

wants to merge 7 commits into from

Conversation

adamgerhant
Copy link
Collaborator

@adamgerhant adamgerhant commented Jul 2, 2025

When an exposed value input is clicked with alt pressed and dragged, a value node with that same input is created, and connected to the node. Removes all value nodes and replaced with the generic value node.

TODO: Migrate fill to be input type based to close #2875

chrome_XxACq43Yeq.mp4

Essentially closes #2447
Closes #1919, #2567

@adamgerhant adamgerhant changed the title Identity from value input Identity Node from Value Input Jul 2, 2025
let value_dropdown = enum_choice::<TaggedValueChoice>().dropdown_menu(choice, updater, || commit_value);
select_value_widgets.extend_from_slice(&[Separator::new(SeparatorType::Unrelated).widget_holder(), value_dropdown]);

let mut type_widgets = match property_from_type(node_id, 0, &input_type, (None, None, None), None, None, None, false, context) {
Copy link
Member

Choose a reason for hiding this comment

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

I noticed that the following types don't have a working properties: OptionalF64, OptionalDVec2, VecU64, F64Array4.

Also the VectorData says "Vector data is supplied through the node graph". However this is misleading as there is no way to actually expose the input to the graph. This is also inconsistent with the other complex types e.g. GraphicElement, which currently just displays a "-".

Copy link
Member

Choose a reason for hiding this comment

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

The - is newer and we can probably just standardize on that for all the types we don't yet have widgets for. We'll someday even have a widget for vector with some kind of way to visualize the path in a box that you can click on to view larger or something (I haven't thought much about this design, but that's the notion).

@adamgerhant adamgerhant changed the title Identity Node from Value Input General Purpose Value Node Jul 7, 2025
@Keavon Keavon force-pushed the master branch 4 times, most recently from ec51271 to e025103 Compare July 10, 2025 05:48
@Keavon Keavon marked this pull request as draft July 10, 2025 07:28
@Keavon
Copy link
Member

Keavon commented Jul 10, 2025

I'm momentarily converting this to a draft while I work through my PR queue since this has merge conflicts and a test failure in CI. It appears to be an exciting change so I look forward to having the chance to review and land this. Thanks :)

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.

Node for constructing a Gradient Exposing a value to the graph should add and connect up an equivalent value node Allow constructing IVec2 in graph
3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy