OptionalactiveOptionalglobal_The element-level global (master/detail cross-) filters. A transient overlay on every detail panel's view — persisted here, never in a per-panel entry. Omitted when empty.
OptionalmastersThe MASTER (filter-source) panels' ids, referencing panels keys.
Roles are layout state (like the panel arrangement), so they persist;
which master contributed which clause does not — restored
global_filters are one unattributed bucket. Omitted when empty.
BTreeMap (not HashMap) so save() serializes panels in a
DETERMINISTIC (sorted) key order — a fresh HashMap per call
iterates in a per-instance random order, which made consecutive
save() outputs byte-unstable.
The whole-element config format (
{version, active?, layout, panels}) — the multi-panel counterpart of the single-panel [ViewerConfig] — as emitted by [PerspectiveViewerElement::save].panelsentries are [PanelViewerConfig]s: per-panel state only, nosettingskey (element-level state).activenames the panel targeted by the open settings sidebar; it is omitted when the sidebar is closed.