{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5ca1-7489-b638-6b934d889347",
  "slug": "76eac9a7cfdc8f44",
  "title": "Battery materials demand and supply perspective",
  "subtitle": "McKinsey",
  "author": "McKinsey",
  "pageCount": 11,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5ca1-7489-b638-6b934d889347",
    "slug": "76eac9a7cfdc8f44",
    "title": "Battery materials demand and supply perspective",
    "rawTitle": "Battery materials demand and supply perspective",
    "authorId": "McKinsey",
    "authorName": "McKinsey",
    "authorDisplay": "McKinsey",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "Battery-materials-demand-and-supply-perspective.pdf",
    "sourceUrl": "https://worldmaterialsforum.com/files/Presentations2022/WMF2022-PS1-Frank-Bekaert-McKinsey.pdf",
    "sourceDate": "2022-06-16 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-23 20:51:38+00",
    "status": "ready",
    "pageCount": 11,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/76eac9a7cfdc8f44",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 11,
    "pagesIndexed": 11,
    "pagesWithImages": 11,
    "pagesWithMetadata": 11,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 69,
    "chartCount": 11,
    "metricSlides": 7,
    "toolMatches": 3,
    "documentToolMatches": 0,
    "frameworkMatches": 3,
    "arcMatches": 1,
    "beatMatches": 7,
    "loopMatches": 2,
    "patternMatches": 0,
    "storymakersMatch": false,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "evidence": "The deck follows a clear problem-agitate-solution arc, presenting a problem (supply shortages), agitating it (by highlighting the expected nickel shortage), and providing a solution or next steps (not explicitly stated, but implied through the conclusion).",
        "isPrimary": true,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:06:49.67507+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "beats": [
      {
        "to": 1,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 1,
        "name": "Attention",
        "beatId": "868f7a57-a480-469e-a519-ef7883591852",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": {
          "name": "Attention",
          "slug": "aida-attention",
          "status": "active",
          "canonId": "019dd9b8-1086-7099-85c1-2f9cae7ea19d",
          "version": 1,
          "description": null
        },
        "evidence": "The cover slide grabs the audience's attention.",
        "position": 0,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Hook",
          "slug": "hook",
          "status": "active",
          "canonId": "019dd9b8-01a6-7328-bff2-b22eb40b3ea5",
          "version": 1,
          "description": "The opener — a deliberate move to earn attention before any argument. Used by AIDA, Monroes, Pixar Pitch, Overcoming the Monster."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 2,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 2,
        "name": "Interest",
        "beatId": "6837b3ce-89a2-48b7-8c80-47c214a0619e",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": {
          "name": "Interest",
          "slug": "aida-interest",
          "status": "active",
          "canonId": "019dd9b8-115b-7640-827f-fd115885a984",
          "version": 1,
          "description": null
        },
        "evidence": "The industry trends slide piques the audience's interest.",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Complication",
          "slug": "complication",
          "status": "active",
          "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
          "version": 1,
          "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 4,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 4,
        "name": "Problem Statement",
        "beatId": "49c2cf57-3483-46d0-b87c-c0f6230a7014",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": null,
        "evidence": "The problem statement slide clearly presents the issue.",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 5,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 3,
        "name": "Market Sizing",
        "beatId": "a2e7c3ae-5fd2-45f6-ac3b-327031ad4bcf",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": null,
        "evidence": "The market sizing slides provide context and quantify the issue.",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 7,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 5,
        "name": "Complication",
        "beatId": "de185773-f366-4b06-9ee1-a18b2353a108",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": {
          "name": "Complication",
          "slug": "complication",
          "status": "active",
          "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
          "version": 1,
          "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
        },
        "evidence": "The complication slides elaborate on the nickel shortage.",
        "position": 4,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 10,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 10,
        "name": "Situation Overview",
        "beatId": "57a4ae99-4cbd-41b2-80ef-70aa2fc51cbb",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": null,
        "evidence": "The situation overview slide summarizes the current state.",
        "position": 5,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 11,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 11,
        "name": "Key Takeaways",
        "beatId": "6840e55e-898f-4e36-b27a-e76294be4d70",
        "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
        "beatType": null,
        "evidence": "The key takeaways slide provides a conclusion.",
        "position": 6,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      }
    ],
    "loops": [
      {
        "to": 7,
        "from": 4,
        "loop": {
          "name": "27_cost_of_inaction",
          "slug": "27-cost-of-inaction",
          "status": "active",
          "bestFor": "Urgent budget requests, compliance, risk mitigation",
          "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
          "description": "Quantify what happens if the audience does nothing",
          "familyLabel": null,
          "categoryName": "Urgency",
          "categorySlug": "urgency"
        },
        "matchId": "435fdcef-5a63-4791-8d5f-35d6f6121ad7",
        "evidence": "The deck highlights the potential consequences of inaction on nickel supply, such as supply shortages and price increases.",
        "position": 0,
        "objective": "What are the consequences of inaction on nickel supply?",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:06:49.918097+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      },
      {
        "to": 3,
        "from": 2,
        "loop": {
          "name": "15_why_now",
          "slug": "15-why-now",
          "status": "active",
          "bestFor": "Sales pitches, fundraising, requesting immediate budget approval",
          "canonId": "019dd956-6c00-70cd-bd42-6bacc4af726f",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Context (Trends) -> The Trigger Event -> The Window of Opportunity",
          "description": "Create temporal urgency by proving that the window of opportunity is opening or closing",
          "familyLabel": null,
          "categoryName": "Urgency",
          "categorySlug": "urgency"
        },
        "matchId": "1569e6d5-0cfc-41b1-85c2-65eca93588b0",
        "evidence": "The deck presents the current trends and growth drivers, making the issue relevant now.",
        "position": 1,
        "objective": "Why is this issue relevant now?",
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:06:49.949207+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "b5e46f18-af95-4c7f-9c3b-5493debcf7d3",
        "evidence": "chart/waterfall: Waterfall chart showing 2021-2031 nickel supply and demand evolution",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:14:36.658973+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "2477e919-6452-41c3-a013-cddfd4f1c374",
        "evidence": "legend: Demand: Further acceleration, Current trajectory, Achieved commitments. Supply: Full Potential, High Case, Base Case, Low Case",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:36.726219+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "c91c3790-86f2-4fb9-bcf3-1c3a18dde7cc",
        "evidence": "chart/waterfall: Finished nickel cost curve base vs 100 USD/t CO2 price, 2021",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:14:36.861374+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "c074ec15-1b34-492f-a033-2588509decff",
        "evidence": "The slide uses a standard periodic table layout to map data points.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 19:23:04.432+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "frameworkName": "periodic-table-visualization"
      },
      {
        "matchId": "887991d3-dc48-4289-bd2e-ed702bfe0ef4",
        "evidence": "The slide uses a waterfall chart to decompose the change in supply and demand over time.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 19:23:05.324+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "frameworkName": "waterfall-chart"
      },
      {
        "matchId": "47aa66d6-8ab5-4aa7-9282-306db8a5d8e3",
        "evidence": "Visual representation of cumulative production vs marginal cost",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 19:23:05.759+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "frameworkName": "cost-curve"
      }
    ],
    "patterns": []
  },
  "storymakers": null,
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 22:02:47.082+00",
    "subScores": {
      "scqa_arc": 69,
      "action_titles": 89,
      "mece_structure": 73,
      "closing_strength": 57,
      "evidence_quality": 86,
      "clarity_of_thesis": 82,
      "production_quality": 75,
      "visual_storytelling": 84
    },
    "totalScore": 77,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "Slides 2-4 establish Situation/Complication and slides 5-10 analyze implications, but the core Question and Answer are implicit, so the arc reads partly as an analytical sequence.",
      "action_titles": "Most analytical slides use declarative action titles, e.g. slide 9: \"The nickel value chain is exposed to carbon pricing; a widespread 100 USD/t CO2 penalty increases 2021 marginal cost by 26%\", while slide 11 regresses to the label \"Conclusion\".",
      "mece_structure": "The structure mostly separates demand, supply, price/geopolitical, carbon-cost, and uncertainty lenses across slides 3-10, but Russia, Class 1 tightness, and shortage analysis overlap without a visibly MECE governing framework.",
      "closing_strength": "Slide 11 synthesizes key takeaways but does not convert the findings into a clear recommendation, decision, owner, timeline, or next steps.",
      "evidence_quality": "Claims are usually backed by charts and metrics, including 32% CAGR on slide 3, supply-demand gaps on slide 4, and a 26% marginal-cost impact on slide 9.",
      "clarity_of_thesis": "The thesis is identifiable by slides 3-5: EV-led Li-ion demand growth is creating battery-material shortages, especially nickel, though slide 1 does not state it as a one-line answer.",
      "production_quality": "Production quality is polished with footnotes, callouts, and consistent chart-heavy layouts, but overcrowded slides 4, 6, and 8 plus the slide 6 typo \"thightness\" reduce discipline.",
      "visual_storytelling": "Visual tool choice is strong, with a periodic table, stacked demand bars, waterfall, supply-demand charts, price line, country bars, and cost curve matched to slide messages, though several are dense (slides 4, 6, 8)."
    },
    "slidesAnalyzed": 11
  },
  "review": {
    "backend": null,
    "verdict": "A competent McKinsey market-perspective deck with strong quantified action titles in the analytical middle, but it opens without a thesis and closes on 'unknowns remain' plus a generic 'Conclusion' — useful as a teaching example for action-title craft (p.4–9), not for full Storymakers arc.",
    "reviewedAt": "2026-04-25 02:34:46+00",
    "slidesSeen": 11,
    "suggestions": [
      "Replace p.11 'Conclusion' with a real action title carrying a recommendation, e.g. 'Buyers should lock multi-year nickel offtake by 2024 to hedge a 4.3 Mt class-1 shortfall'",
      "Reframe p.10 as a sensitivity / scenario slide ('Three scenarios bracket the Ni gap at X–Y Mt by 2030') so unknowns serve the argument instead of weakening it",
      "Add a thesis slide as p.2 stating the one-line answer ('Nickel — not lithium — is the binding constraint on the EV transition this decade'), then let p.3–9 prove it",
      "Insert two MECE pillar dividers ('Demand outlook' / 'Supply constraints & risk overlays') so the analytical arc is legible at a glance"
    ],
    "closingScore": 40,
    "openingScore": 58,
    "topStrengths": [
      "Action titles on p.3–p.9 are quantified and declarative (e.g. p.7 cites '+51%' price move; p.9 quantifies a '26%' carbon-cost impact)",
      "Clear analytical funnel: broad Li-ion demand (p.3) narrows to nickel-specific supply (p.5–6) and then to a geopolitical/carbon overlay (p.7–9)",
      "Callout on p.4 ('Focus on Ni in next pages; Li more globally available; Co being substituted away') gives the reader an explicit signpost for why nickel gets the deep-dive"
    ],
    "topWeaknesses": [
      "p.11 is titled 'Conclusion' — a topic label, not an action title — and offers no recommendation or next step",
      "p.10 'Several unknowns remain that may impact the Ni market' opens new uncertainty just before the close, undermining the analytical build-up",
      "No section dividers / pillar structure — the deck flows as one linear data dump rather than MECE chapters",
      "Opening never states a thesis or recommendation; the audience has to assemble the 'so what' themselves"
    ],
    "narrativeScore": 62,
    "pillarCritique": "There are no explicit section dividers; the deck is a single linear analytical run from demand → supply → nickel deep-dive → carbon sensitivity → unknowns → conclusion, which reads as a topic sequence rather than MECE pillars.",
    "closingCritique": "The close is weak: p.10 is a 'frame_problem' slide ('Several unknowns remain') which raises questions rather than answering them, and p.11 is generically titled 'Conclusion' with a callout that merely restates the opening growth stat — no recommendation, no call to action, no decision the audience should take.",
    "openingCritique": "The cover and p.2 establish stakes (criticality of battery materials), and p.3 leads with a strong action title on demand growth, but the deck never explicitly states a thesis or 'so what' in the first 3 slides — the reader has to infer the argument from a sequence of market facts.",
    "extractionSeconds": 68.13387,
    "narrativeCritique": "The deck follows a partial S→C→A arc: it sets up battery materials criticality (p.2), establishes complication via supply shortages (p.4–5), and analyzes nickel deeply (p.6–9), but the Resolution is weak — p.10 'Several unknowns remain' deflates the build-up and p.11 is just labeled 'Conclusion'.",
    "titleQualityScore": 74,
    "titleQualityCritique": "Most action titles are genuinely declarative and insight-bearing — e.g. p.4 'Battery mineral mining is at current pace to result in supply shortages towards the end of the decade' and p.9 'a widespread 100 USD/t CO2 penalty increases 2021 marginal cost by 26%' — but p.10 ('Several unknowns remain') and p.11 ('Conclusion') collapse into pure topic labels at the most important moment."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/WkXSphmWE4OTIvP9k7vGQ259nskNAnq0rd3-Pf9Ob-U/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhYzlhN2NmZGM4ZjQ0L3AwMDEuanBn",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 33,
        "componentCount": 6,
        "textChars": 259,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "logo_grid",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:04.947+00",
          "seconds": 2.964,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/1",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-1",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "CONFIDENTIAL AND PROPRIETARY. Any use of this material without specific permission of McKinsey & Company is strictly prohibited",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.947+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8ee88044-375b-4959-9566-1f8ee3bbe6cb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.5,
            "x": 0.5,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.947+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7c4d1e39-20c6-42a5-891b-867b8f6d48d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.05,
            "y": 0.06
          },
          "kind": "image",
          "text": "McKinsey & Company",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.947+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4dedb497-ae03-45df-b362-a745aca5539a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.05,
            "y": 0.75
          },
          "kind": "image",
          "text": "World Materials Forum",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.947+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d58230a1-c890-470d-9142-9fb548a5b58c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.66
          },
          "kind": "paragraph",
          "text": "World Materials Forum | Nancy, 16-18 June 2022",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.947+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b953561d-076c-4220-ab8a-1a65cbcf77f7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "title",
          "text": "Battery materials demand and supply perspective",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.947+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c999a42a-26d6-4160-a334-10809ba32be6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 1,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Attention",
          "beatId": "868f7a57-a480-469e-a519-ef7883591852",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": {
            "name": "Attention",
            "slug": "aida-attention",
            "status": "active",
            "canonId": "019dd9b8-1086-7099-85c1-2f9cae7ea19d",
            "version": 1,
            "description": null
          },
          "evidence": "The cover slide grabs the audience's attention.",
          "position": 0,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Hook",
            "slug": "hook",
            "status": "active",
            "canonId": "019dd9b8-01a6-7328-bff2-b22eb40b3ea5",
            "version": 1,
            "description": "The opener — a deliberate move to earn attention before any argument. Used by AIDA, Monroes, Pixar Pitch, Overcoming the Monster."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/ZNv-MQjGFUCxjtMN2y2UPmw3D1sDtziBQL-25BcQeP8/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhYzlhN2NmZGM4ZjQ0L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/z7Up7dJRxM5hsZyUahPJZhtOTunf_l4bIEZdAVVlOqk/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhYzlhN2NmZGM4ZjQ0L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/6hYIHStGH-GRtda73Jq29hQ8VSHZV3rqmLlG_d6GVUE/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhYzlhN2NmZGM4ZjQ0L3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "analysis",
      "title": "The slide uses a color-coded periodic table to indicate criticality levels, with red representing high criticality.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 11,
        "componentCount": 3,
        "textChars": 179,
        "nDataPoints": 0,
        "notes": "The slide uses a color-coded periodic table to indicate criticality levels, with red representing high criticality.",
        "elementsJson": [
          "infographic"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:04.432+00",
          "seconds": 2.326,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/2",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-2",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "disclaimer",
          "text": "Source: WMF Criticality Assessment 2022",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ff02bc2f-5904-475c-9497-3dc24f650e9a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.7,
            "x": 0.15,
            "y": 0.2
          },
          "kind": "image",
          "text": "Periodic table with color-coded elements",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "43668e2f-42ac-4dfd-937a-508f5d98d72f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Criticality of battery materials and Copper as key metal for electricity infrastructure is very high",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:04.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a25ee367-037c-4a1a-8275-709f3f39f252",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "c074ec15-1b34-492f-a033-2588509decff",
          "evidence": "The slide uses a standard periodic table layout to map data points.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 19:23:04.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "frameworkName": "periodic-table-visualization"
        }
      ],
      "arcBeats": [
        {
          "to": 2,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Interest",
          "beatId": "6837b3ce-89a2-48b7-8c80-47c214a0619e",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": {
            "name": "Interest",
            "slug": "aida-interest",
            "status": "active",
            "canonId": "019dd9b8-115b-7640-827f-fd115885a984",
            "version": 1,
            "description": null
          },
          "evidence": "The industry trends slide piques the audience's interest.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 3,
          "from": 2,
          "loop": {
            "name": "15_why_now",
            "slug": "15-why-now",
            "status": "active",
            "bestFor": "Sales pitches, fundraising, requesting immediate budget approval",
            "canonId": "019dd956-6c00-70cd-bd42-6bacc4af726f",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Context (Trends) -> The Trigger Event -> The Window of Opportunity",
            "description": "Create temporal urgency by proving that the window of opportunity is opening or closing",
            "familyLabel": null
          },
          "matchId": "1569e6d5-0cfc-41b1-85c2-65eca93588b0",
          "evidence": "The deck presents the current trends and growth drivers, making the issue relevant now.",
          "position": 1,
          "objective": "Why is this issue relevant now?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:49.949207+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 3,
      "type": "resolution",
      "title": "The chart uses a broken axis between 2015 and 2020. The CAGR of 32% is explicitly labeled for the 2020-2030 period.",
      "function": "size_opportunity",
      "rawType": "market_sizing",
      "block": null,
      "metadata": {
        "slideType": "market_sizing",
        "slideTypeCanon": {
          "name": "Market sizing",
          "slug": "market_sizing",
          "status": "active",
          "canonId": "019de52d-08c8-756c-8664-733b73a7ee7b",
          "version": 1,
          "description": null
        },
        "function": "size_opportunity",
        "functionCanon": {
          "name": "Size opportunity",
          "slug": "size_opportunity",
          "status": "active",
          "canonId": "019de52d-147b-7568-8828-a74a27697618",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 65,
        "componentCount": 7,
        "textChars": 726,
        "nDataPoints": 6,
        "notes": "The chart uses a broken axis between 2015 and 2020. The CAGR of 32% is explicitly labeled for the 2020-2030 period.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "bullet_list",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:08.566+00",
          "seconds": 6.397,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/3",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-3",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Growth from 2020 – 30 expected to be strong at 32% p.a. CAGR, underpinned by massive growth in mobility (breakdown follows) as well as growth in energy storage systems",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da3-ae182d1d4b4a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.55,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Global Li-ion battery cell demand by sector, GWh",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:08.566+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f3a1860e-4202-4746-b4ce-21bb5a9f5749",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.35,
            "x": 0.25,
            "y": 0.18
          },
          "kind": "legend",
          "text": "Mobility, Energy storage systems, Consumer electronics",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:08.566+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "10e0c521-71bd-4db6-86c5-d41c60aed545",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.3,
            "x": 0.67,
            "y": 0.32
          },
          "kind": "list",
          "text": "Growth from 2020 – 30 expected to be strong at 32% p.a. CAGR, underpinned by massive growth in mobility (breakdown follows) as well as growth in energy storage systems. Forecast continues to grow as models are refreshed at a regular basis due to increased expectations of Electric Vehicle adoption",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:08.566+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0e579221-79b7-4c18-a7a5-24de5a1b53e2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "GWh: 11,577",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da3-b0fa6f02f7b1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Battery demand model Q1 2022, IHS; WEF",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:08.566+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15cbc25a-8edd-4d80-a689-ff180197e2e9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.55,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Li-ion battery cell demand growth driven overwhelmingly by the transition to EVs in the mobility sector",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:08.566+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5f5f7631-3dd3-48a5-abb6-4a2a50cd9a1d",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "GWh",
          "numberRaw": "11,577",
          "numberKind": "plain",
          "actionTitle": "Li-ion battery cell demand growth driven overwhelmingly by the transition to EVs in the mobility sector",
          "calloutText": "Growth from 2020 – 30 expected to be strong at 32% p.a. CAGR, underpinned by massive growth in mobility (breakdown follows) as well as growth in energy storage systems",
          "numberScale": null,
          "numberValue": 11.577,
          "metricFamily": "environment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 5,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Market Sizing",
          "beatId": "a2e7c3ae-5fd2-45f6-ac3b-327031ad4bcf",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": null,
          "evidence": "The market sizing slides provide context and quantify the issue.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 3,
          "from": 2,
          "loop": {
            "name": "15_why_now",
            "slug": "15-why-now",
            "status": "active",
            "bestFor": "Sales pitches, fundraising, requesting immediate budget approval",
            "canonId": "019dd956-6c00-70cd-bd42-6bacc4af726f",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Context (Trends) -> The Trigger Event -> The Window of Opportunity",
            "description": "Create temporal urgency by proving that the window of opportunity is opening or closing",
            "familyLabel": null
          },
          "matchId": "1569e6d5-0cfc-41b1-85c2-65eca93588b0",
          "evidence": "The deck presents the current trends and growth drivers, making the issue relevant now.",
          "position": 1,
          "objective": "Why is this issue relevant now?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:49.949207+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "type": "tension",
      "title": "Base case scenario. Focus on Ni in next pages.",
      "function": "diagnose",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 66,
        "componentCount": 10,
        "textChars": 338,
        "nDataPoints": 6,
        "notes": "Base case scenario. Focus on Ni in next pages.",
        "elementsJson": [
          "headline_text",
          "line_chart",
          "bullet_list",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.183+00",
          "seconds": 2.968,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/4",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-4",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.08,
            "w": 0.23,
            "x": 0.74,
            "y": 0.03
          },
          "kind": "callout",
          "text": "Focus on Ni in next pages (Li more globally available; Co being substituted away)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1a11a53b-a59d-480e-8546-81c25e8da6b0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.36,
            "y": 0.33
          },
          "kind": "chart",
          "text": "Lithium supply vs demand",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1c791a47-b69a-4c93-8859-8ebe3bd91876",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "chart",
          "text": "Nickel supply vs demand",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8f61346a-1a4f-458e-ab7e-4058b309e089",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.67,
            "y": 0.33
          },
          "kind": "chart",
          "text": "Cobalt supply vs demand",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "91854a63-7e6c-4085-a9c4-6a78c5f1433f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.36,
            "y": 0.68
          },
          "kind": "list",
          "text": "Lithium insights",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1c4d6439-0c4b-4937-9281-dc01a272e3f7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.05,
            "y": 0.68
          },
          "kind": "list",
          "text": "Nickel insights",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "44e43463-67ec-47c4-9e24-1864e1231b91",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.67,
            "y": 0.68
          },
          "kind": "list",
          "text": "Cobalt insights",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ed65846-c8f8-47dd-9565-478424c70571",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Supply-demand gap: +52%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da4-643e39f2e606",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.1,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Minespans",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4714cfee-c255-4467-bfb8-41913a13538f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.65,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Battery mineral mining is at current pace to result in supply shortages towards the end of the decade",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.183+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "94c87a75-2e67-4b8a-99c7-8ee6778e2f5f",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Supply-demand gap",
          "numberRaw": "+52%",
          "numberKind": "percent",
          "actionTitle": "Battery mineral mining is at current pace to result in supply shortages towards the end of the decade",
          "calloutText": "Focus on Ni in next pages (Li more globally available; Co being substituted away)",
          "numberScale": null,
          "numberValue": 52,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 4,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Problem Statement",
          "beatId": "49c2cf57-3483-46d0-b87c-c0f6230a7014",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": null,
          "evidence": "The problem statement slide clearly presents the issue.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        },
        {
          "to": 5,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Market Sizing",
          "beatId": "a2e7c3ae-5fd2-45f6-ac3b-327031ad4bcf",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": null,
          "evidence": "The market sizing slides provide context and quantify the issue.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "435fdcef-5a63-4791-8d5f-35d6f6121ad7",
          "evidence": "The deck highlights the potential consequences of inaction on nickel supply, such as supply shortages and price increases.",
          "position": 0,
          "objective": "What are the consequences of inaction on nickel supply?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:49.918097+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "resolution",
      "title": "The chart uses a waterfall structure to bridge 2021 supply to 2031 supply, and 2021 demand to 2031 demand, showing a clear deficit.",
      "function": "size_opportunity",
      "rawType": "market_sizing",
      "block": null,
      "metadata": {
        "slideType": "market_sizing",
        "slideTypeCanon": {
          "name": "Market sizing",
          "slug": "market_sizing",
          "status": "active",
          "canonId": "019de52d-08c8-756c-8664-733b73a7ee7b",
          "version": 1,
          "description": null
        },
        "function": "size_opportunity",
        "functionCanon": {
          "name": "Size opportunity",
          "slug": "size_opportunity",
          "status": "active",
          "canonId": "019de52d-147b-7568-8828-a74a27697618",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 62,
        "componentCount": 6,
        "textChars": 890,
        "nDataPoints": 12,
        "notes": "The chart uses a waterfall structure to bridge 2021 supply to 2031 supply, and 2021 demand to 2031 demand, showing a clear deficit.",
        "elementsJson": [
          "headline_text",
          "waterfall_chart",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.324+00",
          "seconds": 3.01,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/5",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-5",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Battery technology evolves permanently, in order to balance high performance and low cost. Currently, in certain applications, the use of LFP batteries in low range vehicles are expected to decrease the pressure on the nickel market",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:10+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da4-7f858e704397",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.9,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "chart",
          "text": "Waterfall chart showing 2021-2031 nickel supply and demand evolution",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall chart",
              "slug": "waterfall",
              "status": "active",
              "canonId": "019de52d-002e-733e-b5cf-dd3beb6692cc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.324+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d5b47452-8469-49f3-8719-253892428abc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Nickel supply/demand balance: 4.3",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:10+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da4-80f9ac0cceb4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.6,
            "y": 0.3
          },
          "kind": "paragraph",
          "text": "Battery technology evolves permanently, in order to balance high performance and low cost. Currently, in certain applications, the use of LFP batteries in low range vehicles are expected to decrease the pressure on the nickel market",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.324+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bd02a078-c6d7-48d9-b098-83eb97983588",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "1. Base case scenario considering mill-head grade corrections; 2. Contained nickel in finished products, ready for end usage, such as FeNi, NPI, nickel sulphate or nickel metal, produced at the mine or in a refinery. Source: MineSpans",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.324+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6ee23f0c-0559-40ba-a6c1-36599ed5fb84",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "With current demand trends, a long-term shortage of nickel is expected, driven by EV growth",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.324+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "79c2cef5-efe7-4ade-a5c2-149a65084aa1",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Nickel supply/demand balance",
          "numberRaw": "4.3",
          "numberKind": "plain",
          "actionTitle": "With current demand trends, a long-term shortage of nickel is expected, driven by EV growth",
          "calloutText": "Battery technology evolves permanently, in order to balance high performance and low cost. Currently, in certain applications, the use of LFP batteries in low range vehicles are expected to decrease the pressure on the nickel market",
          "numberScale": null,
          "numberValue": 4.3,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "b5e46f18-af95-4c7f-9c3b-5493debcf7d3",
          "evidence": "chart/waterfall: Waterfall chart showing 2021-2031 nickel supply and demand evolution",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:14:36.658973+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "887991d3-dc48-4289-bd2e-ed702bfe0ef4",
          "evidence": "The slide uses a waterfall chart to decompose the change in supply and demand over time.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 19:23:05.324+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "frameworkName": "waterfall-chart"
        }
      ],
      "arcBeats": [
        {
          "to": 5,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Market Sizing",
          "beatId": "a2e7c3ae-5fd2-45f6-ac3b-327031ad4bcf",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": null,
          "evidence": "The market sizing slides provide context and quantify the issue.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        },
        {
          "to": 7,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Complication",
          "beatId": "de185773-f366-4b06-9ee1-a18b2353a108",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "evidence": "The complication slides elaborate on the nickel shortage.",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "435fdcef-5a63-4791-8d5f-35d6f6121ad7",
          "evidence": "The deck highlights the potential consequences of inaction on nickel supply, such as supply shortages and price increases.",
          "position": 0,
          "objective": "What are the consequences of inaction on nickel supply?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:49.918097+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "analysis",
      "title": "The slide uses a stacked area chart to show supply cases against demand trajectories for two distinct nickel classes.",
      "function": "analyze_data",
      "rawType": "market_landscape",
      "block": null,
      "metadata": {
        "slideType": "market_landscape",
        "slideTypeCanon": {
          "name": "Market landscape",
          "slug": "market_landscape",
          "status": "active",
          "canonId": "019de52d-0b6d-75db-a946-9ac362e3afc2",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 68,
        "componentCount": 8,
        "textChars": 763,
        "nDataPoints": 0,
        "notes": "The slide uses a stacked area chart to show supply cases against demand trajectories for two distinct nickel classes.",
        "elementsJson": [
          "headline_text",
          "area_chart",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.365+00",
          "seconds": 3.002,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/6",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-6",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Draw down of class 1 inventories built up by previous oversupply; The announcements of many NPI projects floods the Class 2 market.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da4-09cfc5a55fbf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.23,
            "w": 0.92,
            "x": 0.04,
            "y": 0.31
          },
          "kind": "chart",
          "text": "Class 1 supply and demand chart",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked area chart",
              "slug": "area-stacked",
              "status": "active",
              "canonId": "019de52c-ffb1-75fa-a614-76782f418cf1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "area-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb317670-a53f-4877-bf4e-aa286f3f990b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.23,
            "w": 0.92,
            "x": 0.04,
            "y": 0.61
          },
          "kind": "chart",
          "text": "Class 2 supply and demand chart",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked area chart",
              "slug": "area-stacked",
              "status": "active",
              "canonId": "019de52c-ffb1-75fa-a614-76782f418cf1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "area-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d958030c-9d85-4289-86b7-25d3a46f0d70",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.68,
            "x": 0.28,
            "y": 0.18
          },
          "kind": "legend",
          "text": "Demand: Further acceleration, Current trajectory, Achieved commitments. Supply: Full Potential, High Case, Base Case, Low Case",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0d2dffdb-4070-4554-ac1c-9b72221593e7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Refined nickel supply capacity and demand",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da4-0fa16737c173",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.92,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "1. Class demand based on the current demand profile. Shifts in demand are likely to happen with evolving technology and price dynamics. Source: MineSpans, McKinsey Nickel demand model",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0162fabe-78a8-46dc-af5d-35201704e0d1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "subtitle",
          "text": "Refined nickel supply capacity and demand by class of nickel, in kt Ni",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fa1d0b5-35f7-460f-8372-88d0c8cca430",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.92,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "We expect a short-term Class 1 thightness, compensated by either significant supply pipeline growth via NPI conversion or substitution of nickel usage",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b861a1ee-b067-4cd3-9c59-8469ab869bda",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "2477e919-6452-41c3-a013-cddfd4f1c374",
          "evidence": "legend: Demand: Further acceleration, Current trajectory, Achieved commitments. Supply: Full Potential, High Case, Base Case, Low Case",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:36.726219+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Complication",
          "beatId": "de185773-f366-4b06-9ee1-a18b2353a108",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "evidence": "The complication slides elaborate on the nickel shortage.",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "435fdcef-5a63-4791-8d5f-35d6f6121ad7",
          "evidence": "The deck highlights the potential consequences of inaction on nickel supply, such as supply shortages and price increases.",
          "position": 0,
          "objective": "What are the consequences of inaction on nickel supply?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:49.918097+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "The chart uses a shaded region to highlight the period of the U/R conflict.",
      "function": "establish_context",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 30,
        "componentCount": 5,
        "textChars": 269,
        "nDataPoints": 2,
        "notes": "The chart uses a shaded region to highlight the period of the U/R conflict.",
        "elementsJson": [
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.565+00",
          "seconds": 3.06,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/7",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-7",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.05,
            "x": 0.91,
            "y": 0.45
          },
          "kind": "callout",
          "text": "+51%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.565+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88b42c98-4fa5-425d-bcc1-87fbc20af3fe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.92,
            "x": 0.04,
            "y": 0.22
          },
          "kind": "chart",
          "text": "LME Nickel price trend from 01/21 to 04/22",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.565+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5fde7701-20ac-419f-aab7-679f1fc4922b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "LME Nickel price: +51%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da4-2de2afca34f9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "1. Nominal prices. Source: MineSpans, Fastmarkets MB, McKinsey analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.565+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4891b37-c9b3-4d9a-8002-fa5109a5ad4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.92,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "The existing shortage in nickel supply combined with the consequences of the U/R conflict pushed nickel prices to historical highs",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.565+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "369e0136-2a88-40ec-b1f4-9a6edc36323e",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "LME Nickel price",
          "numberRaw": "+51%",
          "numberKind": "percent",
          "actionTitle": "The existing shortage in nickel supply combined with the consequences of the U/R conflict pushed nickel prices to historical highs",
          "calloutText": "+51%",
          "numberScale": null,
          "numberValue": 51,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Complication",
          "beatId": "de185773-f366-4b06-9ee1-a18b2353a108",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "evidence": "The complication slides elaborate on the nickel shortage.",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "435fdcef-5a63-4791-8d5f-35d6f6121ad7",
          "evidence": "The deck highlights the potential consequences of inaction on nickel supply, such as supply shortages and price increases.",
          "position": 0,
          "objective": "What are the consequences of inaction on nickel supply?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:49.918097+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "analysis",
      "title": "The slide uses a dual-bar chart structure to contrast total production vs. exports, with a specific focus on Russia's market share.",
      "function": "analyze_data",
      "rawType": "market_landscape",
      "block": null,
      "metadata": {
        "slideType": "market_landscape",
        "slideTypeCanon": {
          "name": "Market landscape",
          "slug": "market_landscape",
          "status": "active",
          "canonId": "019de52d-0b6d-75db-a946-9ac362e3afc2",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 69,
        "componentCount": 7,
        "textChars": 802,
        "nDataPoints": 18,
        "notes": "The slide uses a dual-bar chart structure to contrast total production vs. exports, with a specific focus on Russia's market share.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "bullet_list",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.102+00",
          "seconds": 2.596,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/8",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-8",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Russian production of refined nickel metal is serving more than 20% of the global nickel export market",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:22+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da6-2b96b5176569",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.25,
            "x": 0.4,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Nickel metal class 1 export by country, Ni metal contained, kt, 2020",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "14520f48-cf19-4f1d-b403-35272726db87",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.35,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Nickel class 1 & 2 production by country, Ni metal contained, kt, 2020",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5031bcc8-ca5c-4745-816b-3897d2b9b09d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.72,
            "y": 0.3
          },
          "kind": "list",
          "text": "Russian production of refined nickel metal is serving more than 20% of the global nickel export market. Russian export is currently mainly sent through the European market. China and Indonesia are large producers of nickel pig iron (class 2)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e29d7c7-443d-4c14-8ba7-378be1573b4e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Share of global nickel export market: 23%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:22+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da6-2c6d86236cc7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.6,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "1. Major export from producing regions as Oceania and Western-Europe\n2. Nickel class 2 primary used for the production in stainless steel, class 1 used for both steel alloys and batteries\nSource: Minespans, UN Comtrade",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "83218591-e253-4faf-91e6-52d7425291bf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.5,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "Russia is one of the largest Nickel class 1 exporters globally",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5b7ac1f8-308a-4d66-b00b-b22c58a10693",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Share of global nickel export market",
          "numberRaw": "23%",
          "numberKind": "percent",
          "actionTitle": "Russia is one of the largest Nickel class 1 exporters globally",
          "calloutText": "Russian production of refined nickel metal is serving more than 20% of the global nickel export market",
          "numberScale": null,
          "numberValue": 23,
          "metricFamily": "share_penetration",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 9,
      "type": "resolution",
      "title": "The chart is a classic cost curve (or supply curve) showing cumulative production on the x-axis and cash cost on the y-axis.",
      "function": "quantify_impact",
      "rawType": "sensitivity_analysis",
      "block": null,
      "metadata": {
        "slideType": "sensitivity_analysis",
        "slideTypeCanon": {
          "name": "Sensitivity analysis",
          "slug": "sensitivity_analysis",
          "status": "active",
          "canonId": "019de52d-0e3e-71aa-afde-42c88c3adc5f",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 64,
        "componentCount": 7,
        "textChars": 693,
        "nDataPoints": 4,
        "notes": "The chart is a classic cost curve (or supply curve) showing cumulative production on the x-axis and cash cost on the y-axis.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.759+00",
          "seconds": 3.07,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/9",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-9",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Carbon pricing landscape evolving; nickel market's exposure will depend on several variables",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:21+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da5-69f315a6fd6f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Finished nickel cost curve base vs 100 USD/t CO2 price, 2021",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall chart",
              "slug": "waterfall",
              "status": "active",
              "canonId": "019de52d-002e-733e-b5cf-dd3beb6692cc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.759+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48571120-b67f-48c3-a88d-64d60c95e509",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.7,
            "x": 0.04,
            "y": 0.88
          },
          "kind": "disclaimer",
          "text": "1. CO2 cost applies a standard 50 USD/t CO2e price to annual operational emissions, as well as the industry average carbon footprint of the operation's input product. Only CO2 emissions are considered. 2. Emissions Trading System 3. Sweden's carbon tax represents the higher end",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.759+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2c6f7bf2-ad3f-4bfa-8ead-a1db2424a69a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.23,
            "x": 0.73,
            "y": 0.18
          },
          "kind": "legend",
          "text": "2021 base; 2021 with CO2 price",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.759+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bd8117dc-f588-47d9-9b62-16e42ca4845e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "marginal cost: 26%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:21+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da5-6d270a82a51a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "subtitle",
          "text": "Carbon pricing landscape evolving; nickel market's exposure will depend on several variables",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.759+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d155a2cc-1076-4bb4-93bb-91ad3e49cb94",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.92,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "The nickel value chain is exposed to carbon pricing; a widespread 100 USD/t CO2 penalty increases 2021 marginal cost by 26%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.759+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cee7dd31-39f1-48e4-a047-cf372679921b",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "marginal cost",
          "numberRaw": "26%",
          "numberKind": "percent",
          "actionTitle": "The nickel value chain is exposed to carbon pricing; a widespread 100 USD/t CO2 penalty increases 2021 marginal cost by 26%",
          "calloutText": "Carbon pricing landscape evolving; nickel market's exposure will depend on several variables",
          "numberScale": null,
          "numberValue": 26,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "c91c3790-86f2-4fb9-bcf3-1c3a18dde7cc",
          "evidence": "chart/waterfall: Finished nickel cost curve base vs 100 USD/t CO2 price, 2021",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:14:36.861374+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "47aa66d6-8ab5-4aa7-9282-306db8a5d8e3",
          "evidence": "Visual representation of cumulative production vs marginal cost",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 19:23:05.759+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "frameworkName": "cost-curve"
        }
      ],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "The slide uses a two-column layout to contrast demand-side and supply-side market uncertainties.",
      "function": "diagnose",
      "rawType": "situation_overview",
      "block": null,
      "metadata": {
        "slideType": "situation_overview",
        "slideTypeCanon": {
          "name": "Situation overview",
          "slug": "situation_overview",
          "status": "active",
          "canonId": "019de52d-0cfe-7769-99aa-9a2fe82a4039",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 27,
        "componentCount": 5,
        "textChars": 289,
        "nDataPoints": 0,
        "notes": "The slide uses a two-column layout to contrast demand-side and supply-side market uncertainties.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "icon_grid",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.41+00",
          "seconds": 2.654,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/10",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-10",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.5,
            "y": 0.025
          },
          "kind": "list",
          "text": "Increased supply: Technology, Production, De-carbonization",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.41+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69459ed5-31ac-46c7-abb0-7fac12605505",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.04,
            "y": 0.025
          },
          "kind": "list",
          "text": "Changes in demand patterns: Stainless steel, EV batteries, De-carbonization",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.41+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "782e4597-7b74-48ce-806d-9590ac1bc874",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.06,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "2022 Q1",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.41+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de830a24-9494-4af9-9fe2-32763633d1cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.4,
            "x": 0.04,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "1. NPI Ni content: 2%-15%; Matte Ni content from Ni laterites: ~75% Source: Nickel team analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.41+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7d3fae64-050d-4811-8392-248ce455b4e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.04,
            "y": 0.07
          },
          "kind": "title",
          "text": "Several unknowns remain that may impact the Ni market",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.41+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "91e77743-c557-483d-9118-0bb1b80f4309",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Situation Overview",
          "beatId": "57a4ae99-4cbd-41b2-80ef-70aa2fc51cbb",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": null,
          "evidence": "The situation overview slide summarizes the current state.",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 11,
      "type": "resolution",
      "function": "summarize",
      "rawType": "key_takeaways",
      "block": null,
      "metadata": {
        "slideType": "key_takeaways",
        "slideTypeCanon": {
          "name": "Key takeaways",
          "slug": "key_takeaways",
          "status": "active",
          "canonId": "019de52d-06e7-7674-a891-9f7de3b11b6d",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 5,
        "textChars": 780,
        "nDataPoints": 2,
        "notes": null,
        "elementsJson": [
          "bullet_list",
          "paragraph",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:23:05.606+00",
          "seconds": 2.66,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-6b934d889347/11",
        "deck": "/decks/019dd923-5ca1-7489-b638-6b934d889347",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-6b934d889347#slide-11",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-6b934d889347.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Li-ion battery cell demand growing >30% per year over the next decade as the transition to EVs keeps on accelerating",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:26+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da8-316df8feb0ae",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.375,
            "w": 0.112,
            "x": 0.048,
            "y": 0.262
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Icon grid",
              "slug": "icon-grid",
              "status": "active",
              "canonId": "019de52c-fdfe-749d-9990-1db465a3eed4",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "icon-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.606+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9627d9cf-cafe-4656-812f-b31d5fcf73d9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.583,
            "w": 0.812,
            "x": 0.144,
            "y": 0.262
          },
          "kind": "list",
          "text": "Li-ion battery cell demand growing >30% per year over the next decade as the transition to EVs keeps on accelerating\nThis leads to mining supply gaps for the main battery materials\nNickel facing most severe gaps, with largest issue for Class 1 Nickel, exacerbated by the Ukraine/Russia conflict (Russia exporting ~25% of Class 1 Nickel globally)\nLithium also facing supply gaps but sources more globally available and technology evolving\nCobalt being substituted away, avoiding severe future supply gaps\nIf and when clear supply gaps would realize, expect more substitution and/or moves to other modes of propulsion",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.606+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "49d00b59-6b4a-4c02-a715-aa8a903d948f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Li-ion battery cell demand growth: >30%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:32:26+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-d3bb-700a-9da8-3552b28479bc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.042,
            "w": 0.195,
            "x": 0.044,
            "y": 0.083
          },
          "kind": "title",
          "text": "Conclusion",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:23:05.606+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6fbfdf7c-7320-4a0a-b1ae-47d47c611b65",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Li-ion battery cell demand growth",
          "numberRaw": ">30%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "Li-ion battery cell demand growing >30% per year over the next decade as the transition to EVs keeps on accelerating",
          "numberScale": null,
          "numberValue": 30,
          "metricFamily": "growth_rate",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 11,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 11,
          "name": "Key Takeaways",
          "beatId": "6840e55e-898f-4e36-b27a-e76294be4d70",
          "matchId": "d3404020-3aca-403b-9c78-9e9b7f5bd659",
          "beatType": null,
          "evidence": "The key takeaways slide provides a conclusion.",
          "position": 6,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 1,
      "to": 1,
      "label": "Attention",
      "description": "The cover slide grabs the audience's attention."
    },
    {
      "from": 2,
      "to": 2,
      "label": "Interest",
      "description": "The industry trends slide piques the audience's interest."
    },
    {
      "from": 4,
      "to": 4,
      "label": "Problem Statement",
      "description": "The problem statement slide clearly presents the issue."
    },
    {
      "from": 3,
      "to": 5,
      "label": "Market Sizing",
      "description": "The market sizing slides provide context and quantify the issue."
    },
    {
      "from": 5,
      "to": 7,
      "label": "Complication",
      "description": "The complication slides elaborate on the nickel shortage."
    },
    {
      "from": 10,
      "to": 10,
      "label": "Situation Overview",
      "description": "The situation overview slide summarizes the current state."
    },
    {
      "from": 11,
      "to": 11,
      "label": "Key Takeaways",
      "description": "The key takeaways slide provides a conclusion."
    }
  ],
  "loops": [
    {
      "from": 4,
      "to": 7,
      "label": "Cost Of Inaction",
      "description": "What are the consequences of inaction on nickel supply?"
    },
    {
      "from": 2,
      "to": 3,
      "label": "Why Now",
      "description": "Why is this issue relevant now?"
    }
  ]
}