Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commitdd348ac6c3

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 returns context), else what its .metadata states, else what its nodebox's .metadata states 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.