Skip to main content

UiDebugFrameStats

Struct UiDebugFrameStats 

Source
pub struct UiDebugFrameStats {
Show 180 fields pub frame_id: FrameId, pub frame_arena_capacity_estimate_bytes: u64, pub frame_arena_grow_events: u32, pub element_children_vec_pool_reuses: u32, pub element_children_vec_pool_misses: u32, pub dispatch_time: Duration, pub dispatch_pointer_events: u32, pub dispatch_pointer_event_time: Duration, pub dispatch_timer_events: u32, pub dispatch_timer_event_time: Duration, pub dispatch_timer_targeted_events: u32, pub dispatch_timer_targeted_time: Duration, pub dispatch_timer_broadcast_events: u32, pub dispatch_timer_broadcast_time: Duration, pub dispatch_timer_broadcast_layers_visited: u32, pub dispatch_timer_broadcast_rebuild_visible_layers_time: Duration, pub dispatch_timer_broadcast_loop_time: Duration, pub dispatch_timer_slowest_event_time: Duration, pub dispatch_timer_slowest_token: Option<TimerToken>, pub dispatch_timer_slowest_was_broadcast: bool, pub dispatch_other_events: u32, pub dispatch_other_event_time: Duration, pub hit_test_time: Duration, pub dispatch_events: u32, pub hit_test_queries: u32, pub hit_test_bounds_tree_queries: u32, pub hit_test_bounds_tree_disabled: u32, pub hit_test_bounds_tree_misses: u32, pub hit_test_bounds_tree_hits: u32, pub hit_test_bounds_tree_candidate_rejected: u32, pub hit_test_bounds_tree_nodes_visited: u32, pub hit_test_bounds_tree_nodes_pushed: u32, pub hit_test_path_cache_hits: u32, pub hit_test_path_cache_misses: u32, pub hit_test_cached_path_time: Duration, pub hit_test_bounds_tree_query_time: Duration, pub hit_test_candidate_self_only_time: Duration, pub hit_test_fallback_traversal_time: Duration, pub dispatch_hover_update_time: Duration, pub dispatch_scroll_handle_invalidation_time: Duration, pub dispatch_active_layers_time: Duration, pub dispatch_input_context_time: Duration, pub dispatch_event_chain_build_time: Duration, pub dispatch_widget_capture_time: Duration, pub dispatch_widget_bubble_time: Duration, pub dispatch_cursor_query_time: Duration, pub dispatch_pointer_move_layer_observers_time: Duration, pub dispatch_synth_hover_observer_time: Duration, pub dispatch_cursor_effect_time: Duration, pub dispatch_post_dispatch_snapshot_time: Duration, pub layout_time: Duration, pub layout_collect_roots_time: Duration, pub layout_invalidate_scroll_handle_bindings_time: Duration, pub layout_expand_view_cache_invalidations_time: Duration, pub layout_request_build_roots_time: Duration, pub layout_pending_barrier_relayouts_time: Duration, pub layout_repair_view_cache_bounds_time: Duration, pub layout_contained_view_cache_roots_time: Duration, pub layout_collapse_layout_observations_time: Duration, pub layout_observation_record_time: Duration, pub layout_observation_record_models_items: u32, pub layout_observation_record_globals_items: u32, pub layout_prepaint_after_layout_time: Duration, pub layout_skipped_engine_frame: bool, pub layout_roots_time: Duration, pub layout_barrier_relayouts_time: Duration, pub layout_view_cache_time: Duration, pub layout_semantics_refresh_time: Duration, pub layout_focus_repair_time: Duration, pub layout_deferred_cleanup_time: Duration, pub prepaint_time: Duration, pub paint_time: Duration, pub paint_record_visual_bounds_time: Duration, pub paint_record_visual_bounds_calls: u32, pub paint_cache_key_time: Duration, pub paint_cache_hit_check_time: Duration, pub paint_widget_time: Duration, pub paint_observation_record_time: Duration, pub paint_host_widget_observed_models_time: Duration, pub paint_host_widget_observed_models_items: u32, pub paint_host_widget_observed_globals_time: Duration, pub paint_host_widget_observed_globals_items: u32, pub paint_host_widget_instance_lookup_time: Duration, pub paint_host_widget_instance_lookup_calls: u32, pub paint_text_prepare_time: Duration, pub paint_text_prepare_calls: u32, pub paint_text_prepare_reason_blob_missing: u32, pub paint_text_prepare_reason_scale_changed: u32, pub paint_text_prepare_reason_text_changed: u32, pub paint_text_prepare_reason_rich_changed: u32, pub paint_text_prepare_reason_style_changed: u32, pub paint_text_prepare_reason_wrap_changed: u32, pub paint_text_prepare_reason_overflow_changed: u32, pub paint_text_prepare_reason_width_changed: u32, pub paint_text_prepare_reason_font_stack_changed: u32, pub paint_input_context_time: Duration, pub paint_scroll_handle_invalidation_time: Duration, pub paint_collect_roots_time: Duration, pub paint_publish_text_input_snapshot_time: Duration, pub paint_collapse_observations_time: Duration, pub layout_nodes_visited: u32, pub layout_nodes_performed: u32, pub prepaint_nodes_visited: u32, pub paint_nodes: u32, pub paint_nodes_performed: u32, pub paint_cache_hits: u32, pub paint_cache_misses: u32, pub paint_cache_replayed_ops: u32, pub paint_cache_hit_test_only_replay_allowed: u32, pub paint_cache_hit_test_only_replay_rejected_key_mismatch: u32, pub paint_cache_replay_time: Duration, pub paint_cache_bounds_translate_time: Duration, pub paint_cache_bounds_translated_nodes: u32, pub interaction_cache_hits: u32, pub interaction_cache_misses: u32, pub interaction_cache_replayed_records: u32, pub interaction_records: u32, pub layout_engine_solves: u64, pub layout_engine_solve_time: Duration, pub layout_engine_child_rect_queries: u64, pub layout_engine_child_rect_time: Duration, pub layout_engine_widget_fallback_solves: u64, pub layout_fast_path_taken: bool, pub layout_invalidations_count: u32, pub layout_subtree_dirty_agg_enabled: bool, pub layout_subtree_dirty_agg_updates: u32, pub layout_subtree_dirty_agg_nodes_touched: u32, pub layout_subtree_dirty_agg_max_parent_walk: u32, pub layout_subtree_dirty_agg_rebuild_nodes: u32, pub layout_subtree_dirty_agg_validation_failures: u32, pub model_change_invalidation_roots: u32, pub model_change_models: u32, pub model_change_observation_edges: u32, pub model_change_unobserved_models: u32, pub global_change_invalidation_roots: u32, pub global_change_globals: u32, pub global_change_observation_edges: u32, pub global_change_unobserved_globals: u32, pub invalidation_walk_nodes: u32, pub invalidation_walk_calls: u32, pub invalidation_walk_nodes_model_change: u32, pub invalidation_walk_calls_model_change: u32, pub invalidation_walk_nodes_global_change: u32, pub invalidation_walk_calls_global_change: u32, pub invalidation_walk_nodes_hover: u32, pub invalidation_walk_calls_hover: u32, pub invalidation_walk_nodes_focus: u32, pub invalidation_walk_calls_focus: u32, pub invalidation_walk_nodes_other: u32, pub invalidation_walk_calls_other: u32, pub hover_pressable_target_changes: u32, pub hover_hover_region_target_changes: u32, pub hover_declarative_instance_changes: u32, pub hover_declarative_hit_test_invalidations: u32, pub hover_declarative_layout_invalidations: u32, pub hover_declarative_paint_invalidations: u32, pub view_cache_active: bool, pub view_cache_invalidation_truncations: u32, pub view_cache_contained_relayouts: u32, pub view_cache_roots_total: u32, pub view_cache_roots_reused: u32, pub view_cache_roots_first_mount: u32, pub view_cache_roots_node_recreated: u32, pub view_cache_roots_cache_key_mismatch: u32, pub view_cache_roots_not_marked_reuse_root: u32, pub view_cache_roots_needs_rerender: u32, pub view_cache_roots_layout_invalidated: u32, pub view_cache_roots_manual: u32, pub set_children_barrier_writes: u32, pub barrier_relayouts_scheduled: u32, pub barrier_relayouts_performed: u32, pub virtual_list_visible_range_checks: u32, pub virtual_list_visible_range_refreshes: u32, pub virtual_list_window_shifts_total: u32, pub virtual_list_window_shifts_non_retained: u32, pub retained_virtual_list_reconciles: u32, pub retained_virtual_list_attached_items: u32, pub retained_virtual_list_detached_items: u32, pub focus: Option<NodeId>, pub captured: Option<NodeId>,
}

