# `MingaEditor.Shell.Traditional`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/shell/traditional.ex#L1)

Traditional tab-based editor shell.

The default presentation shell: tab bar, file tree sidebar, split
windows, modeline, picker, agent panel, and which-key popup. This is
the UX that ships today.

Presentation fields live in `MingaEditor.Shell.Traditional.State`. The
Editor GenServer stores this as `state.shell_state` and dispatches
presentation events through the `MingaEditor.Shell` behaviour callbacks.

## Migration status

Fields are being migrated from `MingaEditor.State` into
`Shell.Traditional.State` in batches. See `BIG_REFACTOR_PLAN.md`
Phase F for the full plan.

Batch 1 (current): `nav_flash`, `hover_popup`, `dashboard`, `status_msg`

## Rendering architecture

Layout, chrome, and rendering are owned by modules under
`Shell.Traditional.*`: `Layout`, `Chrome`, and `Renderer`. These
currently delegate to `Editor.*` modules; the implementations will
move here as the shell independence refactor progresses.

---

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