DocsAPI ReferenceChangelogSupport
Concepts

Lifecycle

Atlas loads installed plugins at startup, mounts their surfaces when needed, and isolates failures so a broken plugin cannot take down the app.

Load and mount

At startup Atlas scans the install directories, validates each manifest, and registers what it contributes. Windows and panels mount when the user opens them; services start on demand or at app start, as the manifest says.

Failure isolation

Every mount, callback, and cleanup runs inside a guard. If a plugin throws, Atlas logs it as an issue you can read in the Plugin Center and keeps running. A plugin that fails to load is skipped, never fatal.

Your own lifecycle events

atlas.lifecycle.on takes five events and needs no permission. It returns a function that unsubscribes.

plugin.readyYour surface is mounted and the SDK is available.
plugin.focusYour window or panel gained focus.
plugin.blurIt lost focus.
plugin.visibilitychangeIt was shown or hidden without unmounting.
plugin.beforeunloadIt is about to be torn down. Flush anything unsaved here.

Host events

atlas.events.on covers what is happening in the app rather than in your plugin: selection.changed, file-changed, folder-changed, scan-progress, rescan-progress, rescan-complete, export-progress, export-complete, export-error, convert-progress, and convert-complete. Each needs the permission covering what it reports, except the three export-* events which need none. Subscribing to an event outside this set throws.

Reload and logs

During development you reload a plugin to pick up changes without restarting. Whatever you write with log.write goes to a per-plugin log you can open from the Plugin Center.