Fields§

§frame_id: FrameId§frame_arena_capacity_estimate_bytes: u64

Approximate capacity retained by per-frame scratch (“frame arena”) containers.

This is a coarse signal intended for diagnostics/triage: it tracks reserved capacity (not current length) and intentionally underestimates hash table overhead.

§frame_arena_grow_events: u32

Number of scratch containers that grew their capacity during the current frame.

This is a proxy for allocator churn in hot paths that should ideally stabilize after warmup.

§element_children_vec_pool_reuses: u32

Number of child-element vectors reused from the per-window pool during element build.

This is a proxy for “element tree arena” progress: higher reuse implies less allocator churn while building the ephemeral declarative element tree.

§element_children_vec_pool_misses: u32

Number of child-element vectors that had to be newly allocated during element build.

§dispatch_time: Duration

Total time spent in event dispatch during the current frame.

This includes pointer routing, capture/focus arbitration, and widget event hooks. It does not include layout/prepaint/paint, which are tracked separately.

§dispatch_pointer_events: u32

Number of pointer/drag events dispatched during the current frame.

§dispatch_pointer_event_time: Duration

Total wall time spent dispatching pointer/drag events during the current frame.

§dispatch_timer_events: u32

Number of timer events dispatched during the current frame.

§dispatch_timer_event_time: Duration

