The lazy-plugin slots a toolbar draws, in the order they were declared.
Every slot declared with GeoLeaf.plugins.registerLazyForAction(), its bundle loaded or
not — a toolbar is rebuilt at every boot, and a plugin loaded since the first one must find
its button again after GeoLeaf.mount() — except a slot the module registry declares
under the same id.
🛑 That exception is what keeps the two paths from answering twice. A plugin loaded
BEFORE the boot registers its own slot with the module registry, and the registry loop of
each toolbar judges it with the plugin's guards (defaultVisible, requiresPlugin). Offered
here as well, the same button would be judged a second time with the lazy path's guards,
which default to visible: a button the first verdict hid would come back. A plugin loaded
AFTER the boot declares no slot there, and is drawn from this list — at the first boot and
at every one after it, from the same declaration.
Returns LazyUISlot[]
The slots to draw; empty without a plugin registry.
The lazy-plugin slots a toolbar draws, in the order they were declared.
Every slot declared with
GeoLeaf.plugins.registerLazyForAction(), its bundle loaded or not — a toolbar is rebuilt at every boot, and a plugin loaded since the first one must find its button again afterGeoLeaf.mount()— except a slot the module registry declares under the same id.🛑 That exception is what keeps the two paths from answering twice. A plugin loaded BEFORE the boot registers its own slot with the module registry, and the registry loop of each toolbar judges it with the plugin's guards (
defaultVisible,requiresPlugin). Offered here as well, the same button would be judged a second time with the lazy path's guards, which default to visible: a button the first verdict hid would come back. A plugin loaded AFTER the boot declares no slot there, and is drawn from this list — at the first boot and at every one after it, from the same declaration.