or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-10/

{
  "context": "Evaluates how well the solution leverages Plotly.js templating to extract styling from a source figure, validate it, and reuse it across new plots. Emphasis is on invoking the official template helpers instead of hand-copying styles, and on preserving template defaults while applying overrides.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Template build",
      "description": "Calls Plotly.makeTemplate (or the documented template creation helper) on the base figure to produce a template that captures layout defaults and trace-type styling while excluding raw data arrays.",
      "max_score": 35
    },
    {
      "name": "Template apply",
      "description": "Applies the generated template to new figures via the template property when invoking Plotly.newPlot/Plotly.react so that defaults (e.g., marker color, background) carry over while explicit layout or data overrides remain intact.",
      "max_score": 25
    },
    {
      "name": "Template validation",
      "description": "Invokes Plotly.validateTemplate to guard against malformed templates (such as missing layout blocks) and surfaces the resulting error before attempting to render.",
      "max_score": 20
    },
    {
      "name": "Template overrides",
      "description": "Combines template defaults with per-plot layout overrides using the template mechanism (rather than manual deep merges), keeping template-provided defaults while letting override fields replace matching entries.",
      "max_score": 20
    }
  ]
}