Technical — Display graph
Objects
Canvas
size: Vector2I
testPattern: bool
VideoOutputDevice (Window)
shows intersection of canvas with its screen rect
vsync / background from show prefs
VideoTargetLayer
id, name, rect, locked
hosts TextureRect (video) and/or text controls
Draw path
- Decoder presents a frame into a texture.
VideoComponent.ApplyTextureLayoutsets expand/stretch on the layer’sTextureRect.- When expand is
IgnoreSize, the rect fills the layer host. - Each output window composites the canvas region it owns.
OSC / control mutation
/Layer/{id}/pos and /size (and control Translate layer) mutate layer geometry if unlocked. Locked layers reject OSC moves.
Restore / undo
Displays settings restore runs DisplaysManager.LoadFromData, recreating windows. UI must rebuild by id after settings history restore.