MingaEditor.RenderPipeline.Intent (Minga v0.1.0)

Copy Markdown View Source

Cache-free Editor-to-Renderer frame intent.

Pipeline and workspace fields use explicit allowlisted boundary structs; windows use WindowIntent. No Input, editor Window, renderer cache, resident store, font registry, or acknowledgement state crosses the boundary.

Summary

Functions

Marks semantic frame state for a recovery keyframe without adding cache state.

Types

t()

@type t() :: %MingaEditor.RenderPipeline.Intent{
  buffer_versions: %{optional(pid()) => non_neg_integer()},
  frame: MingaEditor.RenderPipeline.FrameIntent.t(),
  revision: non_neg_integer(),
  window_layout: %{tree: term(), active: pos_integer(), next_id: pos_integer()},
  windows: %{
    optional(MingaEditor.Window.id()) =>
      MingaEditor.RenderPipeline.WindowIntent.t()
  },
  workspace: MingaEditor.RenderPipeline.WorkspaceIntent.t()
}

Functions

force_keyframe(intent)

@spec force_keyframe(t()) :: t()

Marks semantic frame state for a recovery keyframe without adding cache state.

from_editor_state(state, revision \\ 0)

@spec from_editor_state(MingaEditor.State.t(), non_neg_integer()) :: t()

from_input(input, revision \\ 0)