Toolbar Item ID Compatibility Inventory

August 7, 2026 · View on GitHub

This inventory records the consumer-based decision for every historical side.* toolbar item ID that existed when the legacy side palette was removed. The serialized spelling is a configuration contract: an ID remains recognized only when the unified top toolbar still consumes it.

The code sources of truth are ids.rs and items/definitions.rs. Do not add, remove, or rename a historical ID without updating this inventory and the owning model test.

Proof references used below:

  • Definitionstoolbar_item_definitions_are_unique_parseable_and_labeled proves every retained ID is defined and parsed.
  • Sectionsconfig::types::toolbar::visibility::tests proves explicit section visibility overrides beat layout-mode baselines.
  • Models — the action, session, and settings model tests exhaustively map commands to retained IDs; visibility tests also prove that retained IDs hide their corresponding unified-top controls.
  • Documentretired_toolbar_settings_are_preserved_and_diagnosed proves representative retained overrides survive an unrelated document save.

Retained IDs

Serialized IDUnified-top consumerProof
side.group.step-undoCanvas popover Step Undo/Redo sectionDefinitions, Sections
side.group.actionsCanvas popover basic Actions sectionDefinitions, Sections, Models
side.group.pagesCanvas popover Pages sectionDefinitions, Sections, Models
side.group.boardsCanvas popover Boards sectionDefinitions, Sections, Models
side.group.presetsTop-strip presets islandDefinitions, Sections, Document
side.group.actions-advancedCanvas popover Advanced sectionDefinitions, Sections, Models
side.group.zoom-actionsCanvas popover Zoom sectionDefinitions, Sections, Models
side.group.text-controlsContextual style-pill text controlsDefinitions, Sections
side.actions.zoom-inCanvas Zoom commandDefinitions, Models, Document
side.actions.zoom-outCanvas Zoom commandDefinitions, Models
side.actions.reset-zoomCanvas Zoom commandDefinitions, Models
side.actions.toggle-zoom-lockCanvas Zoom commandDefinitions, Models
side.actions.undo-allCanvas Advanced commandDefinitions, Models
side.actions.redo-allCanvas Advanced commandDefinitions, Models
side.actions.undo-all-delayedCanvas Advanced commandDefinitions, Models
side.actions.redo-all-delayedCanvas Advanced commandDefinitions, Models
side.actions.freezeCanvas Advanced commandDefinitions, Models, Document
side.pages.previousCanvas Pages commandDefinitions, Models
side.pages.nextCanvas Pages commandDefinitions, Models
side.pages.newCanvas Pages commandDefinitions, Models
side.pages.duplicateCanvas Pages commandDefinitions, Models
side.pages.deleteCanvas Pages commandDefinitions, Models, Document
side.boards.pickerCanvas Boards picker commandDefinitions, Models, Document
side.boards.previousCanvas Boards commandDefinitions, Models
side.boards.nextCanvas Boards commandDefinitions, Models
side.boards.newCanvas Boards commandDefinitions, Models
side.boards.duplicateCanvas Boards commandDefinitions, Models
side.boards.deleteCanvas Boards commandDefinitions, Models, Document
side.settings.context-aware-uiSettings popover toggleDefinitions, Models
side.settings.text-controlsSettings popover toggleDefinitions, Models
side.settings.status-barSettings popover toggleDefinitions, Models
side.settings.status-board-badgeSettings popover toggleDefinitions, Models
side.settings.status-page-badgeSettings popover toggleDefinitions, Models
side.settings.floating-badge-alwaysSettings popover toggleDefinitions, Models
side.settings.preset-toastsSettings popover toggleDefinitions, Models
side.settings.presetsSettings popover toggleDefinitions, Models
side.settings.actionsSettings popover toggleDefinitions, Models
side.settings.zoom-actionsSettings popover toggleDefinitions, Models
side.settings.advanced-actionsSettings popover toggleDefinitions, Models
side.settings.boardsSettings popover toggleDefinitions, Models
side.settings.pagesSettings popover toggleDefinitions, Models
side.settings.step-controlsSettings popover toggleDefinitions, Models
side.settings.command-paletteSettings popover commandDefinitions, Models
side.settings.configuratorSettings popover commandDefinitions, Models
side.settings.config-fileSettings popover commandDefinitions, Models
side.settings.aboutSettings popover commandDefinitions, Models, Document
side.session.openSession popover commandDefinitions, Models
side.session.save-asSession popover commandDefinitions, Models
side.session.infoSession popover commandDefinitions, Models, Document
side.session.clearSession popover commandDefinitions, Models
side.session.managerSession popover configurator commandDefinitions, Models

