# `MingaEditor.RenderPipeline.Chrome`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/render_pipeline/chrome.ex#L1)

Chrome result struct and shared helpers.

The `%Chrome{}` struct is the output of any shell's chrome builder.
Shared helpers (`render_hover_popup/1`, `render_signature_help/1`)
are used by both TUI and GUI chrome builders.

The chrome dispatcher lives in each shell's chrome module
(e.g., `Shell.Traditional.Chrome`).

# `state`

```elixir
@type state() :: MingaEditor.State.t() | MingaEditor.RenderPipeline.Input.t()
```

Editor state or render pipeline input.

# `t`

```elixir
@type t() :: %MingaEditor.RenderPipeline.Chrome{
  agent_panel: [MingaEditor.DisplayList.draw()],
  file_tree: [MingaEditor.DisplayList.draw()],
  minibuffer: [MingaEditor.DisplayList.draw()],
  minibuffer_data: MingaEditor.MinibufferData.t() | nil,
  modeline_click_regions: [
    MingaEditor.Shell.Traditional.Modeline.click_region()
  ],
  overlays: [MingaEditor.DisplayList.Overlay.t()],
  regions: [binary()],
  separators: [MingaEditor.DisplayList.draw()],
  status_bar_data: MingaEditor.StatusBar.Data.t() | nil,
  status_bar_draws: [MingaEditor.DisplayList.draw()],
  tab_bar: [MingaEditor.DisplayList.draw()],
  tab_bar_click_regions: [
    MingaEditor.Shell.Traditional.TabBarRenderer.click_region()
  ]
}
```

# `render_hover_popup`

```elixir
@spec render_hover_popup(state()) :: [MingaEditor.DisplayList.draw()]
```

Renders the hover popup overlay draws.

# `render_signature_help`

```elixir
@spec render_signature_help(state()) :: [MingaEditor.DisplayList.draw()]
```

Renders signature help overlay draws.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
