{
  "$schema": "https://pi-tui.ratstack.sh/schema/pattern.schema.json",
  "aka": [
    "Async result widget"
  ],
  "animated": true,
  "apis": [
    {
      "name": "ctx.ui.setStatus",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#interact-with-the-user"
    },
    {
      "name": "ctx.ui.setWidget",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#interact-with-the-user"
    },
    {
      "name": "setStatus",
      "url": null
    },
    {
      "name": "setWidget",
      "url": null
    }
  ],
  "applicability": [
    "Use this when background work should leave useful output near the editor."
  ],
  "category": "status",
  "categoryLabel": "Status and widgets",
  "consequences": [
    "Background output can remain useful without a modal.",
    "The result persists until its owning dismissal or cleanup path clears it."
  ],
  "family": "lifecycle",
  "familyLabel": "Lifecycle",
  "id": "result-relay",
  "implementation": [
    "Use a stable key for replacement.",
    "Clear the result when dismissed or cancelled."
  ],
  "intent": "Replace pending feedback with a persistent non-modal result widget.",
  "jsonUrl": "https://pi-tui.ratstack.sh/patterns/result-relay.json",
  "kind": "screen",
  "knownUses": [
    {
      "example": "btw-result-widget",
      "moreRefs": 0,
      "refs": [
        {
          "file": "extensions/btw/index.ts",
          "lines": "536-598",
          "sha": "17cce138",
          "url": "https://github.com/nicobailon/dot314/blob/17cce138f3f687211d0485d204408a9650953c61/extensions/btw/index.ts#L536-L598"
        }
      ],
      "repo": "dot314",
      "repoUrl": "https://github.com/nicobailon/dot314",
      "title": "Keep asynchronous btw results in a replaceable widget"
    }
  ],
  "linkedFrom": [
    {
      "how": "replaces pending content with a result",
      "id": "widget-dock",
      "jsonUrl": "https://pi-tui.ratstack.sh/patterns/widget-dock.json",
      "mdUrl": "https://pi-tui.ratstack.sh/patterns/widget-dock.md",
      "name": "Widget Dock",
      "url": "https://pi-tui.ratstack.sh/patterns/widget-dock/"
    }
  ],
  "links": {
    "agentGuide": "https://pi-tui.ratstack.sh/llms.txt",
    "index": "https://pi-tui.ratstack.sh/patterns.md",
    "skill": "https://pi-tui.ratstack.sh/skills/build-pi-tui-component.md"
  },
  "mdUrl": "https://pi-tui.ratstack.sh/patterns/result-relay.md",
  "motivation": "Dot314's btw command starts with pending feedback and leaves a result above the editor.",
  "name": "Result Relay",
  "participants": [
    {
      "name": "ctx.ui.setStatus",
      "role": "Writes or clears one named footer slot.",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#interact-with-the-user"
    },
    {
      "name": "ctx.ui.setWidget",
      "role": "Mounts, replaces or clears one near-editor widget.",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#interact-with-the-user"
    },
    {
      "name": "Result owner",
      "role": "Replaces pending feedback and clears the dismissed result.",
      "url": null
    }
  ],
  "pi": "1.0.3",
  "related": [
    {
      "how": "pairs compact and detailed signals",
      "id": "signal-pair",
      "jsonUrl": "https://pi-tui.ratstack.sh/patterns/signal-pair.json",
      "mdUrl": "https://pi-tui.ratstack.sh/patterns/signal-pair.md",
      "name": "Signal Pair",
      "url": "https://pi-tui.ratstack.sh/patterns/signal-pair/"
    }
  ],
  "sampleCode": {
    "code": "// Result Relay: replace pending status with a persistent non-modal result.\nimport type { PatternStory } from \"../../../src/pattern.ts\";\n\nexport const story: PatternStory = {\n  id: \"result-relay\", title: \"Result Relay\", kind: \"screen\",\n  apis: [\"setStatus\", \"setWidget\"],\n  states: [\n    { id: \"pending\", label: \"Work pending\", animated: true, steps: [{ type: \"tick\", ms: 400 }] },\n    { id: \"result\", label: \"Result ready\", animated: true, steps: [{ type: \"tick\", ms: 600 }] },\n    { id: \"dismissed\", label: \"Dismissed\", animated: true, steps: [\n      { type: \"action\", name: \"dismiss\" }, { type: \"tick\", ms: 300 },\n    ] },\n  ],\n  setup({ ui, theme, action }) {\n    // Lifecycle: pending -> ready -> dismissed. No network or agent is run.\n    let state: \"pending\" | \"ready\" | \"dismissed\" = \"pending\";\n    ui.setEditorText(\"Continue reviewing the patch.\");\n    ui.setStatus(\"relay\", theme.fg(\"muted\", \"checking imports…\"));\n    ui.setWidget(\"hint\", [theme.fg(\"muted\", \"Background import check · keep typing\")]);\n    const resultTimer = setTimeout(() => {\n      if (state !== \"pending\") return;\n      state = \"ready\";\n      ui.setStatus(\"relay\", undefined);\n      ui.setWidget(\"hint\", undefined);\n      ui.setWidget(\"relay\", [theme.fg(\"success\", \"Import check · result ready\"),\n        theme.fg(\"text\", \"No unused imports in src/parser.ts.\"),\n        theme.fg(\"muted\", \"Stays above editor until dismissed.\")]);\n    }, 700);\n    action(\"dismiss\", () => {\n      state = \"dismissed\";\n      clearTimeout(resultTimer);\n      ui.setStatus(\"relay\", undefined);\n      ui.setWidget(\"relay\", undefined);\n      ui.setWidget(\"hint\", [theme.fg(\"muted\", \"Import result dismissed · draft preserved\")]);\n    });\n    return () => { state = \"dismissed\"; clearTimeout(resultTimer); };\n  },\n};\n",
    "lang": "ts",
    "path": "stories/patterns/lifecycle/result-relay.ts"
  },
  "states": [
    {
      "dont": false,
      "expectFail": [],
      "frames": [
        {
          "alt": "Result Relay, Work pending state, 40 columns, dark theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-40-dark.anim.8c6cd875c3e1.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-40-dark.6d0c9f32ec93.webp",
          "theme": "dark",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Result Relay, Work pending state, 40 columns, light theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-40-light.anim.5f37d1195fee.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-40-light.57d7a70ba38c.webp",
          "theme": "light",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Result Relay, Work pending state, 60 columns, dark theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-60-dark.anim.5679b0b59fef.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-60-dark.c9d813a5b48a.webp",
          "theme": "dark",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Result Relay, Work pending state, 60 columns, light theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-60-light.anim.0065763008c5.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-60-light.0b6f7e7b8c9f.webp",
          "theme": "light",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Result Relay, Work pending state, 80 columns, dark theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-80-dark.anim.43f93e4d4d08.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-80-dark.e9bbe1ee5e1b.webp",
          "theme": "dark",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Result Relay, Work pending state, 80 columns, light theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-80-light.anim.977d2e36be14.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-80-light.55edfc635423.webp",
          "theme": "light",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Result Relay, Work pending state, 120 columns, dark theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-120-dark.anim.07cb22eb0e57.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-120-dark.422ec8c4f461.webp",
          "theme": "dark",
          "w": 2400,
          "width": 120
        },
        {
          "alt": "Result Relay, Work pending state, 120 columns, light theme, 10 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/pending-120-light.anim.2df43c626599.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 440,
          "rows": 10,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/pending-120-light.f89ad0c52d62.webp",
          "theme": "light",
          "w": 2400,
          "width": 120
        }
      ],
      "how": "Show a compact pending status for synthetic work.",
      "id": "pending",
      "label": "Work pending",
      "problems": []
    },
    {
      "dont": false,
      "expectFail": [],
      "frames": [
        {
          "alt": "Result Relay, Result ready state, 40 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-40-dark.anim.7caeab3fca4c.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-40-dark.562dc4c4b829.webp",
          "theme": "dark",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Result Relay, Result ready state, 40 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-40-light.anim.664443c64591.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-40-light.1a704b918d24.webp",
          "theme": "light",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Result Relay, Result ready state, 60 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-60-dark.anim.06d3d2d8009a.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-60-dark.c9b39621a19d.webp",
          "theme": "dark",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Result Relay, Result ready state, 60 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-60-light.anim.b5a5fcfc7f3c.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-60-light.63e740e5d5b8.webp",
          "theme": "light",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Result Relay, Result ready state, 80 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-80-dark.anim.83b1bf741fd6.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-80-dark.93275166aa1f.webp",
          "theme": "dark",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Result Relay, Result ready state, 80 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-80-light.anim.bfc7a34a7d86.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-80-light.5979ccdf49ad.webp",
          "theme": "light",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Result Relay, Result ready state, 120 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-120-dark.anim.4825ac173ae0.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-120-dark.95f39b0617f8.webp",
          "theme": "dark",
          "w": 2400,
          "width": 120
        },
        {
          "alt": "Result Relay, Result ready state, 120 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/result-120-light.anim.c47b1ad9a43e.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/result-120-light.7f56469bd36c.webp",
          "theme": "light",
          "w": 2400,
          "width": 120
        }
      ],
      "how": "Replace pending feedback with the result widget.",
      "id": "result",
      "label": "Result ready",
      "problems": []
    },
    {
      "dont": false,
      "expectFail": [],
      "frames": [
        {
          "alt": "Result Relay, Dismissed state, 40 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-40-dark.anim.a7d7493d3f69.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-40-dark.5c036fa97d5a.webp",
          "theme": "dark",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Result Relay, Dismissed state, 40 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-40-light.anim.a620e7c572ab.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-40-light.4c44fc7ae154.webp",
          "theme": "light",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Result Relay, Dismissed state, 60 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-60-dark.anim.fb042a6ed4c0.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-60-dark.54c190cd56f7.webp",
          "theme": "dark",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Result Relay, Dismissed state, 60 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-60-light.anim.7be15454b2d1.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-60-light.833bad35b777.webp",
          "theme": "light",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Result Relay, Dismissed state, 80 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-80-dark.anim.01aec86c4411.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-80-dark.bec0c03d59b6.webp",
          "theme": "dark",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Result Relay, Dismissed state, 80 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-80-light.anim.eb16a3d3e922.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-80-light.bb363ad78b1b.webp",
          "theme": "light",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Result Relay, Dismissed state, 120 columns, dark theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-120-dark.anim.f78659128aba.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-120-dark.666d9f10a6e1.webp",
          "theme": "dark",
          "w": 2400,
          "width": 120
        },
        {
          "alt": "Result Relay, Dismissed state, 120 columns, light theme, 12 rows, animated",
          "animated": true,
          "animation": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-120-light.anim.28956265eb69.webp",
          "checks": [
            {
              "evidence": [],
              "name": "width",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "style-leak",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "hard-coded-colour",
              "status": "pass",
              "verdict": "pass"
            },
            {
              "evidence": [],
              "name": "height",
              "status": "pass",
              "verdict": "pass"
            }
          ],
          "h": 528,
          "rows": 12,
          "still": "https://pi-tui.ratstack.sh/frames/result-relay/dismissed-120-light.81c4de20ba60.webp",
          "theme": "light",
          "w": 2400,
          "width": 120
        }
      ],
      "how": "Remove the result on dismissal.",
      "id": "dismissed",
      "label": "Dismissed",
      "problems": []
    }
  ],
  "structure": "pending -> status\nready -> result widget\ndismiss -> clear",
  "thumbnails": {
    "dark": {
      "animation": "https://pi-tui.ratstack.sh/thumbs/result-relay/dark.anim.9dd98e8ecce2.webp",
      "src": "https://pi-tui.ratstack.sh/thumbs/result-relay/dark.73828c9d1dc8.webp"
    },
    "light": {
      "animation": "https://pi-tui.ratstack.sh/thumbs/result-relay/light.anim.c807c97ce1a4.webp",
      "src": "https://pi-tui.ratstack.sh/thumbs/result-relay/light.96b7e3bc5537.webp"
    }
  },
  "url": "https://pi-tui.ratstack.sh/patterns/result-relay/",
  "widths": [
    40,
    60,
    80,
    120
  ]
}
