morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 Nmorph
 Napp
 CMenuEntryOne app-menu entry: a label and the screen-id it routes to
 CFormScreenA screen backed by one registered action's form
 CWizardScreenA screen backed by a registered morph::flows::Wizard
 CAppThe app-shell descriptor: a title, an ordered menu, and the screens it routes to
 CAppTraitsTraits specialisation mapping an App type to its string type-id
 Nasync
 CCallbackScopeOwned lifetime-and-stop gate for asynchronous callbacks — a data member, not a base class
 CCallbackTokenWeak, copyable observer of a CallbackScope — the half a callback captures
 CCompletionMove-only handle representing the eventual result of an asynchronous operation
 CPromiseProducer-side handle paired with a Completion<T> by makeSettleable()
 CDelayAwaiterThe awaiter delay() returns: suspends until a TimeoutScheduler entry fires, or until a stop withdraws it
 Nbackend
 CBackendChangedErrorThrown to in-flight Completions when Bridge::switchBackend() runs
 CBridgeDestroyedErrorThrown to in-flight Completions when Bridge is destroyed
 CClientTimeoutErrorThrown 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
 CConnectionFactsWhat a RemoteServer knows about one connection that a service, not core, decides: handed to IEnvelopeService::handle with each envelope
 CConnectionWriterA transport's outbound side of one connection, for what the server sends unasked: events
 CDisconnectedErrorThrown 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
 CHandlerDestroyedErrorThrown to every call a BridgeHandler still holds for its bind when the handler is destroyed before the bind settles
 CHealthStatusSnapshot of a RemoteServer's current health
 CIEnvelopeServiceEnvelope kinds a RemoteServer answers through an extension, such as the UI service's ui-* kinds
 CIEnvelopeTransportWhat a wire transport offers beside IBackend: one request, one reply, matched by callId
 CLimitPolicyOpt-in, connection-agnostic resource limits enforced by RemoteServer
 CLocalBackendIn-process backend that executes model actions on a thread pool strand
 CRemoteServerServer-side message handler that owns model instances and dispatches actions
 CServerConfigEverything about a RemoteServer that is configured rather than learned: given once, at construction, and never changed
 CSimulatedRemoteBackendIBackend adapter that routes all calls through a RemoteServer as wire Envelope messages
 CSynchronousBackendAdapterMakes a blocking backend reach its caller without blocking it — and without touching the backend
 CTimeoutErrorThrown to a pending Completion when the server-side morph::backend::LimitPolicy::executeTimeout elapses before the model's action replies
 Nbridge
 CActionExecuteRegistryType-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)
 CBridgeCentral dispatcher that routes typed actions to an IBackend
 CNoSharingBridgeHandler sharing policy: private, one instance per handler
 CAllowSharedBridgeHandler sharing policy: joins the shared instance directory
 CBridgeHandlerRAII wrapper that binds a single model type to a Bridge
 CRawHandlerA handler for a model known only by its registered type id
 Nclient
 CApplicationHostThe 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
 CArgsWhat the generic client reads from its command line
 CLocalAppAn application the client links and runs in-process
 CLocalSetupWhat a local application is set up with
 CLocalSourceRuns 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
 CRemoteSourceFetches the screens from a server (--server), over the transport the frontend calls for
 CRemoteTransportA connection to a server: the bridge's backend and its request verb, which are one object
 CShellOptionsWhat a client shell reports, and how it starts
 CSignedInWhat a sign-in installs: the principal, and the session token its server needs (empty for none)
 CSourceAn AppSource that also hands the shell what it mounts screens with, once it delivered a bundle
 CTransportWhat a concrete source opens with: the bridge's backend and the exchange the UI service is reached by
 Ncore
 CFileIoOpsThe 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
 Ndetail
 CFixedStringA structural, NTTP-capable compile-time string
 Neffects
 Ndetail
 CDeclaredEffectOne effect as a registrar records it: the record still a type, not yet a name
 CEffectOfMaps an effect tag type to its DeclaredEffect
 CResolvedThe matched and validated registries: what every read is answered from
 CActionRecordA record an action's result holds, and where
 CChangesWhat one successful execute changed
 CchangesEffect: the action may create, remove or change rows of record R, which its result need not carry
 CchangesInstanceEffect: the state of the instance the action ran on changed
 CEffectOne effect of an action, with its record resolved to a wire name
 CInstanceChangeA change to the state of one model instance
 CnoneEffect: the action changes nothing, declared explicitly
 CRecordChangeA change to the rows of one record type
 CupdatesEffect: the action edits existing rows of record R, and its result carries them
 Nexec
 CIExecutorAbstract executor interface
 CIoLoopOwns a core::net::PlatformLoop and, for IoLoopDriver::OwnThread natively, the one thread that runs it
 CWeakA non-owning handle that posts to the loop only while it exists
 CMainThreadExecutorSingle-thread executor intended for use on the calling (main) thread
 COwnerStrandOne strand over a morph executor, usable wherever a morph executor is: the owner a component's state belongs to
 CThreadPoolExecutorMulti-threaded executor backed by a fixed-size thread pool
 Nflows
 CWizardStepOne step of a Wizard: a registered action, a display title, and zero or more Bind prefill declarations
 CWizardAn ordered sequence of WizardSteps sharing one flow
 CWizardTraitsTraits specialisation mapping a Wizard type to its string type-id
 CFlowSessionSequences an ordered list of registered actions (Steps...) as one multi-step flow sharing captured values across steps
 Nforms
 CAndCompound 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
 CAtLeastOneOfRule: at least one of the listed fields is engaged
 CBindOne field -> "<ActionTypeId>.<field>" prefill binding declared on a wizard step or an unordered section
 CChoiceAn optionally-empty value selected from options served by another action
 CChoiceOptionOne selectable value of an Enum or a Choice
 CChoiceSpecWhere a Choice's options come from (x-optionsAction and its companions)
 CCollectionActionOne v-rowAction or v-actions entry
 CCollectionChromeReplacements for the parts of a collection view a host draws from its own UI kit. Each one left empty keeps the built-in part
 CCollectionColumnOne v-columns entry
 CCollectionModelThe immutable model of a v-* view document
 CCollectionRowOne listed row
 CCollectionSessionThe 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
 CCollectionViewOptionsHow collectionView draws a collection and labels its chrome
 CConflictingOptionsErrorThrown 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
 CConstraintViolationOne violation: which field, and which declared key it broke
 CEngagedCondition: field is engaged (has a value). One of the closed condition kinds a requiredWhen / visibleWhen / readonlyWhen rule's when clause accepts
 CEqualsCondition: 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
 CExactlyOneOfRule: exactly one of the listed fields is engaged
 CFieldConstraintThe per-instance constraint declared for one field of an action
 CFieldErrorWhy a draft does not encode: a stable code and the message shown beside the field
 CFieldGroupOne named group of fields in an action's formLayout
 CFieldGroupSpecOne x-layout group, or the implicit group of the fields no group names
 CFieldMetaPer-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")
 CFieldOverlayWhat 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
 CFieldSpanA field's declared column span in a grid renderer
 CFieldSpecEverything the engine knows about one field, from its schema property
 CFieldStateThe reactive state of one field: its draft and everything derived from it
 CFieldViewA 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
 CFormA form over action A: a FormSession built from schemaJson<A>(), submitting through a BridgeHandler, with typed set<>, value() and lastResult()
 CFormModelThe immutable runtime model of one action's form
 CFormSessionThe reactive state of one form: a controller over a FormModel
 CFormSessionOptionsHow a session reads numbers, dates and text
 CFormViewOptionsHow formView lays a form out and labels its chrome
 CGreaterRule/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<=>
 CGreaterOrEqualRule/condition: *lhs >= *rhs when both operands are engaged; vacuously satisfied when either is unengaged. See Greater for the exact-value / vacuous-operand rationale
 CIncompleteOptionsErrorThrown 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
 CInstanceConstraintsA 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
 CLessRule/condition: *lhs < *rhs when both operands are engaged; vacuously satisfied when either is unengaged. See Greater for the exact-value / vacuous-operand rationale
 CLessOrEqualRule/condition: *lhs <= *rhs when both operands are engaged; vacuously satisfied when either is unengaged. See Greater for the exact-value / vacuous-operand rationale
 CMultilineA string field edited as a multi-line text area
 CMutuallyExclusiveRule: at most one of the listed fields is engaged
 CNotCompound 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
 CNotEngagedCondition: field is not engaged. The complement of engaged
 COrCompound condition: at least one of Conds... holds. Nests to any depth, and is usable directly as a top-level formRules entry, exactly like And
 COverridesReplacement controls, resolved per field in the order field path, widget hint, unit, kind, else the built-in control
 CPendingConfirmA confirm-guarded action waiting for an answer
 CQuantityDecodeErrorThrown when a decoded action has a Quantity field whose engaged value falls outside its unit's declared bounds (UnitTraits<E>::bounds)
 CRangedA bounded numeric field edited as a slider
 CReadonlyWhenPresentation 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
 CRequiredWhenRule: field must be engaged whenever Cond holds; vacuously satisfied (not required) while the condition does not hold
 CRowStateOne collection row: the element's member fields
 CRuleExprOne x-rules entry, or a condition inside one, and its translation into expr/1
 CRuleListComposed list of an action's declared cross-field rules — the value of A::formRules. Built by ruleList(...); never constructed directly
 CRuleOperandWhat a rule reads of one field
 CSchemaErrorWhy a schema does not read as a form: where, and why
 CSectionOne section of a SectionGroup: a registered action, a display title, and zero or more Bind prefill declarations
 CSectionGroupAn unordered set of Sections sharing one screen
 CSectionGroupTraitsTraits specialisation mapping a SectionGroup type to its string type-id
 CSectionSetDrives N independently editable action drafts on one screen
 CUnitOptionOne unit a Quantity can be entered in; the first of a field's units is canonical
 CUnsatisfiableFormErrorThrown by schemaJson<A>() when A's declared formRules contradict A's own derived required array so completely that no submission could satisfy both
 CValueContextThe session options a value conversion reads
 CVisibleWhenPresentation 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
 CWireValueOne field's encoded value
 CWizardChromeReplacements for the parts of a wizard view a host draws from its own UI kit. Each one left empty keeps the built-in part
 CWizardModelThe immutable model of a w-* wizard document
 CWizardSessionThe reactive state of one wizard: its steps' sessions, the position, and what each step resolved
 CWizardStepSpecOne w-steps entry
 CWizardViewOptionsHow wizardView draws a wizard and labels its chrome
 Njournal
 Ndetail
 CEscapingWriteOptsWrite options that escape ASCII control bytes as \\uXXXX sequences
 CScopedReplayFlagRAII helper that sets the thread-local replay flag for its scope, restoring the previous value on destruction
 CFileActionLogAppend-only, newline-delimited-JSON IActionLog backed by a local file
 CIActionLogInterface for durable storage of executed-action entries
 CInMemoryActionLogIn-memory implementation of IActionLog, owned by one executor
 CLogEntryOne recorded execution of an action against a model instance
 CNullSinkErrorThrown by OutboxRelay::relay() when sink is null
 COutboxRelayMoves 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
 COutboxRelayResultOutcome of one OutboxRelay::relay() call
 CPayloadMigrationRegistryRegistry of payload migrations, keyed by (actionType, fromSchema)
 CSchemaMismatchErrorThrown 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
 CScopedActionLogRAII helper that installs a default action log for its lifetime and restores the previous one on destruction
 CSerializationErrorThrown by toJson/fromJson when LogEntry (de)serialisation fails
 CSessionLogFull-fidelity, in-memory log of one model instance's executed actions
 Nlog
 CScopedLoggerOverrideRAII helper that swaps the global logger and level for the lifetime of the object, and restores them in the destructor
 Nmath
 CDecimalPlacesStrong type for a decimal-precision count
 CNumeratorStrong type for a Rational numerator
 CDenominatorStrong type for a Rational denominator
 CWireClampScopeObserves whether any Rational had to be clamped while decoding inside this scope
 CRationalExact rational number with a runtime decimal-precision tag
 CWireFlat JSON representation used by the Glaze codec below
 Nmodel
 CActionKeyTraitsDeclares where an action's model key comes from
 CActionLogPolicyPer-action policy deciding how repeated executions are checkpointed into a durable action log
 CActionRecordingErrorThrown when an action executed and its mutation committed, but the framework could not finish reporting that success
 CActionTraitsTraits specialisation that maps an action type to its id, JSON codec, and result type
 CActionValidatorPer-action readiness predicate deciding whether an action may execute
 CDuplicateRegistrationErrorThrown when a model id, or a model's action id, is registered for a type other than the one that already holds it
 CEffectsRegistrationErrorThrown on a read of the effects or record registry when the registered configuration is invalid
 CHandlerResultThe result an action handler's return type stands for: R for a core::async::Task<R> handler, the type itself for any other
 CHandlerResult<::core::async::Task< R > >HandlerResult for a Task handler
 CModelKeyTraitsThe key type of a model, when one has been declared for it
 CModelTraitsTraits specialisation that maps a model type to its string type-id
 CPayloadShapeTagDeclares a stable shape tag for a type T whose JSON shape payloadShape cannot decompose
 CPayloadShapeTag< morph::math::Rational >Stable shape tag for Rational, so a payload fingerprint can tell a Rational field from a Timestamp or a Quantity one
 CPayloadShapeTag< morph::time::DateTime >Stable shape tag for DateTime
 CPayloadShapeTag< morph::time::Timestamp >Stable shape tag for Timestamp
 CPayloadShapeTag< morph::units::Quantity< U, Dec > >Stable shape tag for Quantity<U, Dec>, carrying the unit's ascii id and the declared decimals
 CPayloadShapeTag< morph::util::Tagged< T, Tag > >Stable shape tag for Tagged<T, Tag>, carrying both the tag text and the wrapped type's own shape
 CValidationErrorThrown when a decoded action fails ActionValidator<Action>::ready(...) on a server-side or local execution path, before Model::execute runs
 Nnet
 CSocketBackendIBackend implementation that communicates with a RemoteServer over a raw-socket RFC 6455 WebSocket connection — no Qt, no GUI event loop required
 CSocketBackendConfigReconnect tuning for SocketBackend
 CSocketServerRaw-socket WebSocket server front for morph::backend::RemoteServer
 CSocketServerConfigConfiguration for SocketServer
 Nobserve
 CMetricEventOne metric observation delivered to the installed MetricSink
 CTraceSinkHost-supplied hooks bracketing one dispatch, for distributed tracing
 CScopedObserveOverrideRAII helper that snapshots the global metric and trace sinks and restores them in the destructor
 Noffline
 CAttemptsA replay attempt count, as a type distinct from a queue item id
 CFileOfflineQueueReference append-only, NDJSON-backed IOfflineQueue that persists payload, idempotencyKey, and attempts across process restarts with no third-party dependency
 CFileOfflineQueueErrorThrown 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
 CInMemoryOfflineQueueIn-memory implementation of IOfflineQueue, owned by one executor
 CInMemoryReplayLedgerIn-memory implementation of IReplayLedger, owned by one executor
 CIOfflineQueueInterface for durable storage of actions that could not be delivered
 CIReplayLedgerInterface for an op-id-keyed exactly-once replay ledger
 CNetworkMonitorConnectivity monitor that calls a probe on a timer and fires callbacks on state changes
 CNetworkMonitorConfigConfiguration for NetworkMonitor
 COfflineQueueFullErrorThrown by enqueue() when the queue is at its configured maxDepth()
 CQueueItemAn item stored in the offline queue
 CReconnectCoordinatorSequences reconnect → activate → bind → replay when connectivity returns
 CDepsInjected, host-supplied side effects. None may be null. Each is called on the offline strand
 CReconnectCoordinatorConfigTuning parameters for ReconnectCoordinator
 CSqliteOfflineQueueReference SQLite-backed IOfflineQueue: persists payload, idempotencyKey, and attempts across process restarts
 CSqliteOfflineQueueErrorThrown when a SQLite operation used by SqliteOfflineQueue fails
 CSyncResultAggregated result returned by SyncWorker::run()
 CSyncWorkerReplays queued actions from an IOfflineQueue on reconnect
 Nqt
 CQtExecutorIExecutor implementation that posts tasks to a Qt event loop
 CQtWebSocketBackendIBackend implementation that communicates with a RemoteServer over WebSocket
 CQtWebSocketBackendConfigReconnect tuning for QtWebSocketBackend
 CQtWebSocketServerQt WebSocket server that bridges incoming connections to a RemoteServer
 CQtWebSocketServerConfigPer-connection resource limits and bind/exposure policy enforced by QtWebSocketServer
 Nqt_quick
 CBackendui::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
 CBackendOptionsWhat a Backend is made with beside its engine and host item
 CComponentFailureWhy a component could not be loaded; reported once per component and reason
 CComponentsThe QML components a client renders beside the built-in kinds (spec 5 §10)
 CCustomRequestWhat IViewBackend::createCustom asks for
 CCustomWidgetA 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
 CFrontendRuns a morph application in a Qt Quick window, on the calling thread
 CFrontendConfigWhat a qt_quick::Frontend runs with
 CInspectorWindowA 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
 CQtSchedulerreactive::Scheduler on QTimers, for a runtime whose owner is the Qt event loop's thread
 Nreactive
 Ndetail
 CBatchScopeOpens a batch for its lifetime
 CEqualityUsableWhether == is usable for T: declared, and its element types usable too
 CEqualityUsable< std::optional< T > >An optional is usable when its value type is
 CEqualityUsable< std::pair< First, Second > >A pair is usable when both its types are
 CEqualityUsable< std::tuple< Ts... > >A tuple is usable when every element type is
 CEqualityUsable< std::variant< Ts... > >A variant is usable when every alternative is
 CEqualityUsable< 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
 CFlushBoundsThe bounds a flush keeps, as RuntimeOptions sets them
 CNodeA graph node: a source (Signal), an observer (Effect), or both (Computed)
 CRuntimeCoreState shared by one Runtime and every node made from it
 CTrackingFrameCollects the sources one tracked run reads, and restores the previous frame when it ends
 CUpdateCoversAllWhether Update handles every alternative of the variant Msg
 CUpdateCoversAll< Update, ViewState, std::variant< Alts... > >Whether Update handles every alternative of std::variant<Alts...>
 CUpdateFrameOne update in progress, on the stack of the send() running it
 CUpdateGuardMarks a Store as inside its update for the guard's lifetime
 CWidgetEventScopeMarks a widget callback for its lifetime
 Ntesting
 CManualSchedulerA deterministic Scheduler: its clock moves only in advance(), which fires what falls due on the calling thread
 CComputedA derived value: computed lazily on first read, cached, and recomputed only after a source it read really changed
 CEffectA side effect: runs once on construction, then in a flush after any source it read changed
 CInvalidationLinkA query's registration with the mutations that invalidate it
 CMutationA command: issues a write and tracks it, then refetches what the write invalidates
 CMutationOptionsHow a Mutation sequences its runs, and what a success invalidates
 CQueryA derived async resource: the result of fetching whatever its tracked key names
 CQueryOptionsHow a Query refreshes besides key changes, and how long it lets a key settle
 CRefetchableSomething a Mutation can tell to fetch again after it succeeds
 CRuntimeThe owner of a signal graph: every node takes one, and every operation runs on its owner
 CRuntimeOptionsHow a Runtime bounds and reports its flushes
 CRuntimeStatsWhat 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
 CSchedulerRuns callbacks after a delay or on a period, on the runtime's owner executor
 CScopeOwns effects, computeds and adopted objects; destroys them in reverse creation order
 CSignalA source value. Reading it with get() inside a tracked run subscribes that run
 CStoreUser-intent view state — what is selected, typed, open — changed only by messages
 CSubscriptionThe latest R the bridge published on a handler's instance, as reactive state
 CTimerHandleOwns one scheduled timer and cancels it when destroyed. Move-only
 Nrecord
 Ndetail
 CKeyOptionDetects a key<> option and exposes its member pointer
 CIsDerivedFromDetects a derivedFrom<> option
 CMemberTypeThe type of the data member a member pointer names
 CkeyOption for BRIDGE_REGISTER_RECORD: the record's key is the named member instead of id
 CkeylessOption for BRIDGE_REGISTER_RECORD: the record has no key
 CderivedFromOption for BRIDGE_REGISTER_RECORD: a change to any of S is a change to this record type
 CprivateKeysOption for BRIDGE_REGISTER_RECORD: the record's keys must not reach other principals
 CRecordInfoWhat one BRIDGE_REGISTER_RECORD declared
 Nrender
 Ndetail
 CCodePointOne decoded UTF-8 code point: its value and how many bytes it took
 CDigitMatchA digit matched at the start of an entry
 CSignMatchA sign matched at the start of an entry: how much of the text it occupies, and what it contributes to the canonical output
 CNumericLocaleThe locale facts both control-edge conversions need, in one designated-initialisable aggregate
 Nsession
 Ndetail
 CEscapingWriteOptsWrite options that escape ASCII control bytes as \\uXXXX sequences
 CScopedContextRAII helper that sets the thread-local Context for its scope
 CAllowAllAuthorizerDefault authorizer that permits everything
 CContextPer-call session context carried through the bridge to the model
 CIAuthorizerAuthorizes incoming actions on a RemoteServer
 CAdmissionWhat admit decides about one call: whether it may run, and under which verified principal
 CPrincipalThe signed-in user's verified identity, readable outside a dispatch
 CSessionTokenVerified claims carried by a session token
 CSigningAuthorizerIAuthorizer that authenticates via a signed Context::token
 CTokenIssuanceErrorThrown by TokenIssuer::issue if serialising the claims fails
 CTokenIssuerMints signed bearer tokens from claims using a shared secret
 CTokenVerifierVerifies signed bearer tokens against a shared secret
 Ntable
 Ndetail
 CIsOptionaltrue for std::optional<T>
 CIsOptional< std::optional< T > >true for std::optional<T>
 CJobInputEverything one view job reads. Immutable once the job starts
 CJobResultWhat a finished job hands back to the owner
 CListenersA source's listeners, notified so that a listener may unsubscribe itself or another, or destroy the source, from inside a notification
 CRawEntryThe operator an entry sets and its operand text
 CSlotCounterA Fenwick tree of slot occupancy: how many occupied slots precede a slot
 CViewJobOne recomputation of a view, runnable in steps
 CViewPositionsWhere each identity sits in each view
 CApplyOptionsHow apply runs
 CCellEditsCommits cell edits row by row, in order
 CChangeListenerReceives a DataSource's change notifications, on the owner thread
 CChunkedMergeSortA bottom-up merge sort over row indices that can stop and resume
 CCodePointCollatorThe default collator: code-point order, with ASCII and Latin-1 letters case-folded. It does not fold accents
 CColumnFilterThe filter on one column
 CColumnInfoA column's identity and kind
 CColumnLayoutColumn order and visibility, kept apart from the engine's view
 CColumnSinkReceives a run of one column's cells
 CCompiledFilterA filter compiled against a table's columns: every value parsed
 CEntryOne compiled condition
 CColumnOne column's compiled filter
 CGroupOne compiled group: per column, the entries that apply to it
 CDataSourceThe rows of a table, as the engine reads them
 CDateParserParses text to dates and date-times for Date and DateTime columns that hold text, and for filter values on those columns
 CEditRequestOne edited cell to commit
 CEngineSorts, filters and maps the view of one table
 CEngineOptionsHow an engine runs and what it is given
 CEngineStatsCounters for tests, benchmarks and profiler plots
 CFieldErrorA server's refusal of an edit, attached to the cell
 CFilterEntryOne filter condition. Exactly one operator member is set
 CFilterRunEvaluates a compiled filter over a candidate list, column at a time, in steps that yield at a deadline or a stop request
 CFilterSpecA table's whole filter
 CGroupFilterA filter over several columns: a row matches when the entries match on any of them, which is what a quick-search box needs
 CIsoDateParserThe default date parser: ISO 8601 only, whatever the format
 CKeyColumnOne column's keys, built once and shared, immutable, between jobs
 CPageOne page of a list action's reply
 CPageFetchA request a PageWindow asks the client to send, tagged with the query it belongs to
 CPageRequestWhich rows of the view a request wants
 CPageRowsThe rows of one page, as source row indices
 CPageWindowThe pages a server-mode table holds: those around the visible rows, up to a bound, plus the request state and the last error
 CProgressSinkReceives progress of a long sort or filter, on the owner thread
 CQuantityCellA quantity in its own unit, with the factor that converts it to the column's canonical unit
 CQueryLimitsThe bounds a server applies to every TableQuery, an untrusted body
 CRowChangeOne change notification
 CRowOrderA sort chain resolved to key columns: the comparator of a sort
 CKeyOne resolved key
 CRowPatcherReplaces a row by key; what a committed cell edit patches
 CRowSnapshotAn immutable view of a table's rows at one moment
 CRowsSnapshotA snapshot over a shared, immutable vector of typed rows
 CRowsSourceA DataSource over typed rows: one column per key glaze writes, its kind inferred from the value's type
 CSelectionA table's selected keys and active key
 CSelectionOptionsA selection's configuration
 CServicesThe services an engine sorts and filters with. A null member is replaced by its default
 CSortKeyOne key of a sort chain
 CTableCountsThe counts a status line shows
 CTableErrorThe error every fallible table call returns
 CTableQueryA table's sort, filters and page, as a list action's body carries them
 CTableSnapshotA RowSnapshot that stores rows in shared, immutable chunks
 CTextCollatorOrders and matches text. The renderer injects the toolkit's collator for the user's locale; CodePointCollator is the default
 CVectorSourceA DataSource over rows held in memory, for tests, servers and sources that cannot share their own storage
 CViewChangeThe operations that turn one view order into another
 CViewOpOne list-model operation
 Ntesting
 COwnerProbeRecorderRecords 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
 CSeenOne owner check
 CStepExecutorIExecutor that queues every posted task and runs them only when the test explicitly asks, one at a time
 Ntime
 CDateTimeA UTC instant with millisecond precision
 CScopedNowOverrideRAII helper that fixes DateTime::now() to a constant instant (or a custom callable) for its lifetime and restores the previous override on destruction
 CTimestampAn optionally-empty timestamp field
 Ntui
 CBackendBuilds every widget of a mounted view tree as a core::tui::Component on one Screen
 CFrontendRuns a morph application in a terminal, on one thread
 CFrontendConfigWhat a tui::Frontend runs on
 CLoopExecutorRuns every posted task in a later turn of one core::net::EventLoop, with this executor current
 Nui
 Nauthor
 Ndetail
 CIsOptionalWhether a type is a std::optional
 CIsOptional< std::optional< T > >A std::optional is one
 CUnwrappedA type with one std::optional removed
 CUnwrapped< std::optional< T > >The engaged type of a std::optional
 CIsVectorWhether a type is a std::vector
 CIsVector< std::vector< T, Alloc > >A std::vector is one
 CIsHandleWhether a type is a Handle
 CIsHandle< Handle< T > >A Handle is one
 CLiteralOfThe value type a constant stands for
 CLiteralOf< char[N]>Text is a std::string
 CLiteralOf< char const * >A C string is a std::string
 CLiteralOf< std::string_view >A string view is a std::string
 CValueOfThe value type of an operand: a handle's value type, or the type its constant stands for
 CValueOf< Handle< T > >A handle's value type
 CNodeWriterBuilds a node's JSON key by key, leaving out what is absent
 CAnyThe 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
 CAuthoringErrorWhat 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
 CModelFactsCatalog 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
 CActionFactsCatalog 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
 CCatalogFactsThe catalog facts the builders gathered from the model and action types a screen names
 CHandleAn expression of a document, typed by the C++ value it evaluates to (spec 5 §11)
 CElementAn element of the view, named by its id, whose live values relations read (spec 5 §6)
 CSelfThe dialog or drawer a command list runs in, for close
 CQueryRefA query of a scope, without its action type: what refetch, prefetch and optimistic name
 CMutationRefA mutation of a scope, without its action type: what signIn, upload and can name
 CQueryHandleA query declared by a scope
 CResultHandleA mutation's result: a Handle with no field reads
 CMutationHandleA mutation declared by a scope
 CBodyFieldOne field of an action body: a member of the action, and the expression that fills it
 CBodyAn 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
 CModelHandleA model alias of a scope
 CBorrowThe opener's binding of an alias, for a screen opened as a dialog ({"from": alias})
 CInstanceSpecA model alias's instance: a binding mode, a key expression, or a borrowed binding
 CModelOptionsOptions of a model alias
 CQueryOptionsOptions of a query (spec 5 §5)
 COptimisticAn optimistic write: the row a mutation run predicts before its reply
 CCommandsA command list, run as one batch
 CCommandOne command of ui/1 (spec 5 §8, spec 6)
 CMutationOptionsOptions of a mutation (spec 5 §5)
 CCheckOptionsA validation across elements (spec 5 §6)
 CNodesA list of view nodes
 CNodeA 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
 CDeclScopeA 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
 CComponentOptionsA custom or host component (spec 5 §10)
 CComponentRefA declared component, for custom nodes
 CPointA customization point (spec 5 §12b)
 CHeadBadgeOptionsA status badge of the screen's head (screen.status)
 CActionButtonOptionsA button of a screen's head (screen.action), or of a dialog's or drawer's footer
 CScopeThe screen's own scope: its declarations, params, lifecycle keys, components and customization points
 CRunOptionsOptions of run
 CNavigateOptionsOptions of navigate
 CUploadOptionsOptions of upload
 CTextOptionsOptions of text
 CButtonOptionsOptions of button
 CTextInputOptionsOptions of textInput
 CCheckboxOptionsOptions of checkbox
 CSelectOptionsOptions of select
 CMenuItemAn item of a menu; items nests a submenu
 CContainerOptionsOptions of column, row and grid
 CPanelOptionsOptions of panel
 CCaseA case of a switch node, a scope of its own
 CTabA page of a tabs node
 CDialogOptionsOptions of dialog and drawer
 CForEachOptionsOptions of forEach
 CTableColumnA column of a table
 CTableOptionsOptions of table and dataTable
 CDateTimeInputOptionsOptions of dateTimeInput
 CSliderOptionsOptions of slider
 CFilePickerOptionsOptions of filePicker
 CActionPartThe action of a banner or emptyState
 CBannerOptionsOptions of banner
 CEmptyStateOptionsOptions of emptyState
 CCollapsibleOptionsOptions of collapsible
 CDropZoneOptionsOptions of dropZone
 CFieldSettingsAn overlay on one field of a form (spec 6 §10), applied to the parsed form model
 CFieldOverlayOne field of a form's fields overlay, by member pointer
 CFormPresentationHow a form, collection or wizard presents its forms: the keys every one of them takes
 CFormOptionsOptions of form
 CCustomOptionsOptions of custom
 CEmittedA screen's emitted document: its JSON, the text that is served, and the catalog facts of its types
 CScreenA screen definition: an id and the builder that writes the document
 CRegisteredScreenA registered screen: the text that is served and the document it loads as
 CScreenRegistryThe screens of an application, each validated once when it is registered
 Ndetail
 Ncatalogue
 CTitlePartsA catalog title's parts: a plain string, or the message key of a {"t": …} reference and its fallback
 Nhost
 CParamsEnvThe environment identityOf evaluates in: the params, and nothing else. Reading anything else marks it unknown
 CActionModelAn 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
 CAliasResolverResolves tokens' aliases, depth first, each token once
 CArrangedChildOne child of an arranged container, as the user's choice places it
 CBadgeModelA headBadge part, lowered in the screen scope
 CBindingA 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
 CBoundaryRuntimeA boundary at run time: the queries it owns (spec 5 §9)
 CCacheEntryOne entry of the session's query cache (spec 5 §5): one request in flight, one value, one error
 CCheckContextWhere an expression or command is checked: its scope and what is valid there
 CCheckRuntimeOne check at run time
 CCommandCtxWhere a command list runs: its scope, the names bound there, and what it may answer
 CCommandLineChoiceThe command line's choice of frontend, and the arguments that made it
 CDateReadingWhat a date input reads from a value: the instant it shows, and whether the value names one at all
 CDetachedLowerA lowering context whose scope is held weakly: what an Effect the scope itself owns may keep, so the scope does not keep itself alive
 CDocumentActionsCollects 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
 CDocumentParserTurns the JSON of a document into its model, refusing what does not parse
 CDocumentRefusedThe exception the loader throws inside itself; loadDocument turns it into its result
 CDocumentValidatorChecks a parsed document against its own names and the catalog: every load-time rule that needs more than one place in the document
 CElementStateAn element's live values (spec 5 §6)
 CEvaluatorEvaluates expressions against an environment, with the comprehension variables in scope
 CExprCheckerWalks an expression once, resolving names and checking the statically known types
 CExprParserReads one JSON expression tree into Expr nodes, counting them against the size bound
 CFormKeysThe keys a form may carry beside its own
 CForEachModelA ForEach's row source, key function and row view, with the row type erased
 CForEachSessionOne mount's use of a ForEach: the latest snapshot of the rows, and a way to make row slots from it
 CFunctionSpecThe signature of a library function
 CIsSlotBindingWhether a type is a SlotBinding: false here, true for the specialisation below
 CIsSlotBinding< SlotBinding< F > >A SlotBinding is one
 CKeyedRowOne mounted row of a ForEach or Table
 CKeyedRowsThe mounted rows of one ForEach or Table, in their container's order
 CKeySpecOne key of a kind
 CKindSpecA node kind or part kind: its keys and its element values
 CLowerCtxWhere a node is lowered: its scope, the names bound there and the boundary that owns its queries
 CMarksThe entries one change marks stale, each once, in the order they were found
 CMessageReaderA recursive-descent reader over one message's text
 CModelAliasOne model alias at run time: the instance it names, and the channel bound to it
 CMounterBuilds widgets for nodes and wires their props and callbacks
 CMutationRuntimeA mutation at run time (spec 5 §5): concurrency, optimistic writes and the reply's effects
 CNameEntryOne declared name of a scope
 CNameRefOne declared name of a run-time scope
 CNumberA number taken apart for arithmetic: its exact value, whether it is an int, and its unit
 COptimisticLayerOne optimistic write still waiting for its reply
 CPagesWhere one Tabs keeps its pages: a slot per tab, made the first time the tab is selected and kept, hidden, after
 CPluralOperandsCLDR's plural operands of a number as it is shown
 CQueryRuntimeA query at run time (spec 5 §5): a key over the scope, an entry of the session's cache, latest wins
 CRowSlotOne mounted row of a ForEach or a Table: the row's signal, and the view built from it once
 CRtScopeOne document scope at run time: the screen, a dialog's or drawer's content, a switch case or a row
 CScopeEnvThe Environment the evaluator reads through: a scope chain and the names bound at one place
 CScopeInfoOne scope during validation: its names and its parent
 CScopeResolverResolves an expression's names against a scope chain and a context
 CScreenCoreOne mounted screen's interpreter: its document, diagnostics, slots and preferences, and the code that declares scopes, lowers nodes and runs commands
 CKeptStateA state of the screen this one replaces: its declared type's name and its value
 CLoweredNodeA node as it was lowered, which the inspector lists while its scope lives
 CStateSlotOne state declaration at run time
 CTransferHoldA transfer's share of its screen's pending count
 CTransferStateThe values of an upload transfer id (spec 6 §18)
 CTypedForEachThe typed model behind forEach<RowT> and table<RowT>
 CVisibleRangeWhat the backend's own scroll position asks a virtualized table to realize next
 Ntesting
 Ndetail
 CCallbacksThe handlers a widget was given, which the interaction helpers call
 CChecksCollects a case's checks and keeps the first failure, so a case reads top to bottom
 CEntryA row of the ForEach and Table cases
 CFakeBadgeA fake BadgeWidget: properties tone, text, icon
 CFakeBannerA fake BannerWidget: properties tone, text, actionLabel, dismissible
 CFakeBusyA fake BusyWidget: properties active, label
 CFakeButtonA fake ButtonWidget: properties label, emphasis, icon, style and selected
 CFakeCheckboxA fake CheckboxWidget: properties label, checked
 CFakeCollapsibleA fake CollapsibleWidget: properties title, header (the header child's id), open
 CFakeContainerThe ContainerWidget half of every fake container
 CFakeCustomA fake loaded CustomWidget: property component, and each prop as prop.<name>
 CFakeDateTimeInputA fake DateTimeInputWidget: properties mode, offset, value, caption, captionShown
 CFakeDialogA fake DialogWidget: properties open, title; a Footer child once its footer is asked for
 CFakeDrawerA fake DrawerWidget: properties side, open, title; a Footer child once its footer is asked for
 CFakeDropZoneA fake DropZoneWidget: properties accept ([.ext,…]), multiple
 CFakeEmptyStateA fake EmptyStateWidget: properties title, text, icon, actionLabel
 CFakeFieldThe FieldWidget half of every fake field: properties readonly, required, errors, stale
 CFakeFilePickerA fake FilePickerWidget: properties mode, path
 CFakeGridA fake GridWidget: properties columns, gap, align, and span on a child
 CFakeKeyValueA fake KeyValueWidget: property items ([label:value,…])
 CFakeLeafThe Widget half of every fake: records itself on construction, records Common's setters, and records its destruction
 CFakeMenuA fake MenuWidget: property items
 CFakeOverlayA fake overlay's footer: a Footer child, made when it is first asked for, so an overlay that never shows actions logs none
 CFakePanelA fake PanelWidget: properties title, header (the child's id), padding, collapsible, collapsed
 CFakeProgressA fake ProgressWidget: properties value (as formatFraction gives it), label
 CFakeSelectA fake SelectWidget: properties style, options, selected, caption, captionShown
 CFakeSliderA fake SliderWidget: properties range (minimum..maximum/step), value
 CFakeSplitterA fake SplitterWidget: properties axis, sizes ([n,…])
 CFakeStackA fake StackWidget, of kind Column or Row: properties gap, align, justify
 CFakeStepsA fake StepsWidget: properties steps ([label:State,…]), current (a position, or none)
 CFakeTableA fake TableWidget: properties columns, selectionMode, selection, and rowKey on a row
 CFakeTabsA fake TabsWidget: properties tabs, selected, barShown
 CFakeTextA fake TextWidget: properties text, role
 CFakeTextInputA fake TextInputWidget: properties mode, text, placeholder, unit, decimals, icon, caption, captionShown, the field state, and a text cursor
 CFakeToastA fake ToastWidget: properties text, tone, and shown (incremented on every show, so a test can tell a replace from a no-op)
 CGeometryReads where the layout cases' widgets are drawn, and fails a case whose probe reads no geometry
 CHandlerLifeWhat LifeSentinel reports about the handler that holds it
 CLifeSentinelCaptured by value in a handler, tells whether the backend destroyed the handler while it ran
 CMeasuredThe container a case measures, the one child of the mounted root, and its children in order
 CRecordOne fake widget's state
 CRecordStoreThe records, the roots and the operation log that every fake widget of one backend writes to
 CConformanceCaseOne scripted case
 CConformanceProbeHow the conformance cases read and drive one backend under test
 CMemoryHistoryA history of routes in memory: the entries, the current one, and back, forward and an edited address
 CRecordingBackendA headless IViewBackend: fake widgets that record every operation, a golden dump of the live tree, and helpers that act as the user would
 CWidgetBoundsWhere 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
 CAccessibilityWhat assistive technology announces for a node
 CActionBarA 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
 CActionButtonA button inside another kind, such as a banner's action: its caption beside its handler
 CActionEffectOne effect an action declares, as the catalog states it
 CActionFieldOne field of an action, as the explorer lists it
 CActionInfoWhat the catalog says about an action
 CActionRecordInfoA record an action's result holds, as the catalog states it
 CActionRefAn action a document names, with the model type it runs on: what the authoriser is asked about
 CActionUseOne place a document names an action
 CAppContextWhat a frontend lends the source it opens and the screens it mounts
 CApplicationInfoThe application a bundle belongs to, as ui-hello names it
 CAppRootThe app document mounted as the root scope every screen of the session shares (spec 6 §5)
 CAppSourceWhere the screens and the models are: a server (remote) or the application linked in-process (local)
 CBackendThe application's opaque handle for one of its backends. Its name is what {"env": "backend"} reads
 CBadgeA short label marking a state, such as a count or a status
 CBadgeWidgetA short label marking a state
 CBannerA message across the top of a region, with an optional action and an optional dismissal
 CBannerWidgetA message across the top of a region, with an optional action button and an optional dismissal
 CBorrowedModelA model the opener lends to a screen whose alias says {"from": alias} (spec 6 §16)
 CBridgeDispatcherA Dispatcher over the bridge's model-free seams: bindByType, executeRaw and the string-keyed attach, through RawHandler
 CBundleWhat an open source hands the frontend: the application's screens, verified
 CBundleFileA file of the bundle that is not a screen, as UiRegistry::addFile takes it
 CBusyA progress indicator
 CBusyWidgetA progress indicator
 CButtonA push button
 CButtonWidgetA push button
 CCallOptionsHow one model call is sent
 CCatalogThe 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
 CCatalogEntryOne catalog entry (spec 6 §8)
 CCatalogReplyThe body of a ui-catalog reply: the catalog filtered for the principal, and the facts a client's load-time validation reads (ui::Catalog)
 CCatalogueOne locale's messages, by key, with the patterns already parsed
 CCheckboxA labelled check box
 CCheckboxWidgetA labelled check box
 CCheckDeclA validation across elements (spec 5 §6)
 CCollapsibleA titled section the user opens and closes. Its header stays usable while it is closed
 CCollapsibleWidgetA titled section the user opens and closes. A new collapsible is open
 CColumnChildren stacked top to bottom
 CCommandOne command. Which members a kind uses is listed with each member
 CCommandLogEntryOne command list as it ran: the event that ran it, its commands, and the reactive batch they ran in
 CCommonThe part every node carries: visibility, enablement, layout, drag-and-drop, accessibility, test identity, tooltip, surface, keyboard chords and autofocus
 CComponentA custom component declaration (spec 5 §10)
 CConnectErrorWhy a source could not be opened
 CContainerWidgetA widget with children. A factory given this container appends the new widget as its last child
 CCustomA component the backend may load (spec 5 §10), with the built-in nodes shown when it does not
 CCustomizePointA customization point (spec 5 §12b)
 CCustomPropOne prop a loaded custom component is given
 CCustomRequestWhat IViewBackend::createCustom asks for
 CCustomWidgetA 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
 CDateTimeInputA date, or a date and time, edited in a display zone and reported as an instant
 CDateTimeInputWidgetA date or date-and-time field, in the mode and display zone fixed at creation
 CDecimalAn exact decimal: a math::Rational whose DecimalPlaces are the value's declared places
 CDialogA modal overlay; its content is mounted only while it is open
 CDialogWidgetA modal overlay around its children, with a focus trap while open. A new dialog is closed
 CDispatcherThe interpreter's view of the bridge: binds a model by its type id, privately or to a shared instance
 CDocNodeA 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)
 CDocumentA loaded and validated UI document: a screen, or the app document (id app, spec 6 §5)
 CDocumentScreenHostThe 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
 CDocumentScreenHostOptionsHow a DocumentScreenHost finds documents and mounts them
 CDownloadedFileA file a download brought back
 CDrawerA panel that slides in from one edge over the content: a Dialog with a side, and the same rules
 CDrawerWidgetA panel over the content that slides in from the side fixed at creation; it follows a dialog's rules. A new drawer is closed
 CDropZoneA region that takes files dropped from the operating system
 CDropZoneWidgetA region that takes files dropped from the operating system
 CEmptyStateWhat a region shows when it has nothing to show: a title, an explanation and an optional action
 CEmptyStateWidgetWhat a region shows when it has nothing to show
 CEnvironmentWhat an evaluated expression reads: the interpreter implements it over its reactive values
 CEvaluateReplyThe body of a ui-evaluate reply: what ActionDispatcher::evaluate answered
 CExplorerThe 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
 CExplorerOptionsWhat an Explorer shows, and what it reports
 CExprOne node of a parsed expression. Immutable once parsed; shared between the document and its readers
 CFetchRequestThe body of a ui-fetch request
 CFieldStateThe state of a value a user edits or reads: whether it may be changed, must be given, is wrong, or is being recomputed
 CFieldWidgetA widget that shows a value: text, or an input. A new field is editable, not required, without errors and not stale
 CFileInfoWhat a file is, as its uploader described it
 CFilePickerA file path, typed or chosen in the platform's file dialog
 CFilePickerWidgetA file path field, in the mode fixed at creation
 CFileReplyThe body of a ui-file reply: the members its op answers, the others absent
 CFileRequestThe body of a ui-file request: one step of an upload or a download, named by op
 CFileSliceA slice of a stored file
 CFileTransferThe 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
 CForEachOne widget per row of a keyed collection, updated in place when a row with the same key changes
 CFormatContextWhat the display functions and t format with: the client's locale and its formatting facts
 CFormattedMessageA formatted message, and the variables it could not format
 CFrontendA frontend: owns an event loop and a renderer, and runs one source's screens
 CFrontendErrorWhy no frontend was selected
 CFrontendOptionOne frontend a binary was built with
 CGridCells laid out row-major in a fixed number of columns
 CGridCellOne cell of a Grid
 CGridWidgetChildren laid out row-major in columns
 CHeadActionAn action of a screen's head, as its handle answers it
 CHeadBadgeA status badge of a screen's head, as its handle answers it
 CHelloReplyThe body of a ui-hello reply
 CHelloRequestThe body of a ui-hello request: what the client speaks and carries
 CHostArgOne argument of a host command
 CHostCommandA command the application registers, such as restartApp or openPath
 CHostCommandResultWhat running a host command (host/1) did
 CHostCommandsThe client's host commands, as a session runs them (spec 6 §14)
 CHostValueA value the application registers, such as sync.needsYouCount
 CHostVocabularyThe client's host vocabulary: what it registered, and whether its documents came over a verified connection
 CIBundleStoreWhere a client keeps verified files between runs, by content hash, and the digest of each application's last verified bundle
 CIFileStoreWhere 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
 CIHistoryA history of routes: a browser's session history, or a test's
 CInlineFileA file whose bytes a document moves inline: download from bytes, upload into bytes
 CInspectedNodeA mounted node as the inspector lists it
 CInspectedQueryA query or mutation as the inspector lists it
 CInspectorThe development inspector over one mounted screen: its mounted nodes, its queries and mutations, the command lists it ran, and the reactive runtime's counters
 CInterpreterMounts UI documents (spec 5): one per client process or window, over a session and a dispatcher
 CInterpreterHostWhat 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
 CInterpreterOptionsWhat an Interpreter is built with
 CIPreferencesStoreStores customization choices as JSON text, by PrefKey
 CIViewBackendMakes 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
 CKeyBindingA keyboard chord a node handles while focus is inside it
 CKeyValueCaptions beside their values, one pair per row
 CKeyValueItemOne row of a KeyValue list
 CKeyValueWidgetCaptions beside their values
 CLayoutHintsA widget's size request in both dimensions, and the bounds its extent is clamped into
 CLetDeclA derived value (let)
 CLoadedBundleA bundle the client verified: what the shell mounts, and what it was verified against
 CLoadOptionsOptions of loadDocument
 CLoadWarningA finding of load-time validation that does not refuse the document
 CLoggedCommandOne command of a command list the inspector's log shows (spec 6 §21)
 CManifestA bundle's manifest: every file the application serves, by its hash (spec 5 §12, "Content addressing")
 CManifestFileOne file of a manifest
 CMcpAdapterServes MCP's tools over one server connection (spec 8 §11)
 CMcpOptionsWhat an McpAdapter is built with
 CMemoryBundleStoreAn IBundleStore in memory: it lasts as long as the process. Safe to call from any thread
 CMemoryFileStoreAn IFileStore in memory: bounded per file and per principal; an upload that stalls expires
 CMemoryFileStoreOptionsHow much a MemoryFileStore keeps
 CMemoryPreferencesStoreThe framework's store: a map held in memory, on its own strand
 CMenuA vertical list of commands
 CMenuEntryOne entry of a menu as a MenuWidget shows it
 CMenuItemOne entry of a Menu: its label and its handler in one place, so there are no parallel lists
 CMenuWidgetA menu of commands, with nested submenus
 CMessageCataloguesThe message catalogues of one bundle, by locale, and the provider t resolves through
 CMessageLocaleThe locale a message is formatted for
 CMessagePartOne part of a pattern: literal text, or a placeholder of a variable
 CMessagePatternA parsed message in the ui/1 subset of MessageFormat 2
 CMessageVariantOne variant of a .match: a key per selector (* is the catch-all) and its pattern
 CModelChannelOne bound model alias: the instance a document's alias names, and the calls made through it
 CModelDeclA model alias
 CModelInfoWhat the catalog says about a model type
 CMountedA view tree mounted on a backend: its widgets, built once, and the bindings that keep them current
 CMountedScreenA mounted screen a reload may remount
 CMountedShellWhat 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
 CMountErrorWhy a screen could not be mounted
 CMountOptionsWhat Interpreter::mount is given beside the document
 CMutationDeclA mutation (spec 5 §5)
 CNameResolverWhat an expression's names resolve to, for checkExpression: the document's scopes implement it
 CNavigateRequestWhat navigate asks the host to open (spec 6 §16, §20)
 CNavigatorThe catalog as a list a person opens screens from, with a title search and pinned shortcuts
 CNavigatorOptionsHow a Navigator lists the catalog and what it reports
 CNodeDataWhat a Node points at: exactly one node kind
 COptimisticDeclAn optimistic write: the row a mutation run predicts before its reply
 CPanelA titled frame around one child; a collapsible one is an accordion section
 CPanelWidgetA titled frame around its children, optionally collapsible
 CPermissiveResolverA resolver that accepts every name as any: for an expression checked outside a document
 CPreferencesLoadedWhat loading a screen's choices did
 CPreferencesModelThe server's preferences model: reads and writes the calling person's choices through a store
 CPreferencesOptionsThe preferences model's bounds
 CPreferenceSyncTalks to the server's preferences model (morph.preferences) for one application, through the interpreter's Dispatcher
 CPrefKeyWhere one choice is stored
 CPrefLoadload: the stored choices of a screen's points. A request carries no person
 CPrefRemoveremove: forgets one choice. A request carries no person
 CPrefRemovedWhat remove answers
 CPrefSetset: stores one choice. A request carries no person
 CPrefStoredWhat set answers
 CPrefValuesWhat load answers
 CProgressA progress bar
 CProgressWidgetA progress bar
 CPropA node property: a constant, or a slot — a reactive read, with a stable id when it was given one
 CQuantityAn exact decimal with a unit: the id of a unit of the server's unit systems (x-unitAlternatives)
 CQueryDeclA query (spec 5 §5)
 CQueueingDispatcherA Dispatcher that holds a queued call the server cannot be reached for, and replays it on reconnect
 CRefusalWhy a document, an expression or a value was refused: where, and the reason
 CReloadOutcomeWhat reloadDocuments did
 CRgbaA colour, 8 bits per channel
 CRouteA route read back: the screen and its params
 CRouteHistoryKeeps 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)
 CRowChildren laid out left to right
 CScopeDeclThe declarations of one scope, in declaration order
 CScreenA mounted screen: its scopes, its view mounted through Mounted, and what its host asks of it
 CScreenHandleOne mounted screen, as its host sees it
 CScreenHeadA 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)
 CScreenHostWhat mounts screens for a host that owns its own shell; the workspace shell is one
 CScreenHostRegistryThe host screens an application registers by name: what a catalog entry's host names instead of a document
 CScrollA scrollable viewport around one child
 CScrollWidgetA scrollable viewport, on the axis fixed at creation, that keeps the focused child visible
 CSelectA choice of one option
 CSelectOptionOne option of a Select
 CSelectWidgetA choice of one keyed option
 CServedBundleAn application's bundle, built and immutable: what UiService serves
 CServedFileOne file a bundle serves, with every manifest entry whose bytes it is
 CHolderOne manifest entry that names the file
 CServedScreenA screen as the bundle serves it
 CSessionWhat 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
 CSessionOptionsWhat a Session is built with
 CShellFrameThe frame around a client's screens
 CShellFrameOptionsWhat a ShellFrame shows and reports
 CSizingHow much space a widget asks for along one dimension, in backend units (a character cell on the TUI)
 CSliderAn integer chosen on a range
 CSliderWidgetAn integer on a range
 CSlotBindingA slot's read together with its id, as ui::slot makes it; a Prop made from it is a slot with that id
 CSlotWidgetA container that shows its children and nothing else: the host of a Switch's case and of a Tabs page
 CSpacerEmpty space that takes what its layout hints ask for
 CSpacerWidgetEmpty space
 CSplitterPanes side by side, or stacked, with handles the user drags to share the space between them
 CSplitterWidgetPanes along the axis fixed at creation, with handles between them that the user drags
 CStackWidgetChildren stacked along one axis, fixed at creation
 CStateDeclA state declaration
 CStaticEnvironmentAn environment that holds its values: for tests, and for evaluating outside a mounted screen
 CStepOne step of a Steps indicator
 CStepsThe steps of a process in order, each with its state
 CStepsWidgetThe steps of a process, each with its state
 CSwitchShows the case whose key the selector yields; remounts only when that key changes
 CSwitchCaseOne case of a Switch
 CTabOne page of Tabs
 CTableKeyed rows of cells under column headers. Each row's view is a Row whose children are the cells, one per column
 CTableColumnOne column of a Table
 CTableOptionsEverything about a table beyond its columns and rows
 CTableRowViewWhat a table's row view builds for one row: its cells, one per column, and its tone
 CTableWidgetKeyed rows under column headers, with selection and activation by key
 CTabsA tab bar over pages
 CTabsWidgetA tab bar over page slots
 CTextStatic or bound text
 CTextInputAn editable text field. The backend never reports its own setText back through onChange
 CTextInputWidgetAn editable text field
 CTextWidgetRead-only text
 CThemeIndexThe index of a theme: which token files make up each variant
 CThemeShadowA shadow of the set, resolved
 CThemeShadowSpecA shadow token's default, in the form a constexpr table can hold
 CThemeTokenSpecOne token of the closed ui-theme/1 set: its path, kind and the MorphUi default
 CThemeValuesThe ui-theme/1 set's values for one resolved theme
 CToastWidgetA passive, transient message outside the normal flow: non-modal, dims nothing, and never takes keyboard focus. Auto-dismisses after a backend-chosen interval
 CTokenOne token: its DTCG type and its value, which may hold aliases until the set is resolved
 CTypeA document type (spec 5 §3): a kind, whether null is allowed, and a list's element type
 CUiClientOpens an application's bundle through the UI service, verifying everything it fetches
 CUiRegistryCollects an application's screens and files and builds the bundle the UI service serves
 CUiServiceThe 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)
 CUnitInfoOne unit of the server's unit systems, as x-unitAlternatives declares it
 CUploadRequestWhat 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)
 CValueThe document's typed value (spec 5 §3): what every expression evaluates to
 CVerifiedCacheA content-addressed cache that hands out only bytes that hash to the hash they are asked for
 CVirtualizationWhen 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
 CWatchDeclA cascade: commands that run when a value changes (spec 5 §6)
 CWidgetA retained widget. A new widget is visible, enabled, content-sized, not draggable and not a drop target
 CWorkspaceTabs 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
 CWorkspaceModelThe 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)
 CWorkspaceModelOptionsA WorkspaceModel's options: the workspace's, and how a tab's page is made and unmade
 CWorkspaceOptionsHow a workspace treats screens
 CWorkspaceScreenWhat the shell needs to know of one screen id: the catalog's singleton and reuseEmpty
 CWorkspaceStartHow a workspace starts (spec 6 §7, app-start)
 CWorkspaceTabOne open tab, as an application's tab menu or a test reads it
 CWorkspaceTabIdA tab's identity in a WorkspaceModel: issued when it opens, never reused
 CWorkspaceTabStateOne open tab, as an application's tab strip binds to it
 Nunits
 CUnitMetaStatic description of one unit, supplied by UnitTraits
 CUnitRelationOne exact within-dimension conversion ratio between two peer units
 CUnitAlternativeA derived per-unit view of one convertible display/entry unit
 CQuantityBoundsOptional 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
 CUnitTraitsCustomisation 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
 CQuantityA unit-tagged, optionally-empty exact value with a declared precision in its type and (optionally) a recorded derivation
 CNamedQuantityA Quantity that names itself on construction and slices losslessly back to a plain Quantity. The name lives in the shared history
 Nutil
 Ndetail
 CIsTaggedTrait: is T some Tagged<...>?
 CTaggedAn opaque, type-safe newtype wrapping a protocol scalar T, distinguished at compile time by the string tag Tag
 Nviews
 CBindEntryMaps one target-action wire field to a row wire field, so a row's current value prefills the action's draft before it fires
 CActionDescriptorOne action a view screen can fire — the row opener (v-rowAction) or an entry of v-actions
 CColumnOverrideDeclare-to-override entry for one derived column of a collection view
 CCollectionViewTag type: V::kind selects a plain list/table screen
 CMasterDetailViewTag 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
 CViewTraitsTraits specialisation that maps a view descriptor type to its string type-id. Specialise via BRIDGE_REGISTER_VIEW
 CViewRegistryProcess-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
 Nwire
 Ndetail
 CEscapingWriteOptsWrite options that escape ASCII control bytes as \\uXXXX sequences
 CEnvelopeJSON wire envelope used between any client and RemoteServer
 CProtocolRangeInclusive protocol-version range a server advertises in reply to "hello"
 CEventBodyThe decoded body of an event envelope
 CInstanceTopicOne instance topic: a model type, its directory key text and its instance id
 CWatchBodyThe body of a watch or unwatch request
 CWatchReplyThe body of the ok reply to a watch: the topics the server refused
 CChangesBodyThe payload of a changes event
 CWireCodecOpsThe serialisation primitive encode calls, as an injectable strategy