{
  "health": {
    "file": "workbench-health.png",
    "scope": "Terminal Health view with the views rail, captured before the beta at 120×36 from an illustrative Nav2 demo session file. Not a live robot. The beta's Health view also shows sampled rates and launch processes.",
    "notes": [
      {
        "x": 9,
        "y": 11,
        "label": "Use the views rail.",
        "text": "Each view shows its key and a badge. Here Health has 6 errors and TF has one frame with two parents. Click a view or press its number."
      },
      {
        "x": 33,
        "y": 12,
        "label": "Start with the problems.",
        "text": "Launch evidence comes first, then graph checks, most severe first. Each row names its evidence: process state, log pattern, declared check, or graph check."
      },
      {
        "x": 70,
        "y": 9,
        "label": "Read the verdict and its limits.",
        "text": "The first line answers whether the system is ready. GRAPH CHECKS says which checks ran and what was not checked. A graph snapshot shows likely causes, not proof."
      },
      {
        "x": 45,
        "y": 96,
        "label": "Use the keys for this view.",
        "text": "Enter opens the topic or frame a problem names, y copies its check command, and : opens the command palette."
      }
    ],
    "sha256": "3f74935b8c2c820d7e7274b272232c6ed2bde26e3617d49130e28ddc3062474e",
    "origin": "docs/assets/user-guide/workbench-health.png"
  },
  "topics": {
    "file": "../ros2-troubleshooting/nav-scan-samples.jpg",
    "scope": "Terminal capture from an earlier build, before the views rail. The beta adds the views rail on the left; other details can differ.",
    "notes": [
      {
        "x": 19,
        "y": 8,
        "label": "Select Topics.",
        "text": "Press 3, then choose the exact topic name in the list."
      },
      {
        "x": 73,
        "y": 18,
        "label": "Check endpoints.",
        "text": "The selected /scan has zero publishers and one subscriber in this observation. A topic name can exist without a current publisher."
      },
      {
        "x": 82,
        "y": 39,
        "label": "Inspect received samples.",
        "text": "Read message count, bounds, clock, and field values together. A retained sample does not prove the publisher is active now."
      }
    ],
    "sha256": "5881575c43a217a9a462b13fccc9fe1ee1e11b7268944bddec931e09e1be7e11",
    "origin": "docs/assets/ros2-troubleshooting/nav-scan-samples.jpg"
  },
  "nodes": {
    "file": "../ros2-troubleshooting/panda-controller-node.jpg",
    "scope": "Terminal capture from an earlier build, before the views rail. The beta adds the views rail on the left; other details can differ.",
    "notes": [
      {
        "x": 19,
        "y": 12,
        "label": "Select the node.",
        "text": "Nodes lists discovered names. Here /panda_arm_controller is selected."
      },
      {
        "x": 49,
        "y": 34,
        "label": "Read the inspector.",
        "text": "Check its topic endpoints and QoS. This node can still be present while its controller fails to activate."
      },
      {
        "x": 49,
        "y": 23,
        "label": "Check mapping limits.",
        "text": "Source mapping is unknown in this capture. Do not infer a source file from the node name."
      }
    ],
    "sha256": "28df616af5f9dc4780353249f024135be4650947b53a1855b630f976098a9d05",
    "origin": "docs/assets/ros2-troubleshooting/panda-controller-node.jpg"
  },
  "launch-log": {
    "file": "../ros2-troubleshooting/panda-planner-error.jpg",
    "scope": "Terminal capture from an earlier build, before the views rail. The beta adds the views rail on the left; other details can differ.",
    "notes": [
      {
        "x": 79,
        "y": 11,
        "label": "Identify the owned launch.",
        "text": "The panel shows launch/readiness state and the retained log path. Press L to inspect the owned launch log."
      },
      {
        "x": 82,
        "y": 34,
        "label": "Read the error line.",
        "text": "The captured planner error names an invalid plugin. Preserve the full error and nearby lines before changing the configuration."
      }
    ],
    "sha256": "184be69649338fd4b42ad87e958bb1e16dfa1a1feb4db984df62fe23167bcd14",
    "origin": "docs/assets/ros2-troubleshooting/panda-planner-error.jpg"
  },
  "saved-results": {
    "file": "saved-results-report.png",
    "scope": "Saved report from an earlier build, reopened from its source JSON. It shows a local environment-sourcing check, not a current live observation.",
    "notes": [
      {
        "x": 82,
        "y": 8,
        "label": "Keep the source result.",
        "text": "Download source JSON retains the report input. Keep it with the HTML and any recording that produced the report."
      },
      {
        "x": 70,
        "y": 29,
        "label": "Read what the report establishes.",
        "text": "Execution result, What this establishes, and Evidence scope qualify the result. PASS applies to the displayed sourcing check, with its stated scope and unknowns."
      },
      {
        "x": 91,
        "y": 63,
        "label": "Inspect the checks and source.",
        "text": "Expand a check to review inputs and measurements. Source JSON below the report lets you compare the reopened report with the saved input."
      }
    ],
    "sha256": "3d52e67a11d29cf1645d8e6132d1cc75f714ae477131de984e92bbfa98376160",
    "origin": "docs/assets/user-guide/saved-results-report.png"
  }
}
