OptionalclearOptionalpermissionOptionalstyleOptionalsyncOptional pre-built sync result. When omitted, the canvas creates
its own internal useAnnotationSync against shareId /
localUserId. Pass one in to share state with a sibling toolbar.
Active tool. null puts the canvas in read-only mode (events
pass through to the underlying video).
Ref to the <video> element to overlay. The canvas tracks its
content rect via useVideoContentRect so strokes always sit on
the rendered video (not the letterbox bands).
Optional inline style override — merged onto the SVG container.