{
  "docId": "019de06f-a937-74e5-a93a-c869a1890818",
  "docSlug": "db1818cdab816d6807094fc88536c9a2",
  "documentTitle": "Roblox | Product Presentation Deck | 29 slides",
  "authorId": "roblox",
  "authorName": "Roblox",
  "documentKindSlug": "conference-presentation",
  "documentKindLabel": "Conference presentation",
  "sourceTypeSlug": "investor_relations",
  "sourceTypeLabel": "Investor relations",
  "presentationDate": "2018-07-01 00:00:00",
  "orientation": "landscape",
  "aspectRatio": 1.7927171,
  "pageNumber": 21,
  "pageCount": 29,
  "prevPage": 20,
  "nextPage": 22,
  "slideType": "key_messages",
  "function": "present_framework",
  "density": "balanced",
  "nDataPoints": 1,
  "notes": null,
  "elementsJson": null,
  "metadataConfidence": 1,
  "imagePath": null,
  "slideHref": "/slides/019de06f-a937-74e5-a93a-c869a1890818/21",
  "deckHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818",
  "deckJsonHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818.json",
  "deckAnchorHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818#slide-21",
  "components": [
    {
      "bbox": {
        "h": 0.08,
        "w": 0.07,
        "x": 0.9,
        "y": 0.03
      },
      "kind": "image",
      "text": "RDC",
      "attrs": null,
      "subkind": "logo",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "192297cc-b8d9-4bfc-be40-d2fc258dcff8",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.6,
        "w": 0.7,
        "x": 0.05,
        "y": 0.25
      },
      "kind": "list",
      "text": "Based on Redux, created by Dan Abramov\nThree principles:\n- Single source of truth for all state\n- State is read-only\n- State is defined by pure functions, known as reducers\nCan be implemented in only ~20 lines of Lua!",
      "attrs": null,
      "subkind": "bullet",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "cb3550a9-9242-4494-ab4b-bd6b8ac8f81b",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.1,
        "w": 0.45,
        "x": 0.05,
        "y": 0.07
      },
      "kind": "title",
      "text": "State Management: Rodux",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "33438a2e-aab1-4a50-b213-73c1bde52fd6",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [
    {
      "name": "List presentation",
      "slug": "list-presentation",
      "agent": null,
      "layer": "slide",
      "matchId": "a128ac8a-5ba8-4567-a507-9e5183dbd6ed",
      "evidence": "list/bullet: Based on Redux, created by Dan Abramov Three principles: - Single source of truth for all state - State is read-only - State is defined by pure functions, known as reducers Can be implemented in only ~20 lin",
      "confidence": 0.9
    }
  ],
  "frameworks": [
    {
      "name": "Redux Principles",
      "slug": null,
      "matchId": "911502b2-d92f-4aad-a8a8-18114baf684c",
      "evidence": "The slide explicitly lists the three core principles of Redux.",
      "confidence": 1
    }
  ],
  "arcBeats": [
    {
      "to": 24,
      "from": 18,
      "beatId": "6a595c98-d8a9-4487-ab18-da553cdcbd7b",
      "arcName": "The Consultant's Gambit",
      "arcSlug": "consultants-gambit",
      "beatName": "Solution & Approach",
      "beatSlug": "consultants-gambit-solution-approach",
      "evidence": "The deck presents solutions and demonstrates their effectiveness.",
      "position": 2,
      "confidence": 0.8,
      "parentBeatName": "Turn",
      "parentBeatSlug": "turn"
    },
    {
      "to": 23,
      "from": 19,
      "beatId": "c834f6a1-de32-4eed-b670-978affb4f333",
      "arcName": "The Consultant's Gambit",
      "arcSlug": "consultants-gambit",
      "beatName": "Evidence & Proof",
      "beatSlug": "consultants-gambit-evidence-proof",
      "evidence": "The deck provides evidence and examples to support the solutions.",
      "position": 3,
      "confidence": 0.8,
      "parentBeatName": "Evidence",
      "parentBeatSlug": "evidence"
    }
  ],
  "loops": [],
  "imagePathAlt": null,
  "thumbSrc": null,
  "thumbSrcAlt": null,
  "locked": true
}