Skip to content

Core Concepts

Recall is built around a small set of runtime concepts. These concepts give the core app and plugins a shared language for adding behavior without tightly coupling every feature to every screen.

This page is a quick map of the concepts documented in this section.

  • Pages are user-facing screens owned by the host app.
  • Regions are fixed named areas inside a page, such as top, main, or bottom.
  • Blocks are ordered pieces of UI rendered inside a region.
  • Commands are named actions that can be triggered from UI, menus, sheets, plugins, or shortcuts.
  • Sheets are registered bottom-sheet surfaces that can be opened through commands.
  • Menus are data-only action lists whose items point to commands.
  • Dialogs are host-rendered alerts and confirmations that wait for a user’s response before a flow continues.
  • Toasts are temporary, non-blocking feedback for results and status that do not require a response.
  • Sorting methods contribute reusable ordering strategies for compatible app surfaces.
  • Highlight colors contribute named colors that the host can use for lightweight visual markers.
  • App info is read-only host metadata such as the app name, version, and release channel.
  • Plugin lifecycle defines how JavaScript plugins initialize and clean up, and how static theme entries are loaded.
  • Runtime context is the shared object that exposes app capabilities such as commands, sheets, menus, app state, dialogs, and toasts according to the plugin’s permissions.
  • Plugins extend Recall through stable runtime contracts instead of private app internals.

Start with Plugin Lifecycle to learn how a plugin is loaded and cleaned up. Then read Commands to understand how runtime actions are registered and reused.