MingaEditor.RenderPipeline.Input (Minga v0.1.0)

Copy Markdown View Source

Renderer-local frame wrapper.

The accepted Editor-to-Renderer value is intent. Materialization attaches only renderer-owned working values beside it: materialized windows, mutable frame-local workspace, caches, font registry, message store, layout, focus tree, and frame sequence.

Summary

Types

t()

@type t() :: %MingaEditor.RenderPipeline.Input{
  caches: MingaEditor.Renderer.Caches.t(),
  focus_tree: MingaEditor.FocusTree.t() | nil,
  font_registry: MingaEditor.UI.FontRegistry.t(),
  frame_seq: non_neg_integer() | nil,
  intent: MingaEditor.RenderPipeline.Intent.t(),
  layout: MingaEditor.Layout.t() | nil,
  message_store: MingaEditor.UI.Panel.MessageStore.t(),
  windows: MingaEditor.State.Windows.t(MingaEditor.Renderer.RenderWindow.t()),
  workspace: MingaEditor.RenderPipeline.WorkspaceIntent.t()
}

workspace()

Functions

accept_emit_results(input, caches, font_registry, message_store)

add_frame_rows_rasterized(input, count)

@spec add_frame_rows_rasterized(t(), non_neg_integer()) :: t()

chrome_fingerprint(input)

@spec chrome_fingerprint(t()) :: integer()

chrome_fingerprint(input, scrolls)

@spec chrome_fingerprint(t(), map()) :: integer()
@spec chrome_fingerprint(
  t(),
  {{non_neg_integer(), non_neg_integer()}, non_neg_integer()}
) :: integer()

file_tree_state(input)

@spec file_tree_state(t()) :: MingaEditor.State.FileTree.t()

from_editor_state(state)

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

from_intent(intent, windows, caches, font_registry, message_store)

record_agent_scroll_metrics(input, total_lines, visible_height)

@spec record_agent_scroll_metrics(t(), non_neg_integer(), pos_integer()) :: t()

record_chrome_result(input, fingerprint, chrome)

@spec record_chrome_result(t(), integer(), term()) :: t()

record_content_decoration_caches(input, search_cache, doc_highlight_cache, cmd_hover_link_cache)

@spec record_content_decoration_caches(t(), term(), term(), term()) :: t()

record_frame_render_path(input, path)

@spec record_frame_render_path(t(), MingaEditor.RenderPipeline.Classifier.path()) ::
  t()

record_render_window(input, id, window)

refresh_focus_tree(input)

@spec refresh_focus_tree(t()) :: t()

reset_frame_rows_rasterized(input)

@spec reset_frame_rows_rasterized(t()) :: t()

sync_active_window_cursor(input)

@spec sync_active_window_cursor(t()) :: t()

with_focus_tree(input, focus_tree)

@spec with_focus_tree(t(), MingaEditor.FocusTree.t()) :: t()

with_font_registry(input, font_registry)

@spec with_font_registry(t(), MingaEditor.UI.FontRegistry.t()) :: t()

with_frame_seq(input, frame_seq)

@spec with_frame_seq(t(), non_neg_integer()) :: t()

with_layout(input, layout)

@spec with_layout(t(), MingaEditor.Layout.t()) :: t()