Selects the view engine the plugin registers under CAPABILITIES.VIEW.
'hono-jsx'(default): components are JSX functions authored with@hono/hono/jsx; the application's manifest declares thejsx/jsxImportSourcecompiler options.'hono-html': components are functions returning anhtmltagged template result; needs nojsxImportSource, so it works in a plain.tsfile.'custom': requiresViewPluginCustom.view; the supplied engine is registered verbatim — this is how a by-name engine (Handlebars, Eta) participates: it adapts each compiled template to a(props) => stringfunction, which is already aComponent<P>.
There is deliberately no plugin-level layout option: such an option
would wrap EVERY render — including the fragments and partial responses
IResponse.html already serves to HTMX-style callers, where a full
document is the wrong answer — and a page wanting no layout would then
need an opt-out. Compose explicitly instead: wrap the child component in
the layout at the call site.