morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
 Cmorph::app::App< Title, Menu, Screens >The app-shell descriptor: a title, an ordered menu, and the screens it routes to
 Cmorph::app::AppTraits< A >Traits specialisation mapping an App type to its string type-id
 Cmorph::app::FormScreen< Id, Action >A screen backed by one registered action's form
 Cmorph::app::MenuEntry< Label, ScreenId >One app-menu entry: a label and the screen-id it routes to
 Cmorph::app::WizardScreen< Id, Wizard >A screen backed by a registered morph::flows::Wizard
 Cmorph::async::CallbackScopeOwned lifetime-and-stop gate for asynchronous callbacks — a data member, not a base class
 Cmorph::async::CallbackTokenWeak, copyable observer of a CallbackScope — the half a callback captures
 Cmorph::async::Completion< T >Move-only handle representing the eventual result of an asynchronous operation
 Cmorph::async::Completion< T >::PromiseProducer-side handle paired with a Completion<T> by makeSettleable()
 Cmorph::async::DelayAwaiterThe awaiter delay() returns: suspends until a TimeoutScheduler entry fires, or until a stop withdraws it
 Cmorph::backend::ConnectionFactsWhat a RemoteServer knows about one connection that a service, not core, decides: handed to IEnvelopeService::handle with each envelope
 Cmorph::backend::ConnectionWriterA transport's outbound side of one connection, for what the server sends unasked: events
 Cmorph::backend::detail::IBackendAbstract interface for execution backends (local, remote, …)
 Cmorph::backend::LocalBackendIn-process backend that executes model actions on a thread pool strand
 Cmorph::backend::SimulatedRemoteBackendIBackend adapter that routes all calls through a RemoteServer as wire Envelope messages
 Cmorph::backend::SynchronousBackendAdapterMakes a blocking backend reach its caller without blocking it — and without touching the backend
 Cmorph::net::SocketBackendIBackend implementation that communicates with a RemoteServer over a raw-socket RFC 6455 WebSocket connection — no Qt, no GUI event loop required
 Cmorph::qt::QtWebSocketBackendIBackend implementation that communicates with a RemoteServer over WebSocket
 Cmorph::backend::HealthStatusSnapshot of a RemoteServer's current health
 Cmorph::backend::IEnvelopeServiceEnvelope kinds a RemoteServer answers through an extension, such as the UI service's ui-* kinds
 Cmorph::ui::UiServiceThe UI service: answers ui-hello, ui-catalog and ui-fetch from one ServedBundle, and ui-evaluate through the server's ActionDispatcher, as an envelope service of a RemoteServer (ServerConfig::services)
 Cmorph::backend::IEnvelopeTransportWhat a wire transport offers beside IBackend: one request, one reply, matched by callId
 Cmorph::net::SocketBackendIBackend implementation that communicates with a RemoteServer over a raw-socket RFC 6455 WebSocket connection — no Qt, no GUI event loop required
 Cmorph::qt::QtWebSocketBackendIBackend implementation that communicates with a RemoteServer over WebSocket
 Cmorph::backend::LimitPolicyOpt-in, connection-agnostic resource limits enforced by RemoteServer
 Cmorph::backend::RemoteServerServer-side message handler that owns model instances and dispatches actions
 Cmorph::backend::ServerConfigEverything about a RemoteServer that is configured rather than learned: given once, at construction, and never changed
 Cmorph::bridge::ActionExecuteRegistryType-erased, JSON-in/JSON-out execute path for actions whose concrete C++ type is only known by its registered string id at the call site (e.g. a schema-driven GUI that reads action names out of a JSON Schema at runtime)
 Cmorph::bridge::AllowSharedBridgeHandler sharing policy: joins the shared instance directory
 Cmorph::bridge::BridgeCentral dispatcher that routes typed actions to an IBackend
 Cmorph::bridge::BridgeHandler< Model, Sharing >RAII wrapper that binds a single model type to a Bridge
 Cmorph::bridge::NoSharingBridgeHandler sharing policy: private, one instance per handler
 Cmorph::bridge::RawHandlerA handler for a model known only by its registered type id
 Cmorph::client::ArgsWhat the generic client reads from its command line
 Cmorph::client::LocalAppAn application the client links and runs in-process
 Cmorph::client::LocalSetupWhat a local application is set up with
 Cmorph::client::RemoteTransportA connection to a server: the bridge's backend and its request verb, which are one object
 Cmorph::client::ShellOptionsWhat a client shell reports, and how it starts
 Cmorph::client::SignedInWhat a sign-in installs: the principal, and the session token its server needs (empty for none)
 Cmorph::client::Source::TransportWhat a concrete source opens with: the bridge's backend and the exchange the UI service is reached by
 Cmorph::core::FileIoOpsThe raw file-I/O primitives morph::journal::FileActionLog and morph::offline::FileOfflineQueue both call, as an injectable strategy. Every member defaults to the real syscall/stdlib call it stands in for, so a default-constructed FileIoOps is byte-for-byte what both classes called directly before this seam existed — no behavior change for a normal caller
 Cmorph::detail::FixedString< N >A structural, NTTP-capable compile-time string
 Cmorph::effects::ActionRecordA record an action's result holds, and where
 Cmorph::effects::ChangesWhat one successful execute changed
 Cmorph::effects::changes< R >Effect: the action may create, remove or change rows of record R, which its result need not carry
 Cmorph::effects::changesInstanceEffect: the state of the instance the action ran on changed
 Cmorph::effects::detail::DeclaredEffectOne effect as a registrar records it: the record still a type, not yet a name
 Cmorph::effects::detail::EffectOf< E >Maps an effect tag type to its DeclaredEffect
 Cmorph::effects::detail::ResolvedThe matched and validated registries: what every read is answered from
 Cmorph::effects::EffectOne effect of an action, with its record resolved to a wire name
 Cmorph::effects::InstanceChangeA change to the state of one model instance
 Cmorph::effects::noneEffect: the action changes nothing, declared explicitly
 Cmorph::effects::RecordChangeA change to the rows of one record type
 Cmorph::effects::updates< R >Effect: the action edits existing rows of record R, and its result carries them
 Cmorph::exec::IExecutorAbstract executor interface
 Cmorph::exec::MainThreadExecutorSingle-thread executor intended for use on the calling (main) thread
 Cmorph::exec::OwnerStrandOne strand over a morph executor, usable wherever a morph executor is: the owner a component's state belongs to
 Cmorph::exec::ThreadPoolExecutorMulti-threaded executor backed by a fixed-size thread pool
 Cmorph::qt::QtExecutorIExecutor implementation that posts tasks to a Qt event loop
 Cmorph::testing::StepExecutorIExecutor that queues every posted task and runs them only when the test explicitly asks, one at a time
 Cmorph::tui::LoopExecutorRuns every posted task in a later turn of one core::net::EventLoop, with this executor current
 Cmorph::exec::IoLoopOwns a core::net::PlatformLoop and, for IoLoopDriver::OwnThread natively, the one thread that runs it
 Cmorph::exec::IoLoop::WeakA non-owning handle that posts to the loop only while it exists
 Cmorph::flows::FlowSession< Model, Steps >Sequences an ordered list of registered actions (Steps...) as one multi-step flow sharing captured values across steps
 Cmorph::flows::Wizard< Title, Steps >An ordered sequence of WizardSteps sharing one flow
 Cmorph::flows::WizardStep< Action, Title, Binds >One step of a Wizard: a registered action, a display title, and zero or more Bind prefill declarations
 Cmorph::flows::WizardTraits< W >Traits specialisation mapping a Wizard type to its string type-id
 Cmorph::forms::And< A, Conds >Compound condition: all of Conds... hold. Nests to any depth — each Cond may itself be a leaf (Engaged, Equals, a comparison, …) or another And/Or/Not. Usable both as a nested when clause and directly as a top-level formRules entry (it declares isPresentation and test() exactly like every other validation rule), which is what lets a single rule carry a compound condition tree instead of factoring the composition into multiple single-condition rules
 Cmorph::forms::AtLeastOneOf< A, Vs >Rule: at least one of the listed fields is engaged
 Cmorph::forms::Bind< Field, Path >One field -> "<ActionTypeId>.<field>" prefill binding declared on a wizard step or an unordered section
 Cmorph::forms::Choice< T, OptionsAction, ValueField, LabelField, DependsOn >An optionally-empty value selected from options served by another action
 Cmorph::forms::ChoiceOptionOne selectable value of an Enum or a Choice
 Cmorph::forms::ChoiceSpecWhere a Choice's options come from (x-optionsAction and its companions)
 Cmorph::forms::CollectionActionOne v-rowAction or v-actions entry
 Cmorph::forms::CollectionChromeReplacements for the parts of a collection view a host draws from its own UI kit. Each one left empty keeps the built-in part
 Cmorph::forms::CollectionColumnOne v-columns entry
 Cmorph::forms::CollectionModelThe immutable model of a v-* view document
 Cmorph::forms::CollectionRowOne listed row
 Cmorph::forms::CollectionSessionThe reactive state of one collection: the list, the table source, the actions, the confirm step and the row editor. A controller in the sense of docs/spec/reactive/control.md; it draws nothing
 Cmorph::forms::CollectionViewOptionsHow collectionView draws a collection and labels its chrome
 Cmorph::forms::ConstraintViolationOne violation: which field, and which declared key it broke
 Cmorph::forms::Engaged< V, A >Condition: field is engaged (has a value). One of the closed condition kinds a requiredWhen / visibleWhen / readonlyWhen rule's when clause accepts
 Cmorph::forms::Equals< V, A, L >Condition: field's engaged value equals literal. An unengaged field is not vacuously satisfied here (unlike the comparison kinds) — a field with no value cannot equal anything, so equals returns false while the field is unengaged
 Cmorph::forms::ExactlyOneOf< A, Vs >Rule: exactly one of the listed fields is engaged
 Cmorph::forms::FieldConstraintThe per-instance constraint declared for one field of an action
 Cmorph::forms::FieldErrorWhy a draft does not encode: a stable code and the message shown beside the field
 Cmorph::forms::FieldGroupOne named group of fields in an action's formLayout
 Cmorph::forms::FieldGroupSpecOne x-layout group, or the implicit group of the fields no group names
 Cmorph::forms::FieldMetaPer-field presentation overrides and scalar bounds: label, help, placeholder, read-only, hidden, minimum/maximum/multipleOf, and a plain member's display unit/decimals (docs/spec/forms/forms.md, "Field metadata")
 Cmorph::forms::FieldOverlayWhat a document (or an application) changes about one top-level field before the session is built: a form node's fields entry (spec 6 §10). An unset member keeps the schema's
 Cmorph::forms::FieldSpanA field's declared column span in a grid renderer
 Cmorph::forms::FieldSpecEverything the engine knows about one field, from its schema property
 Cmorph::forms::FieldStateThe reactive state of one field: its draft and everything derived from it
 Cmorph::forms::FieldViewA field's spec and state, handed to an override: what it shows (the value, the draft, the errors, the options) and what it writes (the draft). Copyable; valid while the session lives
 Cmorph::forms::Form< A, M, S >A form over action A: a FormSession built from schemaJson<A>(), submitting through a BridgeHandler, with typed set<>, value() and lastResult()
 Cmorph::forms::FormModelThe immutable runtime model of one action's form
 Cmorph::forms::FormSessionThe reactive state of one form: a controller over a FormModel
 Cmorph::forms::FormSessionOptionsHow a session reads numbers, dates and text
 Cmorph::forms::FormViewOptionsHow formView lays a form out and labels its chrome
 Cmorph::forms::Greater< V, A >Rule/condition: *lhs > *rhs when both operands are engaged; vacuously satisfied when either is unengaged (a form still being filled in must not fail this comparison prematurely — see forms.md). Compares the operands' engaged values (operator*()) directly — e.g. the underlying math::Rational for Quantity, or DateTime for Timestamp — never the field type's own (possibly throwing, for Quantity) operator<=>
 Cmorph::forms::GreaterOrEqual< V, A >Rule/condition: *lhs >= *rhs when both operands are engaged; vacuously satisfied when either is unengaged. See Greater for the exact-value / vacuous-operand rationale
 Cmorph::forms::InstanceConstraintsA set of per-field constraints sourced from one instance (a database row, a tenant record, a catalogue version) — the single declaration that both decorates a served schema and checks a submitted value
 Cmorph::forms::Less< V, A >Rule/condition: *lhs < *rhs when both operands are engaged; vacuously satisfied when either is unengaged. See Greater for the exact-value / vacuous-operand rationale
 Cmorph::forms::LessOrEqual< V, A >Rule/condition: *lhs <= *rhs when both operands are engaged; vacuously satisfied when either is unengaged. See Greater for the exact-value / vacuous-operand rationale
 Cmorph::forms::MultilineA string field edited as a multi-line text area
 Cmorph::forms::MutuallyExclusive< A, Vs >Rule: at most one of the listed fields is engaged
 Cmorph::forms::Not< A, Cond >Compound condition: the nested condition does not hold. Nests to any depth, and is usable directly as a top-level formRules entry, exactly like And/Or
 Cmorph::forms::NotEngaged< V, A >Condition: field is not engaged. The complement of engaged
 Cmorph::forms::Or< A, Conds >Compound condition: at least one of Conds... holds. Nests to any depth, and is usable directly as a top-level formRules entry, exactly like And
 Cmorph::forms::OverridesReplacement controls, resolved per field in the order field path, widget hint, unit, kind, else the built-in control
 Cmorph::forms::PendingConfirmA confirm-guarded action waiting for an answer
 Cmorph::forms::Ranged< Min, Max, Step >A bounded numeric field edited as a slider
 Cmorph::forms::ReadonlyWhen< V, A, Cond >Presentation rule: the listed field is editable only while Cond does not hold (the field is read-only while when holds). Never gates allRulesSatisfied, exactly like VisibleWhen
 Cmorph::forms::RequiredWhen< V, A, Cond >Rule: field must be engaged whenever Cond holds; vacuously satisfied (not required) while the condition does not hold
 Cmorph::forms::RowStateOne collection row: the element's member fields
 Cmorph::forms::RuleExprOne x-rules entry, or a condition inside one, and its translation into expr/1
 Cmorph::forms::RuleList< Rules >Composed list of an action's declared cross-field rules — the value of A::formRules. Built by ruleList(...); never constructed directly
 Cmorph::forms::RuleOperandWhat a rule reads of one field
 Cmorph::forms::SchemaErrorWhy a schema does not read as a form: where, and why
 Cmorph::forms::Section< Action, Title, Binds >One section of a SectionGroup: a registered action, a display title, and zero or more Bind prefill declarations
 Cmorph::forms::SectionGroup< Title, Sections >An unordered set of Sections sharing one screen
 Cmorph::forms::SectionGroupTraits< G >Traits specialisation mapping a SectionGroup type to its string type-id
 Cmorph::forms::SectionSet< Model, Sections >Drives N independently editable action drafts on one screen
 Cmorph::forms::UnitOptionOne unit a Quantity can be entered in; the first of a field's units is canonical
 Cmorph::forms::ValueContextThe session options a value conversion reads
 Cmorph::forms::VisibleWhen< V, A, Cond >Presentation rule: the listed field is shown only while Cond holds. Never gates allRulesSatisfied — while hidden, the field's current draft value still travels in the payload (hiding never clears it), exactly like a static x-hidden field
 Cmorph::forms::WireValueOne field's encoded value
 Cmorph::forms::WizardChromeReplacements for the parts of a wizard view a host draws from its own UI kit. Each one left empty keeps the built-in part
 Cmorph::forms::WizardModelThe immutable model of a w-* wizard document
 Cmorph::forms::WizardSessionThe reactive state of one wizard: its steps' sessions, the position, and what each step resolved
 Cmorph::forms::WizardStepSpecOne w-steps entry
 Cmorph::forms::WizardViewOptionsHow wizardView draws a wizard and labels its chrome
 Cmorph::journal::detail::EscapingWriteOptsWrite options that escape ASCII control bytes as \\uXXXX sequences
 Cmorph::journal::detail::ScopedReplayFlagRAII helper that sets the thread-local replay flag for its scope, restoring the previous value on destruction
 Cmorph::journal::IActionLogInterface for durable storage of executed-action entries
 Cmorph::journal::FileActionLogAppend-only, newline-delimited-JSON IActionLog backed by a local file
 Cmorph::journal::InMemoryActionLogIn-memory implementation of IActionLog, owned by one executor
 Cmorph::journal::SessionLogFull-fidelity, in-memory log of one model instance's executed actions
 Cmorph::journal::LogEntryOne recorded execution of an action against a model instance
 Cmorph::journal::OutboxRelayMoves committed-but-unrelayed rows from a model's own outbox table to a durable IActionLog, then marks them relayed in the model's own store
 Cmorph::journal::OutboxRelayResultOutcome of one OutboxRelay::relay() call
 Cmorph::journal::PayloadMigrationRegistryRegistry of payload migrations, keyed by (actionType, fromSchema)
 Cmorph::journal::ScopedActionLogRAII helper that installs a default action log for its lifetime and restores the previous one on destruction
 Cmorph::log::ScopedLoggerOverrideRAII helper that swaps the global logger and level for the lifetime of the object, and restores them in the destructor
 Cmorph::math::DecimalPlacesStrong type for a decimal-precision count
 Cmorph::math::DenominatorStrong type for a Rational denominator
 Cmorph::math::NumeratorStrong type for a Rational numerator
 Cmorph::math::RationalExact rational number with a runtime decimal-precision tag
 Cmorph::math::Rational::WireFlat JSON representation used by the Glaze codec below
 Cmorph::math::WireClampScopeObserves whether any Rational had to be clamped while decoding inside this scope
 Cmorph::model::ActionKeyTraits< Action >Declares where an action's model key comes from
 Cmorph::model::ActionLogPolicy< Action >Per-action policy deciding how repeated executions are checkpointed into a durable action log
 Cmorph::model::ActionTraits< Action >Traits specialisation that maps an action type to its id, JSON codec, and result type
 Cmorph::model::ActionValidator< Action >Per-action readiness predicate deciding whether an action may execute
 Cmorph::model::HandlerResult< T >The result an action handler's return type stands for: R for a core::async::Task<R> handler, the type itself for any other
 Cmorph::model::HandlerResult<::core::async::Task< R > >HandlerResult for a Task handler
 Cmorph::model::ModelKeyTraits< Model >The key type of a model, when one has been declared for it
 Cmorph::model::ModelTraits< Model >Traits specialisation that maps a model type to its string type-id
 Cmorph::model::PayloadShapeTag< T >Declares a stable shape tag for a type T whose JSON shape payloadShape cannot decompose
 Cmorph::model::PayloadShapeTag< morph::math::Rational >Stable shape tag for Rational, so a payload fingerprint can tell a Rational field from a Timestamp or a Quantity one
 Cmorph::model::PayloadShapeTag< morph::time::DateTime >Stable shape tag for DateTime
 Cmorph::model::PayloadShapeTag< morph::time::Timestamp >Stable shape tag for Timestamp
 Cmorph::model::PayloadShapeTag< morph::units::Quantity< U, Dec > >Stable shape tag for Quantity<U, Dec>, carrying the unit's ascii id and the declared decimals
 Cmorph::model::PayloadShapeTag< morph::util::Tagged< T, Tag > >Stable shape tag for Tagged<T, Tag>, carrying both the tag text and the wrapped type's own shape
 Cmorph::net::SocketBackendConfigReconnect tuning for SocketBackend
 Cmorph::net::SocketServerRaw-socket WebSocket server front for morph::backend::RemoteServer
 Cmorph::net::SocketServerConfigConfiguration for SocketServer
 Cmorph::observe::MetricEventOne metric observation delivered to the installed MetricSink
 Cmorph::observe::ScopedObserveOverrideRAII helper that snapshots the global metric and trace sinks and restores them in the destructor
 Cmorph::observe::TraceSinkHost-supplied hooks bracketing one dispatch, for distributed tracing
 Cmorph::offline::AttemptsA replay attempt count, as a type distinct from a queue item id
 Cmorph::offline::IOfflineQueueInterface for durable storage of actions that could not be delivered
 Cmorph::offline::FileOfflineQueueReference append-only, NDJSON-backed IOfflineQueue that persists payload, idempotencyKey, and attempts across process restarts with no third-party dependency
 Cmorph::offline::InMemoryOfflineQueueIn-memory implementation of IOfflineQueue, owned by one executor
 Cmorph::offline::SqliteOfflineQueueReference SQLite-backed IOfflineQueue: persists payload, idempotencyKey, and attempts across process restarts
 Cmorph::offline::IReplayLedgerInterface for an op-id-keyed exactly-once replay ledger
 Cmorph::offline::InMemoryReplayLedgerIn-memory implementation of IReplayLedger, owned by one executor
 Cmorph::offline::NetworkMonitorConnectivity monitor that calls a probe on a timer and fires callbacks on state changes
 Cmorph::offline::NetworkMonitorConfigConfiguration for NetworkMonitor
 Cmorph::offline::QueueItemAn item stored in the offline queue
 Cmorph::offline::ReconnectCoordinatorSequences reconnect → activate → bind → replay when connectivity returns
 Cmorph::offline::ReconnectCoordinator::DepsInjected, host-supplied side effects. None may be null. Each is called on the offline strand
 Cmorph::offline::ReconnectCoordinatorConfigTuning parameters for ReconnectCoordinator
 Cmorph::offline::SyncResultAggregated result returned by SyncWorker::run()
 Cmorph::offline::SyncWorkerReplays queued actions from an IOfflineQueue on reconnect
 Cmorph::qt::QtWebSocketBackendConfigReconnect tuning for QtWebSocketBackend
 Cmorph::qt::QtWebSocketServerQt WebSocket server that bridges incoming connections to a RemoteServer
 Cmorph::qt::QtWebSocketServerConfigPer-connection resource limits and bind/exposure policy enforced by QtWebSocketServer
 Cmorph::qt_quick::BackendOptionsWhat a Backend is made with beside its engine and host item
 Cmorph::qt_quick::ComponentFailureWhy a component could not be loaded; reported once per component and reason
 Cmorph::qt_quick::ComponentsThe QML components a client renders beside the built-in kinds (spec 5 §10)
 Cmorph::qt_quick::CustomRequestWhat IViewBackend::createCustom asks for
 Cmorph::qt_quick::FrontendConfigWhat a qt_quick::Frontend runs with
 Cmorph::qt_quick::InspectorWindowA window that shows the focused screen's mounted nodes with their evaluated properties, its queries and mutations with a refetch button each, its command log and the reactive counters
 Cmorph::reactive::detail::BatchScopeOpens a batch for its lifetime
 Cmorph::reactive::detail::EqualityUsable< T >Whether == is usable for T: declared, and its element types usable too
 Cmorph::reactive::detail::EqualityUsable< std::pair< First, Second > >A pair is usable when both its types are
 Cmorph::reactive::detail::EqualityUsable< std::remove_cv_t< T > >
 Cmorph::reactive::detail::EqualityUsable< std::optional< T > >An optional is usable when its value type is
 Cmorph::reactive::detail::EqualityUsable< std::tuple< Ts... > >A tuple is usable when every element type is
 Cmorph::reactive::detail::EqualityUsable< std::variant< Ts... > >A variant is usable when every alternative is
 Cmorph::reactive::detail::EqualityUsable< T >A range is usable when it declares == and its element type is usable. A range whose element is itself (std::filesystem::path) is checked as a plain type
 Cmorph::reactive::detail::FlushBoundsThe bounds a flush keeps, as RuntimeOptions sets them
 Cmorph::reactive::detail::NodeA graph node: a source (Signal), an observer (Effect), or both (Computed)
 Cmorph::reactive::Computed< std::vector< morph::forms::CollectionRow > >
 Cmorph::reactive::Computed< Encoding >
 Cmorph::reactive::Computed< std::optional< morph::forms::FieldError > >
 Cmorph::reactive::Computed< bool >
 Cmorph::reactive::Computed< std::vector< morph::forms::ChoiceOption > >
 Cmorph::reactive::Computed< std::optional< A > >
 Cmorph::reactive::Computed< std::optional< Result > >
 Cmorph::reactive::Computed< std::optional< std::string > >
 Cmorph::reactive::Computed< std::string >
 Cmorph::reactive::Computed< morph::ui::Value >
 Cmorph::reactive::Computed< std::vector< morph::ui::HeadBadge > >
 Cmorph::reactive::Computed< std::vector< morph::ui::HeadAction > >
 Cmorph::reactive::Computed< std::vector< morph::ui::WorkspaceTabState > >
 Cmorph::reactive::Computed< std::optional< morph::ui::WorkspaceTabId > >
 Cmorph::reactive::Computed< Target >
 Cmorph::reactive::Signal< std::optional< std::string > >
 Cmorph::reactive::Signal< std::optional< morph::forms::PendingConfirm > >
 Cmorph::reactive::Signal< bool >
 Cmorph::reactive::Signal< std::exception_ptr >
 Cmorph::reactive::Signal< std::size_t >
 Cmorph::reactive::Signal< std::uint64_t >
 Cmorph::reactive::Signal< std::string >
 Cmorph::reactive::Signal< std::vector< std::shared_ptr< morph::forms::RowState > > >
 Cmorph::reactive::Signal< std::optional< typename model::ActionTraits< A >::Result > >
 Cmorph::reactive::Signal< std::optional< R > >
 Cmorph::reactive::Signal< int >
 Cmorph::reactive::Signal< std::set< std::string, std::less<> > >
 Cmorph::reactive::Signal< std::shared_ptr< morph::ui::FormatContext const > >
 Cmorph::reactive::Signal< ValueRecord >
 Cmorph::reactive::Signal< std::optional< morph::ui::WorkspaceTabId > >
 Cmorph::reactive::Signal< morph::ui::Value >
 Cmorph::reactive::Signal< morph::ui::detail::RtScope * >
 Cmorph::reactive::Signal< std::shared_ptr< morph::ui::detail::CacheEntry > >
 Cmorph::reactive::Signal< RowT >
 Cmorph::reactive::Computed< T >A derived value: computed lazily on first read, cached, and recomputed only after a source it read really changed
 Cmorph::reactive::EffectA side effect: runs once on construction, then in a flush after any source it read changed
 Cmorph::reactive::Signal< T >A source value. Reading it with get() inside a tracked run subscribes that run
 Cmorph::reactive::detail::RuntimeCoreState shared by one Runtime and every node made from it
 Cmorph::reactive::detail::TrackingFrameCollects the sources one tracked run reads, and restores the previous frame when it ends
 Cmorph::reactive::detail::UpdateCoversAll< Update, ViewState, Msg >Whether Update handles every alternative of the variant Msg
 Cmorph::reactive::detail::UpdateCoversAll< Update, ViewState, std::variant< Alts... > >Whether Update handles every alternative of std::variant<Alts...>
 Cmorph::reactive::detail::UpdateFrameOne update in progress, on the stack of the send() running it
 Cmorph::reactive::detail::UpdateGuardMarks a Store as inside its update for the guard's lifetime
 Cmorph::reactive::detail::WidgetEventScopeMarks a widget callback for its lifetime
 Cmorph::reactive::InvalidationLinkA query's registration with the mutations that invalidate it
 Cmorph::reactive::Mutation< A, R >A command: issues a write and tracks it, then refetches what the write invalidates
 Cmorph::reactive::MutationOptions< A >How a Mutation sequences its runs, and what a success invalidates
 Cmorph::reactive::QueryOptionsHow a Query refreshes besides key changes, and how long it lets a key settle
 Cmorph::reactive::RefetchableSomething a Mutation can tell to fetch again after it succeeds
 Cmorph::reactive::Query< std::string, std::string >
 Cmorph::reactive::Query< A, R >A derived async resource: the result of fetching whatever its tracked key names
 Cmorph::reactive::RuntimeThe owner of a signal graph: every node takes one, and every operation runs on its owner
 Cmorph::reactive::RuntimeOptionsHow a Runtime bounds and reports its flushes
 Cmorph::reactive::RuntimeStatsWhat a Runtime has counted since it was made: its flushes, the Effects they ran, its batches and the misuses it reported. A development tool reads it (spec 6 §21); counting costs a few increments per flush
 Cmorph::reactive::SchedulerRuns callbacks after a delay or on a period, on the runtime's owner executor
 Cmorph::qt_quick::QtSchedulerreactive::Scheduler on QTimers, for a runtime whose owner is the Qt event loop's thread
 Cmorph::reactive::testing::ManualSchedulerA deterministic Scheduler: its clock moves only in advance(), which fires what falls due on the calling thread
 Cmorph::reactive::ScopeOwns effects, computeds and adopted objects; destroys them in reverse creation order
 Cmorph::reactive::Store< ViewState, Msg >User-intent view state — what is selected, typed, open — changed only by messages
 Cmorph::reactive::Subscription< R >The latest R the bridge published on a handler's instance, as reactive state
 Cmorph::reactive::TimerHandleOwns one scheduled timer and cancels it when destroyed. Move-only
 Cmorph::record::derivedFrom< S >Option for BRIDGE_REGISTER_RECORD: a change to any of S is a change to this record type
 Cmorph::record::detail::IsDerivedFrom< T >Detects a derivedFrom<> option
 Cmorph::record::detail::KeyOption< T >Detects a key<> option and exposes its member pointer
 Cmorph::record::detail::MemberType< M >The type of the data member a member pointer names
 Cmorph::record::key< Member >Option for BRIDGE_REGISTER_RECORD: the record's key is the named member instead of id
 Cmorph::record::keylessOption for BRIDGE_REGISTER_RECORD: the record has no key
 Cmorph::record::privateKeysOption for BRIDGE_REGISTER_RECORD: the record's keys must not reach other principals
 Cmorph::record::RecordInfoWhat one BRIDGE_REGISTER_RECORD declared
 Cmorph::render::detail::CodePointOne decoded UTF-8 code point: its value and how many bytes it took
 Cmorph::render::detail::DigitMatchA digit matched at the start of an entry
 Cmorph::render::detail::SignMatchA sign matched at the start of an entry: how much of the text it occupies, and what it contributes to the canonical output
 Cmorph::render::NumericLocaleThe locale facts both control-edge conversions need, in one designated-initialisable aggregate
 Cmorph::session::ContextPer-call session context carried through the bridge to the model
 Cmorph::session::detail::EscapingWriteOptsWrite options that escape ASCII control bytes as \\uXXXX sequences
 Cmorph::session::detail::ScopedContextRAII helper that sets the thread-local Context for its scope
 Cmorph::session::IAuthorizerAuthorizes incoming actions on a RemoteServer
 Cmorph::session::AllowAllAuthorizerDefault authorizer that permits everything
 Cmorph::session::SigningAuthorizerIAuthorizer that authenticates via a signed Context::token
 Cmorph::session::IAuthorizer::AdmissionWhat admit decides about one call: whether it may run, and under which verified principal
 Cmorph::session::PrincipalThe signed-in user's verified identity, readable outside a dispatch
 Cmorph::session::SessionTokenVerified claims carried by a session token
 Cmorph::session::TokenIssuerMints signed bearer tokens from claims using a shared secret
 Cmorph::session::TokenVerifierVerifies signed bearer tokens against a shared secret
 Cmorph::table::ApplyOptionsHow apply runs
 Cmorph::table::CellEditsCommits cell edits row by row, in order
 Cmorph::table::ChangeListenerReceives a DataSource's change notifications, on the owner thread
 Cmorph::table::EngineSorts, filters and maps the view of one table
 Cmorph::table::ChunkedMergeSortA bottom-up merge sort over row indices that can stop and resume
 Cmorph::table::ColumnFilterThe filter on one column
 Cmorph::table::ColumnInfoA column's identity and kind
 Cmorph::table::ColumnLayoutColumn order and visibility, kept apart from the engine's view
 Cmorph::table::ColumnSinkReceives a run of one column's cells
 Cmorph::table::CompiledFilterA filter compiled against a table's columns: every value parsed
 Cmorph::table::CompiledFilter::ColumnOne column's compiled filter
 Cmorph::table::CompiledFilter::EntryOne compiled condition
 Cmorph::table::CompiledFilter::GroupOne compiled group: per column, the entries that apply to it
 Cmorph::table::DataSourceThe rows of a table, as the engine reads them
 Cmorph::table::RowsSource< Row >A DataSource over typed rows: one column per key glaze writes, its kind inferred from the value's type
 Cmorph::table::VectorSourceA DataSource over rows held in memory, for tests, servers and sources that cannot share their own storage
 Cmorph::table::DateParserParses text to dates and date-times for Date and DateTime columns that hold text, and for filter values on those columns
 Cmorph::table::IsoDateParserThe default date parser: ISO 8601 only, whatever the format
 Cmorph::table::detail::IsOptional< T >true for std::optional<T>
 Cmorph::table::detail::IsOptional< std::optional< T > >true for std::optional<T>
 Cmorph::table::detail::JobInputEverything one view job reads. Immutable once the job starts
 Cmorph::table::detail::JobResultWhat a finished job hands back to the owner
 Cmorph::table::detail::ListenersA source's listeners, notified so that a listener may unsubscribe itself or another, or destroy the source, from inside a notification
 Cmorph::table::detail::RawEntryThe operator an entry sets and its operand text
 Cmorph::table::detail::SlotCounterA Fenwick tree of slot occupancy: how many occupied slots precede a slot
 Cmorph::table::detail::ViewJobOne recomputation of a view, runnable in steps
 Cmorph::table::detail::ViewPositionsWhere each identity sits in each view
 Cmorph::table::EditRequestOne edited cell to commit
 Cmorph::table::EngineOptionsHow an engine runs and what it is given
 Cmorph::table::EngineStatsCounters for tests, benchmarks and profiler plots
 Cmorph::table::FieldErrorA server's refusal of an edit, attached to the cell
 Cmorph::table::FilterEntryOne filter condition. Exactly one operator member is set
 Cmorph::table::FilterRunEvaluates a compiled filter over a candidate list, column at a time, in steps that yield at a deadline or a stop request
 Cmorph::table::FilterSpecA table's whole filter
 Cmorph::table::GroupFilterA filter over several columns: a row matches when the entries match on any of them, which is what a quick-search box needs
 Cmorph::table::KeyColumnOne column's keys, built once and shared, immutable, between jobs
 Cmorph::table::Page< Row >One page of a list action's reply
 Cmorph::table::PageFetchA request a PageWindow asks the client to send, tagged with the query it belongs to
 Cmorph::table::PageRequestWhich rows of the view a request wants
 Cmorph::table::PageRowsThe rows of one page, as source row indices
 Cmorph::table::PageWindow< Row >The pages a server-mode table holds: those around the visible rows, up to a bound, plus the request state and the last error
 Cmorph::table::ProgressSinkReceives progress of a long sort or filter, on the owner thread
 Cmorph::table::QuantityCellA quantity in its own unit, with the factor that converts it to the column's canonical unit
 Cmorph::table::QueryLimitsThe bounds a server applies to every TableQuery, an untrusted body
 Cmorph::table::RowChangeOne change notification
 Cmorph::table::RowOrderA sort chain resolved to key columns: the comparator of a sort
 Cmorph::table::RowOrder::KeyOne resolved key
 Cmorph::table::RowPatcherReplaces a row by key; what a committed cell edit patches
 Cmorph::table::VectorSourceA DataSource over rows held in memory, for tests, servers and sources that cannot share their own storage
 Cmorph::table::RowSnapshotAn immutable view of a table's rows at one moment
 Cmorph::table::RowsSnapshot< Row >A snapshot over a shared, immutable vector of typed rows
 Cmorph::table::TableSnapshotA RowSnapshot that stores rows in shared, immutable chunks
 Cmorph::table::SelectionA table's selected keys and active key
 Cmorph::table::SelectionOptionsA selection's configuration
 Cmorph::table::ServicesThe services an engine sorts and filters with. A null member is replaced by its default
 Cmorph::table::SortKeyOne key of a sort chain
 Cmorph::table::TableCountsThe counts a status line shows
 Cmorph::table::TableErrorThe error every fallible table call returns
 Cmorph::table::TableQueryA table's sort, filters and page, as a list action's body carries them
 Cmorph::table::TextCollatorOrders and matches text. The renderer injects the toolkit's collator for the user's locale; CodePointCollator is the default
 Cmorph::table::CodePointCollatorThe default collator: code-point order, with ASCII and Latin-1 letters case-folded. It does not fold accents
 Cmorph::table::ViewChangeThe operations that turn one view order into another
 Cmorph::table::ViewOpOne list-model operation
 Cmorph::testing::OwnerProbeRecorderRecords every owner check a loop-owned body makes while this object is alive (morph::exec::detail::noteOwner), and what the calling thread's executor scope said at that moment
 Cmorph::testing::OwnerProbeRecorder::SeenOne owner check
 Cmorph::time::DateTimeA UTC instant with millisecond precision
 Cmorph::time::ScopedNowOverrideRAII helper that fixes DateTime::now() to a constant instant (or a custom callable) for its lifetime and restores the previous override on destruction
 Cmorph::time::TimestampAn optionally-empty timestamp field
 Cmorph::tui::FrontendConfigWhat a tui::Frontend runs on
 Cmorph::ui::AccessibilityWhat assistive technology announces for a node
 Cmorph::ui::ActionBarA row of buttons in the footer of the dialog or drawer whose content holds it: what a document's overlay actions lower to. The mount refuses one anywhere else
 Cmorph::ui::ActionButtonA button inside another kind, such as a banner's action: its caption beside its handler
 Cmorph::ui::ActionEffectOne effect an action declares, as the catalog states it
 Cmorph::ui::ActionFieldOne field of an action, as the explorer lists it
 Cmorph::ui::ActionInfoWhat the catalog says about an action
 Cmorph::ui::ActionRecordInfoA record an action's result holds, as the catalog states it
 Cmorph::ui::ActionRefAn action a document names, with the model type it runs on: what the authoriser is asked about
 Cmorph::ui::ActionUseOne place a document names an action
 Cmorph::ui::AppContextWhat a frontend lends the source it opens and the screens it mounts
 Cmorph::ui::ApplicationInfoThe application a bundle belongs to, as ui-hello names it
 Cmorph::ui::AppRootThe app document mounted as the root scope every screen of the session shares (spec 6 §5)
 Cmorph::ui::AppSourceWhere the screens and the models are: a server (remote) or the application linked in-process (local)
 Cmorph::client::SourceAn AppSource that also hands the shell what it mounts screens with, once it delivered a bundle
 Cmorph::client::LocalSourceRuns a linked application in-process (--app): its models over a LocalBackend, its bundle answered by a UiService in the same process, and verified by the same client as a remote one
 Cmorph::client::RemoteSourceFetches the screens from a server (--server), over the transport the frontend calls for
 Cmorph::ui::author::ActionButtonOptionsA button of a screen's head (screen.action), or of a dialog's or drawer's footer
 Cmorph::ui::author::ActionFacts< Action >Catalog facts of an action that its C++ type does not show. Specialise it for an action whose reply rows carry server-calculated fields, whose reply carries a secret, or which sends a credential
 Cmorph::ui::author::ActionPartThe action of a banner or emptyState
 Cmorph::ui::author::AnyThe value type of a handle whose value the screen cannot know when it is written: a query result read by name, an element value, an event payload
 Cmorph::ui::author::BannerOptionsOptions of banner
 Cmorph::ui::author::Body< Action >An action body: the action's members with expressions in place of values (spec 5 §11). C++ cannot synthesise the action's struct with its members retyped, so a body lists {&Action::member, value} pairs
 Cmorph::ui::author::BodyField< Action >One field of an action body: a member of the action, and the expression that fills it
 Cmorph::ui::author::BorrowThe opener's binding of an alias, for a screen opened as a dialog ({"from": alias})
 Cmorph::ui::author::ButtonOptionsOptions of button
 Cmorph::ui::author::CaseA case of a switch node, a scope of its own
 Cmorph::ui::author::CatalogFactsThe catalog facts the builders gathered from the model and action types a screen names
 Cmorph::ui::author::CheckboxOptionsOptions of checkbox
 Cmorph::ui::author::CheckOptionsA validation across elements (spec 5 §6)
 Cmorph::ui::author::CollapsibleOptionsOptions of collapsible
 Cmorph::ui::author::CommandOne command of ui/1 (spec 5 §8, spec 6)
 Cmorph::ui::author::CommandsA command list, run as one batch
 Cmorph::ui::author::ComponentOptionsA custom or host component (spec 5 §10)
 Cmorph::ui::author::ComponentRefA declared component, for custom nodes
 Cmorph::ui::author::ContainerOptionsOptions of column, row and grid
 Cmorph::ui::author::CustomOptionsOptions of custom
 Cmorph::ui::author::DateTimeInputOptionsOptions of dateTimeInput
 Cmorph::ui::author::DeclScopeA scope's declarations (spec 5 §3): model aliases, state, let, queries, mutations, watches and checks. A row, a dialog, a drawer and a switch case declare theirs on the scope their builder hands over
 Cmorph::ui::author::ScopeThe screen's own scope: its declarations, params, lifecycle keys, components and customization points
 Cmorph::ui::author::detail::IsHandle< T >Whether a type is a Handle
 Cmorph::ui::author::detail::IsHandle< Handle< T > >A Handle is one
 Cmorph::ui::author::detail::IsOptional< T >Whether a type is a std::optional
 Cmorph::ui::author::detail::IsOptional< std::optional< T > >A std::optional is one
 Cmorph::ui::author::detail::IsVector< T >Whether a type is a std::vector
 Cmorph::ui::author::detail::IsVector< std::vector< T, Alloc > >A std::vector is one
 Cmorph::ui::author::detail::LiteralOf< L >The value type a constant stands for
 Cmorph::ui::author::detail::LiteralOf< char const * >A C string is a std::string
 Cmorph::ui::author::detail::LiteralOf< char[N]>Text is a std::string
 Cmorph::ui::author::detail::LiteralOf< std::string_view >A string view is a std::string
 Cmorph::ui::author::detail::NodeWriterBuilds a node's JSON key by key, leaving out what is absent
 Cmorph::ui::author::detail::Unwrapped< T >A type with one std::optional removed
 Cmorph::ui::author::detail::Unwrapped< std::optional< T > >The engaged type of a std::optional
 Cmorph::ui::author::detail::ValueOf< X >The value type of an operand: a handle's value type, or the type its constant stands for
 Cmorph::ui::author::detail::ValueOf< Handle< T > >A handle's value type
 Cmorph::ui::author::DialogOptionsOptions of dialog and drawer
 Cmorph::ui::author::DropZoneOptionsOptions of dropZone
 Cmorph::ui::author::ElementAn element of the view, named by its id, whose live values relations read (spec 5 §6)
 Cmorph::ui::author::EmittedA screen's emitted document: its JSON, the text that is served, and the catalog facts of its types
 Cmorph::ui::author::EmptyStateOptionsOptions of emptyState
 Cmorph::ui::author::FieldOverlay< Action >One field of a form's fields overlay, by member pointer
 Cmorph::ui::author::FieldSettingsAn overlay on one field of a form (spec 6 §10), applied to the parsed form model
 Cmorph::ui::author::FilePickerOptionsOptions of filePicker
 Cmorph::ui::author::ForEachOptionsOptions of forEach
 Cmorph::ui::author::FormOptions< Action >Options of form
 Cmorph::ui::author::FormPresentationHow a form, collection or wizard presents its forms: the keys every one of them takes
 Cmorph::ui::author::Handle< T >An expression of a document, typed by the C++ value it evaluates to (spec 5 §11)
 Cmorph::ui::author::Handle< T >
 Cmorph::ui::author::ResultHandle< T >A mutation's result: a Handle with no field reads
 Cmorph::ui::author::HeadBadgeOptionsA status badge of the screen's head (screen.status)
 Cmorph::ui::author::InstanceSpecA model alias's instance: a binding mode, a key expression, or a borrowed binding
 Cmorph::ui::author::MenuItemAn item of a menu; items nests a submenu
 Cmorph::ui::author::ModelFacts< Model >Catalog facts of a model type that its C++ type does not show. Specialise it for a model whose shared singleton is equivalent to a private instance
 Cmorph::ui::author::ModelHandle< Model >A model alias of a scope
 Cmorph::ui::author::ModelOptionsOptions of a model alias
 Cmorph::ui::author::MutationHandle< Action >A mutation declared by a scope
 Cmorph::ui::author::MutationOptions< Action >Options of a mutation (spec 5 §5)
 Cmorph::ui::author::MutationRefA mutation of a scope, without its action type: what signIn, upload and can name
 Cmorph::ui::author::NavigateOptionsOptions of navigate
 Cmorph::ui::author::NodeA view node (spec 5 §9). The kind's own properties come from its builder's options; the properties every node takes come from the member functions, each of which returns a copy with the property set
 Cmorph::ui::author::NodesA list of view nodes
 Cmorph::ui::author::OptimisticAn optimistic write: the row a mutation run predicts before its reply
 Cmorph::ui::author::PanelOptionsOptions of panel
 Cmorph::ui::author::PointA customization point (spec 5 §12b)
 Cmorph::ui::author::QueryHandle< Action, Value >A query declared by a scope
 Cmorph::ui::author::QueryOptionsOptions of a query (spec 5 §5)
 Cmorph::ui::author::QueryRefA query of a scope, without its action type: what refetch, prefetch and optimistic name
 Cmorph::ui::author::RegisteredScreenA registered screen: the text that is served and the document it loads as
 Cmorph::ui::author::RunOptionsOptions of run
 Cmorph::ui::author::ScreenA screen definition: an id and the builder that writes the document
 Cmorph::ui::author::ScreenRegistryThe screens of an application, each validated once when it is registered
 Cmorph::ui::author::SelectOptionsOptions of select
 Cmorph::ui::author::SelfThe dialog or drawer a command list runs in, for close
 Cmorph::ui::author::SliderOptionsOptions of slider
 Cmorph::ui::author::TabA page of a tabs node
 Cmorph::ui::author::TableColumnA column of a table
 Cmorph::ui::author::TableOptionsOptions of table and dataTable
 Cmorph::ui::author::TextInputOptionsOptions of textInput
 Cmorph::ui::author::TextOptionsOptions of text
 Cmorph::ui::author::UploadOptionsOptions of upload
 Cmorph::ui::BackendThe application's opaque handle for one of its backends. Its name is what {"env": "backend"} reads
 Cmorph::ui::BadgeA short label marking a state, such as a count or a status
 Cmorph::ui::BannerA message across the top of a region, with an optional action and an optional dismissal
 Cmorph::ui::BorrowedModelA model the opener lends to a screen whose alias says {"from": alias} (spec 6 §16)
 Cmorph::ui::BundleWhat an open source hands the frontend: the application's screens, verified
 Cmorph::ui::BundleFileA file of the bundle that is not a screen, as UiRegistry::addFile takes it
 Cmorph::ui::BusyA progress indicator
 Cmorph::ui::ButtonA push button
 Cmorph::ui::CallOptionsHow one model call is sent
 Cmorph::ui::CatalogThe facts load-time validation needs from the application's catalog. Local mode answers them from the model registry in-process, the server at registration, a remote client from the UI service's catalog
 Cmorph::ui::CatalogEntryOne catalog entry (spec 6 §8)
 Cmorph::ui::CatalogReplyThe body of a ui-catalog reply: the catalog filtered for the principal, and the facts a client's load-time validation reads (ui::Catalog)
 Cmorph::ui::CatalogueOne locale's messages, by key, with the patterns already parsed
 Cmorph::ui::CheckboxA labelled check box
 Cmorph::ui::CheckDeclA validation across elements (spec 5 §6)
 Cmorph::ui::CollapsibleA titled section the user opens and closes. Its header stays usable while it is closed
 Cmorph::ui::ColumnChildren stacked top to bottom
 Cmorph::ui::CommandOne command. Which members a kind uses is listed with each member
 Cmorph::ui::CommandLogEntryOne command list as it ran: the event that ran it, its commands, and the reactive batch they ran in
 Cmorph::ui::CommonThe part every node carries: visibility, enablement, layout, drag-and-drop, accessibility, test identity, tooltip, surface, keyboard chords and autofocus
 Cmorph::ui::ComponentA custom component declaration (spec 5 §10)
 Cmorph::ui::ConnectErrorWhy a source could not be opened
 Cmorph::ui::CustomA component the backend may load (spec 5 §10), with the built-in nodes shown when it does not
 Cmorph::ui::CustomizePointA customization point (spec 5 §12b)
 Cmorph::ui::CustomPropOne prop a loaded custom component is given
 Cmorph::ui::CustomRequestWhat IViewBackend::createCustom asks for
 Cmorph::ui::DateTimeInputA date, or a date and time, edited in a display zone and reported as an instant
 Cmorph::ui::DecimalAn exact decimal: a math::Rational whose DecimalPlaces are the value's declared places
 Cmorph::ui::detail::ActionModelAn actionButton part, lowered in the scope of the list it belongs to: what a screen's head shows and an overlay's footer draws as buttons
 Cmorph::ui::detail::AliasResolverResolves tokens' aliases, depth first, each token once
 Cmorph::ui::detail::ArrangedChildOne child of an arranged container, as the user's choice places it
 Cmorph::ui::detail::BadgeModelA headBadge part, lowered in the screen scope
 Cmorph::ui::detail::BindingA name bound for the expressions of one place: a command's event, a step's as, result in a patch, body in an optimistic, props in a fallback, boundary in a boundary's error
 Cmorph::ui::detail::BoundaryRuntimeA boundary at run time: the queries it owns (spec 5 §9)
 Cmorph::ui::detail::CacheEntryOne entry of the session's query cache (spec 5 §5): one request in flight, one value, one error
 Cmorph::ui::detail::catalogue::TitlePartsA catalog title's parts: a plain string, or the message key of a {"t": …} reference and its fallback
 Cmorph::ui::detail::CheckContextWhere an expression or command is checked: its scope and what is valid there
 Cmorph::ui::detail::CheckRuntimeOne check at run time
 Cmorph::ui::detail::CommandCtxWhere a command list runs: its scope, the names bound there, and what it may answer
 Cmorph::ui::detail::CommandLineChoiceThe command line's choice of frontend, and the arguments that made it
 Cmorph::ui::detail::DateReadingWhat a date input reads from a value: the instant it shows, and whether the value names one at all
 Cmorph::ui::detail::DetachedLowerA lowering context whose scope is held weakly: what an Effect the scope itself owns may keep, so the scope does not keep itself alive
 Cmorph::ui::detail::DocumentActionsCollects the actions and model types a loaded document names, resolving each query's, mutation's and model-bound node's alias through the enclosing scopes
 Cmorph::ui::detail::DocumentParserTurns the JSON of a document into its model, refusing what does not parse
 Cmorph::ui::detail::DocumentValidatorChecks a parsed document against its own names and the catalog: every load-time rule that needs more than one place in the document
 Cmorph::ui::detail::ElementStateAn element's live values (spec 5 §6)
 Cmorph::ui::detail::EvaluatorEvaluates expressions against an environment, with the comprehension variables in scope
 Cmorph::ui::detail::ExprCheckerWalks an expression once, resolving names and checking the statically known types
 Cmorph::ui::detail::ExprParserReads one JSON expression tree into Expr nodes, counting them against the size bound
 Cmorph::ui::detail::ExprParser::FormKeysThe keys a form may carry beside its own
 Cmorph::ui::detail::ForEachModelA ForEach's row source, key function and row view, with the row type erased
 Cmorph::ui::detail::TypedForEach< RowT >The typed model behind forEach<RowT> and table<RowT>
 Cmorph::ui::detail::ForEachSessionOne mount's use of a ForEach: the latest snapshot of the rows, and a way to make row slots from it
 Cmorph::ui::detail::FunctionSpecThe signature of a library function
 Cmorph::ui::detail::IsSlotBinding< T >Whether a type is a SlotBinding: false here, true for the specialisation below
 Cmorph::ui::detail::IsSlotBinding< SlotBinding< F > >A SlotBinding is one
 Cmorph::ui::detail::KeyedRowOne mounted row of a ForEach or Table
 Cmorph::ui::detail::KeyedRowsThe mounted rows of one ForEach or Table, in their container's order
 Cmorph::ui::detail::KeySpecOne key of a kind
 Cmorph::ui::detail::KindSpecA node kind or part kind: its keys and its element values
 Cmorph::ui::detail::LowerCtxWhere a node is lowered: its scope, the names bound there and the boundary that owns its queries
 Cmorph::ui::detail::MarksThe entries one change marks stale, each once, in the order they were found
 Cmorph::ui::detail::MessageReaderA recursive-descent reader over one message's text
 Cmorph::ui::detail::ModelAliasOne model alias at run time: the instance it names, and the channel bound to it
 Cmorph::ui::detail::MounterBuilds widgets for nodes and wires their props and callbacks
 Cmorph::ui::detail::MutationRuntimeA mutation at run time (spec 5 §5): concurrency, optimistic writes and the reply's effects
 Cmorph::ui::detail::NameEntryOne declared name of a scope
 Cmorph::ui::detail::NameRefOne declared name of a run-time scope
 Cmorph::ui::detail::NumberA number taken apart for arithmetic: its exact value, whether it is an int, and its unit
 Cmorph::ui::detail::OptimisticLayerOne optimistic write still waiting for its reply
 Cmorph::ui::detail::PagesWhere one Tabs keeps its pages: a slot per tab, made the first time the tab is selected and kept, hidden, after
 Cmorph::ui::detail::PluralOperandsCLDR's plural operands of a number as it is shown
 Cmorph::ui::detail::QueryRuntimeA query at run time (spec 5 §5): a key over the scope, an entry of the session's cache, latest wins
 Cmorph::ui::detail::RowSlotOne mounted row of a ForEach or a Table: the row's signal, and the view built from it once
 Cmorph::ui::detail::RtScopeOne document scope at run time: the screen, a dialog's or drawer's content, a switch case or a row
 Cmorph::ui::detail::ScopeInfoOne scope during validation: its names and its parent
 Cmorph::ui::detail::ScreenCoreOne mounted screen's interpreter: its document, diagnostics, slots and preferences, and the code that declares scopes, lowers nodes and runs commands
 Cmorph::ui::detail::ScreenCore::KeptStateA state of the screen this one replaces: its declared type's name and its value
 Cmorph::ui::detail::ScreenCore::LoweredNodeA node as it was lowered, which the inspector lists while its scope lives
 Cmorph::ui::detail::StateSlotOne state declaration at run time
 Cmorph::ui::detail::TransferHoldA transfer's share of its screen's pending count
 Cmorph::ui::detail::TransferStateThe values of an upload transfer id (spec 6 §18)
 Cmorph::ui::detail::VisibleRangeWhat the backend's own scroll position asks a virtualized table to realize next
 Cmorph::ui::DialogA modal overlay; its content is mounted only while it is open
 Cmorph::ui::DispatcherThe interpreter's view of the bridge: binds a model by its type id, privately or to a shared instance
 Cmorph::ui::BridgeDispatcherA Dispatcher over the bridge's model-free seams: bindByType, executeRaw and the string-keyed attach, through RawHandler
 Cmorph::ui::QueueingDispatcherA Dispatcher that holds a queued call the server cannot be reached for, and replays it on reconnect
 Cmorph::ui::DocNodeA view node of the document (spec 5 §9), or a structured part of one (a table column, a tab, a switch case, a menu item, an a11y, drag, drop or action record, a form field overlay)
 Cmorph::ui::DocumentA loaded and validated UI document: a screen, or the app document (id app, spec 6 §5)
 Cmorph::ui::DocumentScreenHost::Handle::State::WatchA wait for the screen to have nothing pending; the id tells a posted task whether it is still current
 Cmorph::ui::DocumentScreenHostOptionsHow a DocumentScreenHost finds documents and mounts them
 Cmorph::ui::DownloadedFileA file a download brought back
 Cmorph::ui::DrawerA panel that slides in from one edge over the content: a Dialog with a side, and the same rules
 Cmorph::ui::DropZoneA region that takes files dropped from the operating system
 Cmorph::ui::EmptyStateWhat a region shows when it has nothing to show: a title, an explanation and an optional action
 Cmorph::ui::EnvironmentWhat an evaluated expression reads: the interpreter implements it over its reactive values
 Cmorph::ui::StaticEnvironmentAn environment that holds its values: for tests, and for evaluating outside a mounted screen
 Cmorph::ui::detail::ScopeEnvThe Environment the evaluator reads through: a scope chain and the names bound at one place
 Cmorph::ui::detail::host::ParamsEnvThe environment identityOf evaluates in: the params, and nothing else. Reading anything else marks it unknown
 Cmorph::ui::EvaluateReplyThe body of a ui-evaluate reply: what ActionDispatcher::evaluate answered
 Cmorph::ui::ExplorerOptionsWhat an Explorer shows, and what it reports
 Cmorph::ui::ExprOne node of a parsed expression. Immutable once parsed; shared between the document and its readers
 Cmorph::ui::FetchRequestThe body of a ui-fetch request
 Cmorph::ui::FieldStateThe state of a value a user edits or reads: whether it may be changed, must be given, is wrong, or is being recomputed
 Cmorph::ui::FileInfoWhat a file is, as its uploader described it
 Cmorph::ui::FilePickerA file path, typed or chosen in the platform's file dialog
 Cmorph::ui::FileReplyThe body of a ui-file reply: the members its op answers, the others absent
 Cmorph::ui::FileRequestThe body of a ui-file request: one step of an upload or a download, named by op
 Cmorph::ui::FileSliceA slice of a stored file
 Cmorph::ui::FileTransferThe client of the file side channel (files/1, spec 6 §18): uploads and downloads through ui-file, one chunk of at most kMaxFileChunkBytes in flight at a time, reporting progress after each
 Cmorph::ui::ForEachOne widget per row of a keyed collection, updated in place when a row with the same key changes
 Cmorph::ui::FormatContextWhat the display functions and t format with: the client's locale and its formatting facts
 Cmorph::ui::FormattedMessageA formatted message, and the variables it could not format
 Cmorph::ui::FrontendA frontend: owns an event loop and a renderer, and runs one source's screens
 Cmorph::qt_quick::FrontendRuns a morph application in a Qt Quick window, on the calling thread
 Cmorph::tui::FrontendRuns a morph application in a terminal, on one thread
 Cmorph::ui::FrontendErrorWhy no frontend was selected
 Cmorph::ui::FrontendOptionOne frontend a binary was built with
 Cmorph::ui::GridCells laid out row-major in a fixed number of columns
 Cmorph::ui::GridCellOne cell of a Grid
 Cmorph::ui::HeadActionAn action of a screen's head, as its handle answers it
 Cmorph::ui::HeadBadgeA status badge of a screen's head, as its handle answers it
 Cmorph::ui::HelloReplyThe body of a ui-hello reply
 Cmorph::ui::HelloRequestThe body of a ui-hello request: what the client speaks and carries
 Cmorph::ui::HostArgOne argument of a host command
 Cmorph::ui::HostCommandA command the application registers, such as restartApp or openPath
 Cmorph::ui::HostCommandResultWhat running a host command (host/1) did
 Cmorph::ui::HostCommandsThe client's host commands, as a session runs them (spec 6 §14)
 Cmorph::ui::HostValueA value the application registers, such as sync.needsYouCount
 Cmorph::ui::HostVocabularyThe client's host vocabulary: what it registered, and whether its documents came over a verified connection
 Cmorph::ui::IBundleStoreWhere a client keeps verified files between runs, by content hash, and the digest of each application's last verified bundle
 Cmorph::ui::MemoryBundleStoreAn IBundleStore in memory: it lasts as long as the process. Safe to call from any thread
 Cmorph::ui::IFileStoreWhere uploaded and issued files live. Every call names the principal it is made for, and an upload id or a file reference works only for the principal it was made for
 Cmorph::ui::MemoryFileStoreAn IFileStore in memory: bounded per file and per principal; an upload that stalls expires
 Cmorph::ui::IHistoryA history of routes: a browser's session history, or a test's
 Cmorph::ui::testing::MemoryHistoryA history of routes in memory: the entries, the current one, and back, forward and an edited address
 Cmorph::ui::InlineFileA file whose bytes a document moves inline: download from bytes, upload into bytes
 Cmorph::ui::InspectedNodeA mounted node as the inspector lists it
 Cmorph::ui::InspectedQueryA query or mutation as the inspector lists it
 Cmorph::ui::InspectorThe development inspector over one mounted screen: its mounted nodes, its queries and mutations, the command lists it ran, and the reactive runtime's counters
 Cmorph::ui::InterpreterMounts UI documents (spec 5): one per client process or window, over a session and a dispatcher
 Cmorph::ui::InterpreterHostWhat the application answers for the commands a document cannot carry out alone (spec 6). Every default answers "not supported", which the interpreter reports as a diagnostic
 Cmorph::client::ApplicationHostThe application's side of the commands a document host does not answer itself (spec 6): sign-in and sign-out, which install a principal into the source, and the file commands, which read a picked file from disk and save a downloaded one, moving the bytes over the source's file side channel or inline
 Cmorph::ui::DocumentScreenHostThe framework's ScreenHost over UI documents: it mounts them through an Interpreter, closes them by the protocol of spec 6 §3, and hands a document's navigate to onNavigate, which the deriving host implements
 Cmorph::ui::InterpreterOptionsWhat an Interpreter is built with
 Cmorph::ui::IPreferencesStoreStores customization choices as JSON text, by PrefKey
 Cmorph::ui::MemoryPreferencesStoreThe framework's store: a map held in memory, on its own strand
 Cmorph::ui::IViewBackendMakes widgets. Each factory appends the new widget to parent, or makes a root when it is null, and never returns null, except createCustom, whose null shows a custom node's fallback
 Cmorph::qt_quick::Backendui::IViewBackend over Qt Quick: each widget is a Qt Quick item made from its kind's MorphUi component, or from the component the restyle map names for that kind
 Cmorph::tui::BackendBuilds every widget of a mounted view tree as a core::tui::Component on one Screen
 Cmorph::ui::testing::RecordingBackendA headless IViewBackend: fake widgets that record every operation, a golden dump of the live tree, and helpers that act as the user would
 Cmorph::ui::KeyBindingA keyboard chord a node handles while focus is inside it
 Cmorph::ui::KeyValueCaptions beside their values, one pair per row
 Cmorph::ui::KeyValueItemOne row of a KeyValue list
 Cmorph::ui::LayoutHintsA widget's size request in both dimensions, and the bounds its extent is clamped into
 Cmorph::ui::LetDeclA derived value (let)
 Cmorph::ui::LoadedBundleA bundle the client verified: what the shell mounts, and what it was verified against
 Cmorph::ui::LoadOptionsOptions of loadDocument
 Cmorph::ui::LoadWarningA finding of load-time validation that does not refuse the document
 Cmorph::ui::LoggedCommandOne command of a command list the inspector's log shows (spec 6 §21)
 Cmorph::ui::ManifestA bundle's manifest: every file the application serves, by its hash (spec 5 §12, "Content addressing")
 Cmorph::ui::ManifestFileOne file of a manifest
 Cmorph::ui::McpAdapterServes MCP's tools over one server connection (spec 8 §11)
 Cmorph::ui::McpOptionsWhat an McpAdapter is built with
 Cmorph::ui::MemoryFileStoreOptionsHow much a MemoryFileStore keeps
 Cmorph::ui::MenuA vertical list of commands
 Cmorph::ui::MenuEntryOne entry of a menu as a MenuWidget shows it
 Cmorph::ui::MenuItemOne entry of a Menu: its label and its handler in one place, so there are no parallel lists
 Cmorph::ui::MessageCataloguesThe message catalogues of one bundle, by locale, and the provider t resolves through
 Cmorph::ui::MessageLocaleThe locale a message is formatted for
 Cmorph::ui::MessagePartOne part of a pattern: literal text, or a placeholder of a variable
 Cmorph::ui::MessagePatternA parsed message in the ui/1 subset of MessageFormat 2
 Cmorph::ui::MessageVariantOne variant of a .match: a key per selector (* is the catch-all) and its pattern
 Cmorph::ui::ModelChannelOne bound model alias: the instance a document's alias names, and the calls made through it
 Cmorph::ui::ModelDeclA model alias
 Cmorph::ui::ModelInfoWhat the catalog says about a model type
 Cmorph::ui::MountedA view tree mounted on a backend: its widgets, built once, and the bindings that keep them current
 Cmorph::ui::MountedScreenA mounted screen a reload may remount
 Cmorph::ui::MountedShellWhat a frontend mounts once its source is open: the app shell and its screens, or a view of why the source did not open. Destroying it unmounts all of it
 Cmorph::ui::MountErrorWhy a screen could not be mounted
 Cmorph::ui::MountOptionsWhat Interpreter::mount is given beside the document
 Cmorph::ui::MutationDeclA mutation (spec 5 §5)
 Cmorph::ui::NameResolverWhat an expression's names resolve to, for checkExpression: the document's scopes implement it
 Cmorph::ui::PermissiveResolverA resolver that accepts every name as any: for an expression checked outside a document
 Cmorph::ui::detail::ScopeResolverResolves an expression's names against a scope chain and a context
 Cmorph::ui::NavigateRequestWhat navigate asks the host to open (spec 6 §16, §20)
 Cmorph::ui::NavigatorThe catalog as a list a person opens screens from, with a title search and pinned shortcuts
 Cmorph::ui::NavigatorOptionsHow a Navigator lists the catalog and what it reports
 Cmorph::ui::NodeDataWhat a Node points at: exactly one node kind
 Cmorph::ui::OptimisticDeclAn optimistic write: the row a mutation run predicts before its reply
 Cmorph::ui::PanelA titled frame around one child; a collapsible one is an accordion section
 Cmorph::ui::PreferencesLoadedWhat loading a screen's choices did
 Cmorph::ui::PreferencesModelThe server's preferences model: reads and writes the calling person's choices through a store
 Cmorph::ui::PreferencesOptionsThe preferences model's bounds
 Cmorph::ui::PreferenceSyncTalks to the server's preferences model (morph.preferences) for one application, through the interpreter's Dispatcher
 Cmorph::ui::PrefKeyWhere one choice is stored
 Cmorph::ui::PrefLoadload: the stored choices of a screen's points. A request carries no person
 Cmorph::ui::PrefRemoveremove: forgets one choice. A request carries no person
 Cmorph::ui::PrefRemovedWhat remove answers
 Cmorph::ui::PrefSetset: stores one choice. A request carries no person
 Cmorph::ui::PrefStoredWhat set answers
 Cmorph::ui::PrefValuesWhat load answers
 Cmorph::ui::ProgressA progress bar
 Cmorph::ui::Prop< T >A node property: a constant, or a slot — a reactive read, with a stable id when it was given one
 Cmorph::ui::QuantityAn exact decimal with a unit: the id of a unit of the server's unit systems (x-unitAlternatives)
 Cmorph::ui::QueryDeclA query (spec 5 §5)
 Cmorph::ui::RefusalWhy a document, an expression or a value was refused: where, and the reason
 Cmorph::ui::ReloadOutcomeWhat reloadDocuments did
 Cmorph::ui::RgbaA colour, 8 bits per channel
 Cmorph::ui::RouteA route read back: the screen and its params
 Cmorph::ui::RouteHistoryKeeps the route of the screen a shell shows in a history, and opens the route of an entry the user moves to (spec 3 §10)
 Cmorph::ui::RowChildren laid out left to right
 Cmorph::ui::ScopeDeclThe declarations of one scope, in declaration order
 Cmorph::ui::ScreenA mounted screen: its scopes, its view mounted through Mounted, and what its host asks of it
 Cmorph::ui::ScreenHandleOne mounted screen, as its host sees it
 Cmorph::ui::ExplorerThe app explorer, as a host screen (spec 6 §15): a splitter with the list — a search, the catalog's screens, and every model the catalog names with every action of it — and the chosen action's sections: its facts, its fields, the places that use it, and "Try it", the widget the framework builds for it, mounted live
 Cmorph::ui::ScreenHeadA screen's head beside its title: the subtitle, the status badges and the actions a shell shows above the screen (the document's subtitle, status and actions)
 Cmorph::ui::ScreenHostWhat mounts screens for a host that owns its own shell; the workspace shell is one
 Cmorph::ui::DocumentScreenHostThe framework's ScreenHost over UI documents: it mounts them through an Interpreter, closes them by the protocol of spec 6 §3, and hands a document's navigate to onNavigate, which the deriving host implements
 Cmorph::ui::ScreenHostRegistryThe host screens an application registers by name: what a catalog entry's host names instead of a document
 Cmorph::ui::ScrollA scrollable viewport around one child
 Cmorph::ui::SelectA choice of one option
 Cmorph::ui::SelectOptionOne option of a Select
 Cmorph::ui::ServedBundleAn application's bundle, built and immutable: what UiService serves
 Cmorph::ui::ServedFileOne file a bundle serves, with every manifest entry whose bytes it is
 Cmorph::ui::ServedFile::HolderOne manifest entry that names the file
 Cmorph::ui::ServedScreenA screen as the bundle serves it
 Cmorph::ui::SessionWhat screens of one client session share (spec 5 §5, §12b): the query cache, the mounted queries, the principal's permitted actions, the formatting facts and the client's env, session and host values
 Cmorph::ui::SessionOptionsWhat a Session is built with
 Cmorph::ui::ShellFrameThe frame around a client's screens
 Cmorph::ui::ShellFrameOptionsWhat a ShellFrame shows and reports
 Cmorph::ui::SizingHow much space a widget asks for along one dimension, in backend units (a character cell on the TUI)
 Cmorph::ui::SliderAn integer chosen on a range
 Cmorph::ui::SlotBinding< F >A slot's read together with its id, as ui::slot makes it; a Prop made from it is a slot with that id
 Cmorph::ui::SpacerEmpty space that takes what its layout hints ask for
 Cmorph::ui::SplitterPanes side by side, or stacked, with handles the user drags to share the space between them
 Cmorph::ui::StateDeclA state declaration
 Cmorph::ui::StepOne step of a Steps indicator
 Cmorph::ui::StepsThe steps of a process in order, each with its state
 Cmorph::ui::SwitchShows the case whose key the selector yields; remounts only when that key changes
 Cmorph::ui::SwitchCaseOne case of a Switch
 Cmorph::ui::TabOne page of Tabs
 Cmorph::ui::TableKeyed rows of cells under column headers. Each row's view is a Row whose children are the cells, one per column
 Cmorph::ui::TableColumnOne column of a Table
 Cmorph::ui::TableOptionsEverything about a table beyond its columns and rows
 Cmorph::ui::TableRowViewWhat a table's row view builds for one row: its cells, one per column, and its tone
 Cmorph::ui::TabsA tab bar over pages
 Cmorph::ui::testing::ConformanceCaseOne scripted case
 Cmorph::ui::testing::ConformanceProbeHow the conformance cases read and drive one backend under test
 Cmorph::ui::testing::detail::CallbacksThe handlers a widget was given, which the interaction helpers call
 Cmorph::ui::testing::detail::ChecksCollects a case's checks and keeps the first failure, so a case reads top to bottom
 Cmorph::ui::testing::detail::EntryA row of the ForEach and Table cases
 Cmorph::ui::testing::detail::FakeLeaf< Interface >The Widget half of every fake: records itself on construction, records Common's setters, and records its destruction
 Cmorph::ui::testing::detail::FakeContainer< Interface >The ContainerWidget half of every fake container
 Cmorph::ui::testing::detail::FakeOverlay< Interface >A fake overlay's footer: a Footer child, made when it is first asked for, so an overlay that never shows actions logs none
 Cmorph::ui::testing::detail::FakeField< Interface >The FieldWidget half of every fake field: properties readonly, required, errors, stale
 Cmorph::ui::testing::detail::GeometryReads where the layout cases' widgets are drawn, and fails a case whose probe reads no geometry
 Cmorph::ui::testing::detail::HandlerLifeWhat LifeSentinel reports about the handler that holds it
 Cmorph::ui::testing::detail::LifeSentinelCaptured by value in a handler, tells whether the backend destroyed the handler while it ran
 Cmorph::ui::testing::detail::MeasuredThe container a case measures, the one child of the mounted root, and its children in order
 Cmorph::ui::testing::detail::RecordOne fake widget's state
 Cmorph::ui::testing::detail::RecordStoreThe records, the roots and the operation log that every fake widget of one backend writes to
 Cmorph::ui::testing::WidgetBoundsWhere a widget is drawn, in its backend's own units (a cell on the terminal; Theme.unitWidth and Theme.unitHeight on Qt Quick), from the top left of the window or screen
 Cmorph::ui::TextStatic or bound text
 Cmorph::ui::TextInputAn editable text field. The backend never reports its own setText back through onChange
 Cmorph::ui::ThemeIndexThe index of a theme: which token files make up each variant
 Cmorph::ui::ThemeShadowA shadow of the set, resolved
 Cmorph::ui::ThemeShadowSpecA shadow token's default, in the form a constexpr table can hold
 Cmorph::ui::ThemeTokenSpecOne token of the closed ui-theme/1 set: its path, kind and the MorphUi default
 Cmorph::ui::ThemeValuesThe ui-theme/1 set's values for one resolved theme
 Cmorph::ui::TokenOne token: its DTCG type and its value, which may hold aliases until the set is resolved
 Cmorph::ui::TypeA document type (spec 5 §3): a kind, whether null is allowed, and a list's element type
 Cmorph::ui::UiClientOpens an application's bundle through the UI service, verifying everything it fetches
 Cmorph::ui::UiRegistryCollects an application's screens and files and builds the bundle the UI service serves
 Cmorph::ui::UnitInfoOne unit of the server's unit systems, as x-unitAlternatives declares it
 Cmorph::ui::UploadRequestWhat an upload command asks the host to send, and the mutation that will reference the file, which is what the server authorises the upload as (spec 6 §18)
 Cmorph::ui::ValueThe document's typed value (spec 5 §3): what every expression evaluates to
 Cmorph::ui::VerifiedCacheA content-addressed cache that hands out only bytes that hash to the hash they are asked for
 Cmorph::ui::VirtualizationWhen a keyed row list realizes a widget only for the rows in or near the visible range, instead of for every row regardless of scroll position. A row's own reactive state (its signal, rebuilt from the session on every change) is unaffected either way and is never released while its key exists; this setting only decides whether a row's mounted widget is also kept alive off-screen
 Cmorph::ui::WatchDeclA cascade: commands that run when a value changes (spec 5 §6)
 Cmorph::ui::WidgetA retained widget. A new widget is visible, enabled, content-sized, not draggable and not a drop target
 Cmorph::ui::BadgeWidgetA short label marking a state
 Cmorph::ui::testing::detail::FakeLeaf< BadgeWidget >
 Cmorph::ui::testing::detail::FakeBadgeA fake BadgeWidget: properties tone, text, icon
 Cmorph::ui::BannerWidgetA message across the top of a region, with an optional action button and an optional dismissal
 Cmorph::ui::testing::detail::FakeLeaf< BannerWidget >
 Cmorph::ui::testing::detail::FakeBannerA fake BannerWidget: properties tone, text, actionLabel, dismissible
 Cmorph::ui::BusyWidgetA progress indicator
 Cmorph::ui::testing::detail::FakeLeaf< BusyWidget >
 Cmorph::ui::testing::detail::FakeBusyA fake BusyWidget: properties active, label
 Cmorph::ui::ButtonWidgetA push button
 Cmorph::ui::testing::detail::FakeLeaf< ButtonWidget >
 Cmorph::ui::testing::detail::FakeButtonA fake ButtonWidget: properties label, emphasis, icon, style and selected
 Cmorph::ui::ContainerWidgetA widget with children. A factory given this container appends the new widget as its last child
 Cmorph::ui::CollapsibleWidgetA titled section the user opens and closes. A new collapsible is open
 Cmorph::ui::testing::detail::FakeLeaf< CollapsibleWidget >
 Cmorph::ui::testing::detail::FakeContainer< CollapsibleWidget >
 Cmorph::ui::testing::detail::FakeCollapsibleA fake CollapsibleWidget: properties title, header (the header child's id), open
 Cmorph::ui::DialogWidgetA modal overlay around its children, with a focus trap while open. A new dialog is closed
 Cmorph::ui::testing::detail::FakeLeaf< DialogWidget >
 Cmorph::ui::testing::detail::FakeContainer< DialogWidget >
 Cmorph::ui::testing::detail::FakeOverlay< DialogWidget >
 Cmorph::ui::testing::detail::FakeDialogA fake DialogWidget: properties open, title; a Footer child once its footer is asked for
 Cmorph::ui::DrawerWidgetA panel over the content that slides in from the side fixed at creation; it follows a dialog's rules. A new drawer is closed
 Cmorph::ui::testing::detail::FakeLeaf< DrawerWidget >
 Cmorph::ui::testing::detail::FakeContainer< DrawerWidget >
 Cmorph::ui::testing::detail::FakeOverlay< DrawerWidget >
 Cmorph::ui::testing::detail::FakeDrawerA fake DrawerWidget: properties side, open, title; a Footer child once its footer is asked for
 Cmorph::ui::DropZoneWidgetA region that takes files dropped from the operating system
 Cmorph::ui::testing::detail::FakeLeaf< DropZoneWidget >
 Cmorph::ui::testing::detail::FakeContainer< DropZoneWidget >
 Cmorph::ui::testing::detail::FakeDropZoneA fake DropZoneWidget: properties accept ([.ext,…]), multiple
 Cmorph::ui::GridWidgetChildren laid out row-major in columns
 Cmorph::ui::testing::detail::FakeLeaf< GridWidget >
 Cmorph::ui::testing::detail::FakeContainer< GridWidget >
 Cmorph::ui::testing::detail::FakeGridA fake GridWidget: properties columns, gap, align, and span on a child
 Cmorph::ui::PanelWidgetA titled frame around its children, optionally collapsible
 Cmorph::ui::testing::detail::FakeLeaf< PanelWidget >
 Cmorph::ui::testing::detail::FakeContainer< PanelWidget >
 Cmorph::ui::testing::detail::FakePanelA fake PanelWidget: properties title, header (the child's id), padding, collapsible, collapsed
 Cmorph::ui::ScrollWidgetA scrollable viewport, on the axis fixed at creation, that keeps the focused child visible
 Cmorph::ui::SlotWidgetA container that shows its children and nothing else: the host of a Switch's case and of a Tabs page
 Cmorph::ui::testing::detail::FakeLeaf< morph::ui::SlotWidget >
 Cmorph::ui::testing::detail::FakeContainer< morph::ui::SlotWidget >
 Cmorph::ui::SplitterWidgetPanes along the axis fixed at creation, with handles between them that the user drags
 Cmorph::ui::testing::detail::FakeLeaf< SplitterWidget >
 Cmorph::ui::testing::detail::FakeContainer< SplitterWidget >
 Cmorph::ui::testing::detail::FakeSplitterA fake SplitterWidget: properties axis, sizes ([n,…])
 Cmorph::ui::StackWidgetChildren stacked along one axis, fixed at creation
 Cmorph::ui::testing::detail::FakeLeaf< StackWidget >
 Cmorph::ui::testing::detail::FakeContainer< StackWidget >
 Cmorph::ui::testing::detail::FakeStackA fake StackWidget, of kind Column or Row: properties gap, align, justify
 Cmorph::ui::TableWidgetKeyed rows under column headers, with selection and activation by key
 Cmorph::ui::testing::detail::FakeLeaf< TableWidget >
 Cmorph::ui::testing::detail::FakeContainer< TableWidget >
 Cmorph::ui::testing::detail::FakeTableA fake TableWidget: properties columns, selectionMode, selection, and rowKey on a row
 Cmorph::ui::TabsWidgetA tab bar over page slots
 Cmorph::ui::testing::detail::FakeLeaf< TabsWidget >
 Cmorph::ui::testing::detail::FakeContainer< TabsWidget >
 Cmorph::ui::testing::detail::FakeTabsA fake TabsWidget: properties tabs, selected, barShown
 Cmorph::ui::CustomWidgetA component a renderer loaded in a custom node's place (spec 5 §10): a bundle's verified QML or a host component, given the props the document binds and handing back the events it raises
 Cmorph::ui::testing::detail::FakeLeaf< CustomWidget >
 Cmorph::ui::testing::detail::FakeCustomA fake loaded CustomWidget: property component, and each prop as prop.<name>
 Cmorph::ui::EmptyStateWidgetWhat a region shows when it has nothing to show
 Cmorph::ui::testing::detail::FakeLeaf< EmptyStateWidget >
 Cmorph::ui::testing::detail::FakeEmptyStateA fake EmptyStateWidget: properties title, text, icon, actionLabel
 Cmorph::ui::FieldWidgetA widget that shows a value: text, or an input. A new field is editable, not required, without errors and not stale
 Cmorph::ui::CheckboxWidgetA labelled check box
 Cmorph::ui::testing::detail::FakeLeaf< CheckboxWidget >
 Cmorph::ui::testing::detail::FakeField< CheckboxWidget >
 Cmorph::ui::testing::detail::FakeCheckboxA fake CheckboxWidget: properties label, checked
 Cmorph::ui::DateTimeInputWidgetA date or date-and-time field, in the mode and display zone fixed at creation
 Cmorph::ui::testing::detail::FakeLeaf< DateTimeInputWidget >
 Cmorph::ui::testing::detail::FakeField< DateTimeInputWidget >
 Cmorph::ui::testing::detail::FakeDateTimeInputA fake DateTimeInputWidget: properties mode, offset, value, caption, captionShown
 Cmorph::ui::FilePickerWidgetA file path field, in the mode fixed at creation
 Cmorph::ui::testing::detail::FakeLeaf< FilePickerWidget >
 Cmorph::ui::testing::detail::FakeField< FilePickerWidget >
 Cmorph::ui::testing::detail::FakeFilePickerA fake FilePickerWidget: properties mode, path
 Cmorph::ui::SelectWidgetA choice of one keyed option
 Cmorph::ui::testing::detail::FakeLeaf< SelectWidget >
 Cmorph::ui::testing::detail::FakeField< SelectWidget >
 Cmorph::ui::testing::detail::FakeSelectA fake SelectWidget: properties style, options, selected, caption, captionShown
 Cmorph::ui::SliderWidgetAn integer on a range
 Cmorph::ui::testing::detail::FakeLeaf< SliderWidget >
 Cmorph::ui::testing::detail::FakeField< SliderWidget >
 Cmorph::ui::testing::detail::FakeSliderA fake SliderWidget: properties range (minimum..maximum/step), value
 Cmorph::ui::TextInputWidgetAn editable text field
 Cmorph::ui::testing::detail::FakeLeaf< TextInputWidget >
 Cmorph::ui::testing::detail::FakeField< TextInputWidget >
 Cmorph::ui::testing::detail::FakeTextInputA fake TextInputWidget: properties mode, text, placeholder, unit, decimals, icon, caption, captionShown, the field state, and a text cursor
 Cmorph::ui::TextWidgetRead-only text
 Cmorph::ui::testing::detail::FakeLeaf< TextWidget >
 Cmorph::ui::testing::detail::FakeField< TextWidget >
 Cmorph::ui::testing::detail::FakeTextA fake TextWidget: properties text, role
 Cmorph::ui::KeyValueWidgetCaptions beside their values
 Cmorph::ui::testing::detail::FakeLeaf< KeyValueWidget >
 Cmorph::ui::testing::detail::FakeKeyValueA fake KeyValueWidget: property items ([label:value,…])
 Cmorph::ui::MenuWidgetA menu of commands, with nested submenus
 Cmorph::ui::testing::detail::FakeLeaf< MenuWidget >
 Cmorph::ui::testing::detail::FakeMenuA fake MenuWidget: property items
 Cmorph::ui::ProgressWidgetA progress bar
 Cmorph::ui::testing::detail::FakeLeaf< ProgressWidget >
 Cmorph::ui::testing::detail::FakeProgressA fake ProgressWidget: properties value (as formatFraction gives it), label
 Cmorph::ui::SpacerWidgetEmpty space
 Cmorph::ui::StepsWidgetThe steps of a process, each with its state
 Cmorph::ui::testing::detail::FakeLeaf< StepsWidget >
 Cmorph::ui::testing::detail::FakeStepsA fake StepsWidget: properties steps ([label:State,…]), current (a position, or none)
 Cmorph::ui::ToastWidgetA passive, transient message outside the normal flow: non-modal, dims nothing, and never takes keyboard focus. Auto-dismisses after a backend-chosen interval
 Cmorph::ui::testing::detail::FakeLeaf< ToastWidget >
 Cmorph::ui::testing::detail::FakeToastA fake ToastWidget: properties text, tone, and shown (incremented on every show, so a test can tell a replace from a no-op)
 Cmorph::ui::WorkspaceTabs over screens: a tab bar over a WorkspaceModel, one screen instance per tab, mounted into the tab's page through DocumentScreenHost::mountInto, with the screen's head row above it or, when the placement is External, mounted by the host instead
 Cmorph::ui::WorkspaceModelThe workspace's tabs with no widgets: which screens are open, in which order, which is active, and how they open, close and are recorded (spec 6 §7, §15)
 Cmorph::ui::WorkspaceOptionsHow a workspace treats screens
 Cmorph::ui::WorkspaceModelOptionsA WorkspaceModel's options: the workspace's, and how a tab's page is made and unmade
 Cmorph::ui::WorkspaceScreenWhat the shell needs to know of one screen id: the catalog's singleton and reuseEmpty
 Cmorph::ui::WorkspaceStartHow a workspace starts (spec 6 §7, app-start)
 Cmorph::ui::WorkspaceTabOne open tab, as an application's tab menu or a test reads it
 Cmorph::ui::WorkspaceTabIdA tab's identity in a WorkspaceModel: issued when it opens, never reused
 Cmorph::ui::WorkspaceTabStateOne open tab, as an application's tab strip binds to it
 Cmorph::units::Quantity< U, DeclaredDecimals >A unit-tagged, optionally-empty exact value with a declared precision in its type and (optionally) a recorded derivation
 Cmorph::units::Quantity< U >
 Cmorph::units::NamedQuantity< Name, U >A Quantity that names itself on construction and slices losslessly back to a plain Quantity. The name lives in the shared history
 Cmorph::units::QuantityBoundsOptional physical/wire bounds for one unit: the inclusive range a decoded value must fall within to be accepted. Returned by the optional UnitTraits<E>::bounds(E) customisation point (detected by HasUnitBounds) — e.g. a percentage unit bounding itself to [0, 100], or a mass unit rejecting a negative reading no scale can physically produce. Absent by default: a unit with no declared bounds accepts any value its precision allows, exactly as before this feature existed
 Cmorph::units::UnitAlternative< E >A derived per-unit view of one convertible display/entry unit
 Cmorph::units::UnitMetaStatic description of one unit, supplied by UnitTraits
 Cmorph::units::UnitRelation< E >One exact within-dimension conversion ratio between two peer units
 Cmorph::units::UnitTraits< E >Customisation point: the application specialises this for its unit enum, returning a UnitMeta per enumerator and (optionally) a relations array of UnitRelation entries and/or a bounds(E) static method
 Cmorph::util::detail::IsTagged< T >Trait: is T some Tagged<...>?
 Cmorph::util::Tagged< T, Tag >An opaque, type-safe newtype wrapping a protocol scalar T, distinguished at compile time by the string tag Tag
 Cmorph::views::ActionDescriptorOne action a view screen can fire — the row opener (v-rowAction) or an entry of v-actions
 Cmorph::views::BindEntryMaps one target-action wire field to a row wire field, so a row's current value prefills the action's draft before it fires
 Cmorph::views::CollectionViewTag type: V::kind selects a plain list/table screen
 Cmorph::views::ColumnOverrideDeclare-to-override entry for one derived column of a collection view
 Cmorph::views::MasterDetailViewTag type: V::kind selects a list + inline/side editor screen. Introduces no JSON keys beyond CollectionView — purely a rendering choice a conformant renderer may act on
 Cmorph::views::ViewRegistryProcess-level registry mapping a view's string type-id to its viewSchemaJson<V>() provider, so a controller can enumerate every registered view by name — parallels ActionExecuteRegistry for actions (docs/spec/core/bridge.md), but a view registers no executor, only a schema provider
 Cmorph::views::ViewTraits< V >Traits specialisation that maps a view descriptor type to its string type-id. Specialise via BRIDGE_REGISTER_VIEW
 Cmorph::wire::ChangesBodyThe payload of a changes event
 Cmorph::wire::detail::EscapingWriteOptsWrite options that escape ASCII control bytes as \\uXXXX sequences
 Cmorph::wire::EnvelopeJSON wire envelope used between any client and RemoteServer
 Cmorph::wire::EventBodyThe decoded body of an event envelope
 Cmorph::wire::InstanceTopicOne instance topic: a model type, its directory key text and its instance id
 Cmorph::wire::ProtocolRangeInclusive protocol-version range a server advertises in reply to "hello"
 Cmorph::wire::WatchBodyThe body of a watch or unwatch request
 Cmorph::wire::WatchReplyThe body of the ok reply to a watch: the topics the server refused
 Cmorph::wire::WireCodecOpsThe serialisation primitive encode calls, as an injectable strategy
 Cstd::exceptionSTL class
 Cstd::logic_errorSTL class
 Cmorph::forms::ConflictingOptionsErrorThrown by schema generation when a Choice<…> member's FieldMeta also sets optionsAction: the member's type already names where its options come from, and two sources cannot both hold
 Cmorph::forms::IncompleteOptionsErrorThrown by schema generation when a FieldMeta sets optionsAction without both valueField and labelField, or either of those without optionsAction: options need the action, the value field and the label field together
 Cmorph::forms::UnsatisfiableFormErrorThrown by schemaJson<A>() when A's declared formRules contradict A's own derived required array so completely that no submission could satisfy both
 Cmorph::model::DuplicateRegistrationErrorThrown when a model id, or a model's action id, is registered for a type other than the one that already holds it
 Cmorph::model::EffectsRegistrationErrorThrown on a read of the effects or record registry when the registered configuration is invalid
 Cmorph::ui::author::AuthoringErrorWhat a builder throws when it is given something a document cannot say, such as a field read from a value that has no name. Registration turns it into a Refusal at the document's root
 Cstd::runtime_errorSTL class
 Cmorph::backend::BackendChangedErrorThrown to in-flight Completions when Bridge::switchBackend() runs
 Cmorph::backend::BridgeDestroyedErrorThrown to in-flight Completions when Bridge is destroyed
 Cmorph::backend::ClientTimeoutErrorThrown to a pending Completion when Bridge::setExecuteDeadline's duration elapses before any reply arrives — a frame silently dropped by QtWebSocketServerConfig::messagesPerSecond, or a genuinely hung server, either way
 Cmorph::backend::DisconnectedErrorThrown to in-flight Completions when a transport drops mid-call (e.g. a Qt WebSocket disconnect). The framework retries the call on reconnect if the backend supports it; otherwise the GUI's .onError(...) runs
 Cmorph::backend::HandlerDestroyedErrorThrown to every call a BridgeHandler still holds for its bind when the handler is destroyed before the bind settles
 Cmorph::backend::TimeoutErrorThrown to a pending Completion when the server-side morph::backend::LimitPolicy::executeTimeout elapses before the model's action replies
 Cmorph::forms::QuantityDecodeErrorThrown when a decoded action has a Quantity field whose engaged value falls outside its unit's declared bounds (UnitTraits<E>::bounds)
 Cmorph::journal::NullSinkErrorThrown by OutboxRelay::relay() when sink is null
 Cmorph::journal::SchemaMismatchErrorThrown by replay() when a recorded entry's payload fingerprint (LogEntry::schema) disagrees with the fingerprint this build computes for the same action, and no migration covers the pair
 Cmorph::journal::SerializationErrorThrown by toJson/fromJson when LogEntry (de)serialisation fails
 Cmorph::model::ActionRecordingErrorThrown when an action executed and its mutation committed, but the framework could not finish reporting that success
 Cmorph::model::ValidationErrorThrown when a decoded action fails ActionValidator<Action>::ready(...) on a server-side or local execution path, before Model::execute runs
 Cmorph::offline::FileOfflineQueueErrorThrown by FileOfflineQueue when a non-trailing line of its on-disk NDJSON is malformed (via detail::throwOnGlazeError). Note the "cannot be opened" paths throw plain std::runtime_error, not this type — see the constructor's own exception documentation
 Cmorph::offline::OfflineQueueFullErrorThrown by enqueue() when the queue is at its configured maxDepth()
 Cmorph::offline::SqliteOfflineQueueErrorThrown when a SQLite operation used by SqliteOfflineQueue fails
 Cmorph::session::TokenIssuanceErrorThrown by TokenIssuer::issue if serialising the claims fails
 Cmorph::ui::detail::DocumentRefusedThe exception the loader throws inside itself; loadDocument turns it into its result