RenderContext

Struct RenderContext 

Source
pub struct RenderContext {
    pub fiber_tree: FiberTree,
    pub state_batch: StateBatch,
    pub effect_queue: EffectQueue,
    pub context_stack: ContextStack,
    pub event_state: EventState,
}
Expand description

Consolidated render context containing all render-related state.

This struct combines all the previously separate thread-local state into a single location for easier management and better encapsulation.

Fields§

§fiber_tree: FiberTree

Fiber tree tracking all mounted component instances

§state_batch: StateBatch

State batch for grouping multiple state updates

§effect_queue: EffectQueue

Effect queue for post-commit effect execution

§context_stack: ContextStack

Context stack for React-like context system

§event_state: EventState

Current event state for terminal event handling

Implementations§

Source§

impl RenderContext

Source

pub fn new() -> Self

Create a new render context with default state

Source

pub fn prepare_for_render(&mut self)

Reset all state for a new render pass

This prepares the context for a new frame by:

  • Resetting hook indices in the fiber tree
  • Clearing the current event
Source

pub fn set_event(&mut self, event: Option<Arc<Event>>)

Set the current event for this render pass

Source

pub fn clear_event(&mut self)

Clear the current event

Source

pub fn begin_batch(&mut self)

Begin state batching

Source

pub fn end_batch(&mut self) -> HashSet<FiberId>

End state batching and apply updates

Returns the set of fiber IDs that were modified

Source

pub fn flush_effects(&mut self)

Flush synchronous effects

Source

pub async fn flush_async_effects(&mut self)

Flush async effects

Source

pub fn mark_unseen_for_unmount(&mut self)

Mark unseen fibers for unmount

Source

pub fn process_unmounts(&mut self) -> Vec<FiberId>

Process pending unmounts

This cleans up context values and removes fibers that were scheduled for unmount.

Source

pub fn clear(&mut self)

Clear all state

This resets the context to its initial state, useful for cleanup at the end of the render loop or in tests.

Trait Implementations§

Source§

impl Default for RenderContext

Source§

fn default() -> Self

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

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> 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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