{"version":1,"pages":[{"id":"Xo374Aw4Fg2he1FRC6kC","title":"Portal overview","pathname":"/","siteSpaceId":"sitesp_GLsIq","description":"An introduction to the Singular Developer Portal"},{"id":"ng8YA6ySlzfaRjm5gtUe","title":"Quick start","pathname":"/quick-start","siteSpaceId":"sitesp_GLsIq","description":"Control your first Singular graphic with the REST API"},{"id":"zpYyJjAtCN3uhQjPsQdy","title":"Introduction","pathname":"/rest-api/introduction","siteSpaceId":"sitesp_GLsIq","description":"An overview of the REST API documentation","breadcrumbs":[{"label":"REST API"}]},{"id":"kKyi6XhocLxM0MUMMXX6","title":"Rate limits","pathname":"/rest-api/rate-limits","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"}]},{"id":"nwfDDLwIWmyE8US7McFk","title":"Authorization","pathname":"/rest-api/authorization","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"}]},{"id":"Eht7MgOQlfw6ywPwJt9z","title":"How-to guides","pathname":"/rest-api/how-to-guides","siteSpaceId":"sitesp_GLsIq","description":"Learn how to accomplish common tasks with the Singular REST API","breadcrumbs":[{"label":"REST API"}]},{"id":"vVtvXw71KwjnRqGm32Ck","title":"Get a control app's API token","pathname":"/rest-api/how-to-guides/get-a-control-apps-api-token","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"MkwOpPnxrMRkXY4l96X4","title":"Get a composition's sub-composition IDs and names and their payload structures","pathname":"/rest-api/how-to-guides/get-a-compositions-sub-composition-ids-and-names-and-their-payload-structures","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"9lhKoBHO3ipB0YzZ5uOy","title":"Get a control app's model","pathname":"/rest-api/how-to-guides/get-a-control-apps-model","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"xEo24fPdtDQkELNJ8xdL","title":"Get a control app's metadata","pathname":"/rest-api/how-to-guides/get-a-control-apps-metadata","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"vILoDbXjtlAp31bZtE16","title":"Update a sub-composition's content","pathname":"/rest-api/how-to-guides/update-a-sub-compositions-content","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"rDzOBn9F4cE7prkhunpH","title":"Update a sub-composition's animation state","pathname":"/rest-api/how-to-guides/update-a-sub-compositions-animation-state","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"lq5JW43d06reeRovAr8b","title":"Update a sub-composition's content and animation state in one call","pathname":"/rest-api/how-to-guides/update-a-sub-compositions-content-and-animation-state-in-one-call","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"icUf5chjDMO79ak9ZQeZ","title":"Update multiple sub-compositions in one call","pathname":"/rest-api/how-to-guides/update-multiple-sub-compositions-in-one-call","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"How-to guides"}]},{"id":"Xrppy3CNrWxrwsvWwPKz","title":"API reference","pathname":"/rest-api/api-reference","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"}]},{"id":"clCaBKJ0V4dnSri6ih11","title":"Get control app details","pathname":"/rest-api/api-reference/get-control-app-details","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"}]},{"id":"9ImJwUPmo4fxiv7ORcjw","title":"Get a control app's metadata","pathname":"/rest-api/api-reference/get-control-app-details/get-a-control-apps-metadata","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"},{"label":"Get control app details"}]},{"id":"1X4XsoDNZ9vuXO8IPNtf","title":"Get a control app's model","pathname":"/rest-api/api-reference/get-control-app-details/get-a-control-apps-model","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"},{"label":"Get control app details"}]},{"id":"IHYaQZvtloyWduFgw18W","title":"Get a control app's control data","pathname":"/rest-api/api-reference/get-control-app-details/get-a-control-apps-control-data","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"},{"label":"Get control app details"}]},{"id":"9fEeDyjOgwD6nRGVeNbJ","title":"Send data to a control app","pathname":"/rest-api/api-reference/send-data-to-a-control-app","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"}]},{"id":"GvaUCghhKuzsOMYpFbFO","title":"Update a control app's content","pathname":"/rest-api/api-reference/send-data-to-a-control-app/update-a-control-apps-content","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"},{"label":"Send data to a control app"}]},{"id":"H1ao7yGBN02RzpMbCJTQ","title":"Update a control app's animation state","pathname":"/rest-api/api-reference/send-data-to-a-control-app/update-a-control-apps-animation-state","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"},{"label":"Send data to a control app"}]},{"id":"xuch8iSTZYEyx9SXsbpD","title":"Take out all of an app's output","pathname":"/rest-api/api-reference/take-out-all-of-an-apps-output","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"REST API"},{"label":"API reference"}]},{"id":"dZcOon6fAPM2MZ7LYF6b","title":"Introduction","pathname":"/data-stream-api/introduction","siteSpaceId":"sitesp_GLsIq","description":"A faster way to send data","breadcrumbs":[{"label":"Data stream API"}]},{"id":"q0SHBiuAAK1GfetXaquo","title":"Rate limits","pathname":"/data-stream-api/rate-limits","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"}]},{"id":"OegX6f1qW5rJthOz0hcz","title":"Authorization","pathname":"/data-stream-api/authorization","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"}]},{"id":"J7VCkPUCS3YiwQ3XJLJ4","title":"How-to guides","pathname":"/data-stream-api/how-to-guides","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"}]},{"id":"kuuVWfXDO8JzuM0zahm0","title":"Create a data stream","pathname":"/data-stream-api/how-to-guides/create-a-data-stream","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"},{"label":"How-to guides"}]},{"id":"kGSGvC9pnZUHGO9jYdJM","title":"Link a data stream to a composition","pathname":"/data-stream-api/how-to-guides/link-a-data-stream-to-a-composition","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"},{"label":"How-to guides"}]},{"id":"V1QuI4rdpl2Yrc2dZky1","title":"Send data to an app using the data stream API","pathname":"/data-stream-api/how-to-guides/send-data-to-an-app-using-the-data-stream-api","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"},{"label":"How-to guides"}]},{"id":"rKpwotRWI8BCk6EMlFWs","title":"API reference","pathname":"/data-stream-api/api-reference","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Data stream API"}]},{"id":"OU3r5sqTXmgA06VcNfU1","title":"Introduction","pathname":"/composition-scripting/introduction","siteSpaceId":"sitesp_GLsIq","description":"Composition scripting documentation overview","breadcrumbs":[{"label":"Composition scripting"}]},{"id":"bpQRLtmQy43nfr5HT3Ku","title":"Overview","pathname":"/composition-scripting/overview","siteSpaceId":"sitesp_GLsIq","description":"An overview of composition scripting","breadcrumbs":[{"label":"Composition scripting"}]},{"id":"HSQyv2Q2VKUfyyVbjPUn","title":"Quick start","pathname":"/composition-scripting/quick-start","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"}]},{"id":"Uzvvi2q4Jov1QOHFy61t","title":"Find sub-compositions and widgets","pathname":"/composition-scripting/quick-start/find-sub-compositions-and-widgets","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"cdyIAp9fT2QPLa1t1nJa","title":"Read and update control nodes","pathname":"/composition-scripting/quick-start/read-and-update-control-nodes","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"cd8AXpqciCcHoLxIKiTI","title":"Set text widget text properties","pathname":"/composition-scripting/quick-start/set-text-widget-text-properties","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"UbNX7DStn9hBEdLgBSEs","title":"Read and update widget properties","pathname":"/composition-scripting/quick-start/read-and-update-widget-properties","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"zdLyFiLD3BO8q3trHhgj","title":"Read control nodes and update widget properties","pathname":"/composition-scripting/quick-start/read-control-nodes-and-update-widget-properties","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"PCvyHgqLdSeuMf8qwaxf","title":"Set image widget URL property","pathname":"/composition-scripting/quick-start/set-image-widget-url-property","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"qAvj58Pvn5XLNIFX5FWA","title":"Set table widget content property","pathname":"/composition-scripting/quick-start/set-table-widget-content-property","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Quick start"}]},{"id":"9A8YCufvZKLhen8xwBgI","title":"Cheat sheets","pathname":"/composition-scripting/cheat-sheets","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"}]},{"id":"ER8mHXgveMi1cwrEt6q3","title":"Fundamentals","pathname":"/composition-scripting/cheat-sheets/fundamentals","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Cheat sheets"}]},{"id":"sEiEdJN94EM6jOQ96gW1","title":"Interactive overlays","pathname":"/composition-scripting/cheat-sheets/interactive-overlays","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Cheat sheets"}]},{"id":"vlBPuog3BkdPyvqmRJdj","title":"Best practices","pathname":"/composition-scripting/cheat-sheets/best-practices","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Cheat sheets"}]},{"id":"ysUED03QehknZQdNfNYE","title":"Use cases","pathname":"/composition-scripting/use-cases","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"}]},{"id":"avetGR1dxacVeV2hT2oH","title":"Read control nodes and generate HTML text","pathname":"/composition-scripting/use-cases/read-control-nodes-and-generate-html-text","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Use cases"}]},{"id":"dvp3Vz1VC4s98h6dcvMm","title":"Read control nodes, generate HTML text with background","pathname":"/composition-scripting/use-cases/read-control-nodes-generate-html-text-with-background","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Use cases"}]},{"id":"PzR4foIviT8ajaED7RUo","title":"Text Ticker - Start ticker on \"In\" animation","pathname":"/composition-scripting/use-cases/text-ticker-start-ticker-on-in-animation","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Composition scripting"},{"label":"Use cases"}]},{"id":"VR90qrV5rs12JLSuQ3gp","title":"Composition script editor reference","pathname":"/composition-scripting/composition-script-editor-reference","siteSpaceId":"sitesp_GLsIq","description":"Get to know the composition script editor","breadcrumbs":[{"label":"Composition scripting"}]},{"id":"i5rOxmuG8BnBQdpEvB3L","title":"Graphics SDK","pathname":"/software-development-kits/graphics-sdk","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"}]},{"id":"6kBGr7EE0ofNzoHfkxQr","title":"Getting started","pathname":"/software-development-kits/graphics-sdk/getting-started","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"}]},{"id":"Fm7sqHA6mC0ikzNgrL77","title":"Reference","pathname":"/software-development-kits/graphics-sdk/reference","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"}]},{"id":"WIY7XutXej7ZbBwDtVQ2","title":"SDK functions","pathname":"/software-development-kits/graphics-sdk/reference/sdk-functions","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Reference"}]},{"id":"obiH285JBIloTqjYBFTD","title":"Composition object","pathname":"/software-development-kits/graphics-sdk/reference/composition-object","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Reference"}]},{"id":"IMxSpLKp6DSlNsDz2EgJ","title":"Sequencer object","pathname":"/software-development-kits/graphics-sdk/reference/sequencer-object","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Reference"}]},{"id":"jG1bwqU9wjcAa3frMyIK","title":"Guides and examples","pathname":"/software-development-kits/graphics-sdk/guides-and-examples","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"}]},{"id":"LayVdpxsAP1IN6QixuhV","title":"Load a composition with its token","pathname":"/software-development-kits/graphics-sdk/guides-and-examples/load-a-composition-with-its-token","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Guides and examples"}]},{"id":"i1CEtYFxKG33EPd1kRWa","title":"Load a composition with its URL","pathname":"/software-development-kits/graphics-sdk/guides-and-examples/load-a-composition-with-its-url","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Guides and examples"}]},{"id":"SeIILafe6ndGaJDYbutz","title":"Get the composition URL of an app instance","pathname":"/software-development-kits/graphics-sdk/guides-and-examples/get-the-composition-url-of-an-app-instance","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Guides and examples"}]},{"id":"KpkwSdloQxCrK1yKhzAq","title":"Sequencer VOD example","pathname":"/software-development-kits/graphics-sdk/guides-and-examples/sequencer-vod-example","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Guides and examples"}]},{"id":"6rsuWaZ5S8GkTFF4dBON","title":"Control local preview of app","pathname":"/software-development-kits/graphics-sdk/guides-and-examples/control-local-preview-of-app","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Guides and examples"}]},{"id":"Mt2NVuYGJdQ1W3zuVXzK","title":"Load app instance output","pathname":"/software-development-kits/graphics-sdk/guides-and-examples/load-app-instance-output","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Graphics SDK"},{"label":"Guides and examples"}]},{"id":"96jlvBi2tw9zHMHhnTWp","title":"Overlay SDK","pathname":"/software-development-kits/overlay-sdk","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"}]},{"id":"VyHPMtMHzqKhOi5jY8EC","title":"Getting started","pathname":"/software-development-kits/overlay-sdk/getting-started","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Overlay SDK"}]},{"id":"mgJuMd4ni2hMkhalDRgp","title":"SDK functions","pathname":"/software-development-kits/overlay-sdk/sdk-functions","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Overlay SDK"}]},{"id":"V52pLdbakip8fYeO05NM","title":"Use case examples","pathname":"/software-development-kits/overlay-sdk/use-case-examples","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Overlay SDK"}]},{"id":"iCxoQxXJNR2mup5UK0Wr","title":"Widget SDK","pathname":"/software-development-kits/widget-sdk","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"}]},{"id":"zq5ePZAJVbozuSlu5D7I","title":"Preparing your environment","pathname":"/software-development-kits/widget-sdk/preparing-your-environment","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"}]},{"id":"vHhxku4Bl0apP3uOC6yp","title":"Getting started","pathname":"/software-development-kits/widget-sdk/getting-started","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"}]},{"id":"4FZYQbaGaq2hEFWfIEQM","title":"Reference","pathname":"/software-development-kits/widget-sdk/reference","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"}]},{"id":"g7mRM64Oos24AsgA2JAz","title":"Widget UI definition","pathname":"/software-development-kits/widget-sdk/reference/widget-ui-definition","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"},{"label":"Reference"}]},{"id":"JkcOsyRufC6bhfVCJfBC","title":"Widget callback functions","pathname":"/software-development-kits/widget-sdk/reference/widget-callback-functions","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"},{"label":"Reference"}]},{"id":"3JK6elew6O3crO1h9ZTP","title":"Time control object","pathname":"/software-development-kits/widget-sdk/reference/time-control-object","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"},{"label":"Reference"}]},{"id":"norREnqufyqTLdOsjEWM","title":"Composition instance","pathname":"/software-development-kits/widget-sdk/reference/composition-instance","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"},{"label":"Reference"}]},{"id":"Ktauak9M5EEv6eyzdVQZ","title":"Guides and examples","pathname":"/software-development-kits/widget-sdk/guides-and-examples","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"}]},{"id":"lw09cal2Y2fmBReOrywU","title":"Widget example: CSS patterns","pathname":"/software-development-kits/widget-sdk/guides-and-examples/widget-example-css-patterns","siteSpaceId":"sitesp_GLsIq","description":"This example widget lets users choose a pattern from a selection and define colors and spacing.","breadcrumbs":[{"label":"Software development kits"},{"label":"Widget SDK"},{"label":"Guides and examples"}]},{"id":"6tjUM3IaFcVK0PSdAtQj","title":"App SDK","pathname":"/software-development-kits/app-sdk","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Software development kits"}]},{"id":"I9GACxc3k1lms6eBtcOt","title":"Overview of Singular","pathname":"/singular-basics/overview-of-singular","siteSpaceId":"sitesp_GLsIq","description":"Learn the basics of Singular","breadcrumbs":[{"label":"Singular Basics"}]},{"id":"VK75CnTZJxUbMZV9MItJ","title":"Managing overlays in the Dashboard","pathname":"/singular-basics/managing-overlays-in-the-dashboard","siteSpaceId":"sitesp_GLsIq","description":"Stay organized with the Singular Dashboard.","breadcrumbs":[{"label":"Singular Basics"}]},{"id":"6lK9JNJY218NCqjlNO0U","title":"How to create a new composition","pathname":"/singular-basics/managing-overlays-in-the-dashboard/how-to-create-a-new-composition","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Managing overlays in the Dashboard"}]},{"id":"50QPj4bbvnaUNqf1rjZT","title":"How to open a new app template","pathname":"/singular-basics/managing-overlays-in-the-dashboard/how-to-open-a-new-app-template","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Managing overlays in the Dashboard"}]},{"id":"5Ka4FM53e74ywg47HcK3","title":"How to create an app for a composition","pathname":"/singular-basics/managing-overlays-in-the-dashboard/how-to-create-an-app-for-a-composition","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Managing overlays in the Dashboard"}]},{"id":"RNNUhJA1MgFb2uUVzxau","title":"How to extract a composition from an app","pathname":"/singular-basics/managing-overlays-in-the-dashboard/how-to-extract-a-composition-from-an-app","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Managing overlays in the Dashboard"}]},{"id":"0GMSSOe7EGqJ6FXDJODh","title":"How to find an app's shared app token and shared API URL","pathname":"/singular-basics/managing-overlays-in-the-dashboard/how-to-find-an-apps-shared-app-token-and-shared-api-url","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Managing overlays in the Dashboard"}]},{"id":"B75n2kbyDFmKxEcac9Ci","title":"Dashboard reference","pathname":"/singular-basics/managing-overlays-in-the-dashboard/dashboard-reference","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Managing overlays in the Dashboard"}]},{"id":"XMdqpl5os5yTqn7QtoKp","title":"Building overlays in Composer","pathname":"/singular-basics/building-overlays-in-composer","siteSpaceId":"sitesp_GLsIq","description":"Take a deep dive into overlays and how to build them in Composer.","breadcrumbs":[{"label":"Singular Basics"}]},{"id":"c0zh6QznLvf4paqNuXII","title":"How to build a composition","pathname":"/singular-basics/building-overlays-in-composer/how-to-build-a-composition","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"cxHOPQuQ6TsaHnMxAxbQ","title":"How to set up layer logic to automate overlay transitions","pathname":"/singular-basics/building-overlays-in-composer/how-to-set-up-layer-logic-to-automate-overlay-transitions","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"AvY5m0CfONs8kdtzapV8","title":"How to set up control nodes to make widget properties available to a control app","pathname":"/singular-basics/building-overlays-in-composer/how-to-set-up-control-nodes-to-make-widget-properties-available-to-a-control-app","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"g0aV3SE7rfFcZV2hKV3q","title":"Animating overlays","pathname":"/singular-basics/building-overlays-in-composer/animating-overlays","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"twr8LxDyI9MdFGRTT5dX","title":"How to create timeline animations","pathname":"/singular-basics/building-overlays-in-composer/animating-overlays/how-to-create-timeline-animations","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"},{"label":"Animating overlays"}]},{"id":"aqzDNdZeZkAJQt7C2d01","title":"How to create behavior animations","pathname":"/singular-basics/building-overlays-in-composer/animating-overlays/how-to-create-behavior-animations","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"},{"label":"Animating overlays"}]},{"id":"G33VP8MGYWNNutcLTynp","title":"How to create update animations","pathname":"/singular-basics/building-overlays-in-composer/animating-overlays/how-to-create-update-animations","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"},{"label":"Animating overlays"}]},{"id":"igjQIPAHz57uEvDDbI1p","title":"How to make overlays interactive","pathname":"/singular-basics/building-overlays-in-composer/how-to-make-overlays-interactive","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"QHrnJfcQsLNKnWllnuDI","title":"How to adapt overlays to various screen sizes","pathname":"/singular-basics/building-overlays-in-composer/how-to-adapt-overlays-to-various-screen-sizes","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"AySCeUxs0Zng6fmn2RN6","title":"Composer reference","pathname":"/singular-basics/building-overlays-in-composer/composer-reference","siteSpaceId":"sitesp_GLsIq","description":"Get to know Composer, where you create and edit custom overlays","breadcrumbs":[{"label":"Singular Basics"},{"label":"Building overlays in Composer"}]},{"id":"jlnm6PSgZBl8W7lqIOiM","title":"Controlling overlays in Studio and UNO","pathname":"/singular-basics/controlling-overlays-in-studio-and-uno","siteSpaceId":"sitesp_GLsIq","description":"Learn how to use Singular's control applications.","breadcrumbs":[{"label":"Singular Basics"}]},{"id":"ejpfGKnv3F0qPowOva3Z","title":"How to use Studio","pathname":"/singular-basics/controlling-overlays-in-studio-and-uno/how-to-use-studio","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Controlling overlays in Studio and UNO"}]},{"id":"uBIwEo20I2u6jrXjY5cf","title":"Studio reference","pathname":"/singular-basics/controlling-overlays-in-studio-and-uno/studio-reference","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Singular Basics"},{"label":"Controlling overlays in Studio and UNO"}]},{"id":"Zbb5Fn7csK74OooLuoXA","title":"UNO reference","pathname":"/singular-basics/controlling-overlays-in-studio-and-uno/uno-reference","siteSpaceId":"sitesp_GLsIq","description":"UNO Overview","breadcrumbs":[{"label":"Singular Basics"},{"label":"Controlling overlays in Studio and UNO"}]},{"id":"RuxX2xudxaoTy5RoZb7w","title":"Singular status","pathname":"/support/singular-status","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Support"}]},{"id":"aXWgEtjBNxz9rAu9C4iO","title":"Support resources","pathname":"/support/support-resources","siteSpaceId":"sitesp_GLsIq","description":"","breadcrumbs":[{"label":"Support"}]},{"id":"dBAHrYPUpuPFm4LFarmK","title":"Singular terminology","pathname":"/support/singular-terminology","siteSpaceId":"sitesp_GLsIq","description":"A glossary of common Singular concepts","breadcrumbs":[{"label":"Support"}]},{"id":"tQDKV46XYTMbxyHZQj0k","title":"Performance Testing","pathname":"/support/performance-testing","siteSpaceId":"sitesp_GLsIq","description":"Overlay examples to test the performance of your hardware and encoding pipeline.","breadcrumbs":[{"label":"Support"}]}]}