Core Lifecycle Events
These events are emitted by the core kernel during board lifecycle:
board:ready
Emitted once when the board is fully initialized and the API is ready.
board:allPluginsLoaded
Emitted after all enabled plugins have been loaded and their setup() called.
Use this event for plugins that need to interact with other plugins after they’ve all initialized (e.g., hooks that depend on other plugins being ready).
board:restarted
Emitted after api.restart() completes and all plugins have been reloaded.
board:resize
Emitted when the window is resized (debounced at 150ms).
Plugin Lifecycle Events
plugin:loaded
Emitted when a single plugin finishes loading.
plugin:unload
Emitted when a plugin is toggled off or deleted.
plugin:unloaded
Emitted after a plugin has been fully torn down and its container removed.
Container & Docking Events
plugin:docked
Emitted when a plugin container is docked into a target element.
plugin:undocked
Emitted when a plugin container is undocked and becomes floating.
plugin:updated
Emitted after api.updatePlugin() modifies a plugin’s container.
Drag Events
plugin:dragstart
Emitted when a plugin container starts being dragged.
plugin:dragend
Emitted when a plugin container stops being dragged.
UI Events
Emitted when the board context menu (right-click) opens.
Storage Events
storage:change
Emitted whenever a value is stored via api.storage.set() or api.storage.setForPlugin().
Plugin-Specific Events
Plugins can define and emit their own events freely. Use namespace:action naming:
window.blankBoard
After boot, the core exposes a global debug object:
window.blankBoard is only available for debugging. Plugins should use the api object passed to setup().