Skip to content

Plot value not restored correctly when interacting with multiple pointers #2431

@mootari

Description

@mootari

If the mouse is within the radius of multiple pointers and moves outside of one pointer's max radius, then the plot value will be set to null instead of according to the remaining active pointer.

Example (notebook):

viewof value = Plot.plot({
  marks: [
    Plot.frame(),
    Plot.rect(["foo"], Plot.pointerY({y: d => d, maxRadius: Infinity, fill: "orange"})),
    Plot.dot([{y: "foo"}], {y: "y", tip: true})
  ],
})

Steps:

  1. Move the mouse into the frame on either the left or right side so that value reads "foo".
  2. Move the mouse towards the dot until the tip appears; observe that value reads {y: "foo"}.
  3. Within the frame, move the mouse away from the dot until the tip disappears; observe that value reads null instead of "foo".

Demo:

2026-05-07.at.1.34.08.-.Blue.Horse.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn’t working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions