[Feature Preview] Node Autocomplete

The Dynamo team is currently hard at work on a new feature, Node Autocomplete, which aims to simultaneously Lower the Barrier to Entry inside Dynamo and increase understanding of nodal relationships, speed of placement and use a localized search only to relevant nodes.

We see the benefits of this feature being:

  • New users: Node Autocomplete will allow a new user to more quickly grasp the relationship between nodes, object types and graph building. It will limit their search to only viable nodes (From an object type perspective) that will alleviate a lot of error nodal miss-connections. It will gently ease them into graph building by helping them understand the relationship between input ports, object types, default inputs et. al.

  • Advanced user: Node Autocomplete will automatically wire up nodes upon placement and limit field to only viable node choice, pre-filtering the library that will increase the speed of graph building for both new and advanced users (Existing system is limited by a sequence of actions that take time: “right-click, search for node, select node, place node, wire up nodes, align nodes”).

We are working through the following stages:

  1. Minimum Viable Product / MVP (Phase 1) that targets only input ports, and a first pass at hierarchical sorting in the pre-filtered search field using and object types approach.
  2. Object Type (Phase 2) that will polish the MVP, enable output ports and improve the hierarchical sorting to surface the most relevant nodes possible for any given combination.
  3. Machine Learning (Phase 3) is a longer-term approach that would rank the most applicable node possible in any given situation, based on past behaviour. This is a little trickier as this approach requires bucketloads of data™.

You can read more about our intentions in our Dynamo Public Roadmap.

This thread will be updated as work moves forward :slight_smile: But for those who got this far… here is a sneak peek!

The following GIF shows the invoking (turning on) of Node Autocomplete from an input port that requires a point, and shows only node options that will return a point, then automagically places that node and wires it up. Big shout-outs to @Qilong_Tang and @Aparajit_Pratap on this!

We would absolutely love to hear your thoughts on what you see so far, and as the MVP progresses get some direct feedback when we get it out into your hands :raised_hands:

18 Likes

:heart_eyes:

3 Likes

@solamour and Team
Great!

1 Like

It looks like a desirable feature. It certainly helps speed node wiring and cleanup. Furthermore, I am wondering if we can right click on the inputs and analyze the workspace for existing nodes and allow for picking them to connect. I mean as a first choice. And if nothing exists then it can add a new node. And also fill workspace with additional argument nodes for users to fill information into (multiple input nodes cases.)

In the same line of thoughts, I am wondering if we can develop “snippets” like in Visual Studio, for forward processing of potential nodes. Right clicking on the Output node would give me options to pick from a predefined node arrangements that suits my custom workflows. I would put together these snippets that would instruct how the forward nodes would be built to accomplish a desired task.

@solamour

1 Like

:fireworks: :smiley: :heart_eyes:This will make me happier and help me teach my users more about Dynamo! Many fear it because they don’t know how to find nodes that relate for inputs. This also reminds me of the 3dexperience platform node setup which I enjoy. Defiantly a leap forward for Dynamo

2 Likes

As a newer user that has spent a lot of time typing in related or adjacent keywords in an attempt to find appropriate input node sources (Viewtype, View Type, etc…) and generally learn what is accessible OOTB without python or ds knowledge, this sounds fantastic.

3 Likes

Awesome!

One question: Will the autocomplete functionality work with external packages (custom nodes or ZTNs)?

One request: Could we have the ability to “favorite” certain nodes for each input type? That way we could manually build our own shortlist of autocomplete nodes.

3 Likes

@Nick_Boyts
You’ll have to wait, i proposed something like this when Sol first asked the question. I said i wanted this for in- and outputs/
:vulcan_salute:

2 Likes

Hi Nick,

Our intention is very much to allow external packages, yes! We’re currently figuring out the MVP based on only out-of-the-box, but have a few phases planned :slight_smile:

The idea of favouriting is intriguing, and I have a few follow up questions:

  1. Do you imagine these propagate to the top?
  2. Do you imagine these are on a per-node basis, or global?
  3. Would you still want the object-type list below?
  4. How would you want to visually identify the favourite nodes?
1 Like

Hi @Marcel_Rijsmus - We are definitely doing both input and output ports :slight_smile: Just starting with input for the MVP.

The reason for this is: New users may know what they want to end up with (i.e. Build a Wall in Revit), but not know how to get there. This will enable a new way of graph building that helps this particular workflow first, with the downstream workflow coming in phase 2.

1 Like
  1. Yes. I’m picturing favorites just going to the top of the list.
  2. It would be nice if they were node specific, but even just favorites per object type would be helpful.
  3. Yes. Full list would still be helpful.
  4. I was thinking either separate sublists for Favorites and MVP or some sort of visual identification.
3 Likes

Users in this thread, if you have time, can you post your feedback on our feedback request thread on [Request for Feedback] Dynamo Node AutoComplete? I will gather the feedback and make improvements using that thread soon.

2 Likes