Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::HostFrameTick Struct Reference

Result of begin_host_frame. More...

#include <host_frame_pump.hpp>

Public Attributes

float dt = 0.0f
 The measured dt for this frame.
bool should_render = false
 True if the host should advance this frame (advance_host_frame).
bool continuous = false
 True if the tree still wants continuous per-vsync frames (something is animating, or a render subscriber is live) — i.e.
bool animating = false
 True if the tree paints something new every frame WITHOUT requesting a repaint (needs_continuous_frames: an opted-in continuous view, a running widget/CSS animation, a time-driven shader).
bool resumed = false
 True if this frame was a resume (first frame or wake-from-idle).

Detailed Description

Result of begin_host_frame.

Member Data Documentation

◆ animating

bool pulp::view::HostFrameTick::animating = false

True if the tree paints something new every frame WITHOUT requesting a repaint (needs_continuous_frames: an opted-in continuous view, a running widget/CSS animation, a time-driven shader).

A subset of continuous: a live FrameClock subscriber alone (a source-bound meter, a scalar binding) keeps the clock ticking but is NOT a reason to composite — a subscriber that changes what it draws asks for a repaint, so a silent meter costs a tick and no frame. Hosts re-arm their dirty flag only from this, never from continuous.

◆ continuous

bool pulp::view::HostFrameTick::continuous = false

True if the tree still wants continuous per-vsync frames (something is animating, or a render subscriber is live) — i.e.

should_render would stay true next tick even without the host's own dirty flag. Hosts use this to keep their vsync gate open so the FrameClock keeps ticking. Computed once here so the tree walk happens exactly once per tick.

◆ dt

float pulp::view::HostFrameTick::dt = 0.0f

The measured dt for this frame.

EVERY time-integrating consumer this frame must be advanced with exactly this value.

◆ resumed

bool pulp::view::HostFrameTick::resumed = false

True if this frame was a resume (first frame or wake-from-idle).

◆ should_render

bool pulp::view::HostFrameTick::should_render = false

True if the host should advance this frame (advance_host_frame).

Whether it then composites is host_frame_composites.


The documentation for this struct was generated from the following file: