{
  "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": 24,
  "pageCount": 29,
  "prevPage": 23,
  "nextPage": 25,
  "slideType": "key_messages",
  "function": "present_framework",
  "density": "sparse",
  "nDataPoints": 0,
  "notes": null,
  "elementsJson": null,
  "metadataConfidence": 1,
  "imagePath": null,
  "slideHref": "/slides/019de06f-a937-74e5-a93a-c869a1890818/24",
  "deckHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818",
  "deckJsonHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818.json",
  "deckAnchorHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818#slide-24",
  "components": [
    {
      "bbox": {
        "h": 0.25,
        "w": 0.8,
        "x": 0.05,
        "y": 0.25
      },
      "kind": "list",
      "text": "Create components to represent pieces of UI\nComponents receive state and return description of UI\nRoact actually updates your UI objects!",
      "attrs": null,
      "subkind": "bullet",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "cbdf3439-1c58-419c-8889-6acb7fe76bac",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.15,
        "w": 0.8,
        "x": 0.05,
        "y": 0.55
      },
      "kind": "paragraph",
      "text": "Roact tries to emulate immediate mode ergonomics without giving up retained mode performance.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "3f8aa95a-81d0-407f-9322-65c80e26a0b8",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.15,
        "w": 0.4,
        "x": 0.05,
        "y": 0.07
      },
      "kind": "title",
      "text": "Dynamic UI: Roact",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "578d9147-c2fb-4545-8df5-ab8b99060a6c",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [
    {
      "name": "List presentation",
      "slug": "list-presentation",
      "agent": null,
      "layer": "slide",
      "matchId": "991eb21f-4765-4cea-933e-83e7be370379",
      "evidence": "list/bullet: Create components to represent pieces of UI Components receive state and return description of UI Roact actually updates your UI objects!",
      "confidence": 0.9
    }
  ],
  "frameworks": [],
  "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"
    }
  ],
  "loops": [],
  "imagePathAlt": null,
  "thumbSrc": null,
  "thumbSrcAlt": null,
  "locked": true
}