Hook to request a capability from the plugin context.
Suspends (throws the contribution promise) while nothing has contributed the interface yet, so a
reader that renders before its provider activates parks at its nearest Suspense boundary. An
invariant here cannot tell "not yet" from "never": most providers are idle-gated or wait on a
runtime event, so the reader legitimately renders first, and hard-failing on that blanks the
subtree. Declaring the dependency as the module's requires is NOT the alternative — that
demotes the reader's module into the provider's (later) wave.
Hook to request a capability from the plugin context.
Suspends (throws the contribution promise) while nothing has contributed the interface yet, so a reader that renders before its provider activates parks at its nearest Suspense boundary. An invariant here cannot tell "not yet" from "never": most providers are idle-gated or wait on a runtime event, so the reader legitimately renders first, and hard-failing on that blanks the subtree. Declaring the dependency as the module's
requiresis NOT the alternative — that demotes the reader's module into the provider's (later) wave.