Sign in

    wzzc-dev/moui/runtime does not have a README file

    AccessibilityAnnouncement

    A live-region change for platform adapters to publish without moving focus.

    AccessibilityAnnouncement::equal

    AccessibilityAnnouncement::not_equal

    AccessibilityAnnouncement::to_json

    AnchorFrameRegistry

    pub struct AnchorFrameRegistry {
    entries : Array[(String,
    Rect
    )]
    }

    A layout-pass snapshot of stable keyed anchor frames. The registry is rebuilt after base layout and before presentation placement so scroll, resize, and scale changes naturally produce fresh coordinates.

    AnchorFrameRegistry::clear

    fn AnchorFrameRegistry::clear(self : AnchorFrameRegistry) -> Unit

    AnchorFrameRegistry::frame

    AnchorFrameRegistry::keys

    fn AnchorFrameRegistry::keys(self : AnchorFrameRegistry) -> Array[String]

    AnchorFrameRegistry::new

    AnchorFrameRegistry::register

    fn AnchorFrameRegistry::register(self : AnchorFrameRegistry, key~ : String, frame~ :
    Rect
    ) -> Unit

    AnchorFrameRegistry::snapshot

    Return a detached snapshot suitable for a layout context.

    AppBuilder

    pub struct AppBuilder {
    title : String
    runtime : AppRuntime
    renderer_providers : Array[
    RendererProvider
    ]
    backend : PlatformEntry?
    window_requests :
    WindowRequests

    }

    AppBuilder::backend

    fn AppBuilder::backend(self : AppBuilder, backend : PlatformEntry) -> AppBuilder

    AppBuilder::render_all

    AppBuilder::run

    fn AppBuilder::run(self : AppBuilder) -> Unit

    AppBuilder::run_async_pump

    async fn AppBuilder::run_async_pump(self : AppBuilder, frame_interval_ms? : Int) -> Unit

    Run through a platform's cooperative async event pump. Platforms without a dedicated pump fall back to their normal synchronous launch closure.

    AppBuilder::window_requests

    AppLaunchRequest

    pub struct AppLaunchRequest {
    title : String
    runtime : AppRuntime
    renderer_providers : Array[
    RendererProvider
    ]
    window_requests :
    WindowRequests

    }

    The renderer/backend composition request handed to a platform entry.

    AppLaunchRequest::renderer_providers

    AppLaunchRequest::runtime

    AppLaunchRequest::title

    fn AppLaunchRequest::title(self : AppLaunchRequest) -> String

    AppLaunchRequest::window_requests

    AppRuntime

    pub struct AppRuntime {
    // private fields
    }

    AppRuntime::action_commands

    AppRuntime::advance_time

    fn AppRuntime::advance_time(self : AppRuntime, time_ms : Double) -> Unit

    AppRuntime::anchor_frame

    fn AppRuntime::anchor_frame(self : AppRuntime, key : String) ->
    Rect
    ?

    AppRuntime::anchor_keys

    fn AppRuntime::anchor_keys(self : AppRuntime) -> Array[String]

    AppRuntime::destroy

    fn AppRuntime::destroy(self : AppRuntime) -> Unit

    AppRuntime::dirty_count

    fn AppRuntime::dirty_count(self : AppRuntime) -> Int

    AppRuntime::dirty_element_ids

    fn AppRuntime::dirty_element_ids(self : AppRuntime) -> Array[Int]

    AppRuntime::dispatch_action_command

    fn AppRuntime::dispatch_action_command(self : AppRuntime, command :
    ActionCommand
    ) -> Bool

    AppRuntime::dispatch_command

    fn AppRuntime::dispatch_command(self : AppRuntime, intent :
    CommandIntent
    ) -> Bool

    AppRuntime::dispatch_event

    fn AppRuntime::dispatch_event(self : AppRuntime, event :
    AppEvent
    ) -> Unit

    Dispatches a general application event through the runtime tree.

    AppRuntime::dispatch_focused_text_command

    fn AppRuntime::dispatch_focused_text_command(self : AppRuntime, intent :
    CommandIntent
    , paste_text? : String?) ->
    TextCommandResult

    AppRuntime::dispatch_pointer_input

    Dispatches pointer input and returns the synchronous host-consumption result. Browser backends use it to retain native default behavior at scroll edges.

    AppRuntime::dispatch_presentation_back

    fn AppRuntime::dispatch_presentation_back(self : AppRuntime) -> Bool

    AppRuntime::dispatch_presentation_escape

    fn AppRuntime::dispatch_presentation_escape(self : AppRuntime) -> Bool

    Dispatch the standard presentation dismissal key and report whether the current view consumed it. Hosts use this before turning Back/close into a window-close operation.

    AppRuntime::dispatch_presentation_host_close

    fn AppRuntime::dispatch_presentation_host_close(self : AppRuntime) -> Bool

    AppRuntime::draw_commands

    AppRuntime::draw_frame

    AppRuntime::environment

    AppRuntime::focus_key

    fn AppRuntime::focus_key(self : AppRuntime, key : String) -> Bool

    AppRuntime::focus_next

    fn AppRuntime::focus_next(self : AppRuntime) -> Bool

    AppRuntime::focus_previous

    fn AppRuntime::focus_previous(self : AppRuntime) -> Bool

    AppRuntime::focused_text_input

    AppRuntime::inspector_snapshot

    fn AppRuntime::inspector_snapshot(self : AppRuntime) -> InspectorSnapshot

    AppRuntime::needs_layout

    fn AppRuntime::needs_layout(self : AppRuntime) -> Bool

    AppRuntime::needs_paint

    fn AppRuntime::needs_paint(self : AppRuntime) -> Bool

    AppRuntime::needs_rebuild

    fn AppRuntime::needs_rebuild(self : AppRuntime) -> Bool

    AppRuntime::needs_redraw

    fn AppRuntime::needs_redraw(self : AppRuntime) -> Bool

    AppRuntime::new_program

    fn[Model, Msg] AppRuntime::new_program(program~ :
    Program
    [Model, Msg], size~ :
    Size
    , environment? :
    Environment
    ) -> AppRuntime

    AppRuntime::new_view

    fn[Msg] AppRuntime::new_view(root~ :
    View
    [Msg], size~ :
    Size
    , environment? :
    Environment
    , on_message? : (Msg) -> Unit?) -> AppRuntime

    AppRuntime::perform_semantics_action

    AppRuntime::profile_draw_frame

    fn AppRuntime::profile_draw_frame(self : AppRuntime, clock : () -> Double) -> ProfiledDrawFrame

    Runs the same pipeline as draw_frame, while timing runtime-owned phases with a caller-supplied monotonic millisecond clock. Renderer encoding and presentation remain renderer/host measurements and are not included.

    AppRuntime::program_runtime_snapshot

    fn AppRuntime::program_runtime_snapshot(self : AppRuntime) -> ProgramRuntimeSnapshot

    AppRuntime::read_semantics

    AppRuntime::register_font_data

    fn AppRuntime::register_font_data(self : AppRuntime, family :
    FontFamily
    , data : Bytes) -> Unit

    AppRuntime::scroll_to_key

    fn AppRuntime::scroll_to_key(self : AppRuntime, key : String, alignment? :
    ScrollAlignment
    ) -> Bool

    AppRuntime::set_environment

    fn AppRuntime::set_environment(self : AppRuntime, environment :
    Environment
    ) -> Unit

    AppRuntime::set_event_observer

    fn AppRuntime::set_event_observer(self : AppRuntime, observer : (
    AppEvent
    ) -> Unit) -> Unit

    Installs an observer invoked with every AppEvent before it is processed. Replaces any previously installed observer. Passing a no-op effectively disables observation. This is the additive hook the agent layer consumes; it is inert unless explicitly called.

    AppRuntime::set_redraw_callback

    fn AppRuntime::set_redraw_callback(self : AppRuntime, callback : () -> Unit) -> Unit

    AppRuntime::set_semantic_focus

    fn AppRuntime::set_semantic_focus(self : AppRuntime, node_id :
    SemanticsNodeId
    ?) -> Bool

    Update assistive-technology browsing focus without moving keyboard/input focus. The target must exist in the committed semantics tree; None clears browsing focus.

    AppRuntime::set_text_system

    fn AppRuntime::set_text_system(self : AppRuntime, text_system :
    TextSystem
    ) -> Unit

    AppRuntime::size

    AppRuntime::text_system

    EffectPlanKind

    pub(all) enum EffectPlanKind {
    EffectPlanNone
    EffectPlanBatch
    EffectPlanSend
    EffectPlanDispatch
    EffectPlanRun
    EffectPlanTask
    } derive(Eq, ToJson,
    Debug
    )

    EffectPlanKind::equal

    EffectPlanKind::not_equal

    fn EffectPlanKind::not_equal(x : EffectPlanKind, y : EffectPlanKind) -> Bool

    EffectPlanKind::to_json

    EffectPlanSummary

    pub struct EffectPlanSummary {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    EffectPlanSummary::batch_count

    fn EffectPlanSummary::batch_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::dispatch_count

    fn EffectPlanSummary::dispatch_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::duplicate_descriptor_key_count

    fn EffectPlanSummary::duplicate_descriptor_key_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::duplicate_descriptor_keys

    fn EffectPlanSummary::duplicate_descriptor_keys(self : EffectPlanSummary) -> Array[String]

    EffectPlanSummary::empty

    EffectPlanSummary::equal

    EffectPlanSummary::max_depth

    fn EffectPlanSummary::max_depth(self : EffectPlanSummary) -> Int

    EffectPlanSummary::none_count

    fn EffectPlanSummary::none_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::not_equal

    fn EffectPlanSummary::not_equal(x : EffectPlanSummary, y : EffectPlanSummary) -> Bool

    EffectPlanSummary::root_kind

    EffectPlanSummary::run_count

    fn EffectPlanSummary::run_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::scheduled_count

    fn EffectPlanSummary::scheduled_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::send_count

    fn EffectPlanSummary::send_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::task_count

    fn EffectPlanSummary::task_count(self : EffectPlanSummary) -> Int

    EffectPlanSummary::to_json

    EffectTaskCancelReason

    pub(all) enum EffectTaskCancelReason {
    EffectTaskKeyChanged
    EffectTaskKindChanged
    EffectTaskRuntimeDestroyed
    } derive(Eq, ToJson,
    Debug
    )

    EffectTaskCancelReason::equal

    EffectTaskCancelReason::not_equal

    EffectTaskCancelReason::to_json

    EffectTaskLifecycleSnapshot

    pub struct EffectTaskLifecycleSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    EffectTaskLifecycleSnapshot::cancel_reason

    EffectTaskLifecycleSnapshot::key

    EffectTaskLifecycleSnapshot::kind

    EffectTaskLifecycleSnapshot::label

    EffectTaskLifecycleSnapshot::not_equal

    EffectTaskLifecycleSnapshot::status

    EffectTaskLifecycleSnapshot::to_json

    EffectTaskLifecycleStatus

    pub(all) enum EffectTaskLifecycleStatus {
    EffectTaskActive
    EffectTaskCompleted
    EffectTaskCancelled
    } derive(Eq, ToJson,
    Debug
    )

    EffectTaskLifecycleStatus::equal

    EffectTaskLifecycleStatus::not_equal

    EffectTaskLifecycleStatus::to_json

    ElementId

    pub(all) struct ElementId {
    value : Int
    } derive(Eq,
    Debug
    )

    ElementId::equal

    fn ElementId::equal(ElementId, ElementId) -> Bool

    ElementId::not_equal

    fn ElementId::not_equal(x : ElementId, y : ElementId) -> Bool

    HostEventSource

    pub struct HostEventSource {
    // private fields
    }

    HostEventSource::active_handler_count

    fn HostEventSource::active_handler_count(self : HostEventSource) -> Int

    HostEventSource::new

    HostEventSource::publish

    HostEventSource::subscription

    fn[Msg] HostEventSource::subscription(self : HostEventSource, key? : String, label? : String, map~ : (
    Event
    ) -> Msg?) ->
    Subscription
    [Msg]

    HostPlatformEventPublishResult

    pub(all) struct HostPlatformEventPublishResult {
    host_event_count : Int
    window_event_count : Int
    } derive(Eq, ToJson,
    Debug
    )

    HostPlatformEventPublishResult::not_equal

    HostPlatformEventPublishResult::to_json

    HostPlatformEventSources

    pub struct HostPlatformEventSources {
    // private fields
    }

    HostPlatformEventSources::host_events

    HostPlatformEventSources::new

    HostPlatformEventSources::window_events

    HostRuntimeDriver

    pub(all) struct HostRuntimeDriver {
    runtime : AppRuntime
    scheduler : RedrawScheduler
    frame_clock : () -> Double?
    close_requested : Bool
    frame_time_ms : Double
    }

    Runtime-owned HostRuntimeDriver (ADR 0018). Moved from backend so that backend carries platform-neutral host contracts only.

    HostRuntimeDriver::begin_redraw

    fn HostRuntimeDriver::begin_redraw(self : HostRuntimeDriver) -> Unit

    Start a redraw and advance the animation clock one step.

    With a host frame_clock the tick carries real monotonic milliseconds, so paint-time animations (ViewPaintContext.now_ms) run in real time on any refresh rate — 60Hz, 120Hz ProMotion, variable refresh — instead of a synthetic 16ms-per-frame step. Without a clock the fixed synthetic step is kept, which still lets animations progress without user input.

    HostRuntimeDriver::draw_frame may advance the same clock again through profile_draw_frame; the duplicate tick lands on ~the same timestamp (delta ≈ 0), which is harmless.

    HostRuntimeDriver::dispatch_action_command_with_services

    HostRuntimeDriver::dispatch_escape

    Route Escape and platform Back through the same top-most presentation dismissal path. Enter remains owned by the focused/default action.

    HostRuntimeDriver::dispatch_platform_view

    fn HostRuntimeDriver::dispatch_platform_view(self : HostRuntimeDriver, id : String, event :
    PlatformViewEvent
    ) -> Unit

    Dispatch a platform view event directly to the runtime tree. Used by the PlatformViewPlugin infrastructure to route decoded native platform-view events without going through Event (which no longer carries a platform-view variant).

    HostRuntimeDriver::dispatch_service_completion

    Dispatch a service completion through the runtime driver. Moved from backend per ADR 0018 so backend stays runtime-neutral.

    HostRuntimeDriver::dispatch_system_back

    HostRuntimeDriver::draw_commands

    HostRuntimeDriver::draw_frame

    HostRuntimeDriver::environment

    HostRuntimeDriver::event_result

    HostRuntimeDriver::finish_redraw

    fn HostRuntimeDriver::finish_redraw(self : HostRuntimeDriver) -> Unit

    HostRuntimeDriver::focused_text_input

    HostRuntimeDriver::new

    fn HostRuntimeDriver::new(runtime~ : AppRuntime, schedule_redraw~ : () -> Unit, frame_clock? : () -> Double?) -> HostRuntimeDriver

    HostRuntimeDriver::perform_semantics_action

    HostRuntimeDriver::read_semantics

    Reads the same atomically committed stream used by Agent hosts. Native adapters keep their own cursor and do not inspect the runtime tree directly.

    HostRuntimeDriver::request_redraw

    fn HostRuntimeDriver::request_redraw(self : HostRuntimeDriver) -> Unit

    HostRuntimeDriver::request_redraw_if_needed

    fn HostRuntimeDriver::request_redraw_if_needed(self : HostRuntimeDriver) -> Unit

    HostRuntimeDriver::set_environment

    fn HostRuntimeDriver::set_environment(self : HostRuntimeDriver, environment :
    Environment
    ) -> Unit

    HostRuntimeDriver::set_redraw_scheduler

    fn HostRuntimeDriver::set_redraw_scheduler(self : HostRuntimeDriver, schedule_redraw : () -> Unit) -> Unit

    HostRuntimeDriver::set_text_system

    fn HostRuntimeDriver::set_text_system(self : HostRuntimeDriver, text_system :
    TextSystem
    ) -> Unit

    HostRuntimeDriver::size

    HostWallClock

    pub(all) struct HostWallClock {
    year : Int
    month : Int
    day : Int
    weekday : Int
    hour : Int
    minute : Int
    second : Int
    } derive(Eq, ToJson,
    Debug
    )

    A local civil-time snapshot supplied by a platform host.

    weekday follows the host calendar convention: Sunday is 0 and Saturday is 6. It is an instantaneous value rather than a timer; applications that need updates should pair it with an app-facing @services.TimerSource subscription supplied by the composition root.

    HostWallClock::equal

    HostWallClock::new

    fn HostWallClock::new(year : Int, month : Int, day : Int, weekday : Int, hour : Int, minute : Int, second? : Int) -> HostWallClock

    HostWallClock::not_equal

    fn HostWallClock::not_equal(x : HostWallClock, y : HostWallClock) -> Bool

    HostWallClock::to_json

    HostWindowEvent

    HostWindowEvent::equal

    HostWindowEvent::not_equal

    fn HostWindowEvent::not_equal(x : HostWindowEvent, y : HostWindowEvent) -> Bool

    HostWindowEvent::to_json

    HostWindowEventSource

    pub struct HostWindowEventSource {
    // private fields
    }

    HostWindowEventSource::active_handler_count

    fn HostWindowEventSource::active_handler_count(self : HostWindowEventSource) -> Int

    HostWindowEventSource::new

    HostWindowEventSource::publish

    HostWindowEventSource::subscription

    fn[Msg] HostWindowEventSource::subscription(self : HostWindowEventSource, key? : String, label? : String, map~ : (HostWindowEvent) -> Msg?) ->
    Subscription
    [Msg]

    InputDispatchResult

    pub struct InputDispatchResult {
    handled : Bool
    capture_pointer : Bool
    release_pointer : Bool
    } derive(Eq, ToJson,
    Debug
    )

    Result returned to an input host immediately after a pointer event has reached the runtime tree. Hosts use this to decide browser default behavior and native pointer capture; application views remain unaware of the host.

    InputDispatchResult::equal

    InputDispatchResult::host_flags

    fn InputDispatchResult::host_flags(self : InputDispatchResult) -> Int

    InputDispatchResult::not_equal

    InputDispatchResult::to_json

    InspectorSnapshot

    pub struct InspectorSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    InspectorSnapshot::equal

    InspectorSnapshot::layout

    InspectorSnapshot::not_equal

    fn InspectorSnapshot::not_equal(x : InspectorSnapshot, y : InspectorSnapshot) -> Bool

    InspectorSnapshot::render

    InspectorSnapshot::runtime

    InspectorSnapshot::semantics

    InspectorSnapshot::to_json

    InspectorSnapshot::view_tree

    LayoutBoundsInspectorEntry

    pub struct LayoutBoundsInspectorEntry {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    LayoutBoundsInspectorEntry::child_count

    LayoutBoundsInspectorEntry::constraints

    LayoutBoundsInspectorEntry::depth

    LayoutBoundsInspectorEntry::element_id

    LayoutBoundsInspectorEntry::equal

    LayoutBoundsInspectorEntry::not_equal

    LayoutBoundsInspectorEntry::to_json

    LayoutInspectorSnapshot

    pub struct LayoutInspectorSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    LayoutInspectorSnapshot::bounds

    LayoutInspectorSnapshot::equal

    LayoutInspectorSnapshot::leaf_count

    fn LayoutInspectorSnapshot::leaf_count(self : LayoutInspectorSnapshot) -> Int

    LayoutInspectorSnapshot::max_depth

    LayoutInspectorSnapshot::node_count

    fn LayoutInspectorSnapshot::node_count(self : LayoutInspectorSnapshot) -> Int

    LayoutInspectorSnapshot::not_equal

    LayoutInspectorSnapshot::root_frame

    LayoutInspectorSnapshot::to_json

    PerformSemanticsActionRequest

    PerformSemanticsActionRequest::not_equal

    PerformSemanticsActionRequest::to_json

    PlatformEntry

    pub struct PlatformEntry {
    id : String
    launch_fn : (AppLaunchRequest) -> Unit
    launch_async_fn : async (AppLaunchRequest, Int) -> Unit?
    }

    A platform launch closure. The platform package captures its concrete window options and erases the window type at this boundary.

    PlatformEntry::id

    fn PlatformEntry::id(self : PlatformEntry) -> String

    PlatformEntry::launch

    fn PlatformEntry::launch(self : PlatformEntry, request : AppLaunchRequest) -> Unit

    PlatformEntry::launch_async_pump

    async fn PlatformEntry::launch_async_pump(self : PlatformEntry, request : AppLaunchRequest, frame_interval_ms : Int) -> Unit

    PlatformEntry::new

    fn PlatformEntry::new(id~ : String, launch~ : (AppLaunchRequest) -> Unit, launch_async? : async (AppLaunchRequest, Int) -> Unit?) -> PlatformEntry

    ProfiledDrawFrame

    pub struct ProfiledDrawFrame {
    // private fields
    }

    ProfiledDrawFrame::timing

    ProgramRuntimeSnapshot

    pub struct ProgramRuntimeSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    ProgramRuntimeSnapshot::active_effect_task_count

    fn ProgramRuntimeSnapshot::active_effect_task_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::active_effect_tasks

    ProgramRuntimeSnapshot::active_subscription_count

    fn ProgramRuntimeSnapshot::active_subscription_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::active_subscription_kind_counts

    fn ProgramRuntimeSnapshot::active_subscription_kind_counts(self : ProgramRuntimeSnapshot) -> Array[SubscriptionKindCount]

    ProgramRuntimeSnapshot::active_subscriptions

    ProgramRuntimeSnapshot::cancelled_effect_task_count

    fn ProgramRuntimeSnapshot::cancelled_effect_task_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::cancelled_subscription_count

    fn ProgramRuntimeSnapshot::cancelled_subscription_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::completed_effect_task_count

    fn ProgramRuntimeSnapshot::completed_effect_task_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::dispatched_count

    fn ProgramRuntimeSnapshot::dispatched_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::duplicate_effect_descriptor_key_count

    fn ProgramRuntimeSnapshot::duplicate_effect_descriptor_key_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::duplicate_effect_descriptor_keys

    fn ProgramRuntimeSnapshot::duplicate_effect_descriptor_keys(self : ProgramRuntimeSnapshot) -> Array[String]

    ProgramRuntimeSnapshot::duplicate_subscription_key_count

    fn ProgramRuntimeSnapshot::duplicate_subscription_key_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::duplicate_subscription_keys

    fn ProgramRuntimeSnapshot::duplicate_subscription_keys(self : ProgramRuntimeSnapshot) -> Array[String]

    ProgramRuntimeSnapshot::effect_batch_count

    fn ProgramRuntimeSnapshot::effect_batch_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_count

    fn ProgramRuntimeSnapshot::effect_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_dispatch_count

    fn ProgramRuntimeSnapshot::effect_dispatch_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_none_count

    fn ProgramRuntimeSnapshot::effect_none_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_plan_count

    fn ProgramRuntimeSnapshot::effect_plan_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_run_count

    fn ProgramRuntimeSnapshot::effect_run_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_send_count

    fn ProgramRuntimeSnapshot::effect_send_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_task_count

    fn ProgramRuntimeSnapshot::effect_task_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::effect_task_lifecycle

    ProgramRuntimeSnapshot::equal

    ProgramRuntimeSnapshot::ignored_effect_task_dispatch_count

    fn ProgramRuntimeSnapshot::ignored_effect_task_dispatch_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::ignored_program_dispatch_count

    fn ProgramRuntimeSnapshot::ignored_program_dispatch_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::ignored_subscription_dispatch_count

    fn ProgramRuntimeSnapshot::ignored_subscription_dispatch_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::last_effect_summary

    ProgramRuntimeSnapshot::last_scheduled_effect_summary

    fn ProgramRuntimeSnapshot::last_scheduled_effect_summary(self : ProgramRuntimeSnapshot) -> EffectPlanSummary

    ProgramRuntimeSnapshot::last_subscription_plan_summary

    fn ProgramRuntimeSnapshot::last_subscription_plan_summary(self : ProgramRuntimeSnapshot) -> SubscriptionPlanSummary

    ProgramRuntimeSnapshot::max_pending_message_count

    fn ProgramRuntimeSnapshot::max_pending_message_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::message_drain_count

    fn ProgramRuntimeSnapshot::message_drain_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::message_enqueue_count

    fn ProgramRuntimeSnapshot::message_enqueue_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::not_equal

    ProgramRuntimeSnapshot::pending_message_count

    fn ProgramRuntimeSnapshot::pending_message_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::reused_subscription_count

    fn ProgramRuntimeSnapshot::reused_subscription_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::started_effect_task_count

    fn ProgramRuntimeSnapshot::started_effect_task_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::started_subscription_count

    fn ProgramRuntimeSnapshot::started_subscription_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::subscription_lifecycle

    ProgramRuntimeSnapshot::subscription_plan_count

    fn ProgramRuntimeSnapshot::subscription_plan_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::superseded_effect_task_key_count

    fn ProgramRuntimeSnapshot::superseded_effect_task_key_count(self : ProgramRuntimeSnapshot) -> Int

    ProgramRuntimeSnapshot::superseded_effect_task_keys

    fn ProgramRuntimeSnapshot::superseded_effect_task_keys(self : ProgramRuntimeSnapshot) -> Array[String]

    ProgramRuntimeSnapshot::to_json

    ProgramRuntimeSnapshot::update_count

    fn ProgramRuntimeSnapshot::update_count(self : ProgramRuntimeSnapshot) -> Int

    RedrawScheduler

    pub(all) struct RedrawScheduler {
    state : RedrawSchedulerState
    schedule : () -> Unit
    }

    RedrawScheduler::begin_redraw

    fn RedrawScheduler::begin_redraw(self : RedrawScheduler) -> Unit

    RedrawScheduler::finish_redraw

    fn RedrawScheduler::finish_redraw(self : RedrawScheduler) -> Unit

    RedrawScheduler::is_redraw_requested

    fn RedrawScheduler::is_redraw_requested(self : RedrawScheduler) -> Bool

    RedrawScheduler::new

    fn RedrawScheduler::new(schedule~ : () -> Unit) -> RedrawScheduler

    RedrawScheduler::request

    fn RedrawScheduler::request(self : RedrawScheduler) -> Unit

    RedrawScheduler::set_schedule

    fn RedrawScheduler::set_schedule(self : RedrawScheduler, schedule : () -> Unit) -> Unit

    RedrawScheduler::state

    RedrawSchedulerState

    pub(all) enum RedrawSchedulerState {
    RedrawIdle
    RedrawScheduled
    RedrawInFrame
    RedrawFollowUpScheduled
    } derive(Eq, ToJson,
    Debug
    )

    RedrawSchedulerState::equal

    RedrawSchedulerState::not_equal

    RedrawSchedulerState::to_json

    RenderInspectorEntry

    pub struct RenderInspectorEntry {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    RenderInspectorEntry::cache_key

    fn RenderInspectorEntry::cache_key(self : RenderInspectorEntry) -> String

    RenderInspectorEntry::child_count

    fn RenderInspectorEntry::child_count(self : RenderInspectorEntry) -> Int

    RenderInspectorEntry::command_count

    fn RenderInspectorEntry::command_count(self : RenderInspectorEntry) -> Int

    RenderInspectorEntry::depth

    RenderInspectorEntry::element_id

    fn RenderInspectorEntry::element_id(self : RenderInspectorEntry) -> Int

    RenderInspectorEntry::equal

    RenderInspectorEntry::frame

    RenderInspectorEntry::not_equal

    RenderInspectorEntry::overlay_command_count

    fn RenderInspectorEntry::overlay_command_count(self : RenderInspectorEntry) -> Int

    RenderInspectorEntry::paint_bounds

    RenderInspectorEntry::repaint_boundary

    fn RenderInspectorEntry::repaint_boundary(self : RenderInspectorEntry) -> Bool

    RenderInspectorEntry::to_json

    RenderInspectorSnapshot

    pub struct RenderInspectorSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    RenderInspectorSnapshot::clip_depth

    fn RenderInspectorSnapshot::clip_depth(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::command_count

    fn RenderInspectorSnapshot::command_count(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::equal

    RenderInspectorSnapshot::filter_depth

    fn RenderInspectorSnapshot::filter_depth(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::from_commands

    RenderInspectorSnapshot::image_count

    fn RenderInspectorSnapshot::image_count(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::layer_depth

    fn RenderInspectorSnapshot::layer_depth(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::nodes

    RenderInspectorSnapshot::not_equal

    RenderInspectorSnapshot::open_clip_depth

    fn RenderInspectorSnapshot::open_clip_depth(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::open_filter_depth

    fn RenderInspectorSnapshot::open_filter_depth(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::open_layer_depth

    fn RenderInspectorSnapshot::open_layer_depth(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::path_count

    fn RenderInspectorSnapshot::path_count(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::shader_count

    fn RenderInspectorSnapshot::shader_count(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::text_count

    fn RenderInspectorSnapshot::text_count(self : RenderInspectorSnapshot) -> Int

    RenderInspectorSnapshot::to_json

    RenderInspectorSnapshot::unbalanced_pop_count

    fn RenderInspectorSnapshot::unbalanced_pop_count(self : RenderInspectorSnapshot) -> Int

    RendererRecovery

    pub struct RendererRecovery {
    state : RendererRecoveryState
    loss_count : Int
    last_loss_reason : String
    last_loss_time_ms : Double
    consecutive_failures : Int
    recovery_started_for_loss : Bool
    budget : RendererRecoveryBudget
    }

    RendererRecovery::acknowledge_recovered

    fn RendererRecovery::acknowledge_recovered(self : RendererRecovery) -> Unit

    Transitions the state machine back to Idle from Recovered. Called by the renderer thread once it has resumed GPU presentation. Calling from any other state is a no-op.

    RendererRecovery::consecutive_failures

    fn RendererRecovery::consecutive_failures(self : RendererRecovery) -> Int

    Returns the number of consecutive recovery failures since the last successful recovery. Resets to 0 on report_recovery_succeeded.

    RendererRecovery::last_loss_reason

    fn RendererRecovery::last_loss_reason(self : RendererRecovery) -> String

    Returns the most recent loss reason reported by a platform detector, or the empty string if no loss has been observed.

    RendererRecovery::loss_count

    fn RendererRecovery::loss_count(self : RendererRecovery) -> Int

    Returns the total number of context-loss events observed since construction. Used by promotion manifests (Phase 2.3) as evidence that recovery has been exercised on matching hardware.

    RendererRecovery::new

    RendererRecovery::recovery_deadline_expired

    fn RendererRecovery::recovery_deadline_expired(self : RendererRecovery, now_ms~ : Double) -> Bool

    Returns true when the recovery deadline has expired without a successful recovery. The renderer thread should call report_recovery_failed to advance to the next attempt (or the raster fallback).

    RendererRecovery::report_context_loss

    fn RendererRecovery::report_context_loss(self : RendererRecovery, reason : String, now_ms~ : Double) -> Unit

    Reports a context-loss signal received from the platform detector. Transitions from Idle or Recovered to Lost, stamping the recovery deadline. Calling from Lost/Recovering records a new loss (the in-flight recovery is treated as failed). Calling from FallbackToRaster is a no-op: the renderer thread is no longer on the GPU route.

    RendererRecovery::report_recovery_failed

    fn RendererRecovery::report_recovery_failed(self : RendererRecovery, failure_reason : String, now_ms~ : Double) -> Unit

    Reports that GPU context + surface recreation failed. If the consecutive failure count exceeds the budget, transitions to FallbackToRaster; otherwise transitions back to Lost with the original loss reason and a fresh deadline, allowing one retry per ADR 0006.

    RendererRecovery::report_recovery_started

    fn RendererRecovery::report_recovery_started(self : RendererRecovery) -> Unit

    Marks the start of a GPU context + surface recreation attempt. The renderer thread must call this before recreating the context so that subsequent report_context_loss calls (e.g. a loss detected during recreation) count as a recovery failure.

    RendererRecovery::report_recovery_succeeded

    fn RendererRecovery::report_recovery_succeeded(self : RendererRecovery) -> Unit

    Reports that GPU context + surface recreation succeeded. Resets the consecutive failure count and transitions to Recovered. The renderer thread resumes GPU presentation on the next frame.

    RendererRecovery::should_fallback_to_raster

    fn RendererRecovery::should_fallback_to_raster(self : RendererRecovery) -> Bool

    Returns true when the renderer thread should fall back to SkiaRasterNative. Once true, the state is terminal: the renderer thread must not attempt GPU recreation again without an external reset (e.g. a host-driven surface recreation that re-initializes the renderer thread).

    RendererRecovery::should_recover

    fn RendererRecovery::should_recover(self : RendererRecovery, now_ms~ : Double) -> Bool

    Returns true when the renderer thread should attempt GPU context + surface recreation this frame. The caller must call report_recovery_started before beginning recreation and report_recovery_succeeded / report_recovery_failed once the attempt completes.

    RendererRecovery::snapshot

    Returns a diagnostic snapshot suitable for inclusion in the mobile runtime manifest (Phase 2.3). The snapshot is read-only; callers should not mutate the recovery state based on this snapshot.

    RendererRecovery::state

    Returns the current recovery state. The renderer thread consults this each frame to decide whether to render GPU work, drain only, or fall back to raster.

    RendererRecoveryBudget

    pub(all) struct RendererRecoveryBudget {
    vsync_ms : Double
    recovery_vsync_budget : Int
    max_consecutive_recovery_failures : Int
    } derive(Eq, ToJson,
    Debug
    )

    Tunable recovery budget. Per ADR 0006, context-loss recovery must complete within 3 VSyncs. Repeated failure above max_consecutive_recovery_failures triggers the raster fallback.

    RendererRecoveryBudget::default

    RendererRecoveryBudget::equal

    RendererRecoveryBudget::new

    fn RendererRecoveryBudget::new(vsync_ms~ : Double, recovery_vsync_budget~ : Int, max_consecutive_recovery_failures~ : Int) -> RendererRecoveryBudget

    Builds a custom recovery budget. Useful for testing platform-specific VSync intervals (e.g. 120 Hz) and tighter/looser recovery windows.

    RendererRecoveryBudget::not_equal

    RendererRecoveryBudget::recovery_deadline_ms

    fn RendererRecoveryBudget::recovery_deadline_ms(self : RendererRecoveryBudget, loss_time_ms : Double) -> Double

    RendererRecoveryBudget::to_json

    RendererRecoverySnapshot

    pub(all) struct RendererRecoverySnapshot {
    state : String
    loss_count : Int
    last_loss_reason : String
    last_loss_time_ms : Double
    recovery_deadline_ms : Double
    consecutive_failures : Int
    fallback_reason : String
    } derive(Eq, ToJson,
    Debug
    )

    RendererRecoverySnapshot::equal

    RendererRecoverySnapshot::not_equal

    RendererRecoverySnapshot::to_json

    RendererRecoveryState

    pub(all) enum RendererRecoveryState {
    Idle
    Lost(String, Double)
    Recovering
    Recovered
    FallbackToRaster(String)
    } derive(Eq, ToJson,
    Debug
    )

    Phase 2.2 (ADR 0006 § Context-loss recovery): cross-platform scaffolding for monitoring GPU context-loss signals and deciding when to fall back to SkiaRasterNative. Per-platform loss detectors (Metal MTLDevice deviceLostHandler, Vulkan VK_ERROR_DEVICE_LOST, EGL EGL_CONTEXT_LOST, D3D12 GetDeviceRemovedReason) feed this module via report_context_loss; the renderer thread consults should_recover and should_fallback_to_raster each frame to drive cache tear-down, context recreation, and the final raster fallback. AppRuntime state is preserved across all transitions: only the renderer-thread-owned GPU resources are recycled.

    The recovery state machine is: Idle -> Lost (context loss reported; 3 VSync deadline starts) -> Recovering (recreation in flight) -> Recovered (recreation succeeded; GPU route resumes) | FallbackToRaster (repeated failure exceeded the budget) The deadline is 3 * vsync_ms after the loss was reported; on expiry without recovery, the renderer thread falls back to raster.

    RendererRecoveryState::equal

    RendererRecoveryState::not_equal

    RendererRecoveryState::to_json

    RuntimeDirtyStateSummary

    pub struct RuntimeDirtyStateSummary {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    RuntimeDirtyStateSummary::damage_full_reason

    fn RuntimeDirtyStateSummary::damage_full_reason(self : RuntimeDirtyStateSummary) -> String

    RuntimeDirtyStateSummary::damage_kind

    fn RuntimeDirtyStateSummary::damage_kind(self : RuntimeDirtyStateSummary) -> String

    RuntimeDirtyStateSummary::damage_rect_count

    fn RuntimeDirtyStateSummary::damage_rect_count(self : RuntimeDirtyStateSummary) -> Int

    RuntimeDirtyStateSummary::dirty_build_count

    fn RuntimeDirtyStateSummary::dirty_build_count(self : RuntimeDirtyStateSummary) -> Int

    RuntimeDirtyStateSummary::dirty_build_element_ids

    fn RuntimeDirtyStateSummary::dirty_build_element_ids(self : RuntimeDirtyStateSummary) -> Array[Int]

    RuntimeDirtyStateSummary::dirty_count

    fn RuntimeDirtyStateSummary::dirty_count(self : RuntimeDirtyStateSummary) -> Int

    RuntimeDirtyStateSummary::dirty_element_ids

    fn RuntimeDirtyStateSummary::dirty_element_ids(self : RuntimeDirtyStateSummary) -> Array[Int]

    RuntimeDirtyStateSummary::dirty_layout_count

    fn RuntimeDirtyStateSummary::dirty_layout_count(self : RuntimeDirtyStateSummary) -> Int

    RuntimeDirtyStateSummary::dirty_layout_element_ids

    fn RuntimeDirtyStateSummary::dirty_layout_element_ids(self : RuntimeDirtyStateSummary) -> Array[Int]

    RuntimeDirtyStateSummary::dirty_paint_count

    fn RuntimeDirtyStateSummary::dirty_paint_count(self : RuntimeDirtyStateSummary) -> Int

    RuntimeDirtyStateSummary::dirty_paint_element_ids

    fn RuntimeDirtyStateSummary::dirty_paint_element_ids(self : RuntimeDirtyStateSummary) -> Array[Int]

    RuntimeDirtyStateSummary::equal

    RuntimeDirtyStateSummary::has_pending_work

    fn RuntimeDirtyStateSummary::has_pending_work(self : RuntimeDirtyStateSummary) -> Bool

    RuntimeDirtyStateSummary::needs_layout

    fn RuntimeDirtyStateSummary::needs_layout(self : RuntimeDirtyStateSummary) -> Bool

    RuntimeDirtyStateSummary::needs_paint

    fn RuntimeDirtyStateSummary::needs_paint(self : RuntimeDirtyStateSummary) -> Bool

    RuntimeDirtyStateSummary::needs_rebuild

    fn RuntimeDirtyStateSummary::needs_rebuild(self : RuntimeDirtyStateSummary) -> Bool

    RuntimeDirtyStateSummary::needs_redraw

    fn RuntimeDirtyStateSummary::needs_redraw(self : RuntimeDirtyStateSummary) -> Bool

    RuntimeDirtyStateSummary::not_equal

    RuntimeDirtyStateSummary::reason

    RuntimeDirtyStateSummary::reasons

    RuntimeDirtyStateSummary::to_json

    RuntimeFrameTiming

    pub struct RuntimeFrameTiming {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    RuntimeFrameTiming::build_ms

    fn RuntimeFrameTiming::build_ms(self : RuntimeFrameTiming) -> Double

    RuntimeFrameTiming::draw_ms

    fn RuntimeFrameTiming::draw_ms(self : RuntimeFrameTiming) -> Double

    RuntimeFrameTiming::equal

    RuntimeFrameTiming::layout_ms

    fn RuntimeFrameTiming::layout_ms(self : RuntimeFrameTiming) -> Double

    RuntimeFrameTiming::not_equal

    RuntimeFrameTiming::paint_ms

    fn RuntimeFrameTiming::paint_ms(self : RuntimeFrameTiming) -> Double

    RuntimeFrameTiming::to_json

    RuntimeFrameTiming::total_ms

    fn RuntimeFrameTiming::total_ms(self : RuntimeFrameTiming) -> Double

    RuntimeInspectorSnapshot

    pub struct RuntimeInspectorSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    RuntimeInspectorSnapshot::active_effect_task_count

    fn RuntimeInspectorSnapshot::active_effect_task_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::active_effect_tasks

    RuntimeInspectorSnapshot::active_subscription_count

    fn RuntimeInspectorSnapshot::active_subscription_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::active_subscription_kind_counts

    fn RuntimeInspectorSnapshot::active_subscription_kind_counts(self : RuntimeInspectorSnapshot) -> Array[SubscriptionKindCount]

    RuntimeInspectorSnapshot::active_subscriptions

    RuntimeInspectorSnapshot::cancelled_effect_task_count

    fn RuntimeInspectorSnapshot::cancelled_effect_task_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::cancelled_subscription_count

    fn RuntimeInspectorSnapshot::cancelled_subscription_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::completed_effect_task_count

    fn RuntimeInspectorSnapshot::completed_effect_task_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::dirty_build_count

    fn RuntimeInspectorSnapshot::dirty_build_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::dirty_build_element_ids

    fn RuntimeInspectorSnapshot::dirty_build_element_ids(self : RuntimeInspectorSnapshot) -> Array[Int]

    RuntimeInspectorSnapshot::dirty_count

    fn RuntimeInspectorSnapshot::dirty_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::dirty_element_ids

    fn RuntimeInspectorSnapshot::dirty_element_ids(self : RuntimeInspectorSnapshot) -> Array[Int]

    RuntimeInspectorSnapshot::dirty_layout_count

    fn RuntimeInspectorSnapshot::dirty_layout_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::dirty_layout_element_ids

    fn RuntimeInspectorSnapshot::dirty_layout_element_ids(self : RuntimeInspectorSnapshot) -> Array[Int]

    RuntimeInspectorSnapshot::dirty_paint_count

    fn RuntimeInspectorSnapshot::dirty_paint_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::dirty_paint_element_ids

    fn RuntimeInspectorSnapshot::dirty_paint_element_ids(self : RuntimeInspectorSnapshot) -> Array[Int]

    RuntimeInspectorSnapshot::dirty_reasons

    fn RuntimeInspectorSnapshot::dirty_reasons(self : RuntimeInspectorSnapshot) -> Array[String]

    RuntimeInspectorSnapshot::dirty_state

    RuntimeInspectorSnapshot::draw_command_build_count

    fn RuntimeInspectorSnapshot::draw_command_build_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::draw_command_count

    fn RuntimeInspectorSnapshot::draw_command_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::duplicate_effect_descriptor_key_count

    fn RuntimeInspectorSnapshot::duplicate_effect_descriptor_key_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::duplicate_effect_descriptor_keys

    fn RuntimeInspectorSnapshot::duplicate_effect_descriptor_keys(self : RuntimeInspectorSnapshot) -> Array[String]

    RuntimeInspectorSnapshot::duplicate_subscription_key_count

    fn RuntimeInspectorSnapshot::duplicate_subscription_key_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::duplicate_subscription_keys

    fn RuntimeInspectorSnapshot::duplicate_subscription_keys(self : RuntimeInspectorSnapshot) -> Array[String]

    RuntimeInspectorSnapshot::effect_task_lifecycle

    RuntimeInspectorSnapshot::equal

    RuntimeInspectorSnapshot::ignored_effect_task_dispatch_count

    fn RuntimeInspectorSnapshot::ignored_effect_task_dispatch_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::ignored_program_dispatch_count

    fn RuntimeInspectorSnapshot::ignored_program_dispatch_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::ignored_subscription_dispatch_count

    fn RuntimeInspectorSnapshot::ignored_subscription_dispatch_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::last_effect_summary

    RuntimeInspectorSnapshot::last_event_hit_path

    fn RuntimeInspectorSnapshot::last_event_hit_path(self : RuntimeInspectorSnapshot) -> Array[Int]

    RuntimeInspectorSnapshot::last_frame_timing

    RuntimeInspectorSnapshot::last_scheduled_effect_summary

    fn RuntimeInspectorSnapshot::last_scheduled_effect_summary(self : RuntimeInspectorSnapshot) -> EffectPlanSummary

    RuntimeInspectorSnapshot::last_subscription_plan_summary

    fn RuntimeInspectorSnapshot::last_subscription_plan_summary(self : RuntimeInspectorSnapshot) -> SubscriptionPlanSummary

    RuntimeInspectorSnapshot::layout_cache_hit_count

    fn RuntimeInspectorSnapshot::layout_cache_hit_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::layout_cache_miss_count

    fn RuntimeInspectorSnapshot::layout_cache_miss_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::layout_pass_count

    fn RuntimeInspectorSnapshot::layout_pass_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::needs_layout

    fn RuntimeInspectorSnapshot::needs_layout(self : RuntimeInspectorSnapshot) -> Bool

    RuntimeInspectorSnapshot::needs_paint

    fn RuntimeInspectorSnapshot::needs_paint(self : RuntimeInspectorSnapshot) -> Bool

    RuntimeInspectorSnapshot::needs_rebuild

    fn RuntimeInspectorSnapshot::needs_rebuild(self : RuntimeInspectorSnapshot) -> Bool

    RuntimeInspectorSnapshot::needs_redraw

    fn RuntimeInspectorSnapshot::needs_redraw(self : RuntimeInspectorSnapshot) -> Bool

    RuntimeInspectorSnapshot::not_equal

    RuntimeInspectorSnapshot::paint_pass_count

    fn RuntimeInspectorSnapshot::paint_pass_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_dispatched_count

    fn RuntimeInspectorSnapshot::program_dispatched_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_batch_count

    fn RuntimeInspectorSnapshot::program_effect_batch_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_count

    fn RuntimeInspectorSnapshot::program_effect_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_dispatch_count

    fn RuntimeInspectorSnapshot::program_effect_dispatch_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_none_count

    fn RuntimeInspectorSnapshot::program_effect_none_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_plan_count

    fn RuntimeInspectorSnapshot::program_effect_plan_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_run_count

    fn RuntimeInspectorSnapshot::program_effect_run_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_send_count

    fn RuntimeInspectorSnapshot::program_effect_send_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_effect_task_count

    fn RuntimeInspectorSnapshot::program_effect_task_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_max_pending_message_count

    fn RuntimeInspectorSnapshot::program_max_pending_message_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_message_drain_count

    fn RuntimeInspectorSnapshot::program_message_drain_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_message_enqueue_count

    fn RuntimeInspectorSnapshot::program_message_enqueue_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_pending_message_count

    fn RuntimeInspectorSnapshot::program_pending_message_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_subscription_plan_count

    fn RuntimeInspectorSnapshot::program_subscription_plan_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::program_update_count

    fn RuntimeInspectorSnapshot::program_update_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::rebuild_pass_count

    fn RuntimeInspectorSnapshot::rebuild_pass_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::rebuild_reason

    fn RuntimeInspectorSnapshot::rebuild_reason(self : RuntimeInspectorSnapshot) -> String

    RuntimeInspectorSnapshot::render_cache_hit_count

    fn RuntimeInspectorSnapshot::render_cache_hit_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::render_cache_miss_count

    fn RuntimeInspectorSnapshot::render_cache_miss_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::reused_subscription_count

    fn RuntimeInspectorSnapshot::reused_subscription_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::started_effect_task_count

    fn RuntimeInspectorSnapshot::started_effect_task_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::started_subscription_count

    fn RuntimeInspectorSnapshot::started_subscription_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::subscription_lifecycle

    RuntimeInspectorSnapshot::superseded_effect_task_key_count

    fn RuntimeInspectorSnapshot::superseded_effect_task_key_count(self : RuntimeInspectorSnapshot) -> Int

    RuntimeInspectorSnapshot::superseded_effect_task_keys

    fn RuntimeInspectorSnapshot::superseded_effect_task_keys(self : RuntimeInspectorSnapshot) -> Array[String]

    RuntimeInspectorSnapshot::to_json

    SemanticsActionReceipt

    SemanticsActionReceipt::equal

    SemanticsActionReceipt::not_equal

    SemanticsActionReceipt::to_json

    SemanticsDelta

    pub struct SemanticsDelta {
    // private fields
    } derive(Eq,
    Debug
    )

    SemanticsDelta::announcements

    SemanticsDelta::equal

    SemanticsDelta::issues

    SemanticsDelta::not_equal

    fn SemanticsDelta::not_equal(x : SemanticsDelta, y : SemanticsDelta) -> Bool

    SemanticsDelta::semantic_focused

    SemanticsGenerationPrecondition

    pub(all) enum SemanticsGenerationPrecondition {
    Exact(
    SemanticsGeneration
    )
    Latest
    } derive(Eq, ToJson,
    Debug
    )

    SemanticsGenerationPrecondition::not_equal

    SemanticsGenerationPrecondition::to_json

    SemanticsInspectorEntry

    pub struct SemanticsInspectorEntry {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    SemanticsInspectorEntry::action_count

    fn SemanticsInspectorEntry::action_count(self : SemanticsInspectorEntry) -> Int

    SemanticsInspectorEntry::checked

    SemanticsInspectorEntry::child_count

    fn SemanticsInspectorEntry::child_count(self : SemanticsInspectorEntry) -> Int

    SemanticsInspectorEntry::depth

    SemanticsInspectorEntry::disabled

    SemanticsInspectorEntry::equal

    SemanticsInspectorEntry::expanded

    SemanticsInspectorEntry::focusable

    fn SemanticsInspectorEntry::focusable(self : SemanticsInspectorEntry) -> Bool

    SemanticsInspectorEntry::frame

    SemanticsInspectorEntry::label

    SemanticsInspectorEntry::node_id

    fn SemanticsInspectorEntry::node_id(self : SemanticsInspectorEntry) -> String

    SemanticsInspectorEntry::not_equal

    SemanticsInspectorEntry::selected

    SemanticsInspectorEntry::to_json

    SemanticsInspectorEntry::value

    SemanticsInspectorSnapshot

    pub struct SemanticsInspectorSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    SemanticsInspectorSnapshot::action_count

    SemanticsInspectorSnapshot::checked_count

    SemanticsInspectorSnapshot::described_count

    fn SemanticsInspectorSnapshot::described_count(self : SemanticsInspectorSnapshot) -> Int

    SemanticsInspectorSnapshot::equal

    SemanticsInspectorSnapshot::expanded_count

    fn SemanticsInspectorSnapshot::expanded_count(self : SemanticsInspectorSnapshot) -> Int

    SemanticsInspectorSnapshot::focusable_count

    fn SemanticsInspectorSnapshot::focusable_count(self : SemanticsInspectorSnapshot) -> Int

    SemanticsInspectorSnapshot::invalid_count

    SemanticsInspectorSnapshot::max_depth

    SemanticsInspectorSnapshot::node_count

    SemanticsInspectorSnapshot::nodes

    SemanticsInspectorSnapshot::not_equal

    SemanticsInspectorSnapshot::required_count

    fn SemanticsInspectorSnapshot::required_count(self : SemanticsInspectorSnapshot) -> Int

    SemanticsInspectorSnapshot::selected_count

    fn SemanticsInspectorSnapshot::selected_count(self : SemanticsInspectorSnapshot) -> Int

    SemanticsInspectorSnapshot::to_json

    SemanticsRead

    SemanticsRead::equal

    SemanticsRead::not_equal

    fn SemanticsRead::not_equal(x : SemanticsRead, y : SemanticsRead) -> Bool

    SemanticsReadError

    pub(all) enum SemanticsReadError {
    RuntimeClosed
    } derive(Eq, ToJson,
    Debug
    )

    SemanticsReadError::equal

    SemanticsReadError::not_equal

    SemanticsReadError::to_json

    SemanticsSnapshot

    pub struct SemanticsSnapshot {
    // private fields
    } derive(Eq,
    Debug
    )

    One atomically committed, flat semantics tree.

    Mutable arrays are kept private. Every accessor returns a fresh projection so consumers cannot mutate runtime-owned committed state.

    SemanticsSnapshot::equal

    SemanticsSnapshot::issues

    SemanticsSnapshot::not_equal

    fn SemanticsSnapshot::not_equal(x : SemanticsSnapshot, y : SemanticsSnapshot) -> Bool

    SemanticsSnapshot::semantic_focused

    Assistive-technology browsing focus, kept independent from keyboard/input focus. Platform navigation may update this value without stealing input.

    SubscriptionCancelReason

    pub(all) enum SubscriptionCancelReason {
    SubscriptionKeyChanged
    SubscriptionKindChanged
    SubscriptionRuntimeDestroyed
    } derive(Eq, ToJson,
    Debug
    )

    SubscriptionCancelReason::equal

    SubscriptionCancelReason::not_equal

    SubscriptionCancelReason::to_json

    SubscriptionKindCount

    pub struct SubscriptionKindCount {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    SubscriptionKindCount::count

    SubscriptionKindCount::equal

    SubscriptionKindCount::kind

    fn SubscriptionKindCount::kind(self : SubscriptionKindCount) -> String

    SubscriptionKindCount::not_equal

    SubscriptionKindCount::to_json

    SubscriptionLifecycleSnapshot

    pub struct SubscriptionLifecycleSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    SubscriptionLifecycleSnapshot::cancel_reason

    SubscriptionLifecycleSnapshot::key

    SubscriptionLifecycleSnapshot::kind

    SubscriptionLifecycleSnapshot::label

    SubscriptionLifecycleSnapshot::not_equal

    SubscriptionLifecycleSnapshot::status

    SubscriptionLifecycleSnapshot::to_json

    SubscriptionLifecycleStatus

    pub(all) enum SubscriptionLifecycleStatus {
    SubscriptionActive
    SubscriptionCancelled
    } derive(Eq, ToJson,
    Debug
    )

    SubscriptionLifecycleStatus::not_equal

    SubscriptionLifecycleStatus::to_json

    SubscriptionPlanKind

    pub(all) enum SubscriptionPlanKind {
    SubscriptionPlanNone
    SubscriptionPlanBatch
    SubscriptionPlanSource
    } derive(Eq, ToJson,
    Debug
    )

    SubscriptionPlanKind::equal

    SubscriptionPlanKind::not_equal

    SubscriptionPlanKind::to_json

    SubscriptionPlanSummary

    pub struct SubscriptionPlanSummary {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    SubscriptionPlanSummary::batch_count

    fn SubscriptionPlanSummary::batch_count(self : SubscriptionPlanSummary) -> Int

    SubscriptionPlanSummary::duplicate_key_count

    fn SubscriptionPlanSummary::duplicate_key_count(self : SubscriptionPlanSummary) -> Int

    SubscriptionPlanSummary::duplicate_keys

    fn SubscriptionPlanSummary::duplicate_keys(self : SubscriptionPlanSummary) -> Array[String]

    SubscriptionPlanSummary::empty

    SubscriptionPlanSummary::equal

    SubscriptionPlanSummary::max_depth

    SubscriptionPlanSummary::none_count

    fn SubscriptionPlanSummary::none_count(self : SubscriptionPlanSummary) -> Int

    SubscriptionPlanSummary::not_equal

    SubscriptionPlanSummary::root_kind

    SubscriptionPlanSummary::source_count

    fn SubscriptionPlanSummary::source_count(self : SubscriptionPlanSummary) -> Int

    SubscriptionPlanSummary::to_json

    ViewInspectorSummary

    pub struct ViewInspectorSummary {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    ViewInspectorSummary::child_count

    fn ViewInspectorSummary::child_count(self : ViewInspectorSummary) -> Int

    ViewInspectorSummary::depth

    ViewInspectorSummary::element_id

    fn ViewInspectorSummary::element_id(self : ViewInspectorSummary) -> Int

    ViewInspectorSummary::equal

    ViewInspectorSummary::key

    fn ViewInspectorSummary::key(self : ViewInspectorSummary) -> String

    ViewInspectorSummary::kind

    fn ViewInspectorSummary::kind(self : ViewInspectorSummary) -> String

    ViewInspectorSummary::needs_build

    fn ViewInspectorSummary::needs_build(self : ViewInspectorSummary) -> Bool

    ViewInspectorSummary::needs_layout

    fn ViewInspectorSummary::needs_layout(self : ViewInspectorSummary) -> Bool

    ViewInspectorSummary::needs_paint

    fn ViewInspectorSummary::needs_paint(self : ViewInspectorSummary) -> Bool

    ViewInspectorSummary::not_equal

    ViewInspectorSummary::to_json

    ViewTreeInspectorSnapshot

    pub struct ViewTreeInspectorSnapshot {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    ViewTreeInspectorSnapshot::control_count

    fn ViewTreeInspectorSnapshot::control_count(self : ViewTreeInspectorSnapshot) -> Int

    ViewTreeInspectorSnapshot::dirty_build_count

    fn ViewTreeInspectorSnapshot::dirty_build_count(self : ViewTreeInspectorSnapshot) -> Int

    ViewTreeInspectorSnapshot::dirty_layout_count

    fn ViewTreeInspectorSnapshot::dirty_layout_count(self : ViewTreeInspectorSnapshot) -> Int

    ViewTreeInspectorSnapshot::dirty_paint_count

    fn ViewTreeInspectorSnapshot::dirty_paint_count(self : ViewTreeInspectorSnapshot) -> Int

    ViewTreeInspectorSnapshot::equal

    ViewTreeInspectorSnapshot::modified_count

    fn ViewTreeInspectorSnapshot::modified_count(self : ViewTreeInspectorSnapshot) -> Int

    ViewTreeInspectorSnapshot::node_count

    ViewTreeInspectorSnapshot::nodes

    ViewTreeInspectorSnapshot::not_equal

    ViewTreeInspectorSnapshot::root_kind

    ViewTreeInspectorSnapshot::to_json

    effect_plan_summary

    fn[Msg] effect_plan_summary(effect :
    Effect
    [Msg]) -> EffectPlanSummary

    finish_first_frame_smoke_auto_exit

    fn finish_first_frame_smoke_auto_exit(platform_name~ : String, title~ : String, flag~ : Bool, finish~ : () -> Unit) -> Bool

    Finish a first-frame smoke auto-exit: print the platform marker, then run the backend cleanup (clear the flag, dispose the window). Returns true when the smoke flag was set so the caller can report completion.

    install_platform_view_plugins

    fn install_platform_view_plugins(plugins : Array[
    PlatformViewPlugin
    ], dispatch : (UInt64, String,
    PlatformViewEvent
    ) -> Unit) -> Unit

    Install platform-view event dispatchers at app startup.

    new_program

    fn[Model, Msg] new_program(program~ :
    Program
    [Model, Msg], size~ :
    Size
    , environment? :
    Environment
    ) -> AppRuntime

    new_program_with_dimensions

    fn[Model, Msg] new_program_with_dimensions(program~ :
    Program
    [Model, Msg], width~ : Double, height~ : Double, environment? :
    Environment
    ) -> AppRuntime

    new_view

    fn[Msg] new_view(root~ :
    View
    [Msg], size~ :
    Size
    , environment? :
    Environment
    , on_message? : (Msg) -> Unit?) -> AppRuntime

    run_app

    fn run_app(title : String, runtime : AppRuntime) -> AppBuilder

    subscription_plan_summary

    fn[Msg] subscription_plan_summary(subscription :
    Subscription
    [Msg]) -> SubscriptionPlanSummary

    sync_platform_view_plugins

    fn sync_platform_view_plugins(plugins : Array[
    PlatformViewPlugin
    ], handle : UInt64, frame :
    DrawFrame
    , content_offset? : Double) -> Unit

    Sync platform views and drain their queued commands during a redraw.