Skip to content

Hover optimizations: fingerprinting + layout measurement cache#17

Closed
jaytaph wants to merge 5 commits into
wsf-4-screenshot-rendererfrom
hover-optimizations
Closed

Hover optimizations: fingerprinting + layout measurement cache#17
jaytaph wants to merge 5 commits into
wsf-4-screenshot-rendererfrom
hover-optimizations

Conversation

@jaytaph

@jaytaph jaytaph commented Jun 10, 2026

Copy link
Copy Markdown
Owner
  • At document load, HoverFingerprints::build() scans all stylesheets and records which element types, classes, and IDs are subjects of a :hover rule
  • On every mousemove, the engine checks whether the newly hovered element matches any fingerprint before triggering a style recalc. elements with no :hover rules are skipped entirely
  • Handles the universal case (*:hover / bare :hover): marks the document as fully hover-sensitive so the fast path is not incorrectly applied
  • Wired into the tab worker's hover event handling; the pipeline-cairo example now also passes hover state through

@jaytaph
jaytaph force-pushed the wsf-4-screenshot-renderer branch from d8a76f9 to a293158 Compare June 21, 2026 10:39
@jaytaph
jaytaph force-pushed the hover-optimizations branch from 2744565 to 790243f Compare June 21, 2026 11:41
@jaytaph jaytaph closed this Jun 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant