The engine instance to register the input against.
Stable NodeId for the underlying input node.
Loader callback plus optional staleness-guard flag.
A ResourceHandle exposing the node and triggers.
Internally this allocates a single InputNode initialised to
{ state: 'idle' } and returns an object that drives transitions on
that input through one-shot commits. The transitions implemented are
the ones drawn in the ResourceFleet sub-statechart:
Idle → Loading → Loaded | Stale | Errored, plus
Loaded → Stale (via ResourceHandle.invalidate) and the
chart-named Loading | Loaded → Errored edges (via
ResourceHandle.fail). Every transition lands as exactly one
engine commit, advancing GraphTime by one tick — the engine has no
other mutation API.
Register a Resource on
graphkeyed bykey. The host application is responsible for schedulingfetch()calls; the engine merely carries the state.