Internal structure of a node
Nodes can be made reusable.
Reusing nodes is very important because that's how we speed up development both for ourselves and for others.
Reusable nodes are called prototypes.
When we add a node from the Repo, we're actually reusing a node. A node in the Repo is therefore always a prototype - and when dragged to the canvas it becomes an instance of a node.
Prototypes in the Repo
Instances on the Canvas
Node instances inherit every property of the prototype - ports, data types, structure, and code - but in addition to these, they can also have parameter values set on input ports. Instances can only exist in the context of a parent node, whereas prototypes live in the Repo without context.