Builtin Library
README.md
proc.registry
The operation registry: register/lookup/schema/search/help for procedural ops.
Where a node works
Every node works in a context (proc.registry.contexts()), and may read from the scene or assets beside its inputs
(pulls) or write to them beside its outputs (pushes). The registry answers them for a .procNode without
running it:
nodeInterfaceContext(guid): what the node's source states (a node written as a table returnscontext), else what its.metadatastates, else what its nodebox's.metadatastates for every node it holds, else the one context every op and node its outputs come from operates in.nodeInterfaceReach(guid):{ pulls, pushes }, read the same way (the source, then the node's.metadata, then its nodebox's).
A .metadata states them as "context": "sim", "pulls": "scene", "pushes": "asset". A value outside the known
contexts, or outside scene / asset, is left out with a warning naming the file. A node of a nodebox that works
elsewhere than its box states its own (sim.particles is a geometry node in the sim box). Each function refuses a
guid that is not a string and answers nil for a guid no node holds.
Part of @builtin::systems.procgen.proc.