{% 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