Canvas Inspector
Shared Cell appearance, text formatting, and responsive behavior across Canvas modes.
HEAD a63778eOne Canvas Inspector owns the host trigger, floating surface, shortcut, and open state for supported modes. Its trigger always displays the active semantic color. It is open by default off phone, collapsed on phone, and closes when Hand becomes active.
| Mode and target | Mutation boundary |
|---|---|
| Freeform defaults or selection | The active foreground or Background-tool color updates through Canvas commands |
| Slides defaults or active-page selection | The active foreground or Background-tool color updates through the active Slide document page |
| Freeform or Slides | The persistent formatting row stays visible; without an applicable selection its bold, italic, underline, strikethrough, and inverse actions are disabled |
| Freeform or Slides selection | The five text attributes expose shared, absent, or mixed state; each action mutates only its own attribute |
The color header exposes one restore action. It applies COLOR_PRIMARY_TEXT
through the same mutation boundary as a normal color pick, so the active creation
default and any active Cell selection return to the canonical black default together.
Read-only sessions in supported modes retain the Inspector while its mutation controls remain inert. The resolved Host Contract omits the Inspector from Blackboard, including its trigger and shortcut registration. Availability changes preserve the user's open state. The floating surface never reserves Canvas viewport space.
Authority: canvas-inspector.tsx,
model.ts,
tool.ts,
and editorHostProfile.ts.
Evidence: their nearest tests.