Total wall time spent dispatching timer events during the current frame.

§dispatch_timer_targeted_events: u32

Number of timer events that resolved to an explicit element target.

§dispatch_timer_targeted_time: Duration

Wall time spent dispatching explicitly targeted timer events.

§dispatch_timer_broadcast_events: u32

Number of timer events that fell back to broadcast delivery (no element target).

§dispatch_timer_broadcast_time: Duration

Wall time spent in broadcast timer delivery (including layer scanning + dispatch).

§dispatch_timer_broadcast_layers_visited: u32

Total number of layers visited during broadcast timer delivery.

§dispatch_timer_broadcast_rebuild_visible_layers_time: Duration

Time spent rebuilding the visible-layers scratch list for broadcast timer delivery.

§dispatch_timer_broadcast_loop_time: Duration

Time spent iterating candidate layers and dispatching broadcast timers.

§dispatch_timer_slowest_event_time: Duration

Slowest single timer event routing time observed in the current frame.

§dispatch_timer_slowest_token: Option<TimerToken>

Token of the slowest timer event observed in the current frame (if any).

§dispatch_timer_slowest_was_broadcast: bool

Whether the slowest timer event used the broadcast fallback.

§dispatch_other_events: u32

Number of non-pointer, non-timer events dispatched during the current frame.

§dispatch_other_event_time: Duration

Total wall time spent dispatching non-pointer, non-timer events during the current frame.

§hit_test_time: Duration

Time spent inside hit-testing during the current frame (subset of dispatch_time).

§dispatch_events: u32

Number of events dispatched during the current frame.

§hit_test_queries: u32

Number of hit-test queries executed during the current frame.

§hit_test_bounds_tree_queries: u32

Count of bounds-tree queries attempted during hit testing.

§hit_test_bounds_tree_disabled: u32

Bounds-tree queries that were disabled (e.g. env-gated, layer not indexed, or unsupported transforms).

§hit_test_bounds_tree_misses: u32

Bounds-tree queries that missed (no containing leaf).

§hit_test_bounds_tree_hits: u32

Bounds-tree queries that returned a candidate leaf.

§hit_test_bounds_tree_candidate_rejected: u32

Bounds-tree candidates rejected by hit_test_node_self_only, forcing a fallback traversal.

§hit_test_bounds_tree_nodes_visited: u32

Total bounds-tree nodes visited across all queries in the current frame.

§hit_test_bounds_tree_nodes_pushed: u32

Total bounds-tree nodes pushed to the search stack across all queries in the current frame.

§hit_test_path_cache_hits: u32

Number of hit-test queries that reused the cached path (no bounds-tree query needed).

§hit_test_path_cache_misses: u32

Number of hit-test queries that fell back to bounds-tree or full traversal (cache miss).

§hit_test_cached_path_time: Duration

Total wall time spent attempting the cached-path hit-test fast path in the current frame.

§hit_test_bounds_tree_query_time: Duration

Total wall time spent querying the bounds-tree index in the current frame.

§hit_test_candidate_self_only_time: Duration

Total wall time spent validating bounds-tree candidates (hit_test_node_self_only) in the current frame.

