///|
pub fn metal_renderer_descriptor(
  capabilities : Array[@render.RendererBackendFeatureCapability],
) -> @render.RendererDescriptor {
  @render.RendererDescriptor::new(
    backend=NativeDirectGpu,
    family=DirectGpu,
    presentation=HostGpuSurface,
    supported_targets=[Native],
    capabilities~,
    // The phrases the gates grep ("No Skia", "no wgpu") are load-bearing:
    // `metal_renderer_wbtest.mbt` and the readiness docs read this string, so the
    // stage it states has to be the stage that is actually true today.
    description="Direct Metal renderer drawing on the host CAMetalLayer. No Skia and no wgpu are linked: the only graphics dependency is Apple's Metal framework (ADR 0044). Every `DrawCommand` variant has a drawing branch, the 17-row capability table is probed against the device row by row, and a first frame is presented in a real window by `scripts/macos-metal-presentation-smoke.sh`. Still experimental (ADR 0045): the windowed smoke reads the presented surface back and requires ink on it, which is coverage rather than in-window pixel fidelity, and a frame repaints the whole surface rather than a damage rect.",
  )
}