# `MishkaCmsBuilderWeb.Routes`
[🔗](https://github.com/mishka-group/mishka_cms_builder/blob/v0.0.1-alpha.2/lib/mishka_cms_builder_web/routes.ex#L5)

The visual editor's routes, mounted like any extension's: the host lists the editor's web module
in `config :mishka_cms_core, :extensions`, and `MishkaCmsCore.ExtensionRouter.extension_routes/1`
finds this module beside it.

The editor declares who may open each page in `MishkaCmsBuilderWeb.SidebarMenu`;
without that declaration `MishkaCmsCore.Sidebar.PageGuard` refuses the page.

# `routes`

The visual page builder, in its own `live_session`.

`:section` is page | layout | error-page | component; the canvas is a second LiveView the chrome
embeds in an iframe, addressed by its session token.

These are `:admin_standalone` rather than `:admin` because the builder is the one admin page whose
`<head>` is not the admin's usual head — it carries the in-browser Tailwind JIT and the shim that
nonces what that JIT and CodeMirror create. The root layout builds `<head>` on a dead render only,
so a live navigation into the builder would hand it the previous page's head. The separate session
is what makes arriving here a fresh document; navigation BETWEEN these routes stays live and fast.

---

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