§hit_test_fallback_traversal_time: Duration

Total wall time spent in full traversal fallback hit-testing in the current frame.

§dispatch_hover_update_time: Duration

Total wall time spent updating hover state from pointer hit-testing in the current frame.

§dispatch_scroll_handle_invalidation_time: Duration

Total wall time spent applying scroll-handle binding invalidations during event dispatch.

§dispatch_active_layers_time: Duration

Total wall time spent computing active input layers and enforcing modal barrier scope.

§dispatch_input_context_time: Duration

Total wall time spent constructing and publishing the window input context snapshot.

§dispatch_event_chain_build_time: Duration

Total wall time spent building the event chain during dispatch.

§dispatch_widget_capture_time: Duration

Total wall time spent delivering capture-phase widget events during dispatch.

§dispatch_widget_bubble_time: Duration

Total wall time spent delivering bubble-phase widget events during dispatch.

§dispatch_cursor_query_time: Duration

Total wall time spent computing the cursor icon from the pointer hit during dispatch.

§dispatch_pointer_move_layer_observers_time: Duration

Total wall time spent dispatching pointer-move layer observers (both post-dispatch and when pointer dispatch is suppressed).

§dispatch_synth_hover_observer_time: Duration

Total wall time spent dispatching the synthetic hover-move observer chain when the pointer crosses targets.

§dispatch_cursor_effect_time: Duration

Total wall time spent pushing cursor-icon effects during dispatch.

§dispatch_post_dispatch_snapshot_time: Duration

Total wall time spent publishing post-dispatch window integration snapshots (input context, command availability) during dispatch.

§layout_time: Duration§layout_collect_roots_time: Duration§layout_invalidate_scroll_handle_bindings_time: Duration§layout_expand_view_cache_invalidations_time: Duration§layout_request_build_roots_time: Duration§layout_pending_barrier_relayouts_time: Duration§layout_repair_view_cache_bounds_time: Duration§layout_contained_view_cache_roots_time: Duration§layout_collapse_layout_observations_time: Duration§layout_observation_record_time: Duration

Total wall time spent recording layout observations (observed_in_layout + globals).

§layout_observation_record_models_items: u32

Total observed-model edges recorded into observed_in_layout during this frame.

§layout_observation_record_globals_items: u32

Total observed-global edges recorded into observed_globals_in_layout during this frame.

§layout_prepaint_after_layout_time: Duration§layout_skipped_engine_frame: bool§layout_roots_time: Duration§layout_barrier_relayouts_time: Duration§layout_view_cache_time: Duration§layout_semantics_refresh_time: Duration§layout_focus_repair_time: Duration§layout_deferred_cleanup_time: Duration§prepaint_time: Duration§paint_time: Duration§paint_record_visual_bounds_time: Duration§paint_record_visual_bounds_calls: u32§paint_cache_key_time: Duration

Total wall time spent computing paint-cache keys and paint-cache enablement checks.

§paint_cache_hit_check_time: Duration

Total wall time spent checking paint-cache hit eligibility (excluding replay itself).

§paint_widget_time: Duration

Total wall time spent executing Widget::paint() (including push/pop transforms).

§paint_observation_record_time: Duration

Total wall time spent recording paint observations (observed_in_paint + globals).

§paint_host_widget_observed_models_time: Duration

Total wall time spent iterating element-runtime observed models inside ElementHostWidget::paint_impl.

§paint_host_widget_observed_models_items: u32

Total observed-model edges iterated inside ElementHostWidget::paint_impl.

§paint_host_widget_observed_globals_time: Duration

Total wall time spent iterating element-runtime observed globals inside ElementHostWidget::paint_impl.

§paint_host_widget_observed_globals_items: u32

Total observed-global edges iterated inside ElementHostWidget::paint_impl.

§paint_host_widget_instance_lookup_time: Duration

Total wall time spent resolving the element instance (ElementInstance) inside ElementHostWidget::paint_impl.

§paint_host_widget_instance_lookup_calls: u32

Number of ElementInstance lookups performed inside ElementHostWidget::paint_impl.

§paint_text_prepare_time: Duration

Total wall time spent preparing text blobs (TextSystem::prepare) during Widget::paint.

§paint_text_prepare_calls: u32

Number of text blob preparations performed during Widget::paint.

§paint_text_prepare_reason_blob_missing: u32

Count of text prepares where the cached blob was missing.

