or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-9/

{
  "context": "Evaluates whether the solution uses Plotly.js APIs to render a hover-enabled scatter plot, drive hover focus programmatically, and cancel an in-progress drawn shape while keeping committed shapes intact.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Plot setup",
      "description": "Uses Plotly.newPlot to render the provided points as a scatter trace and configures drawing controls (e.g., modeBarButtonsToAdd with rectangle/open-path tools or dragmode draw*) so shapes can be sketched.",
      "max_score": 20
    },
    {
      "name": "Hover focus",
      "description": "Programmatic focus routine calls Plotly.Fx.hover or Plotly.Fx.loneHover with the requested trace and point index to show the hover label instead of simulating DOM events or manual tooltip creation.",
      "max_score": 25
    },
    {
      "name": "Hover replacement",
      "description": "Before showing a new focus, prior hover state is cleared via Plotly.Fx.unhover or Plotly.Fx.loneUnhover (or by passing clear-related options to the hover call) so only the target point remains highlighted.",
      "max_score": 20
    },
    {
      "name": "Hover clear routine",
      "description": "The clear routine hides any active hover by invoking Plotly.Fx.unhover or Plotly.Fx.loneUnhover directly rather than manipulating DOM elements.",
      "max_score": 15
    },
    {
      "name": "Cancel shape draw",
      "description": "Cancel routine aborts an in-progress drawing interaction by calling Plotly.deleteActiveShape on the graph div without deleting previously committed layout shapes.",
      "max_score": 20
    }
  ]
}