Removed IDs

Removed IDs are deliberately unknown to the active parser. Authored strings in items.hidden and items.shown still round-trip as unknown raw values; they do not control runtime UI.

Serialized IDConsumer trace and disposition
side.group.colorsPanel Draw card only; the style pill uses top.group.quick-colors.
side.group.thicknessPanel Draw card only; thickness is contextual style-pill state.
side.group.eraser-modePanel Draw card only; eraser mode is contextual style-pill state.
side.group.polygon-sidesPanel Draw card only; polygon sides are contextual style-pill state.
side.group.arrow-labelsPanel Draw card only; arrow labels are contextual style-pill state.
side.group.step-markersPanel Draw card only; step-marker reset is contextual style-pill state.
side.group.marker-opacityPanel Draw card only; opacity is contextual style-pill state.
side.group.text-sizePanel Draw card only; text size is contextual style-pill state.
side.group.fontPanel Draw card only; font controls are contextual style-pill state.
side.group.settingsPanel container only; Settings is an unconditional top popover host.
side.group.sessionPanel container only; Session is an unconditional top popover host.
side.actions.undoPanel button only; the top control uses top.utility.undo.
side.actions.redoPanel button only; the top control uses top.utility.redo.
side.actions.clear-canvasPanel button only; the top control uses top.utility.clear-canvas.
side.boards.renameNo unified-top button or toolbar event consumer.
side.tool-options.colorPanel Draw control only; the style pill uses its typed tool model.
side.tool-options.thicknessPanel Draw control only; the style pill uses its typed tool model.
side.tool-options.marker-opacityPanel Draw control only; the style pill uses its typed tool model.
side.tool-options.eraser-modePanel Draw control only; the style pill uses its typed tool model.
side.tool-options.font-sizePanel Draw control only; the style pill uses its typed tool model.
side.tool-options.font-familyPanel Draw control only; the style pill uses its typed tool model.
side.tool-options.polygon-sidesPanel Draw control only; the style pill uses its typed tool model.
side.tool-options.arrow-labelsPanel Draw control only; the style pill uses its typed tool model.
side.tool-options.step-marker-resetPanel Draw control only; the style pill uses its typed tool model.

Retired order fields

The unified toolbar has only the top_tools and top_controls order groups. The following panel-era fields are preserved as authored raw TOML, reported by their exact path as RetiredSetting, and omitted from the typed schema and configurator. They have no aliases.

Source TOML pathFormer consumerDisposition and proof
ui.toolbar.items.order.side_sectionsSide-palette section renderer and its reorder UIRetired with the panel; covered before and after an unrelated save by retired_toolbar_settings_are_preserved_and_diagnosed.
ui.toolbar.items.order.actionsTyped order resolver and runtime preference map; no unified-top renderer or reorder UI consumed itRetired raw; covered by the same preservation/diagnostic fixture.
ui.toolbar.items.order.pagesTyped order resolver and runtime preference map; no unified-top renderer or reorder UI consumed itRetired raw; covered by the same preservation/diagnostic fixture.
ui.toolbar.items.order.boardsTyped order resolver and runtime preference map; no unified-top renderer or reorder UI consumed itRetired raw; covered by the same preservation/diagnostic fixture.
ui.toolbar.items.order.presetsTyped order resolver and runtime preference map; no unified-top renderer or reorder UI consumed itRetired raw; side.group.presets remains a separate active visibility ID. Covered by the same preservation/diagnostic fixture.
ui.toolbar.items.order.tool_optionsTyped order resolver and runtime preference map; no unified-top renderer or reorder UI consumed itRetired raw with the unused side.tool-options.* namespace; covered by the same preservation/diagnostic fixture.
ui.toolbar.items.order.sessionsTyped order resolver and runtime preference map; no unified-top renderer or reorder UI consumed itRetired raw; covered by the same preservation/diagnostic fixture.

The exact-path classifier lives in document.rs. The document fixture also proves that active top_tools and top_controls orders retain their runtime effect; the shared-model test proves both orders reach their unified-top controls.