View pack · ships as a module
The chat surface
The thread view, the composer, the side panel and every message bubble — the renderer behind
ThreadChatControl.What ships
ThreadChatView— the composer, the streaming conversation, agent and model pickers, attachments, the mic.- The thread side panel — a conversation that survives navigation, keyed on the content path alone.
- The message bubbles — delegation, embedded layout areas, citations, token accounting.
Why it is its own package
A view pack is a module, and these views were the last thing holding the AI engine inside the portal image.
MeshWeaver.Blazor.Portalships in the image, and it compiled against the engine only for these views.- So
MeshWeaver.AI.dllsat in/app, and the module lander had to refuse the registry-served engine bundle as a same-identity duplicate. - Moving the views moved the reference with them. The shell renders chat through the framework's own control→view seam and needs no AI type at all.