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 byContentHelpers.build_render_ctx/3; cleared when the fingerprint changes.block_render_cacheis a within-frame cache reset after each window render. - Emit (
emit_prev_*,last_title,last_window_bg): consumed byFrontend.Emitstage 7. - GUI chrome (
last_gui_*): fingerprint caches insideEmit.GUI.
Summary
Types
@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
@spec new() :: t()
Creates a fresh Caches struct with first-frame defaults.