Logo FS-Skia-UI

Perf Module

Feature 108 (US3, FR-009/010): the pure, headless, deterministic frame driver. Folds an ordered `FrameInput` script over the host's pure `Update` + `RetainedRender.step`, advancing one frame per step (consecutive pointer-MOVE inputs coalesce into a single frame) and accumulating the per-frame `FrameMetrics`. Shares the message→update→retained-step + clock-advance + coalescing code path with `runInteractiveApp` (no parallel logic), so a regression that un-coalesces moves or reintroduces a per-hover full rebuild fails the byte-stable count golden (SC-003/004/005) rather than shipping. The four count/bool fields are identical across repeated runs of the same script; `FrameDuration` is not asserted.

Functions and values

Function or value Description

runScript host size script

Full Usage: runScript host size script

Parameters:
Returns: FrameMetrics list
Type parameters: 'model, 'msg

Fold an ordered `FrameInput` script over the host's pure `Update` + `RetainedRender.step`, returning the per-frame `FrameMetrics` (consecutive pointer-MOVE inputs coalesce into one frame). Pure, headless, byte-stable in its count/bool fields (SC-003/004/005).

host : InteractiveAppHost<'model, 'msg>
size : Size
script : FrameInput<'msg> list
Returns: FrameMetrics list

Type something to start searching.