Module maker contributing React surfaces. Declaring roles (the role tokens the module's
surfaces bind, e.g. AppSurface.Article or a plugin's <Plugin>Surface tokens) gates the module
on those roles' demand events
(ActivationEvents.SurfacesRequested) — it loads when a Surface for one of its roles
first renders instead of at startup. Modules without declared roles stay eager; an explicit
activatesOn wins over the derived gate.
Module maker contributing React surfaces. Declaring
roles(the role tokens the module's surfaces bind, e.g.AppSurface.Articleor a plugin's<Plugin>Surfacetokens) gates the module on those roles' demand events (ActivationEvents.SurfacesRequested) — it loads when aSurfacefor one of its roles first renders instead of at startup. Modules without declared roles stay eager; an explicitactivatesOnwins over the derived gate.