Expand description
Preview panel: the rendered frame (letterboxed, black bars), a selection outline for the selected
visual clip (drag to move = edits clip.x / clip.y at the playhead time via Animated::set_at, calling
undo once at drag start), and the transport bar, centred under the video:
go-start, prev cut, step back, play/pause, stop, step forward, next cut, go-end (all painted
glyphs, NLE order) plus timecode / duration, In/Out buttons and the
in/out times, a preview-quality selector (100 / 75 / 50 / 25 %) and a Movie mode toggle.
In fullscreen mode only the video is drawn (no transport, no overlay): Esc / F11 leave it (app).
When PreviewCtx.tool is anything but Tool::Select, a click-drag over the video draws instead of
moving the clip: a shape tool reports new_shape, the Draw tool records a timed stroke, and a mask
tool edits the selected clip’s mask (reported through mask_edit); a Polygon/Path mask gets its
vertices from the drag rect (an empty point list would hide the clip entirely).
The Polygon shape tool is SVG-style instead: each click appends a vertex (the path is drawn live),
a click back on a placed vertex (which is where a double-click’s second press lands) or Enter closes
it into a shape, and re-selecting that shape with the Select tool puts a drag handle on every point.
Structs§
- Preview
Ctx - Preview
Response - Preview
State - Tool
Drag 🔒 - A click-drag with a non-Select tool.
Constants§
- QUALITIES
- Preview render scales offered by the quality selector.
Functions§
- constrain_
drag 🔒 - Shift locks the shape’s aspect (square / circle / 45°-stepped line); Alt anchors it on the press point
instead of corner-to-corner, so it grows symmetrically from where the drag started. Returns the two
corners
draw_shape_preview(and the final shape) should use in place of the raw press/cursor, so the live preview and what actually gets created always agree. - draw_
shape_ 🔒preview - Outline of the shape a drag is creating:
fromis where the press landed,tois the cursor. Bounded shapes fill the rectangle between them; a line or arrow runs from one to the other, so it must not be handed a normalised rect (its corners would point the wrong way down two of the four diagonals). - letterbox 🔒
- Largest
aspectrect centred inarea, edges snapped to whole physical pixels. - prerender_
badge 🔒 - Small “Pre-rendering NN %” / “Building proxy NN %” badge in the top-left of the video.
- show
- signed_
min 🔒 - Keep
v’s direction while forcing at leastminof length, so a zero-length drag still makes a visible shape without flipping which way it points. - tool_
drag 🔒 - Drag with a shape / draw / mask tool. Returns true when the tool consumed the gesture (so the clip must not be moved). Never panics without a selection: a shape or a stroke is reported regardless and the app decides what to create.
- transport 🔒
- video 🔒