{% from "_macros.html" import icon %}
{#
The canvas panel: files, open beside the conversation.
Built the way the terminal panel is -- a child of .shell, `hidden` until a
toggle removes it, its own drag handle, the shared panel head. Filled the way
the *inspector* is, though: `hx-trigger="intersect once"`, because a hidden
element never intersects, so a panel nobody opens costs one element and no
round trip to somebody's machine. There is nothing heavy to construct here,
which is the whole reason it does not need the terminal's lazy-build dance.
Everything shown inside came off somebody else's disk, or out of a model. It
is rendered through pygments (which escapes), through render_markdown (the one
path allowed to emit HTML), or into a