Shell UI concept

Purpose

A shell owns durable page slots such as navigation, body, and footer. It frames content but does not decide product policy.

Design References

Boundary

Use shells for app chrome. Choose the shell outside the lower-level content template: local Go WebAssembly apps choose it in their app host setup, and tests can mount content into a shell fixture. The template should describe content and Go value references, not deployment shell selection.

Template

package notesui

var notesContent = (
  <main slot="body">
    <Panel title={title}>
      <Text value={summary}></Text>
    </Panel>
  </main>
)

The app host or test harness mounts this template into the shell body slot.

Fixture Values

title := "Notes"
summary := "Review queue"