Support layer
Identity and atmosphere
Identity, theme, surface, motif, and procedural visual primitives rendered together.
App launcher
Shared foundations, reusable interface patterns, and focused route references.
Language, documentation, learning, package, specification, playground, and community routes.
Shared foundations and reusable interface components, from visual rules to exported specimens.
Interaction behaviour, UI states, and tool workbench structures.
Rendered catalogue · 38 public exports
Every specimen below imports the public Astro export it names. The canvases show real props, slots, states, and compound boundaries; the inventory and contracts continue below.
Support layer

Document layer
Document shell
Global identity, section context, local navigation, and page intent remain separate and composable.
Header, context, and sidebar each answer a different wayfinding question.
The content area starts with purpose, actions, and compact metadata.
Tool layer
Workbench layer
Environment layer
(defn ready? [session]
(= :ready (:status session)))
(work/submit {:op :evaluate
:target :wasm}) Runtime layer
session-01J9…F6ATree, fiber, bytecode, native, and Wasm consume the same runtime value boundary.
08:41:12filesystem attached08:41:13evaluation completeMerged foundation layer
Public symbol primitives
Articles, feeds, clippings and contributor identity.
Artifact projection
Iconography and delivery primitives are inspectable beside the earlier document, workbench, runtime and compatibility-symbol exports.
Semantic layer
action-run Readystate-ready Unavailablestate-unavailable Filesystemcapability-filesystem Playgroundproduct-playground Exact revisionevidence-revision revision: ce4139f1e7a7b0fd Shared library · Components
For each component, this catalogue records its semantic role, export path, owned states, accessibility contract, responsive behaviour, and the point where application-specific composition begins.
01 · Public inventory
The visible ledger is backed by a dedicated inventory module and tested directly against package exports. A component is not considered public merely because a class happens to exist in a reference.
Theme, identity, icon, motif, backdrop, and generic surface helpers used around the v2 layers.
Direct light/dark theme control.
./astro/ThemeToggle.astro Protected block-H identity mark with one signal square.
./astro/HaraMark.astro Semantic icon wrapper for the shared Hara icon inventory.
./astro/HaraIcon.astro Compact named glyph rendered from shared Hara vector geometry.
./astro/HaraGlyph.astro Edge, Aperture, or Rack technical atmosphere.
./astro/Motif.astro Full-region material background treatment.
./astro/Backdrop.astro Generic v1-compatible material surface helper.
./astro/Surface.astro The document application frame and its global, contextual, rail, page-heading, and illustration regions.
Composes header, context navigation, sidebar, main content, and optional inspector.
./astro/v2/Shell.astro Application header with identity, primary navigation, and action slots.
./astro/v2/Header.astro Application-local route or task navigation below the global header.
./astro/v2/ContextNav.astro Section navigation and supporting facts for reading or registry surfaces.
./astro/v2/Sidebar.astro Large page title, description, actions, metadata, and optional illustration.
./astro/v2/PageHeader.astro Original Hara technical illustration for dedicated art fields.
./astro/v2/FleetField.astro Progressively enhances static imagery with real WebGL material fields.
./astro/v2/ShaderField.astro Dense but calm controls for editor transport, mode, numeric, selection, tab, rail, and status surfaces.
Groups related commands along one horizontal or vertical edge.
./astro/v2/tool/Toolbar.astro Separates command families inside a toolbar.
./astro/v2/tool/ToolGroup.astro Immediate command or transport action.
./astro/v2/tool/ToolButton.astro Persistent binary mode or visibility state.
./astro/v2/tool/ToolToggle.astro Compact selection among known tool modes or resources.
./astro/v2/tool/ToolSelect.astro Exact numeric value with unit and dense inline option.
./astro/v2/tool/ToolNumberField.astro Document, panel, or mode tabs with explicit selected state.
./astro/v2/tool/TabStrip.astro Compact mode or tool navigation at a workbench edge.
./astro/v2/tool/IconRail.astro Low-priority runtime, selection, revision, and connection telemetry.
./astro/v2/tool/StatusBar.astro Viewport-first docking, inspection, floating, overlay, and panel-heading primitives.
Coordinates toolbar, left/right/bottom docks, viewport, overlays, and status.
./astro/v2/tool/WorkbenchShell.astro Left, right, bottom, or floating secondary work region.
./astro/v2/tool/DockPanel.astro Temporary command, asset, or insertion palette over the viewport.
./astro/v2/tool/FloatingPalette.astro Non-blocking viewport telemetry or interactive mini-control.
./astro/v2/tool/ViewportOverlay.astro Expandable property family inside an inspector.
./astro/v2/tool/InspectorSection.astro Panel identity, eyebrow, metadata, and action row.
./astro/v2/tool/PanelHeader.astro Reusable live-environment sections for navigation, front matter, resources, capabilities, and composed editor sessions.
Moves among stable environment sections such as Code, Files, Canvas, and Runtime.
./astro/v2/tool/SectionNavigator.astro Section container with identity, state, and content slots.
./astro/v2/tool/EnvironmentSection.astro Displays editable, derived, and controlled environment metadata.
./astro/v2/tool/FrontmatterGrid.astro Files, sessions, assets, and runtime resources with current-state semantics.
./astro/v2/tool/ResourceList.astro Shows only available Sessions, Files, Canvas, 3D, Runtime, and Observation capabilities.
./astro/v2/tool/CapabilityPane.astro Composes navigation, editor/viewport, optional capability pane, and observations.
./astro/v2/tool/EnvironmentWorkbench.astro Compact and application-sized runtime state, connection, backend, and lifecycle components.
Text-supported runtime or connection state marker.
./astro/v2/tool/StatusLamp.astro Capability-aware interpreter or HBC backend selection.
./astro/v2/tool/RuntimeSwitch.astro Named provider or runtime connection with state and action.
./astro/v2/tool/ConnectionRow.astro Documentation-sized runtime identity, transport, output, and detail surface.
./astro/v2/tool/CompactRuntimeShell.astro Application-sized runtime lifecycle and capability envelope.
./astro/v2/tool/RuntimeAppShell.astro 03 · Controls and forms
Controls use semantic HTML first. Variants change emphasis or consequence, not meaning. Loading, selected, disabled, success, warning, and danger states retain text and non-colour cues.
.hara-v2-button · .hara-v2-icon-button.hara-v2-form-grid · .hara-v2-form-field.hara-v2-tabs · .hara-v2-tab.hara-v2-panel · .hara-v2-badge · .hara-v2-stat04 · Content and data
Prose, code, tables, matrices, feeds, and profiles use different density and semantics without inventing parallel typography, colour, or surface contracts.
content.cssRuntime model
Interpreter and HBC execution share session, generation, source-revision fencing, cancellation, and disposal semantics while retaining backend-specific observations.
Claims expose the session, generation, source revision, and backend that produced them.
(defn publish-ready? [release]
(and (:verified release)
(seq (:artifacts release)))).hara-v2-table · .hara-v2-matrix| Runtime | Status | Median | Revision |
|---|---|---|---|
| HBC Wasm | selected | 4.8 ms | 9d7b…e21 |
| JVM | verified | 6.1 ms | af62…77e |
| Interpreter | baseline | 13.2 ms | 9d7b…e21 |
.hara-v2-feed · .hara-v2-storyA release note with migration guidance, exact implementation revision, and runnable examples.
A newcomer shares a runnable sketch and asks how browser sessions fit together.
.hara-v2-profile-list · .hara-v2-profileMaintains std.work and work.executor · 137 merged contributions · 4 evidence-linked badges.
Maintains hara-wasm-core · 28 accepted reviews · owner of @jo/release-relay.
05 · Tool and workbench
The tool layer is additive to v2. It introduces editor-specific surface and control tokens, but still consumes the Hara identity, document themes, grid, state, focus, and responsive contracts.
Toolbar · WorkbenchShell · DockPanel · InspectorSection · StatusBarready · result registered · sequence 108
06 · Compound patterns
Compound patterns compose existing primitives without creating a product-agnostic mega-component. The shared contract owns geometry and state; each application owns business rules and realistic content.
Packages| std.work | verified | 6 runtimes |
| work.executor | active | 3 runtimes |
DocsGuide · 12 min
Describe replayable work, isolate checkpointed effects, and expose capabilities explicitly.
This guide targets std.work 0.8.
Playgroundmain.hal(defn publish-ready? [release]
(and (:verified release)
(seq (:artifacts release))))World / PackagesPackage maintainer · helpful reviewer · accountable bot owner
WorldCanonical release note clustered with two external discussions.
Specs / Publish07 · States and accessibility
Colour and motion reinforce state; they do not carry it alone. Component notes expose keyboard behavior, focus return, touch dimensions, responsive yielding, and ownership of unavailable capabilities.
Available, not yet active.
Pressed semantics plus marker and signal.
Busy text remains under reduced motion.
Outcome and receipt are named.
Recoverable attention state.
Destructive or failed state.
Capability absence is explicit.
Visible ring with offset.
Links navigate, buttons mutate, tabs expose tab semantics, tables remain tables, and shell regions use landmarks.
Menus, palettes, inspectors, and dialogs close with Escape and return keyboard users to a predictable location.
Phone controls retain at least 34px height; tool density is reserved for repeated desktop manipulation.
Loading text, current markers, status labels, and receipts remain visible without animation.
08 · CSS and ownership
Major class families remain visible for framework-free consumers. Astro exports wrap recurring structure where semantics and slots are stable; product-only compositions do not automatically expand the shared API.
src/v2/shell.css.hara-v2-shell.hara-v2-header.hara-v2-context-nav.hara-v2-sidebar.hara-v2-inspector.hara-v2-mainsrc/v2/components.css.hara-v2-page-header.hara-v2-button.hara-v2-icon-button.hara-v2-command-bar.hara-v2-field.hara-v2-select.hara-v2-panel.hara-v2-badge.hara-v2-tabs.hara-v2-table.hara-v2-matrixsrc/v2/content.css.hara-v2-code.hara-v2-prose.hara-v2-callout.hara-v2-outline.hara-v2-feed.hara-v2-story.hara-v2-profile-list.hara-v2-form-gridsrc/v2/tool-controls.css.hara-tool-toolbar.hara-tool-group.hara-tool-button.hara-tool-toggle.hara-tool-field.hara-tool-select.hara-tool-number-input.hara-tool-tab-strip.hara-tool-icon-rail.hara-tool-status-barsrc/v2/tool-shell.css.hara-tool-workbench.hara-tool-dock-panel.hara-tool-panel-header.hara-tool-inspector-section.hara-tool-floating-palette.hara-tool-viewport-overlaysrc/v2/tool-environment.css · src/v2/tool-runtime.css.hara-tool-environment.hara-tool-capability-pane.hara-tool-runtime-shell.hara-tool-status-lamp.hara-tool-runtime-switch.hara-tool-connection-rowAdoption rule
Do not copy catalogue CSS into downstream sites. Import v2.css or v2-tool.css, use the public Astro export when its structure matches, and keep application-specific workflow logic local.