{
  "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": 26,
  "pageCount": 29,
  "prevPage": 25,
  "nextPage": 27,
  "slideType": "other",
  "function": "present_solution",
  "density": "overcrowded",
  "nDataPoints": 0,
  "notes": "The slide uses a step-by-step code breakdown to explain component creation.",
  "elementsJson": null,
  "metadataConfidence": 0.9,
  "imagePath": null,
  "slideHref": "/slides/019de06f-a937-74e5-a93a-c869a1890818/26",
  "deckHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818",
  "deckJsonHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818.json",
  "deckAnchorHref": "/decks/019de06f-a937-74e5-a93a-c869a1890818#slide-26",
  "components": [
    {
      "bbox": {
        "h": 0.12,
        "w": 0.08,
        "x": 0.9,
        "y": 0.02
      },
      "kind": "image",
      "text": "RDC",
      "attrs": null,
      "subkind": "logo",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "c3985f52-030c-41c8-b1da-2eba3e164010",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.22,
        "w": 0.75,
        "x": 0.3,
        "y": 0.75
      },
      "kind": "other",
      "text": "return e(\"Frame\", {\n  Size = UDim2.new(0, 400, 0, 300)\n}, children)\nend",
      "attrs": null,
      "subkind": "unclassified",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "33aa3fe6-321e-4b56-be71-6115d5a7d8cd",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.06,
        "w": 0.45,
        "x": 0.3,
        "y": 0.01
      },
      "kind": "other",
      "text": "local e = Roact.createElement",
      "attrs": null,
      "subkind": "unclassified",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "786b3273-ab7f-4069-9cab-a80c72bf1a67",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.32,
        "w": 0.75,
        "x": 0.3,
        "y": 0.08
      },
      "kind": "other",
      "text": "local function Inventory(props)\n  local items = props.items\n  local children = {}\n  children.Layout = e(\"UIListLayout\", {\n    SortOrder = Enum.SortOrder.LayoutOrder\n  })",
      "attrs": null,
      "subkind": "unclassified",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "8442c966-bf78-46af-af44-7bed0e459547",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.32,
        "w": 0.75,
        "x": 0.3,
        "y": 0.42
      },
      "kind": "other",
      "text": "for index, item in ipairs(items) do\n  children[index] = e(\"TextLabel\", {\n    LayoutOrder = index,\n    Text = item.name,\n    Size = UDim2.new(1, 0, 0, 30)\n  })\nend",
      "attrs": null,
      "subkind": "unclassified",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "d2c288a9-2a87-430c-8b39-ca454cc43c43",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.06,
        "w": 0.29,
        "x": 0.02,
        "y": 0.79
      },
      "kind": "paragraph",
      "text": "Combine everything:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "0255e33b-68e6-4ec9-85f1-c6c827511f3f",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.06,
        "w": 0.25,
        "x": 0.06,
        "y": 0.02
      },
      "kind": "paragraph",
      "text": "Alias (surprise!):",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "de63e512-a98c-497e-b733-474719791733",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.06,
        "w": 0.18,
        "x": 0.13,
        "y": 0.115
      },
      "kind": "paragraph",
      "text": "Component:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "eba1c197-3532-4450-9769-ce51bd4cc079",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.06,
        "w": 0.23,
        "x": 0.08,
        "y": 0.46
      },
      "kind": "paragraph",
      "text": "Create children:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "ecd9f970-6fb7-4567-b6bc-bb2664d5f8a3",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [],
  "frameworks": [],
  "arcBeats": [],
  "loops": [],
  "imagePathAlt": null,
  "thumbSrc": null,
  "thumbSrcAlt": null,
  "locked": true
}