§paint_text_prepare_reason_scale_changed: u32

Count of text prepares triggered by a scale factor change.

§paint_text_prepare_reason_text_changed: u32

Count of text prepares triggered by a plain-text change.

§paint_text_prepare_reason_rich_changed: u32

Count of text prepares triggered by an attributed-text change.

§paint_text_prepare_reason_style_changed: u32

Count of text prepares triggered by a text-style change.

§paint_text_prepare_reason_wrap_changed: u32

Count of text prepares triggered by a wrap-mode change.

§paint_text_prepare_reason_overflow_changed: u32

Count of text prepares triggered by an overflow-mode change.

§paint_text_prepare_reason_width_changed: u32

Count of text prepares triggered by a max-width change.

§paint_text_prepare_reason_font_stack_changed: u32

Count of text prepares triggered by a font-stack-key change.

§paint_input_context_time: Duration§paint_scroll_handle_invalidation_time: Duration§paint_collect_roots_time: Duration§paint_publish_text_input_snapshot_time: Duration§paint_collapse_observations_time: Duration§layout_nodes_visited: u32§layout_nodes_performed: u32§prepaint_nodes_visited: u32§paint_nodes: u32§paint_nodes_performed: u32§paint_cache_hits: u32§paint_cache_misses: u32§paint_cache_replayed_ops: u32§paint_cache_hit_test_only_replay_allowed: u32

Paint-cache replay attempts that were allowed specifically by the FRET_UI_PAINT_CACHE_ALLOW_HIT_TEST_ONLY gate.

§paint_cache_hit_test_only_replay_rejected_key_mismatch: u32

Hit-test-only replay attempts rejected because the previous cache key did not match.

§paint_cache_replay_time: Duration§paint_cache_bounds_translate_time: Duration§paint_cache_bounds_translated_nodes: u32§interaction_cache_hits: u32§interaction_cache_misses: u32§interaction_cache_replayed_records: u32§interaction_records: u32§layout_engine_solves: u64

Number of layout engine root solves performed during the current frame.

§layout_engine_solve_time: Duration

Total time spent in layout engine solves during the current frame.

§layout_engine_child_rect_queries: u64

Total number of layout_engine_child_local_rect queries performed during the current frame.

§layout_engine_child_rect_time: Duration

Total wall time spent inside layout engine child-rect queries during the current frame.

§layout_engine_widget_fallback_solves: u64

Number of “widget-local” layout engine solves triggered as a fallback when a widget cannot consume already-solved engine child rects.

The goal for v2 is to keep this at 0 for normal UI trees by ensuring explicit layout barriers (scroll/virtualization/splits/…) register viewport roots or explicitly solve their child roots.

§layout_fast_path_taken: bool§layout_invalidations_count: u32§layout_subtree_dirty_agg_enabled: bool§layout_subtree_dirty_agg_updates: u32

Number of aggregation update operations performed during the current frame.

§layout_subtree_dirty_agg_nodes_touched: u32

Total number of nodes whose aggregation counter was updated during the current frame.

§layout_subtree_dirty_agg_max_parent_walk: u32

Max parent-walk length observed in a single aggregation update during the current frame.

§layout_subtree_dirty_agg_rebuild_nodes: u32

Total nodes processed by subtree rebuilds during the current frame.

§layout_subtree_dirty_agg_validation_failures: u32

Count of validation failures observed during the current frame.

§model_change_invalidation_roots: u32

Unique nodes observed as invalidation roots for model changes during the current frame.

§model_change_models: u32

Count of changed models consumed for propagation during the current frame.

§model_change_observation_edges: u32

Total (model -> node) observation edges scanned during propagation.

§model_change_unobserved_models: u32

Count of changed models with no observation edges.

§global_change_invalidation_roots: u32

Unique nodes observed as invalidation roots for global changes during the current frame.

§global_change_globals: u32

Count of changed globals consumed for propagation during the current frame.

§global_change_observation_edges: u32

Total (global -> node) observation edges scanned during propagation.

§global_change_unobserved_globals: u32

Count of changed globals with no observation edges.

§invalidation_walk_nodes: u32

Total nodes visited across invalidation walks during the current frame.

§invalidation_walk_calls: u32

Total invalidation walks performed during the current frame.

§invalidation_walk_nodes_model_change: u32

Nodes visited across invalidation walks attributed to model changes.

§invalidation_walk_calls_model_change: u32

Invalidation walks attributed to model changes.

