layout
Predefined UI layouts for tinywasm modules
Docs
Permanent documentation only — plans and stages live outside the README and are ephemeral.
Packages
The platform shell, providing the header, navigation rail, and module hosting.
NewUIModule(id, label, iconID, view): helper to create modules.
CanView: function field to gate module access.
Platform.Brand (BrandName()/BrandMark()): optional leading header slot; empty mark falls back to the shell's default glyph.
crudview
A CRUD controller for rightpanel (form left, list right) that replicates the Pa100T experience. Renders no frame of its own — it builds a rightpanel.RightPanel, fills its slots, and owns only the state machine.
- Preconfigure, don't assemble: The composition root should use the high-level constructor
crudview.New(crudview.Config) to wire the entire form↔list↔transport cycle once per module.
- Presenter-Based: Takes a
view.Presenter that handles list, selection, saving, and deleting.
view, err := crudview.New(crudview.Config{
ParentID: "my-module",
Presenter: myPresenter,
})