Workspace and Persistence

Panel Specifications and Instances

A panel registration describes a capability contributed by a plugin.

A panel instance is one live controller and view created from that registration.

The Workspace Manager owns those live instances and their placement in the application grid.

Panel Records

The workspace records enough information to identify and restore an instance, including its plugin, panel registration, geometry, state version, and restore metadata.

Geometry

The workspace owns panel geometry.

A plugin’s default layout is a starting size or placement hint for a newly opened panel. It must not overwrite the geometry restored from a saved layout.

New panels are placed into available workspace space where possible.

Panel State

A controller may expose a small persistence interface such as get_state() and restore_state().

Persisted panel state should contain serialisable user/workflow state, not live runtime objects such as clients, threads, or caches.

Saving and Loading Layouts

Workspace persistence can store information such as:

  • dataset registrations and mappings;

  • enabled plugins;

  • panel instances;

  • panel geometry;

  • supported controller state.

Normal layout loading reconciles the saved workspace with the current one: matching instances can be kept, missing instances opened, and surplus instances closed.

Missing Plugins or Panels

A missing plugin should not make an otherwise valid workspace unusable.

The platform can preserve the missing panel’s place with a placeholder so the rest of the layout still loads.

Disposal

Closing a panel must dispose its controller before the workspace record is removed. Disabling a plugin also closes panel instances owned by that plugin.