{
  "$schema": "https://pi-tui.ratstack.sh/schema/pattern.schema.json",
  "aka": [
    "Expandable tool result"
  ],
  "animated": false,
  "apis": [
    {
      "name": "ToolDefinition.renderCall",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#tool-rendering"
    },
    {
      "name": "ToolDefinition.renderResult",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#tool-rendering"
    },
    {
      "name": "ToolRenderContext",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#tool-rendering"
    },
    {
      "name": "ToolExecutionComponent",
      "url": null
    }
  ],
  "applicability": [
    "Use this when structured tool results would overwhelm the transcript."
  ],
  "category": "tools",
  "categoryLabel": "Tool and message output",
  "consequences": [
    "The transcript stays compact while detail remains inspectable.",
    "Partial results need guards and expanded previews may still need caps."
  ],
  "family": "presentation",
  "familyLabel": "Presentation",
  "id": "detail-fold",
  "implementation": [
    "Partial results may not contain final detail fields.",
    "Mark capped previews rather than silently hiding their limit.",
    "The tool-display snapshot's peer range stops at 0.80."
  ],
  "intent": "Show compact progress and summaries with bounded expanded tool detail.",
  "jsonUrl": "https://pi-tui.ratstack.sh/patterns/detail-fold.json",
  "kind": "component",
  "knownUses": [
    {
      "example": "tool-result-summary",
      "moreRefs": 0,
      "refs": [
        {
          "file": "extensions/todos.ts",
          "lines": "1-20",
          "sha": "17cce138",
          "url": "https://github.com/nicobailon/dot314/blob/17cce138f3f687211d0485d204408a9650953c61/extensions/todos.ts#L1-L20"
        }
      ],
      "repo": "dot314",
      "repoUrl": "https://github.com/nicobailon/dot314",
      "title": "Render partial, compact and expanded tool results"
    },
    {
      "example": "tool-result-summary",
      "moreRefs": 0,
      "refs": [],
      "repo": "pi-interview-tool",
      "repoUrl": "https://github.com/nicobailon/pi-interview-tool",
      "title": "Render partial, compact and expanded tool results"
    },
    {
      "example": "tool-result-summary",
      "moreRefs": 0,
      "refs": [
        {
          "file": "index.ts",
          "lines": "500-512",
          "sha": "85db03d8",
          "url": "https://github.com/nicobailon/pi-mcp-adapter/blob/85db03d87cd0f7461b55eab8d25c10bce473b801/index.ts#L500-L512"
        },
        {
          "file": "index.ts",
          "lines": "790-804",
          "sha": "85db03d8",
          "url": "https://github.com/nicobailon/pi-mcp-adapter/blob/85db03d87cd0f7461b55eab8d25c10bce473b801/index.ts#L790-L804"
        },
        {
          "file": "index.ts",
          "lines": "1765-1775",
          "sha": "85db03d8",
          "url": "https://github.com/nicobailon/pi-mcp-adapter/blob/85db03d87cd0f7461b55eab8d25c10bce473b801/index.ts#L1765-L1775"
        },
        {
          "file": "index.ts",
          "lines": "2058-2090",
          "sha": "85db03d8",
          "url": "https://github.com/nicobailon/pi-mcp-adapter/blob/85db03d87cd0f7461b55eab8d25c10bce473b801/index.ts#L2058-L2090"
        },
        {
          "file": "proxy-modes.ts",
          "lines": "1130-1140",
          "sha": "85db03d8",
          "url": "https://github.com/nicobailon/pi-mcp-adapter/blob/85db03d87cd0f7461b55eab8d25c10bce473b801/proxy-modes.ts#L1130-L1140"
        }
      ],
      "repo": "pi-mcp-adapter",
      "repoUrl": "https://github.com/nicobailon/pi-mcp-adapter",
      "title": "Render partial, compact and expanded tool results"
    },
    {
      "example": "tool-result-summary",
      "moreRefs": 0,
      "refs": [
        {
          "file": "index.ts",
          "lines": "860-930",
          "sha": "f895b2a8",
          "url": "https://github.com/nicobailon/pi-subagent-enhanced/blob/f895b2a8773341e4b8a2ba197d58bdd43d5cb561/index.ts#L860-L930"
        }
      ],
      "repo": "pi-subagent-enhanced",
      "repoUrl": "https://github.com/nicobailon/pi-subagent-enhanced",
      "title": "Render partial, compact and expanded tool results"
    },
    {
      "example": "tool-result-summary",
      "moreRefs": 0,
      "refs": [
        {
          "file": "src/tool-overrides.ts",
          "lines": "1064-1105",
          "sha": "fca8c858",
          "url": "https://github.com/nicobailon/pi-tool-display/blob/fca8c858a0989b63eba18ab935f3d8ed78354c3a/src/tool-overrides.ts#L1064-L1105"
        }
      ],
      "repo": "pi-tool-display",
      "repoUrl": "https://github.com/nicobailon/pi-tool-display",
      "title": "Render partial, compact and expanded tool results"
    },
    {
      "example": "tool-result-summary",
      "moreRefs": 0,
      "refs": [
        {
          "file": "index.ts",
          "lines": "1633-1655",
          "sha": "9a077997",
          "url": "https://github.com/nicobailon/pi-web-access/blob/9a0779976ba47350be18f8cfacaffbe2a407113e/index.ts#L1633-L1655"
        }
      ],
      "repo": "pi-web-access",
      "repoUrl": "https://github.com/nicobailon/pi-web-access",
      "title": "Render partial, compact and expanded tool results"
    }
  ],
  "linkedFrom": [
    {
      "how": "supplies the expansion surface",
      "id": "error-digest",
      "jsonUrl": "https://pi-tui.ratstack.sh/patterns/error-digest.json",
      "mdUrl": "https://pi-tui.ratstack.sh/patterns/error-digest.md",
      "name": "Error Digest",
      "url": "https://pi-tui.ratstack.sh/patterns/error-digest/"
    }
  ],
  "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/detail-fold.md",
  "motivation": "Web Access emits phase-specific tool progress while Tool Display caps long expanded previews.",
  "name": "Detail Fold",
  "participants": [
    {
      "name": "ToolDefinition.renderCall",
      "role": "Renders the call before or during execution.",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#tool-rendering"
    },
    {
      "name": "ToolDefinition.renderResult",
      "role": "Renders partial or final tool output.",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#tool-rendering"
    },
    {
      "name": "ToolRenderContext",
      "role": "Shares per-call state, prior components and invalidation.",
      "url": "https://github.com/earendil-works/pi/blob/v1.0.3/packages/coding-agent/docs/extensions.md#tool-rendering"
    },
    {
      "name": "Structured result",
      "role": "Supplies guarded partial data and bounded expanded detail.",
      "url": null
    }
  ],
  "pi": "1.0.3",
  "related": [
    {
      "how": "retains a shell across result updates",
      "id": "call-capsule",
      "jsonUrl": "https://pi-tui.ratstack.sh/patterns/call-capsule.json",
      "mdUrl": "https://pi-tui.ratstack.sh/patterns/call-capsule.md",
      "name": "Call Capsule",
      "url": "https://pi-tui.ratstack.sh/patterns/call-capsule/"
    }
  ],
  "sampleCode": {
    "code": "// Detail Fold: compact tool progress with explicitly capped expanded detail.\nimport { Text, wrapTextWithAnsi } from \"@earendil-works/pi-tui\";\nimport { ToolExecutionComponent, type ToolRenderers } from \"@earendil-works/pi-coding-agent\";\nimport type { PatternStory } from \"../../../src/pattern.ts\";\n\nexport const story: PatternStory = {\n  id: \"detail-fold\", title: \"Detail Fold\", kind: \"component\",\n  apis: [\"ToolExecutionComponent\", \"ToolDefinition.renderCall\", \"ToolDefinition.renderResult\"], rows: 16,\n  states: [\n    { id: \"partial\", label: \"In flight\" },\n    { id: \"collapsed\", label: \"Summary\", steps: [{ type: \"action\", name: \"complete\" }] },\n    { id: \"expanded\", label: \"Bounded detail\", steps: [{ type: \"action\", name: \"expand\" }] },\n  ],\n  setup({ theme, tui, action }) {\n    const pages = [\"Guide: terminal widths\", \"Guide: keyboard focus\", \"Guide: theme tokens\",\n      \"Reference: text wrapping\", \"Reference: overlay lifetime\", \"Example: compact footer\"];\n    const renderers: ToolRenderers = {\n      renderCall: () => new Text(theme.fg(\"toolTitle\", \"docs_search · terminal UI\"), 0, 0),\n      renderResult(result, options) {\n        const details: unknown = result.details;\n        // A streaming result may not have the final page list.\n        const found = typeof details === \"object\" && details !== null && \"pages\" in details &&\n          Array.isArray(details.pages) ? details.pages.filter((p): p is string => typeof p === \"string\") : [];\n        const lines = options.isPartial ? [\"Searching reference pages…\"] :\n          options.expanded ? [...found.slice(0, 3), \"Preview: 3 of \" + found.length + \" pages\"] :\n            [found.length + \" pages found · expand for detail\"];\n        return {\n          invalidate() {},\n          render(width) {\n            return lines.flatMap(line => wrapTextWithAnsi(line, width)\n              .map(row => theme.fg(options.isPartial ? \"warning\" : \"toolOutput\", row)));\n          },\n        };\n      },\n    };\n    const tool = new ToolExecutionComponent(\"docs_search\", \"example-search-1\",\n      { query: \"terminal UI\" }, undefined, renderers, tui, \"/workspace/example\");\n    tool.markExecutionStarted();\n    tool.updateResult({ content: [], isError: false }, true);\n    action(\"complete\", () => {\n      tool.updateResult({ content: [], details: { pages }, isError: false }, false);\n      tui.requestRender();\n    });\n    action(\"expand\", () => { tool.setExpanded(true); tui.requestRender(); });\n    return tool;\n  },\n};\n",
    "lang": "ts",
    "path": "stories/patterns/presentation/detail-fold.ts"
  },
  "states": [
    {
      "dont": false,
      "expectFail": [],
      "frames": [
        {
          "alt": "Detail Fold, In flight state, 40 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-40-dark.1e6feb6a2750.webp",
          "theme": "dark",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Detail Fold, In flight state, 40 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-40-light.7b80971f0b93.webp",
          "theme": "light",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Detail Fold, In flight state, 60 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-60-dark.1e73e02a860d.webp",
          "theme": "dark",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Detail Fold, In flight state, 60 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-60-light.15eea5346dc1.webp",
          "theme": "light",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Detail Fold, In flight state, 80 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-80-dark.42a74622c258.webp",
          "theme": "dark",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Detail Fold, In flight state, 80 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-80-light.80726639ca9b.webp",
          "theme": "light",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Detail Fold, In flight state, 120 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-120-dark.10574825346b.webp",
          "theme": "dark",
          "w": 2400,
          "width": 120
        },
        {
          "alt": "Detail Fold, In flight state, 120 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/partial-120-light.50ef9adfa29c.webp",
          "theme": "light",
          "w": 2400,
          "width": 120
        }
      ],
      "how": "Show a synthetic phase-specific partial result.",
      "id": "partial",
      "label": "In flight",
      "problems": []
    },
    {
      "dont": false,
      "expectFail": [],
      "frames": [
        {
          "alt": "Detail Fold, Summary state, 40 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-40-dark.86a5d190fc35.webp",
          "theme": "dark",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Detail Fold, Summary state, 40 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-40-light.4c4a839cadf3.webp",
          "theme": "light",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Detail Fold, Summary state, 60 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-60-dark.9b4e54b755f3.webp",
          "theme": "dark",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Detail Fold, Summary state, 60 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-60-light.cb9ce3fa8b4e.webp",
          "theme": "light",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Detail Fold, Summary state, 80 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-80-dark.c43d0d7dfa26.webp",
          "theme": "dark",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Detail Fold, Summary state, 80 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-80-light.554a80ab9c69.webp",
          "theme": "light",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Detail Fold, Summary state, 120 columns, dark theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-120-dark.e91cb355f490.webp",
          "theme": "dark",
          "w": 2400,
          "width": 120
        },
        {
          "alt": "Detail Fold, Summary state, 120 columns, light theme, 5 rows",
          "animated": false,
          "animation": null,
          "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": 220,
          "rows": 5,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/collapsed-120-light.280440e555c6.webp",
          "theme": "light",
          "w": 2400,
          "width": 120
        }
      ],
      "how": "Show one compact completion row.",
      "id": "collapsed",
      "label": "Summary",
      "problems": []
    },
    {
      "dont": false,
      "expectFail": [],
      "frames": [
        {
          "alt": "Detail Fold, Bounded detail state, 40 columns, dark theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-40-dark.cf2c5c810fcd.webp",
          "theme": "dark",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Detail Fold, Bounded detail state, 40 columns, light theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-40-light.cfe4c4dbda70.webp",
          "theme": "light",
          "w": 800,
          "width": 40
        },
        {
          "alt": "Detail Fold, Bounded detail state, 60 columns, dark theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-60-dark.e8ad2db1efdf.webp",
          "theme": "dark",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Detail Fold, Bounded detail state, 60 columns, light theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-60-light.d1bdda9051f0.webp",
          "theme": "light",
          "w": 1200,
          "width": 60
        },
        {
          "alt": "Detail Fold, Bounded detail state, 80 columns, dark theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-80-dark.e7b14f2b3421.webp",
          "theme": "dark",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Detail Fold, Bounded detail state, 80 columns, light theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-80-light.296788be4ce5.webp",
          "theme": "light",
          "w": 1600,
          "width": 80
        },
        {
          "alt": "Detail Fold, Bounded detail state, 120 columns, dark theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-120-dark.f1556a6b8d2f.webp",
          "theme": "dark",
          "w": 2400,
          "width": 120
        },
        {
          "alt": "Detail Fold, Bounded detail state, 120 columns, light theme, 8 rows",
          "animated": false,
          "animation": null,
          "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": 352,
          "rows": 8,
          "still": "https://pi-tui.ratstack.sh/frames/detail-fold/expanded-120-light.de2c6754eee3.webp",
          "theme": "light",
          "w": 2400,
          "width": 120
        }
      ],
      "how": "Expand details with an explicit preview-cap notice.",
      "id": "expanded",
      "label": "Bounded detail",
      "problems": []
    }
  ],
  "structure": "renderCall -> progress\nrenderResult -> summary / detail",
  "thumbnails": {
    "dark": {
      "animation": null,
      "src": "https://pi-tui.ratstack.sh/thumbs/detail-fold/dark.c5a8ccfb98b0.webp"
    },
    "light": {
      "animation": null,
      "src": "https://pi-tui.ratstack.sh/thumbs/detail-fold/light.f376dff8796f.webp"
    }
  },
  "url": "https://pi-tui.ratstack.sh/patterns/detail-fold/",
  "widths": [
    40,
    60,
    80,
    120
  ]
}
