Glossary
The words these pages use, one line each. Where two words name the same thing, the entry says so.
The platform and its parts
- Platform: LoomWeaver itself, the code in the published packages. It contains no domain logic.
- Shell: the same thing, by the name of its package (
@loomweaver/shell): the chrome, the region engine, the plugin loader and the host services. - Host: the same thing, seen from a plugin: the side of the
ctxcontract that grants, brokers and renders. - Workbench: the same thing, seen by the user: the panes, tabs, rails, bars and palette on screen.
- Region: one area of the frame a distribution declares: a bar (top or bottom), a rail
(the icon strip beside a sidebar), a panel (a sidebar) or the content area. Each has a
dock:
top,bottom,left,rightorcenter. - Region id: the name a distribution gives a region, and the name a weaver targets. The scaffold
declares six:
top-bar,primary(the left rail),left-panel,right-panel,main(the content area) andstatus-bar. The guides use those; a distribution may choose its own. The table is in Shell anatomy. - Rail: the icon strip beside a panel. It holds command triggers and workspace entries and is curated by the user. The workbench labels it Activity bar in its own menus; the pages say rail.
- Sidebar: one side of the workbench: its panel, its rail if it has one, and the header above them. The layout declares the parts; the guides say sidebar for the whole.
- Content area: the centre region. It is URL-addressed: what it shows is what the address bar says.
- Tab strip: the row of tabs above a pane. A pop-out has none.
- Pane: one tab group. The content area is a tree of panes the user splits; a sidebar is a pane too, so work can move between them.
- Chrome: everything the workbench draws that is not a plugin’s own surface.
What runs on it
- Weaver: a LoomWeaver plugin. It declares a manifest and an
activate(ctx)and contributes surfaces, commands, items and settings throughctx. All domain UI and logic lives in weavers, including the product’s own. - Plugin: the same thing, in general words. “Weaver” is the name for a plugin built for LoomWeaver.
- Distribution: a product: a thin application that composes the shell with weavers, declares a
layout, grants capabilities and brands itself. Mostly one file, the composition root
(
app.config.ts). - Product: what a distribution ships. The two words are used for the same thing; “distribution” is the precise one.
- Testbed: the in-repository distribution that exercises every contract. The demo is a separate product built from the published packages.
The contract
ctx: the one uniform context a plugin receives on activation. Everything a plugin may do with the workbench goes through it.- Contribution: something a plugin registers through
ctx: a surface, a command, a menu item, a bar or rail item, a settings section. A distribution can remove one by naming it (omit). - Surface: the one author contract for anything the workbench shows. A surface declares what it can do (routable, docks, instanceable), and the host places it.
- View: a surface docked in a sidebar. The API keeps the word (
provideViews,VIEW_STATE), so the pages use it too when the dock is what matters; a view is a surface. - Chromeless: a routable surface that fills the content area with no tab strip, for a full-area
screen. Declared with
chromeless: true. - Sub-route: an address below a surface’s tab root, declared with
subRoutesor handed over wholesale withrest. It shows in the address bar and in browser history. - Routable surface: a surface with an address; visiting the address opens it as a tab in the content area.
- Container: a surface that holds an arrangement of child surfaces, a workspace in a tab.
- Following tab: a tab that tracks the current selection. A surface declares
follows, and the workbench keeps one tab pointing at whatever the address selects. - Palette: the command palette, opened with
mod+k. It lists every command the user may run and, in quick-open mode, every address the user may visit. - Command: one action with many triggers: a button, a shortcut, a palette entry, a menu entry, an agent tool or a call from a distribution’s own code.
- Capability: something a plugin declares it needs and the distribution grants. Default-deny: a declaration alone grants nothing.
- Rung: one of three levels of trust a plugin can run at: trusted and in-process, sandboxed in an iframe, or installed at runtime. Four ways in (trusted, frame plugin, operator-deployed, community-installed) map onto those three rungs; the last two are both the third.
- Frame plugin: a plugin the distribution loads at build time with
provideFramePluginsinto an isolated<iframe sandbox>; it receivesctxover RPC through the same default-deny broker. The second rung. - Switch: one entry of
ShellFeatures, set withprovideShellFeaturesand changed at runtime withFeatureSwitches. A switch removes the user’s control for a gesture, never the capability. - Handle: an opaque name for a pane the workbench hands out, stable while the pane exists.
How the workbench behaves
- Workspace: a named arrangement of panes, tabs and sidebar views that remembers itself. Exactly one is active. A distribution can declare workspaces; the user can save their own.
- Baseline: what a workspace returns to when it is reset.
- Retention: whether a hidden surface stays alive. A clean hidden surface is destroyed; unsaved work keeps it alive; a surface may ask to be kept regardless.
- Dirty: holding unsaved work. A surface says so by implementing
DirtySurface; the workbench asks the unsaved-work question before it destroys a dirty surface. - Unsaved-work question: the Save, Discard or Cancel dialog the workbench asks wherever an action would destroy work. It is asked by the action, so a distribution’s call asks it too.
- Address pane: the one pane whose content the address bar reflects. Focusing another pane moves the address; it never rebuilds the pane. Older text said URL pane or primary pane; the pages say address pane.
- Pop-out: a surface shown in a browser window of its own, a viewer onto the same state.
- Port: a frontend seam the product implements against its own backend. There are three: the settings store, the working-state store and the auth source. The platform ships no server.
- Translation loader: the fourth seam a product fills, a provider rather than a port: where the workbench and the weavers fetch their strings from.
- Session snapshot: what the auth source hands the workbench: who is signed in, with which roles and claims, as one value that replaces the last. The platform owns no sign-in; it reacts.
- Tenant: the customer a product’s backend keeps apart from every other. The platform has no notion of it; a tenant is a fact of the product’s own backend, keyed off the session.
- Access: the requirement a contribution declares about the signed-in user; the shell hides, disables or blocks it accordingly. Presentation, not security.
Tooling
- Scaffold: what
@loomweaver/cli,@loomweaver/devkitand@loomweaver/mcpgenerate; three doors to the same generators. - Composition report:
loomweaver.report()in the console of a development build: what this product composed and what lands nowhere. llms.txtandllms-full.txt: the curated map and the single-fetch brief for AI assistants.