§invalidation_walk_nodes_global_change: u32

Nodes visited across invalidation walks attributed to global changes.

§invalidation_walk_calls_global_change: u32

Invalidation walks attributed to global changes.

§invalidation_walk_nodes_hover: u32

Nodes visited across invalidation walks attributed to hover state changes.

§invalidation_walk_calls_hover: u32

Invalidation walks attributed to hover state changes.

§invalidation_walk_nodes_focus: u32

Nodes visited across invalidation walks attributed to focus changes.

§invalidation_walk_calls_focus: u32

Invalidation walks attributed to focus changes.

§invalidation_walk_nodes_other: u32

Nodes visited across invalidation walks attributed to all other sources.

§invalidation_walk_calls_other: u32

Invalidation walks attributed to all other sources.

§hover_pressable_target_changes: u32

Count of hover target changes for Pressable instances during the current frame.

§hover_hover_region_target_changes: u32

Count of hover target changes for HoverRegion instances during the current frame.

§hover_declarative_instance_changes: u32

Count of declarative instance changes that happened in a frame that also observed a hover target change.

§hover_declarative_hit_test_invalidations: u32

Count of declarative HitTest invalidations attributed to hover during the current frame.

§hover_declarative_layout_invalidations: u32

Count of declarative Layout invalidations attributed to hover during the current frame.

§hover_declarative_paint_invalidations: u32

Count of declarative Paint invalidations attributed to hover during the current frame.

§view_cache_active: bool

Whether view-cache mode is active for this frame.

§view_cache_invalidation_truncations: u32

How many invalidation walks were truncated by a view-cache boundary.

§view_cache_contained_relayouts: u32

How many “contained” view-cache roots were re-laid out during the final pass.

§view_cache_roots_total: u32

How many view-cache roots were observed during the current frame.

§view_cache_roots_reused: u32

How many view-cache roots were reused during the current frame.

§view_cache_roots_first_mount: u32

View-cache roots that were not reused because they were mounted for the first time.

§view_cache_roots_node_recreated: u32

View-cache roots that were not reused because their backing NodeId was recreated.

§view_cache_roots_cache_key_mismatch: u32

View-cache roots that were not reused because the declarative cache key did not match.

§view_cache_roots_not_marked_reuse_root: u32

View-cache roots that were not reused because they were not marked as reuse roots.

This is an authoring-level signal: either view-cache was not enabled, or reuse was gated off by local state (e.g. view_cache_needs_rerender / layout invalidation) upstream.

§view_cache_roots_needs_rerender: u32

View-cache roots that were not reused because view_cache_needs_rerender was set.

§view_cache_roots_layout_invalidated: u32

View-cache roots that were not reused because they had a layout invalidation.

§view_cache_roots_manual: u32

View-cache roots recorded from retained/manual cache roots (non-declarative).

§set_children_barrier_writes: u32

How many times set_children_barrier was applied (structural changes without forcing ancestor relayout).

§barrier_relayouts_scheduled: u32

How many barrier relayout roots were scheduled via set_children_barrier in this frame.

§barrier_relayouts_performed: u32

How many barrier relayout roots were actually laid out in this frame.

§virtual_list_visible_range_checks: u32

How many VirtualList visible-range checks were evaluated (used to request rerenders under view-cache reuse).

§virtual_list_visible_range_refreshes: u32

How many VirtualList visible-range checks requested a refresh (range delta outside the currently mounted span).

§virtual_list_window_shifts_total: u32

How many VirtualList window shifts were observed during the current frame.

§virtual_list_window_shifts_non_retained: u32

How many VirtualList window shifts required a non-retained cache-root rerender.

§retained_virtual_list_reconciles: u32

How many retained VirtualList hosts were reconciled (attach/detach without rerendering the parent view-cache root).

§retained_virtual_list_attached_items: u32

Total items attached across retained VirtualList reconciles (new keys mounted).

§retained_virtual_list_detached_items: u32

Total items detached across retained VirtualList reconciles (keys removed from children).

§focus: Option<NodeId>§captured: Option<NodeId>

Trait Implementations§

Source§

impl Clone for UiDebugFrameStats

Source§

fn clone(&self) -> UiDebugFrameStats

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UiDebugFrameStats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for UiDebugFrameStats

Source§

fn default() -> UiDebugFrameStats

Returns the “default value” for a type. Read more
Source§

impl Copy for UiDebugFrameStats

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more