You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 16fcdda
Browse filesBrowse the repository at this point in the historyBrowse files
refactor: resolve and emit pointer shapes in the native renderer
cursor was carried beside the packed ops (a shapes side-array on
snapshots) and resolved in JS by rescanning ops against hovered ids.
It now follows the caret model: pack() encodes it as PROP_CURSOR (one
word, the shape's vocabulary index; unknown values omit the bit), and
reduce() registers it with Clay_OnHover while decoding.
Clay calls hover functions during Clay_SetPointerState in hit-test
order, ancestors first, so the last call is the innermost declaring
element and capture/passthrough floating behave as before. The pointer
now enters through reduce() so the hit test runs after EndLayout and
before the frame's bytes are finalized; OSC 22 is appended from C after
the frame (after ESU when synchronized output wraps it).
The emitted shape lives on the Clayterm instance. set_capabilities()
reports when withdrawing pointerShape leaves a non-default shape on
screen, and update() returns the reset. The native wrapper carries the
emitted shape across re-init so a resize leaves it unchanged.
Anonymous elements can now declare a cursor; the JS resolver matched by
string id and missed them.
0 commit comments