Carries inert site context into one renderer call.
It supplies the already validated navigation tree, search contract, logical asset URLs, locale, current route, and source cohort identity. It deliberately has no request, user, session, socket, authorization callback, or application process. Hosted adapters keep those concerns outside the portable renderer boundary and pass only this stable view to shared components.
artifact_assets contains only selected artifact bytes, indexed by logical
name as JSON records with media_type and original base64. Renderers can
check their format and raw digest without reading files or fetching URLs.
The exporter bounds inputs before this encoding; renderer chrome retains its
existing URL map in assets.
Summary
Types
@type t() :: %DocShell.Presentation.Renderer.Context{ artifact_assets: %{ required(String.t()) => %{required(String.t()) => String.t()} }, assets: %{required(String.t()) => String.t()}, base_path: String.t(), canonical_origin: String.t() | nil, cohort_digest: String.t(), current_route: String.t(), locale: String.t(), navigation: [DocShell.Presentation.NavigationItem.t()], presentation: DocShell.Presentation.Settings.t(), search: map(), site_title: String.t() }
Renderer context without session, policy or executable callbacks.