|
morph 0.1.0
Asynchronous bridge between GUI thread and business models
|
| 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::CallbackScope | Owned lifetime-and-stop gate for asynchronous callbacks — a data member, not a base class |
| Cmorph::async::CallbackToken | Weak, 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 >::Promise | Producer-side handle paired with a Completion<T> by makeSettleable() |
| Cmorph::async::DelayAwaiter | The awaiter delay() returns: suspends until a TimeoutScheduler entry fires, or until a stop withdraws it |
| Cmorph::backend::ConnectionFacts | What a RemoteServer knows about one connection that a service, not core, decides: handed to IEnvelopeService::handle with each envelope |
| Cmorph::backend::ConnectionWriter | A transport's outbound side of one connection, for what the server sends unasked: events |
| Cmorph::backend::detail::IBackend | Abstract interface for execution backends (local, remote, …) |
| Cmorph::backend::LocalBackend | In-process backend that executes model actions on a thread pool strand |
| Cmorph::backend::SimulatedRemoteBackend | IBackend adapter that routes all calls through a RemoteServer as wire Envelope messages |
| Cmorph::backend::SynchronousBackendAdapter | Makes a blocking backend reach its caller without blocking it — and without touching the backend |
| Cmorph::net::SocketBackend | IBackend implementation that communicates with a RemoteServer over a raw-socket RFC 6455 WebSocket connection — no Qt, no GUI event loop required |
| Cmorph::qt::QtWebSocketBackend | IBackend implementation that communicates with a RemoteServer over WebSocket |
| Cmorph::backend::HealthStatus | Snapshot of a RemoteServer's current health |
| Cmorph::backend::IEnvelopeService | Envelope kinds a RemoteServer answers through an extension, such as the UI service's ui-* kinds |
| Cmorph::ui::UiService | The 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::IEnvelopeTransport | What a wire transport offers beside IBackend: one request, one reply, matched by callId |
| Cmorph::net::SocketBackend | IBackend implementation that communicates with a RemoteServer over a raw-socket RFC 6455 WebSocket connection — no Qt, no GUI event loop required |
| Cmorph::qt::QtWebSocketBackend | IBackend implementation that communicates with a RemoteServer over WebSocket |
| Cmorph::backend::LimitPolicy | Opt-in, connection-agnostic resource limits enforced by RemoteServer |
| Cmorph::backend::RemoteServer | Server-side message handler that owns model instances and dispatches actions |
| Cmorph::backend::ServerConfig | Everything about a RemoteServer that is configured rather than learned: given once, at construction, and never changed |
| Cmorph::bridge::ActionExecuteRegistry | Type-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::AllowShared | BridgeHandler sharing policy: joins the shared instance directory |
| Cmorph::bridge::Bridge | Central 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::NoSharing | BridgeHandler sharing policy: private, one instance per handler |
| Cmorph::bridge::RawHandler | A handler for a model known only by its registered type id |
| Cmorph::client::Args | What the generic client reads from its command line |
| Cmorph::client::LocalApp | An application the client links and runs in-process |
| Cmorph::client::LocalSetup | What a local application is set up with |
| Cmorph::client::RemoteTransport | A connection to a server: the bridge's backend and its request verb, which are one object |
| Cmorph::client::ShellOptions | What a client shell reports, and how it starts |
| Cmorph::client::SignedIn | What a sign-in installs: the principal, and the session token its server needs (empty for none) |
| Cmorph::client::Source::Transport | What a concrete source opens with: the bridge's backend and the exchange the UI service is reached by |
| Cmorph::core::FileIoOps | The 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::ActionRecord | A record an action's result holds, and where |
| Cmorph::effects::Changes | What 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::changesInstance | Effect: the state of the instance the action ran on changed |
| Cmorph::effects::detail::DeclaredEffect | One 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::Resolved | The matched and validated registries: what every read is answered from |
| Cmorph::effects::Effect | One effect of an action, with its record resolved to a wire name |
| Cmorph::effects::InstanceChange | A change to the state of one model instance |
| Cmorph::effects::none | Effect: the action changes nothing, declared explicitly |
| Cmorph::effects::RecordChange | A 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::IExecutor | Abstract executor interface |
| Cmorph::exec::MainThreadExecutor | Single-thread executor intended for use on the calling (main) thread |
| Cmorph::exec::OwnerStrand | One strand over a morph executor, usable wherever a morph executor is: the owner a component's state belongs to |
| Cmorph::exec::ThreadPoolExecutor | Multi-threaded executor backed by a fixed-size thread pool |
| Cmorph::qt::QtExecutor | IExecutor implementation that posts tasks to a Qt event loop |
| Cmorph::testing::StepExecutor | IExecutor that queues every posted task and runs them only when the test explicitly asks, one at a time |
| Cmorph::tui::LoopExecutor | Runs every posted task in a later turn of one core::net::EventLoop, with this executor current |
| Cmorph::exec::IoLoop | Owns a core::net::PlatformLoop and, for IoLoopDriver::OwnThread natively, the one thread that runs it |
| Cmorph::exec::IoLoop::Weak | A 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::ChoiceOption | One selectable value of an Enum or a Choice |
| Cmorph::forms::ChoiceSpec | Where a Choice's options come from (x-optionsAction and its companions) |
| Cmorph::forms::CollectionAction | One v-rowAction or v-actions entry |
| Cmorph::forms::CollectionChrome | Replacements 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::CollectionColumn | One v-columns entry |
| Cmorph::forms::CollectionModel | The immutable model of a v-* view document |
| Cmorph::forms::CollectionRow | One listed row |
| Cmorph::forms::CollectionSession | The 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::CollectionViewOptions | How collectionView draws a collection and labels its chrome |
| Cmorph::forms::ConstraintViolation | One 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::FieldConstraint | The per-instance constraint declared for one field of an action |
| Cmorph::forms::FieldError | Why a draft does not encode: a stable code and the message shown beside the field |
| Cmorph::forms::FieldGroup | One named group of fields in an action's formLayout |
| Cmorph::forms::FieldGroupSpec | One x-layout group, or the implicit group of the fields no group names |
| Cmorph::forms::FieldMeta | Per-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::FieldOverlay | What 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::FieldSpan | A field's declared column span in a grid renderer |
| Cmorph::forms::FieldSpec | Everything the engine knows about one field, from its schema property |
| Cmorph::forms::FieldState | The reactive state of one field: its draft and everything derived from it |
| Cmorph::forms::FieldView | A 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::FormModel | The immutable runtime model of one action's form |
| Cmorph::forms::FormSession | The reactive state of one form: a controller over a FormModel |
| Cmorph::forms::FormSessionOptions | How a session reads numbers, dates and text |
| Cmorph::forms::FormViewOptions | How 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::InstanceConstraints | A 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::Multiline | A 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::Overrides | Replacement controls, resolved per field in the order field path, widget hint, unit, kind, else the built-in control |
| Cmorph::forms::PendingConfirm | A 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::RowState | One collection row: the element's member fields |
| Cmorph::forms::RuleExpr | One 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::RuleOperand | What a rule reads of one field |
| Cmorph::forms::SchemaError | Why 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::UnitOption | One unit a Quantity can be entered in; the first of a field's units is canonical |
| Cmorph::forms::ValueContext | The 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::WireValue | One field's encoded value |
| Cmorph::forms::WizardChrome | Replacements 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::WizardModel | The immutable model of a w-* wizard document |
| Cmorph::forms::WizardSession | The reactive state of one wizard: its steps' sessions, the position, and what each step resolved |
| Cmorph::forms::WizardStepSpec | One w-steps entry |
| Cmorph::forms::WizardViewOptions | How wizardView draws a wizard and labels its chrome |
| Cmorph::journal::detail::EscapingWriteOpts | Write options that escape ASCII control bytes as \\uXXXX sequences |
| Cmorph::journal::detail::ScopedReplayFlag | RAII helper that sets the thread-local replay flag for its scope, restoring the previous value on destruction |
| Cmorph::journal::IActionLog | Interface for durable storage of executed-action entries |
| Cmorph::journal::FileActionLog | Append-only, newline-delimited-JSON IActionLog backed by a local file |
| Cmorph::journal::InMemoryActionLog | In-memory implementation of IActionLog, owned by one executor |
| Cmorph::journal::SessionLog | Full-fidelity, in-memory log of one model instance's executed actions |
| Cmorph::journal::LogEntry | One recorded execution of an action against a model instance |
| Cmorph::journal::OutboxRelay | Moves 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::OutboxRelayResult | Outcome of one OutboxRelay::relay() call |
| Cmorph::journal::PayloadMigrationRegistry | Registry of payload migrations, keyed by (actionType, fromSchema) |
| Cmorph::journal::ScopedActionLog | RAII helper that installs a default action log for its lifetime and restores the previous one on destruction |
| Cmorph::log::ScopedLoggerOverride | RAII helper that swaps the global logger and level for the lifetime of the object, and restores them in the destructor |
| Cmorph::math::DecimalPlaces | Strong type for a decimal-precision count |
| Cmorph::math::Denominator | Strong type for a Rational denominator |
| Cmorph::math::Numerator | Strong type for a Rational numerator |
| Cmorph::math::Rational | Exact rational number with a runtime decimal-precision tag |
| Cmorph::math::Rational::Wire | Flat JSON representation used by the Glaze codec below |
| Cmorph::math::WireClampScope | Observes 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::SocketBackendConfig | Reconnect tuning for SocketBackend |
| Cmorph::net::SocketServer | Raw-socket WebSocket server front for morph::backend::RemoteServer |
| Cmorph::net::SocketServerConfig | Configuration for SocketServer |
| Cmorph::observe::MetricEvent | One metric observation delivered to the installed MetricSink |
| Cmorph::observe::ScopedObserveOverride | RAII helper that snapshots the global metric and trace sinks and restores them in the destructor |
| Cmorph::observe::TraceSink | Host-supplied hooks bracketing one dispatch, for distributed tracing |
| Cmorph::offline::Attempts | A replay attempt count, as a type distinct from a queue item id |
| Cmorph::offline::IOfflineQueue | Interface for durable storage of actions that could not be delivered |
| Cmorph::offline::FileOfflineQueue | Reference append-only, NDJSON-backed IOfflineQueue that persists payload, idempotencyKey, and attempts across process restarts with no third-party dependency |
| Cmorph::offline::InMemoryOfflineQueue | In-memory implementation of IOfflineQueue, owned by one executor |
| Cmorph::offline::SqliteOfflineQueue | Reference SQLite-backed IOfflineQueue: persists payload, idempotencyKey, and attempts across process restarts |
| Cmorph::offline::IReplayLedger | Interface for an op-id-keyed exactly-once replay ledger |
| Cmorph::offline::InMemoryReplayLedger | In-memory implementation of IReplayLedger, owned by one executor |
| Cmorph::offline::NetworkMonitor | Connectivity monitor that calls a probe on a timer and fires callbacks on state changes |
| Cmorph::offline::NetworkMonitorConfig | Configuration for NetworkMonitor |
| Cmorph::offline::QueueItem | An item stored in the offline queue |
| Cmorph::offline::ReconnectCoordinator | Sequences reconnect → activate → bind → replay when connectivity returns |
| Cmorph::offline::ReconnectCoordinator::Deps | Injected, host-supplied side effects. None may be null. Each is called on the offline strand |
| Cmorph::offline::ReconnectCoordinatorConfig | Tuning parameters for ReconnectCoordinator |
| Cmorph::offline::SyncResult | Aggregated result returned by SyncWorker::run() |
| Cmorph::offline::SyncWorker | Replays queued actions from an IOfflineQueue on reconnect |
| Cmorph::qt::QtWebSocketBackendConfig | Reconnect tuning for QtWebSocketBackend |
| Cmorph::qt::QtWebSocketServer | Qt WebSocket server that bridges incoming connections to a RemoteServer |
| Cmorph::qt::QtWebSocketServerConfig | Per-connection resource limits and bind/exposure policy enforced by QtWebSocketServer |
| Cmorph::qt_quick::BackendOptions | What a Backend is made with beside its engine and host item |
| Cmorph::qt_quick::ComponentFailure | Why a component could not be loaded; reported once per component and reason |
| Cmorph::qt_quick::Components | The QML components a client renders beside the built-in kinds (spec 5 §10) |
| Cmorph::qt_quick::CustomRequest | What IViewBackend::createCustom asks for |
| Cmorph::qt_quick::FrontendConfig | What a qt_quick::Frontend runs with |
| Cmorph::qt_quick::InspectorWindow | A 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::BatchScope | Opens 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::FlushBounds | The bounds a flush keeps, as RuntimeOptions sets them |
| Cmorph::reactive::detail::Node | A 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::Effect | A 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::RuntimeCore | State shared by one Runtime and every node made from it |
| Cmorph::reactive::detail::TrackingFrame | Collects 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::UpdateFrame | One update in progress, on the stack of the send() running it |
| Cmorph::reactive::detail::UpdateGuard | Marks a Store as inside its update for the guard's lifetime |
| Cmorph::reactive::detail::WidgetEventScope | Marks a widget callback for its lifetime |
| Cmorph::reactive::InvalidationLink | A 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::QueryOptions | How a Query refreshes besides key changes, and how long it lets a key settle |
| Cmorph::reactive::Refetchable | Something 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::Runtime | The owner of a signal graph: every node takes one, and every operation runs on its owner |
| Cmorph::reactive::RuntimeOptions | How a Runtime bounds and reports its flushes |
| Cmorph::reactive::RuntimeStats | What 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::Scheduler | Runs callbacks after a delay or on a period, on the runtime's owner executor |
| Cmorph::qt_quick::QtScheduler | reactive::Scheduler on QTimers, for a runtime whose owner is the Qt event loop's thread |
| Cmorph::reactive::testing::ManualScheduler | A deterministic Scheduler: its clock moves only in advance(), which fires what falls due on the calling thread |
| Cmorph::reactive::Scope | Owns 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::TimerHandle | Owns 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::keyless | Option for BRIDGE_REGISTER_RECORD: the record has no key |
| Cmorph::record::privateKeys | Option for BRIDGE_REGISTER_RECORD: the record's keys must not reach other principals |
| Cmorph::record::RecordInfo | What one BRIDGE_REGISTER_RECORD declared |
| Cmorph::render::detail::CodePoint | One decoded UTF-8 code point: its value and how many bytes it took |
| Cmorph::render::detail::DigitMatch | A digit matched at the start of an entry |
| Cmorph::render::detail::SignMatch | A 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::NumericLocale | The locale facts both control-edge conversions need, in one designated-initialisable aggregate |
| Cmorph::session::Context | Per-call session context carried through the bridge to the model |
| Cmorph::session::detail::EscapingWriteOpts | Write options that escape ASCII control bytes as \\uXXXX sequences |
| Cmorph::session::detail::ScopedContext | RAII helper that sets the thread-local Context for its scope |
| Cmorph::session::IAuthorizer | Authorizes incoming actions on a RemoteServer |
| Cmorph::session::AllowAllAuthorizer | Default authorizer that permits everything |
| Cmorph::session::SigningAuthorizer | IAuthorizer that authenticates via a signed Context::token |
| Cmorph::session::IAuthorizer::Admission | What admit decides about one call: whether it may run, and under which verified principal |
| Cmorph::session::Principal | The signed-in user's verified identity, readable outside a dispatch |
| Cmorph::session::SessionToken | Verified claims carried by a session token |
| Cmorph::session::TokenIssuer | Mints signed bearer tokens from claims using a shared secret |
| Cmorph::session::TokenVerifier | Verifies signed bearer tokens against a shared secret |
| Cmorph::table::ApplyOptions | How apply runs |
| Cmorph::table::CellEdits | Commits cell edits row by row, in order |
| Cmorph::table::ChangeListener | Receives a DataSource's change notifications, on the owner thread |
| Cmorph::table::Engine | Sorts, filters and maps the view of one table |
| Cmorph::table::ChunkedMergeSort | A bottom-up merge sort over row indices that can stop and resume |
| Cmorph::table::ColumnFilter | The filter on one column |
| Cmorph::table::ColumnInfo | A column's identity and kind |
| Cmorph::table::ColumnLayout | Column order and visibility, kept apart from the engine's view |
| Cmorph::table::ColumnSink | Receives a run of one column's cells |
| Cmorph::table::CompiledFilter | A filter compiled against a table's columns: every value parsed |
| Cmorph::table::CompiledFilter::Column | One column's compiled filter |
| Cmorph::table::CompiledFilter::Entry | One compiled condition |
| Cmorph::table::CompiledFilter::Group | One compiled group: per column, the entries that apply to it |
| Cmorph::table::DataSource | The 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::VectorSource | A DataSource over rows held in memory, for tests, servers and sources that cannot share their own storage |
| Cmorph::table::DateParser | Parses text to dates and date-times for Date and DateTime columns that hold text, and for filter values on those columns |
| Cmorph::table::IsoDateParser | The 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::JobInput | Everything one view job reads. Immutable once the job starts |
| Cmorph::table::detail::JobResult | What a finished job hands back to the owner |
| Cmorph::table::detail::Listeners | A source's listeners, notified so that a listener may unsubscribe itself or another, or destroy the source, from inside a notification |
| Cmorph::table::detail::RawEntry | The operator an entry sets and its operand text |
| Cmorph::table::detail::SlotCounter | A Fenwick tree of slot occupancy: how many occupied slots precede a slot |
| Cmorph::table::detail::ViewJob | One recomputation of a view, runnable in steps |
| Cmorph::table::detail::ViewPositions | Where each identity sits in each view |
| Cmorph::table::EditRequest | One edited cell to commit |
| Cmorph::table::EngineOptions | How an engine runs and what it is given |
| Cmorph::table::EngineStats | Counters for tests, benchmarks and profiler plots |
| Cmorph::table::FieldError | A server's refusal of an edit, attached to the cell |
| Cmorph::table::FilterEntry | One filter condition. Exactly one operator member is set |
| Cmorph::table::FilterRun | Evaluates a compiled filter over a candidate list, column at a time, in steps that yield at a deadline or a stop request |
| Cmorph::table::FilterSpec | A table's whole filter |
| Cmorph::table::GroupFilter | A 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::KeyColumn | One column's keys, built once and shared, immutable, between jobs |
| Cmorph::table::Page< Row > | One page of a list action's reply |
| Cmorph::table::PageFetch | A request a PageWindow asks the client to send, tagged with the query it belongs to |
| Cmorph::table::PageRequest | Which rows of the view a request wants |
| Cmorph::table::PageRows | The 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::ProgressSink | Receives progress of a long sort or filter, on the owner thread |
| Cmorph::table::QuantityCell | A quantity in its own unit, with the factor that converts it to the column's canonical unit |
| Cmorph::table::QueryLimits | The bounds a server applies to every TableQuery, an untrusted body |
| Cmorph::table::RowChange | One change notification |
| Cmorph::table::RowOrder | A sort chain resolved to key columns: the comparator of a sort |
| Cmorph::table::RowOrder::Key | One resolved key |
| Cmorph::table::RowPatcher | Replaces a row by key; what a committed cell edit patches |
| Cmorph::table::VectorSource | A DataSource over rows held in memory, for tests, servers and sources that cannot share their own storage |
| Cmorph::table::RowSnapshot | An 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::TableSnapshot | A RowSnapshot that stores rows in shared, immutable chunks |
| Cmorph::table::Selection | A table's selected keys and active key |
| Cmorph::table::SelectionOptions | A selection's configuration |
| Cmorph::table::Services | The services an engine sorts and filters with. A null member is replaced by its default |
| Cmorph::table::SortKey | One key of a sort chain |
| Cmorph::table::TableCounts | The counts a status line shows |
| Cmorph::table::TableError | The error every fallible table call returns |
| Cmorph::table::TableQuery | A table's sort, filters and page, as a list action's body carries them |
| Cmorph::table::TextCollator | Orders and matches text. The renderer injects the toolkit's collator for the user's locale; CodePointCollator is the default |
| Cmorph::table::CodePointCollator | The default collator: code-point order, with ASCII and Latin-1 letters case-folded. It does not fold accents |
| Cmorph::table::ViewChange | The operations that turn one view order into another |
| Cmorph::table::ViewOp | One list-model operation |
| Cmorph::testing::OwnerProbeRecorder | Records 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::Seen | One owner check |
| Cmorph::time::DateTime | A UTC instant with millisecond precision |
| Cmorph::time::ScopedNowOverride | RAII 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::Timestamp | An optionally-empty timestamp field |
| Cmorph::tui::FrontendConfig | What a tui::Frontend runs on |
| Cmorph::ui::Accessibility | What assistive technology announces for a node |
| Cmorph::ui::ActionBar | A 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::ActionButton | A button inside another kind, such as a banner's action: its caption beside its handler |
| Cmorph::ui::ActionEffect | One effect an action declares, as the catalog states it |
| Cmorph::ui::ActionField | One field of an action, as the explorer lists it |
| Cmorph::ui::ActionInfo | What the catalog says about an action |
| Cmorph::ui::ActionRecordInfo | A record an action's result holds, as the catalog states it |
| Cmorph::ui::ActionRef | An action a document names, with the model type it runs on: what the authoriser is asked about |
| Cmorph::ui::ActionUse | One place a document names an action |
| Cmorph::ui::AppContext | What a frontend lends the source it opens and the screens it mounts |
| Cmorph::ui::ApplicationInfo | The application a bundle belongs to, as ui-hello names it |
| Cmorph::ui::AppRoot | The app document mounted as the root scope every screen of the session shares (spec 6 §5) |
| Cmorph::ui::AppSource | Where the screens and the models are: a server (remote) or the application linked in-process (local) |
| Cmorph::client::Source | An AppSource that also hands the shell what it mounts screens with, once it delivered a bundle |
| Cmorph::client::LocalSource | Runs 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::RemoteSource | Fetches the screens from a server (--server), over the transport the frontend calls for |
| Cmorph::ui::author::ActionButtonOptions | A 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::ActionPart | The action of a banner or emptyState |
| Cmorph::ui::author::Any | The 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::BannerOptions | Options 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::Borrow | The opener's binding of an alias, for a screen opened as a dialog ({"from": alias}) |
| Cmorph::ui::author::ButtonOptions | Options of button |
| Cmorph::ui::author::Case | A case of a switch node, a scope of its own |
| Cmorph::ui::author::CatalogFacts | The catalog facts the builders gathered from the model and action types a screen names |
| Cmorph::ui::author::CheckboxOptions | Options of checkbox |
| Cmorph::ui::author::CheckOptions | A validation across elements (spec 5 §6) |
| Cmorph::ui::author::CollapsibleOptions | Options of collapsible |
| Cmorph::ui::author::Command | One command of ui/1 (spec 5 §8, spec 6) |
| Cmorph::ui::author::Commands | A command list, run as one batch |
| Cmorph::ui::author::ComponentOptions | A custom or host component (spec 5 §10) |
| Cmorph::ui::author::ComponentRef | A declared component, for custom nodes |
| Cmorph::ui::author::ContainerOptions | Options of column, row and grid |
| Cmorph::ui::author::CustomOptions | Options of custom |
| Cmorph::ui::author::DateTimeInputOptions | Options of dateTimeInput |
| Cmorph::ui::author::DeclScope | A 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::Scope | The 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::NodeWriter | Builds 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::DialogOptions | Options of dialog and drawer |
| Cmorph::ui::author::DropZoneOptions | Options of dropZone |
| Cmorph::ui::author::Element | An element of the view, named by its id, whose live values relations read (spec 5 §6) |
| Cmorph::ui::author::Emitted | A screen's emitted document: its JSON, the text that is served, and the catalog facts of its types |
| Cmorph::ui::author::EmptyStateOptions | Options of emptyState |
| Cmorph::ui::author::FieldOverlay< Action > | One field of a form's fields overlay, by member pointer |
| Cmorph::ui::author::FieldSettings | An overlay on one field of a form (spec 6 §10), applied to the parsed form model |
| Cmorph::ui::author::FilePickerOptions | Options of filePicker |
| Cmorph::ui::author::ForEachOptions | Options of forEach |
| Cmorph::ui::author::FormOptions< Action > | Options of form |
| Cmorph::ui::author::FormPresentation | How 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::HeadBadgeOptions | A status badge of the screen's head (screen.status) |
| Cmorph::ui::author::InstanceSpec | A model alias's instance: a binding mode, a key expression, or a borrowed binding |
| Cmorph::ui::author::MenuItem | An 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::ModelOptions | Options 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::MutationRef | A mutation of a scope, without its action type: what signIn, upload and can name |
| Cmorph::ui::author::NavigateOptions | Options of navigate |
| Cmorph::ui::author::Node | A 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::Nodes | A list of view nodes |
| Cmorph::ui::author::Optimistic | An optimistic write: the row a mutation run predicts before its reply |
| Cmorph::ui::author::PanelOptions | Options of panel |
| Cmorph::ui::author::Point | A customization point (spec 5 §12b) |
| Cmorph::ui::author::QueryHandle< Action, Value > | A query declared by a scope |
| Cmorph::ui::author::QueryOptions | Options of a query (spec 5 §5) |
| Cmorph::ui::author::QueryRef | A query of a scope, without its action type: what refetch, prefetch and optimistic name |
| Cmorph::ui::author::RegisteredScreen | A registered screen: the text that is served and the document it loads as |
| Cmorph::ui::author::RunOptions | Options of run |
| Cmorph::ui::author::Screen | A screen definition: an id and the builder that writes the document |
| Cmorph::ui::author::ScreenRegistry | The screens of an application, each validated once when it is registered |
| Cmorph::ui::author::SelectOptions | Options of select |
| Cmorph::ui::author::Self | The dialog or drawer a command list runs in, for close |
| Cmorph::ui::author::SliderOptions | Options of slider |
| Cmorph::ui::author::Tab | A page of a tabs node |
| Cmorph::ui::author::TableColumn | A column of a table |
| Cmorph::ui::author::TableOptions | Options of table and dataTable |
| Cmorph::ui::author::TextInputOptions | Options of textInput |
| Cmorph::ui::author::TextOptions | Options of text |
| Cmorph::ui::author::UploadOptions | Options of upload |
| Cmorph::ui::Backend | The application's opaque handle for one of its backends. Its name is what {"env": "backend"} reads |
| Cmorph::ui::Badge | A short label marking a state, such as a count or a status |
| Cmorph::ui::Banner | A message across the top of a region, with an optional action and an optional dismissal |
| Cmorph::ui::BorrowedModel | A model the opener lends to a screen whose alias says {"from": alias} (spec 6 §16) |
| Cmorph::ui::Bundle | What an open source hands the frontend: the application's screens, verified |
| Cmorph::ui::BundleFile | A file of the bundle that is not a screen, as UiRegistry::addFile takes it |
| Cmorph::ui::Busy | A progress indicator |
| Cmorph::ui::Button | A push button |
| Cmorph::ui::CallOptions | How one model call is sent |
| Cmorph::ui::Catalog | The 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::CatalogEntry | One catalog entry (spec 6 §8) |
| Cmorph::ui::CatalogReply | The 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::Catalogue | One locale's messages, by key, with the patterns already parsed |
| Cmorph::ui::Checkbox | A labelled check box |
| Cmorph::ui::CheckDecl | A validation across elements (spec 5 §6) |
| Cmorph::ui::Collapsible | A titled section the user opens and closes. Its header stays usable while it is closed |
| Cmorph::ui::Column | Children stacked top to bottom |
| Cmorph::ui::Command | One command. Which members a kind uses is listed with each member |
| Cmorph::ui::CommandLogEntry | One command list as it ran: the event that ran it, its commands, and the reactive batch they ran in |
| Cmorph::ui::Common | The part every node carries: visibility, enablement, layout, drag-and-drop, accessibility, test identity, tooltip, surface, keyboard chords and autofocus |
| Cmorph::ui::Component | A custom component declaration (spec 5 §10) |
| Cmorph::ui::ConnectError | Why a source could not be opened |
| Cmorph::ui::Custom | A component the backend may load (spec 5 §10), with the built-in nodes shown when it does not |
| Cmorph::ui::CustomizePoint | A customization point (spec 5 §12b) |
| Cmorph::ui::CustomProp | One prop a loaded custom component is given |
| Cmorph::ui::CustomRequest | What IViewBackend::createCustom asks for |
| Cmorph::ui::DateTimeInput | A date, or a date and time, edited in a display zone and reported as an instant |
| Cmorph::ui::Decimal | An exact decimal: a math::Rational whose DecimalPlaces are the value's declared places |
| Cmorph::ui::detail::ActionModel | An 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::AliasResolver | Resolves tokens' aliases, depth first, each token once |
| Cmorph::ui::detail::ArrangedChild | One child of an arranged container, as the user's choice places it |
| Cmorph::ui::detail::BadgeModel | A headBadge part, lowered in the screen scope |
| Cmorph::ui::detail::Binding | A 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::BoundaryRuntime | A boundary at run time: the queries it owns (spec 5 §9) |
| Cmorph::ui::detail::CacheEntry | One entry of the session's query cache (spec 5 §5): one request in flight, one value, one error |
| Cmorph::ui::detail::catalogue::TitleParts | A catalog title's parts: a plain string, or the message key of a {"t": …} reference and its fallback |
| Cmorph::ui::detail::CheckContext | Where an expression or command is checked: its scope and what is valid there |
| Cmorph::ui::detail::CheckRuntime | One check at run time |
| Cmorph::ui::detail::CommandCtx | Where a command list runs: its scope, the names bound there, and what it may answer |
| Cmorph::ui::detail::CommandLineChoice | The command line's choice of frontend, and the arguments that made it |
| Cmorph::ui::detail::DateReading | What a date input reads from a value: the instant it shows, and whether the value names one at all |
| Cmorph::ui::detail::DetachedLower | A 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::DocumentActions | Collects 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::DocumentParser | Turns the JSON of a document into its model, refusing what does not parse |
| Cmorph::ui::detail::DocumentValidator | Checks 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::ElementState | An element's live values (spec 5 §6) |
| Cmorph::ui::detail::Evaluator | Evaluates expressions against an environment, with the comprehension variables in scope |
| Cmorph::ui::detail::ExprChecker | Walks an expression once, resolving names and checking the statically known types |
| Cmorph::ui::detail::ExprParser | Reads one JSON expression tree into Expr nodes, counting them against the size bound |
| Cmorph::ui::detail::ExprParser::FormKeys | The keys a form may carry beside its own |
| Cmorph::ui::detail::ForEachModel | A 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::ForEachSession | One mount's use of a ForEach: the latest snapshot of the rows, and a way to make row slots from it |
| Cmorph::ui::detail::FunctionSpec | The 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::KeyedRow | One mounted row of a ForEach or Table |
| Cmorph::ui::detail::KeyedRows | The mounted rows of one ForEach or Table, in their container's order |
| Cmorph::ui::detail::KeySpec | One key of a kind |
| Cmorph::ui::detail::KindSpec | A node kind or part kind: its keys and its element values |
| Cmorph::ui::detail::LowerCtx | Where a node is lowered: its scope, the names bound there and the boundary that owns its queries |
| Cmorph::ui::detail::Marks | The entries one change marks stale, each once, in the order they were found |
| Cmorph::ui::detail::MessageReader | A recursive-descent reader over one message's text |
| Cmorph::ui::detail::ModelAlias | One model alias at run time: the instance it names, and the channel bound to it |
| Cmorph::ui::detail::Mounter | Builds widgets for nodes and wires their props and callbacks |
| Cmorph::ui::detail::MutationRuntime | A mutation at run time (spec 5 §5): concurrency, optimistic writes and the reply's effects |
| Cmorph::ui::detail::NameEntry | One declared name of a scope |
| Cmorph::ui::detail::NameRef | One declared name of a run-time scope |
| Cmorph::ui::detail::Number | A number taken apart for arithmetic: its exact value, whether it is an int, and its unit |
| Cmorph::ui::detail::OptimisticLayer | One optimistic write still waiting for its reply |
| Cmorph::ui::detail::Pages | Where one Tabs keeps its pages: a slot per tab, made the first time the tab is selected and kept, hidden, after |
| Cmorph::ui::detail::PluralOperands | CLDR's plural operands of a number as it is shown |
| Cmorph::ui::detail::QueryRuntime | A query at run time (spec 5 §5): a key over the scope, an entry of the session's cache, latest wins |
| Cmorph::ui::detail::RowSlot | One mounted row of a ForEach or a Table: the row's signal, and the view built from it once |
| Cmorph::ui::detail::RtScope | One document scope at run time: the screen, a dialog's or drawer's content, a switch case or a row |
| Cmorph::ui::detail::ScopeInfo | One scope during validation: its names and its parent |
| Cmorph::ui::detail::ScreenCore | One 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::KeptState | A state of the screen this one replaces: its declared type's name and its value |
| Cmorph::ui::detail::ScreenCore::LoweredNode | A node as it was lowered, which the inspector lists while its scope lives |
| Cmorph::ui::detail::StateSlot | One state declaration at run time |
| Cmorph::ui::detail::TransferHold | A transfer's share of its screen's pending count |
| Cmorph::ui::detail::TransferState | The values of an upload transfer id (spec 6 §18) |
| Cmorph::ui::detail::VisibleRange | What the backend's own scroll position asks a virtualized table to realize next |
| Cmorph::ui::Dialog | A modal overlay; its content is mounted only while it is open |
| Cmorph::ui::Dispatcher | The interpreter's view of the bridge: binds a model by its type id, privately or to a shared instance |
| Cmorph::ui::BridgeDispatcher | A Dispatcher over the bridge's model-free seams: bindByType, executeRaw and the string-keyed attach, through RawHandler |
| Cmorph::ui::QueueingDispatcher | A Dispatcher that holds a queued call the server cannot be reached for, and replays it on reconnect |
| Cmorph::ui::DocNode | A 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::Document | A loaded and validated UI document: a screen, or the app document (id app, spec 6 §5) |
| Cmorph::ui::DocumentScreenHost::Handle::State::Watch | A wait for the screen to have nothing pending; the id tells a posted task whether it is still current |
| Cmorph::ui::DocumentScreenHostOptions | How a DocumentScreenHost finds documents and mounts them |
| Cmorph::ui::DownloadedFile | A file a download brought back |
| Cmorph::ui::Drawer | A panel that slides in from one edge over the content: a Dialog with a side, and the same rules |
| Cmorph::ui::DropZone | A region that takes files dropped from the operating system |
| Cmorph::ui::EmptyState | What a region shows when it has nothing to show: a title, an explanation and an optional action |
| Cmorph::ui::Environment | What an evaluated expression reads: the interpreter implements it over its reactive values |
| Cmorph::ui::StaticEnvironment | An environment that holds its values: for tests, and for evaluating outside a mounted screen |
| Cmorph::ui::detail::ScopeEnv | The Environment the evaluator reads through: a scope chain and the names bound at one place |
| Cmorph::ui::detail::host::ParamsEnv | The environment identityOf evaluates in: the params, and nothing else. Reading anything else marks it unknown |
| Cmorph::ui::EvaluateReply | The body of a ui-evaluate reply: what ActionDispatcher::evaluate answered |
| Cmorph::ui::ExplorerOptions | What an Explorer shows, and what it reports |
| Cmorph::ui::Expr | One node of a parsed expression. Immutable once parsed; shared between the document and its readers |
| Cmorph::ui::FetchRequest | The body of a ui-fetch request |
| Cmorph::ui::FieldState | The 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::FileInfo | What a file is, as its uploader described it |
| Cmorph::ui::FilePicker | A file path, typed or chosen in the platform's file dialog |
| Cmorph::ui::FileReply | The body of a ui-file reply: the members its op answers, the others absent |
| Cmorph::ui::FileRequest | The body of a ui-file request: one step of an upload or a download, named by op |
| Cmorph::ui::FileSlice | A slice of a stored file |
| Cmorph::ui::FileTransfer | The 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::ForEach | One widget per row of a keyed collection, updated in place when a row with the same key changes |
| Cmorph::ui::FormatContext | What the display functions and t format with: the client's locale and its formatting facts |
| Cmorph::ui::FormattedMessage | A formatted message, and the variables it could not format |
| Cmorph::ui::Frontend | A frontend: owns an event loop and a renderer, and runs one source's screens |
| Cmorph::qt_quick::Frontend | Runs a morph application in a Qt Quick window, on the calling thread |
| Cmorph::tui::Frontend | Runs a morph application in a terminal, on one thread |
| Cmorph::ui::FrontendError | Why no frontend was selected |
| Cmorph::ui::FrontendOption | One frontend a binary was built with |
| Cmorph::ui::Grid | Cells laid out row-major in a fixed number of columns |
| Cmorph::ui::GridCell | One cell of a Grid |
| Cmorph::ui::HeadAction | An action of a screen's head, as its handle answers it |
| Cmorph::ui::HeadBadge | A status badge of a screen's head, as its handle answers it |
| Cmorph::ui::HelloReply | The body of a ui-hello reply |
| Cmorph::ui::HelloRequest | The body of a ui-hello request: what the client speaks and carries |
| Cmorph::ui::HostArg | One argument of a host command |
| Cmorph::ui::HostCommand | A command the application registers, such as restartApp or openPath |
| Cmorph::ui::HostCommandResult | What running a host command (host/1) did |
| Cmorph::ui::HostCommands | The client's host commands, as a session runs them (spec 6 §14) |
| Cmorph::ui::HostValue | A value the application registers, such as sync.needsYouCount |
| Cmorph::ui::HostVocabulary | The client's host vocabulary: what it registered, and whether its documents came over a verified connection |
| Cmorph::ui::IBundleStore | Where a client keeps verified files between runs, by content hash, and the digest of each application's last verified bundle |
| Cmorph::ui::MemoryBundleStore | An IBundleStore in memory: it lasts as long as the process. Safe to call from any thread |
| Cmorph::ui::IFileStore | Where 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::MemoryFileStore | An IFileStore in memory: bounded per file and per principal; an upload that stalls expires |
| Cmorph::ui::IHistory | A history of routes: a browser's session history, or a test's |
| Cmorph::ui::testing::MemoryHistory | A history of routes in memory: the entries, the current one, and back, forward and an edited address |
| Cmorph::ui::InlineFile | A file whose bytes a document moves inline: download from bytes, upload into bytes |
| Cmorph::ui::InspectedNode | A mounted node as the inspector lists it |
| Cmorph::ui::InspectedQuery | A query or mutation as the inspector lists it |
| Cmorph::ui::Inspector | The 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::Interpreter | Mounts UI documents (spec 5): one per client process or window, over a session and a dispatcher |
| Cmorph::ui::InterpreterHost | What 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::ApplicationHost | The 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::DocumentScreenHost | The 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::InterpreterOptions | What an Interpreter is built with |
| Cmorph::ui::IPreferencesStore | Stores customization choices as JSON text, by PrefKey |
| Cmorph::ui::MemoryPreferencesStore | The framework's store: a map held in memory, on its own strand |
| Cmorph::ui::IViewBackend | Makes 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::Backend | ui::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::Backend | Builds every widget of a mounted view tree as a core::tui::Component on one Screen |
| Cmorph::ui::testing::RecordingBackend | A 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::KeyBinding | A keyboard chord a node handles while focus is inside it |
| Cmorph::ui::KeyValue | Captions beside their values, one pair per row |
| Cmorph::ui::KeyValueItem | One row of a KeyValue list |
| Cmorph::ui::LayoutHints | A widget's size request in both dimensions, and the bounds its extent is clamped into |
| Cmorph::ui::LetDecl | A derived value (let) |
| Cmorph::ui::LoadedBundle | A bundle the client verified: what the shell mounts, and what it was verified against |
| Cmorph::ui::LoadOptions | Options of loadDocument |
| Cmorph::ui::LoadWarning | A finding of load-time validation that does not refuse the document |
| Cmorph::ui::LoggedCommand | One command of a command list the inspector's log shows (spec 6 §21) |
| Cmorph::ui::Manifest | A bundle's manifest: every file the application serves, by its hash (spec 5 §12, "Content addressing") |
| Cmorph::ui::ManifestFile | One file of a manifest |
| Cmorph::ui::McpAdapter | Serves MCP's tools over one server connection (spec 8 §11) |
| Cmorph::ui::McpOptions | What an McpAdapter is built with |
| Cmorph::ui::MemoryFileStoreOptions | How much a MemoryFileStore keeps |
| Cmorph::ui::Menu | A vertical list of commands |
| Cmorph::ui::MenuEntry | One entry of a menu as a MenuWidget shows it |
| Cmorph::ui::MenuItem | One entry of a Menu: its label and its handler in one place, so there are no parallel lists |
| Cmorph::ui::MessageCatalogues | The message catalogues of one bundle, by locale, and the provider t resolves through |
| Cmorph::ui::MessageLocale | The locale a message is formatted for |
| Cmorph::ui::MessagePart | One part of a pattern: literal text, or a placeholder of a variable |
| Cmorph::ui::MessagePattern | A parsed message in the ui/1 subset of MessageFormat 2 |
| Cmorph::ui::MessageVariant | One variant of a .match: a key per selector (* is the catch-all) and its pattern |
| Cmorph::ui::ModelChannel | One bound model alias: the instance a document's alias names, and the calls made through it |
| Cmorph::ui::ModelDecl | A model alias |
| Cmorph::ui::ModelInfo | What the catalog says about a model type |
| Cmorph::ui::Mounted | A view tree mounted on a backend: its widgets, built once, and the bindings that keep them current |
| Cmorph::ui::MountedScreen | A mounted screen a reload may remount |
| Cmorph::ui::MountedShell | What 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::MountError | Why a screen could not be mounted |
| Cmorph::ui::MountOptions | What Interpreter::mount is given beside the document |
| Cmorph::ui::MutationDecl | A mutation (spec 5 §5) |
| Cmorph::ui::NameResolver | What an expression's names resolve to, for checkExpression: the document's scopes implement it |
| Cmorph::ui::PermissiveResolver | A resolver that accepts every name as any: for an expression checked outside a document |
| Cmorph::ui::detail::ScopeResolver | Resolves an expression's names against a scope chain and a context |
| Cmorph::ui::NavigateRequest | What navigate asks the host to open (spec 6 §16, §20) |
| Cmorph::ui::Navigator | The catalog as a list a person opens screens from, with a title search and pinned shortcuts |
| Cmorph::ui::NavigatorOptions | How a Navigator lists the catalog and what it reports |
| Cmorph::ui::NodeData | What a Node points at: exactly one node kind |
| Cmorph::ui::OptimisticDecl | An optimistic write: the row a mutation run predicts before its reply |
| Cmorph::ui::Panel | A titled frame around one child; a collapsible one is an accordion section |
| Cmorph::ui::PreferencesLoaded | What loading a screen's choices did |
| Cmorph::ui::PreferencesModel | The server's preferences model: reads and writes the calling person's choices through a store |
| Cmorph::ui::PreferencesOptions | The preferences model's bounds |
| Cmorph::ui::PreferenceSync | Talks to the server's preferences model (morph.preferences) for one application, through the interpreter's Dispatcher |
| Cmorph::ui::PrefKey | Where one choice is stored |
| Cmorph::ui::PrefLoad | load: the stored choices of a screen's points. A request carries no person |
| Cmorph::ui::PrefRemove | remove: forgets one choice. A request carries no person |
| Cmorph::ui::PrefRemoved | What remove answers |
| Cmorph::ui::PrefSet | set: stores one choice. A request carries no person |
| Cmorph::ui::PrefStored | What set answers |
| Cmorph::ui::PrefValues | What load answers |
| Cmorph::ui::Progress | A 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::Quantity | An exact decimal with a unit: the id of a unit of the server's unit systems (x-unitAlternatives) |
| Cmorph::ui::QueryDecl | A query (spec 5 §5) |
| Cmorph::ui::Refusal | Why a document, an expression or a value was refused: where, and the reason |
| Cmorph::ui::ReloadOutcome | What reloadDocuments did |
| Cmorph::ui::Rgba | A colour, 8 bits per channel |
| Cmorph::ui::Route | A route read back: the screen and its params |
| Cmorph::ui::RouteHistory | Keeps 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::Row | Children laid out left to right |
| Cmorph::ui::ScopeDecl | The declarations of one scope, in declaration order |
| Cmorph::ui::Screen | A mounted screen: its scopes, its view mounted through Mounted, and what its host asks of it |
| Cmorph::ui::ScreenHandle | One mounted screen, as its host sees it |
| Cmorph::ui::Explorer | The 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::ScreenHead | A 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::ScreenHost | What mounts screens for a host that owns its own shell; the workspace shell is one |
| Cmorph::ui::DocumentScreenHost | The 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::ScreenHostRegistry | The host screens an application registers by name: what a catalog entry's host names instead of a document |
| Cmorph::ui::Scroll | A scrollable viewport around one child |
| Cmorph::ui::Select | A choice of one option |
| Cmorph::ui::SelectOption | One option of a Select |
| Cmorph::ui::ServedBundle | An application's bundle, built and immutable: what UiService serves |
| Cmorph::ui::ServedFile | One file a bundle serves, with every manifest entry whose bytes it is |
| Cmorph::ui::ServedFile::Holder | One manifest entry that names the file |
| Cmorph::ui::ServedScreen | A screen as the bundle serves it |
| Cmorph::ui::Session | What 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::SessionOptions | What a Session is built with |
| Cmorph::ui::ShellFrame | The frame around a client's screens |
| Cmorph::ui::ShellFrameOptions | What a ShellFrame shows and reports |
| Cmorph::ui::Sizing | How much space a widget asks for along one dimension, in backend units (a character cell on the TUI) |
| Cmorph::ui::Slider | An 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::Spacer | Empty space that takes what its layout hints ask for |
| Cmorph::ui::Splitter | Panes side by side, or stacked, with handles the user drags to share the space between them |
| Cmorph::ui::StateDecl | A state declaration |
| Cmorph::ui::Step | One step of a Steps indicator |
| Cmorph::ui::Steps | The steps of a process in order, each with its state |
| Cmorph::ui::Switch | Shows the case whose key the selector yields; remounts only when that key changes |
| Cmorph::ui::SwitchCase | One case of a Switch |
| Cmorph::ui::Tab | One page of Tabs |
| Cmorph::ui::Table | Keyed rows of cells under column headers. Each row's view is a Row whose children are the cells, one per column |
| Cmorph::ui::TableColumn | One column of a Table |
| Cmorph::ui::TableOptions | Everything about a table beyond its columns and rows |
| Cmorph::ui::TableRowView | What a table's row view builds for one row: its cells, one per column, and its tone |
| Cmorph::ui::Tabs | A tab bar over pages |
| Cmorph::ui::testing::ConformanceCase | One scripted case |
| Cmorph::ui::testing::ConformanceProbe | How the conformance cases read and drive one backend under test |
| Cmorph::ui::testing::detail::Callbacks | The handlers a widget was given, which the interaction helpers call |
| Cmorph::ui::testing::detail::Checks | Collects a case's checks and keeps the first failure, so a case reads top to bottom |
| Cmorph::ui::testing::detail::Entry | A 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::Geometry | Reads where the layout cases' widgets are drawn, and fails a case whose probe reads no geometry |
| Cmorph::ui::testing::detail::HandlerLife | What LifeSentinel reports about the handler that holds it |
| Cmorph::ui::testing::detail::LifeSentinel | Captured by value in a handler, tells whether the backend destroyed the handler while it ran |
| Cmorph::ui::testing::detail::Measured | The container a case measures, the one child of the mounted root, and its children in order |
| Cmorph::ui::testing::detail::Record | One fake widget's state |
| Cmorph::ui::testing::detail::RecordStore | The records, the roots and the operation log that every fake widget of one backend writes to |
| Cmorph::ui::testing::WidgetBounds | Where 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::Text | Static or bound text |
| Cmorph::ui::TextInput | An editable text field. The backend never reports its own setText back through onChange |
| Cmorph::ui::ThemeIndex | The index of a theme: which token files make up each variant |
| Cmorph::ui::ThemeShadow | A shadow of the set, resolved |
| Cmorph::ui::ThemeShadowSpec | A shadow token's default, in the form a constexpr table can hold |
| Cmorph::ui::ThemeTokenSpec | One token of the closed ui-theme/1 set: its path, kind and the MorphUi default |
| Cmorph::ui::ThemeValues | The ui-theme/1 set's values for one resolved theme |
| Cmorph::ui::Token | One token: its DTCG type and its value, which may hold aliases until the set is resolved |
| Cmorph::ui::Type | A document type (spec 5 §3): a kind, whether null is allowed, and a list's element type |
| Cmorph::ui::UiClient | Opens an application's bundle through the UI service, verifying everything it fetches |
| Cmorph::ui::UiRegistry | Collects an application's screens and files and builds the bundle the UI service serves |
| Cmorph::ui::UnitInfo | One unit of the server's unit systems, as x-unitAlternatives declares it |
| Cmorph::ui::UploadRequest | What 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::Value | The document's typed value (spec 5 §3): what every expression evaluates to |
| Cmorph::ui::VerifiedCache | A content-addressed cache that hands out only bytes that hash to the hash they are asked for |
| Cmorph::ui::Virtualization | When 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::WatchDecl | A cascade: commands that run when a value changes (spec 5 §6) |
| Cmorph::ui::Widget | A retained widget. A new widget is visible, enabled, content-sized, not draggable and not a drop target |
| Cmorph::ui::BadgeWidget | A short label marking a state |
| Cmorph::ui::testing::detail::FakeLeaf< BadgeWidget > | |
| Cmorph::ui::testing::detail::FakeBadge | A fake BadgeWidget: properties tone, text, icon |
| Cmorph::ui::BannerWidget | A 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::FakeBanner | A fake BannerWidget: properties tone, text, actionLabel, dismissible |
| Cmorph::ui::BusyWidget | A progress indicator |
| Cmorph::ui::testing::detail::FakeLeaf< BusyWidget > | |
| Cmorph::ui::testing::detail::FakeBusy | A fake BusyWidget: properties active, label |
| Cmorph::ui::ButtonWidget | A push button |
| Cmorph::ui::testing::detail::FakeLeaf< ButtonWidget > | |
| Cmorph::ui::testing::detail::FakeButton | A fake ButtonWidget: properties label, emphasis, icon, style and selected |
| Cmorph::ui::ContainerWidget | A widget with children. A factory given this container appends the new widget as its last child |
| Cmorph::ui::CollapsibleWidget | A 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::FakeCollapsible | A fake CollapsibleWidget: properties title, header (the header child's id), open |
| Cmorph::ui::DialogWidget | A 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::FakeDialog | A fake DialogWidget: properties open, title; a Footer child once its footer is asked for |
| Cmorph::ui::DrawerWidget | A 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::FakeDrawer | A fake DrawerWidget: properties side, open, title; a Footer child once its footer is asked for |
| Cmorph::ui::DropZoneWidget | A 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::FakeDropZone | A fake DropZoneWidget: properties accept ([.ext,…]), multiple |
| Cmorph::ui::GridWidget | Children laid out row-major in columns |
| Cmorph::ui::testing::detail::FakeLeaf< GridWidget > | |
| Cmorph::ui::testing::detail::FakeContainer< GridWidget > | |
| Cmorph::ui::testing::detail::FakeGrid | A fake GridWidget: properties columns, gap, align, and span on a child |
| Cmorph::ui::PanelWidget | A titled frame around its children, optionally collapsible |
| Cmorph::ui::testing::detail::FakeLeaf< PanelWidget > | |
| Cmorph::ui::testing::detail::FakeContainer< PanelWidget > | |
| Cmorph::ui::testing::detail::FakePanel | A fake PanelWidget: properties title, header (the child's id), padding, collapsible, collapsed |
| Cmorph::ui::ScrollWidget | A scrollable viewport, on the axis fixed at creation, that keeps the focused child visible |
| Cmorph::ui::SlotWidget | A 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::SplitterWidget | Panes 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::FakeSplitter | A fake SplitterWidget: properties axis, sizes ([n,…]) |
| Cmorph::ui::StackWidget | Children stacked along one axis, fixed at creation |
| Cmorph::ui::testing::detail::FakeLeaf< StackWidget > | |
| Cmorph::ui::testing::detail::FakeContainer< StackWidget > | |
| Cmorph::ui::testing::detail::FakeStack | A fake StackWidget, of kind Column or Row: properties gap, align, justify |
| Cmorph::ui::TableWidget | Keyed 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::FakeTable | A fake TableWidget: properties columns, selectionMode, selection, and rowKey on a row |
| Cmorph::ui::TabsWidget | A tab bar over page slots |
| Cmorph::ui::testing::detail::FakeLeaf< TabsWidget > | |
| Cmorph::ui::testing::detail::FakeContainer< TabsWidget > | |
| Cmorph::ui::testing::detail::FakeTabs | A fake TabsWidget: properties tabs, selected, barShown |
| Cmorph::ui::CustomWidget | A 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::FakeCustom | A fake loaded CustomWidget: property component, and each prop as prop.<name> |
| Cmorph::ui::EmptyStateWidget | What a region shows when it has nothing to show |
| Cmorph::ui::testing::detail::FakeLeaf< EmptyStateWidget > | |
| Cmorph::ui::testing::detail::FakeEmptyState | A fake EmptyStateWidget: properties title, text, icon, actionLabel |
| Cmorph::ui::FieldWidget | A widget that shows a value: text, or an input. A new field is editable, not required, without errors and not stale |
| Cmorph::ui::CheckboxWidget | A labelled check box |
| Cmorph::ui::testing::detail::FakeLeaf< CheckboxWidget > | |
| Cmorph::ui::testing::detail::FakeField< CheckboxWidget > | |
| Cmorph::ui::testing::detail::FakeCheckbox | A fake CheckboxWidget: properties label, checked |
| Cmorph::ui::DateTimeInputWidget | A 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::FakeDateTimeInput | A fake DateTimeInputWidget: properties mode, offset, value, caption, captionShown |
| Cmorph::ui::FilePickerWidget | A 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::FakeFilePicker | A fake FilePickerWidget: properties mode, path |
| Cmorph::ui::SelectWidget | A choice of one keyed option |
| Cmorph::ui::testing::detail::FakeLeaf< SelectWidget > | |
| Cmorph::ui::testing::detail::FakeField< SelectWidget > | |
| Cmorph::ui::testing::detail::FakeSelect | A fake SelectWidget: properties style, options, selected, caption, captionShown |
| Cmorph::ui::SliderWidget | An integer on a range |
| Cmorph::ui::testing::detail::FakeLeaf< SliderWidget > | |
| Cmorph::ui::testing::detail::FakeField< SliderWidget > | |
| Cmorph::ui::testing::detail::FakeSlider | A fake SliderWidget: properties range (minimum..maximum/step), value |
| Cmorph::ui::TextInputWidget | An editable text field |
| Cmorph::ui::testing::detail::FakeLeaf< TextInputWidget > | |
| Cmorph::ui::testing::detail::FakeField< TextInputWidget > | |
| Cmorph::ui::testing::detail::FakeTextInput | A fake TextInputWidget: properties mode, text, placeholder, unit, decimals, icon, caption, captionShown, the field state, and a text cursor |
| Cmorph::ui::TextWidget | Read-only text |
| Cmorph::ui::testing::detail::FakeLeaf< TextWidget > | |
| Cmorph::ui::testing::detail::FakeField< TextWidget > | |
| Cmorph::ui::testing::detail::FakeText | A fake TextWidget: properties text, role |
| Cmorph::ui::KeyValueWidget | Captions beside their values |
| Cmorph::ui::testing::detail::FakeLeaf< KeyValueWidget > | |
| Cmorph::ui::testing::detail::FakeKeyValue | A fake KeyValueWidget: property items ([label:value,…]) |
| Cmorph::ui::MenuWidget | A menu of commands, with nested submenus |
| Cmorph::ui::testing::detail::FakeLeaf< MenuWidget > | |
| Cmorph::ui::testing::detail::FakeMenu | A fake MenuWidget: property items |
| Cmorph::ui::ProgressWidget | A progress bar |
| Cmorph::ui::testing::detail::FakeLeaf< ProgressWidget > | |
| Cmorph::ui::testing::detail::FakeProgress | A fake ProgressWidget: properties value (as formatFraction gives it), label |
| Cmorph::ui::SpacerWidget | Empty space |
| Cmorph::ui::StepsWidget | The steps of a process, each with its state |
| Cmorph::ui::testing::detail::FakeLeaf< StepsWidget > | |
| Cmorph::ui::testing::detail::FakeSteps | A fake StepsWidget: properties steps ([label:State,…]), current (a position, or none) |
| Cmorph::ui::ToastWidget | A 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::FakeToast | A fake ToastWidget: properties text, tone, and shown (incremented on every show, so a test can tell a replace from a no-op) |
| Cmorph::ui::Workspace | Tabs 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::WorkspaceModel | The 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::WorkspaceOptions | How a workspace treats screens |
| Cmorph::ui::WorkspaceModelOptions | A WorkspaceModel's options: the workspace's, and how a tab's page is made and unmade |
| Cmorph::ui::WorkspaceScreen | What the shell needs to know of one screen id: the catalog's singleton and reuseEmpty |
| Cmorph::ui::WorkspaceStart | How a workspace starts (spec 6 §7, app-start) |
| Cmorph::ui::WorkspaceTab | One open tab, as an application's tab menu or a test reads it |
| Cmorph::ui::WorkspaceTabId | A tab's identity in a WorkspaceModel: issued when it opens, never reused |
| Cmorph::ui::WorkspaceTabState | One 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::QuantityBounds | Optional 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::UnitMeta | Static 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::ActionDescriptor | One action a view screen can fire — the row opener (v-rowAction) or an entry of v-actions |
| Cmorph::views::BindEntry | Maps 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::CollectionView | Tag type: V::kind selects a plain list/table screen |
| Cmorph::views::ColumnOverride | Declare-to-override entry for one derived column of a collection view |
| Cmorph::views::MasterDetailView | Tag 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::ViewRegistry | Process-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::ChangesBody | The payload of a changes event |
| Cmorph::wire::detail::EscapingWriteOpts | Write options that escape ASCII control bytes as \\uXXXX sequences |
| Cmorph::wire::Envelope | JSON wire envelope used between any client and RemoteServer |
| Cmorph::wire::EventBody | The decoded body of an event envelope |
| Cmorph::wire::InstanceTopic | One instance topic: a model type, its directory key text and its instance id |
| Cmorph::wire::ProtocolRange | Inclusive protocol-version range a server advertises in reply to "hello" |
| Cmorph::wire::WatchBody | The body of a watch or unwatch request |
| Cmorph::wire::WatchReply | The body of the ok reply to a watch: the topics the server refused |
| Cmorph::wire::WireCodecOps | The serialisation primitive encode calls, as an injectable strategy |
| Cstd::exception | STL class |
| Cstd::logic_error | STL class |
| Cmorph::forms::ConflictingOptionsError | Thrown 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::IncompleteOptionsError | Thrown 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::UnsatisfiableFormError | Thrown 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::DuplicateRegistrationError | Thrown 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::EffectsRegistrationError | Thrown on a read of the effects or record registry when the registered configuration is invalid |
| Cmorph::ui::author::AuthoringError | What 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_error | STL class |
| Cmorph::backend::BackendChangedError | Thrown to in-flight Completions when Bridge::switchBackend() runs |
| Cmorph::backend::BridgeDestroyedError | Thrown to in-flight Completions when Bridge is destroyed |
| Cmorph::backend::ClientTimeoutError | Thrown 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::DisconnectedError | Thrown 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::HandlerDestroyedError | Thrown to every call a BridgeHandler still holds for its bind when the handler is destroyed before the bind settles |
| Cmorph::backend::TimeoutError | Thrown to a pending Completion when the server-side morph::backend::LimitPolicy::executeTimeout elapses before the model's action replies |
| Cmorph::forms::QuantityDecodeError | Thrown when a decoded action has a Quantity field whose engaged value falls outside its unit's declared bounds (UnitTraits<E>::bounds) |
| Cmorph::journal::NullSinkError | Thrown by OutboxRelay::relay() when sink is null |
| Cmorph::journal::SchemaMismatchError | Thrown 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::SerializationError | Thrown by toJson/fromJson when LogEntry (de)serialisation fails |
| Cmorph::model::ActionRecordingError | Thrown when an action executed and its mutation committed, but the framework could not finish reporting that success |
| Cmorph::model::ValidationError | Thrown when a decoded action fails ActionValidator<Action>::ready(...) on a server-side or local execution path, before Model::execute runs |
| Cmorph::offline::FileOfflineQueueError | Thrown 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::OfflineQueueFullError | Thrown by enqueue() when the queue is at its configured maxDepth() |
| Cmorph::offline::SqliteOfflineQueueError | Thrown when a SQLite operation used by SqliteOfflineQueue fails |
| Cmorph::session::TokenIssuanceError | Thrown by TokenIssuer::issue if serialising the claims fails |
| Cmorph::ui::detail::DocumentRefused | The exception the loader throws inside itself; loadDocument turns it into its result |