InteractiveAppHost<'model, 'msg> Type
Pointer-routing, size-aware durable host (feature 085, research D3-AMEND). Mirrors `GeneratedAppHost` field-for-field PLUS a `MapPointer` seam over `PointerInteraction` and a size-carrying `View` that returns a `Control<'msg>` tree (so `Control.renderTree` yields the `Scene` + `Layout` + `EventBindings` the host routes). Lives in Controls.Elmish — not SkiaViewer — because `PointerInteraction`/`interpretPointerOutcome` are Controls surface and the viewer is host-independent. `Theme` drives `renderTree`. Feature 090: a hit control's authored `EventBindings` (`onClick`/`onChanged`) are dispatched in the live window; `MapKey` gains a focus-aware text-routing seam for the focused text control (see `routeInteractivePointer`, `routeFocusedText`, and `runInteractiveApp`). Feature 108: the additive `MapKeyChord` / `OnFrameMetrics` fields carry inert defaults (at-rest byte-identical).
Record fields
| Record Field |
Description
|
|
|
|
|
|
|
|
Feature 108 (US5, FR-016): an additive modifier-aware key seam consulted BEFORE `MapKey`. The default (`fun _ _ -> None`) ignores modifiers and defers to `MapKey`, so unmodified keys route exactly as today (at-rest byte-identical, SC-012).
|
|
|
|
Feature 108 (US2, FR-006): an additive opt-in observability sink called once per frame with that frame's `FrameMetrics`. The default (`ignore`) is inert, so a host that does not observe metrics is byte-identical to its pre-108 behaviour (SC-012).
|
|
|
|
|
|
|