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 cfd13b1
Browse filesBrowse the repository at this point in the historyBrowse files
ENG-11596 Fix bar hover tooltip rewriting and jumping when the exact pick reply lands (#499)
* Fix bar hover tooltip rewriting and jumping when the exact pick reply lands
Hover is two-phase (§16): an instant local readout from the shipped f32,
then the kernel's exact f64 pick_result replaces it. For bars the exact
row was wrong on both seams, so the replacement was a visible rewrite —
the tooltip changed its data and position a round-trip after every hover,
on both orientations.
Kernel: _append_rect_trace built the conventional Trace(x, y) columns as
x-midpoint / y1-edge regardless of orientation. A horizontal bar of value
42 replied x: 21 (half the value) and y: 1.4 (band position + half the
bar width). The columns now follow the orientation: band center on the
position axis, value end on the value axis. Histogram/box/violin pass no
orientation and are unchanged.
Client: the pick_result handler rendered the kernel row raw, so a
category code replaced its label ("B" became "1"), and the finite code
then dragged the tooltip anchor away from the cursor. The handler now
maps x/y through the same _sourceDisplayValue path the local row uses.
The _cpuRect local readout (variable-width bars ship as plain rects) is
also orientation-aware now, matching the corrected kernel convention.
Pinned by a Figure.pick readout test (vertical, horizontal, stacked with
negatives) and a headless-Chromium probe per orientation that hovers a
bar, injects the real pick_result row, and asserts the tooltip text and
position are identical before and after. Spec updated: the orientation-
aware center/value convention (chart-kind-contract.md) and the
invisible-refinement requirement on pick_result (wire-protocol.md).
* Treat an exact pick reply for a dropped trace as a miss
A pick_result can land after a data update removed its trace from
gpuTraces; with no mapping source the raw kernel row would render the
category code and drag the anchor — the same rewrite/jump this branch
fixes. Hide the tooltip instead: the mark no longer exists.
---------
Co-authored-by: Farhan Ali Raza <farhan@reflex.dev>
0 commit comments