MingaEditor.Renderer.Caches (Minga v0.1.0)

Copy Markdown View Source

Explicit render-pipeline cache state, replacing process-dictionary entries.

Each field corresponds to a former Process.put/get key used across the render pipeline stages. The struct is carried on EditorState and on RenderPipeline.Input, survives across frames, and is written back via EditorState.apply_render_output/2 after each pipeline run.

Ownership by stage

  • Chrome (chrome_prev_*): RenderPipeline — stage 5 fingerprint cache.
  • Content (search_decoration_cache, doc_highlight_cache): consumed by ContentHelpers.build_render_ctx/3; cleared when the fingerprint changes. block_render_cache is a within-frame cache reset after each window render.
  • Emit (emit_prev_*, last_title, last_window_bg): consumed by Frontend.Emit stage 7.
  • GUI chrome (last_gui_*): fingerprint caches inside Emit.GUI.

Summary

Functions

Creates a fresh Caches struct with first-frame defaults.

Types

t()

@type t() :: %MingaEditor.Renderer.Caches{
  block_render_cache: %{required(term()) => term()},
  chrome_prev_fingerprint: integer() | nil,
  chrome_prev_result: term(),
  doc_highlight_cache: term(),
  emit_prev_buf_versions: %{required(term()) => non_neg_integer()},
  emit_prev_content_rects: %{required(term()) => term()},
  emit_prev_gutter_ws: %{required(term()) => non_neg_integer()},
  emit_prev_viewport_tops: %{required(term()) => non_neg_integer()},
  last_gui_agent_chat_fp: integer() | :not_visible | nil,
  last_gui_agent_context_fp: term(),
  last_gui_agent_groups_fp: integer() | nil,
  last_gui_board_fp: integer() | :dismissed | nil,
  last_gui_bottom_panel_fp: integer() | nil,
  last_gui_breadcrumb_fp: integer() | nil,
  last_gui_change_summary_fp: integer() | :hidden | nil,
  last_gui_completion_fp: integer() | nil,
  last_gui_file_tree_fp: integer() | :no_tree | nil,
  last_gui_float_popup_fp: integer() | nil,
  last_gui_git_status_fp: integer() | :no_git | nil,
  last_gui_hover_popup_fp: integer() | nil,
  last_gui_minibuffer: term(),
  last_gui_picker_fp: integer() | :closed | nil,
  last_gui_signature_help_fp: integer() | nil,
  last_gui_tab_bar_fp: integer() | nil,
  last_gui_theme: String.t() | nil,
  last_gui_which_key_fp: integer() | nil,
  last_title: String.t() | nil,
  last_window_bg: non_neg_integer() | nil,
  search_decoration_cache: term()
}

Functions

new()

@spec new() :: t()

Creates a fresh Caches struct with first-frame defaults.