Stage 7: Emit.
Encodes the composed frame as semantic render-model protocol commands, then handles shared title and window-background side channels.
Summary
Functions
Converts the frame to semantic protocol command binaries and sends them to the frontend port.
Types
@type ctx() :: MingaEditor.Frontend.Emit.Context.t()
Emit context containing only the data emit needs.
Functions
@spec emit( MingaEditor.RenderPipeline.ComposedFrame.t(), ctx(), MingaEditor.RenderPipeline.Chrome.t() | nil, MingaEditor.Renderer.Caches.t() ) :: {MingaEditor.Renderer.Caches.t(), MingaEditor.UI.FontRegistry.t(), MingaEditor.UI.Panel.MessageStore.t()}
Converts the frame to semantic protocol command binaries and sends them to the frontend port.
Also sends title and window background color when they change (side-channel writes). Returns updated caches, the renderer-owned font registry, and the message store for write-back to the Editor process.