# Designer Usability Notes

UnifiedControl Designer is the visual editor for `ContentControl.content`.

## Clipboard

The Canvas owns an internal clipboard. It stores selected component trees as authoring data and reassigns component IDs on paste. If a parent and child are selected together, only the parent tree is copied to avoid duplicate descendants.

Commands:

- `copySelected`
- `cutSelected`
- `pasteClipboard`
- `duplicateSelected`

## Lock / Hide

`locked` and `hidden` are authoring flags stored on component definitions.

- `locked`: prevents direct drag and resize in the Canvas.
- `hidden`: shows the component as a low-opacity design-time placeholder so it can still be selected and restored.

Commands:

- `lockSelected`
- `unlockSelected`
- `hideSelected`
- `showSelected`

## Context Menu

The Canvas suppresses the browser context menu and opens a selection-aware UnifiedControl menu backed by CommandRegistry. Host integrations can replace this behavior by listening to `canvasContextMenuRequested`.
