{"id":13616362,"url":"https://github.com/lvcabral/brs-engine","last_synced_at":"2026-03-09T10:33:59.659Z","repository":{"id":37139773,"uuid":"198712535","full_name":"lvcabral/brs-engine","owner":"lvcabral","description":"BrightScript Simulation Engine - Run Roku apps on Browsers and Node.js","archived":false,"fork":false,"pushed_at":"2026-02-17T01:06:56.000Z","size":46895,"stargazers_count":117,"open_issues_count":14,"forks_count":23,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-02-17T01:21:18.041Z","etag":null,"topics":["2d-game-engine","brightscript","emulator","interpreter","roku","simulator"],"latest_commit_sha":null,"homepage":"https://lvcabral.com/brs/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lvcabral.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-07-24T21:33:13.000Z","updated_at":"2026-02-17T01:04:31.000Z","dependencies_parsed_at":"2024-02-05T21:27:45.812Z","dependency_job_id":"51509357-55b5-4740-a8a7-10ce3880087e","html_url":"https://github.com/lvcabral/brs-engine","commit_stats":{"total_commits":1541,"total_committers":30,"mean_commits":51.36666666666667,"dds":0.5535366645035691,"last_synced_commit":"6c5c75dff6f8becd078855b9000004085c9e91db"},"previous_names":["lvcabral/brs-engine","lvcabral/brs-emu"],"tags_count":205,"template":false,"template_full_name":null,"purl":"pkg:github/lvcabral/brs-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvcabral%2Fbrs-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvcabral%2Fbrs-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvcabral%2Fbrs-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvcabral%2Fbrs-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lvcabral","download_url":"https://codeload.github.com/lvcabral/brs-engine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvcabral%2Fbrs-engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30291807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d-game-engine","brightscript","emulator","interpreter","roku","simulator"],"created_at":"2024-08-01T20:01:27.511Z","updated_at":"2026-03-09T10:33:59.635Z","avatar_url":"https://github.com/lvcabral.png","language":"TypeScript","readme":"# BrightScript Simulation Engine\n\nAn interpreter for the BrightScript language that runs Roku apps on browser platforms and Node.js.\n\n![GitHub](https://img.shields.io/github/license/lvcabral/brs-engine)\n[![NPM Version](https://badge.fury.io/js/brs-engine.svg?style=flat)](https://npmjs.org/package/brs-engine)\n[![Build](https://github.com/lvcabral/brs-engine/actions/workflows/build.yml/badge.svg)](https://github.com/lvcabral/brs-engine/actions/workflows/build.yml)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=lvcabral_brs-emu\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=lvcabral_brs-emu)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=lvcabral_brs-emu\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=lvcabral_brs-emu)\n[![Slack](https://img.shields.io/badge/Slack-RokuCommunity-4A154B?logo=slack)](https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA)\n\n## The Project\n\nThe **BrightScript Simulation Engine** implements an interpreter for the **BrightScript** language, that can be embedded in Web, Electron and Node.js applications, allowing [Roku apps](https://developer.roku.com/overview) to be executed in several different non-Roku platforms.\n\nInitially the focus was on the **Draw 2D API** components (`roScreen`, `roCompositor`, `roRegion`, etc.) along with the core elements of the **BrightScript** language, allowing a full Roku app execution over an **HTML5 Canvas**, but it was extended to include simulation of the **Roku** file system, registry, remote control and the Micro Debugger.\n\nThis repository was originally a fork from [**brs**](https://github.com/rokucommunity/brs), a **BrightScript** _command line interpreter_.\n\n\u003e [!NOTE]\n\u003e\n\u003e - The **SceneGraph** support is currently being developed under [a new branch](https://github.com/lvcabral/brs-engine/tree/scenegraph), we have a lot of challenges ahead, feel free to reach out and learn how [you can help]((docs/contributing.md)).\n\u003e - Although **brs-engine** runs apps with user interface, it has no intention of emulating the full **Roku OS** or hardware devices, it is primarily aimed as a development tool for the **Roku Community**.\n\u003e - The **simulation engine** can also to be used as a framework for running the **BrightScript** language in other platforms, like iOS, macOS, Android, Linux and Windows.\n\u003e - Please check the [Current Limitations](docs/limitations.md) document for further details on what is missing or out of scope.\n\n\u003cp align=\"center\"\u003e\u003cimg alt=\"Simulator Web and Desktop\" title=\"Simulator Web and Desktop\" src=\"docs/images/screenshots.png?raw=true\"/\u003e\u003c/p\u003e\n\n## Technology and Compatibility\n\nThe **brs-engine** is developed in [TypeScript](https://www.typescriptlang.org/) and bundled as the following collection of [Webpack](https://webpack.js.org/) JavaScript libraries:\n\n| Library File | Description |\n| --- | --- |\n| `browser/lib/brs.api.js` | Provides the **[Engine API](docs/engine-api.md)** to be imported and used by the Web applications hosting the Simulator.|\n| `browser/lib/brs.worker.js` | A **[Web Worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers)** library that runs the language parser and interpreter in a background thread on the browser platform.|\n|`bin/brs.cli.js`| Executable **[CLI](docs/run-as-cli.md)** application that can be used from the terminal: \u003cbr/\u003e- As a language shell - [REPL (read-eval-print loop)](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop)\u003cbr/\u003e- Executing `brs`, `zip` or `bpk` files\u003cbr/\u003e- Packaging `zip` files into encrypted `bpk` packages.|\n|`bin/brs.node.js`| A NodeJS library, similar to `brs.worker.js` that exposes the language parser and interpreter to be used by Node.js applications, the engine CLI and automated tests.|\n|`bin/brs.ecp.js`| A **[NodeJS Worker](https://nodejs.org/api/worker_threads.html)** library, used by the CLI to launch the [ECP](https://developer.roku.com/docs/developer-program/dev-tools/external-control-api.md) and **SSDP** services.|\n\nThe Web Worker library require features like [SharedArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) and [OffScreenCanvas](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas), that are _relatively recent_ in the browser engines, because of that, it can only be executed on recent versions of:\n\n1. [Chromium](https://www.chromium.org/Home)/[Chrome](https://www.google.com/chrome) version 69 or newer.\n1. [Chrome Android](https://www.google.com/chrome) version 89 or newer.\n1. [Edge](https://www.microsoft.com/en-us/edge), version 79 or newer.\n1. [Opera](https://www.opera.com), version 56 or newer.\n1. [Firefox](https://firefox.com), version 105 or newer.\n1. [Safari macOS/iOS/ipadOS](https://www.apple.com/safari), version 16.4 or newer.\n1. [Electron](https://electronjs.org), version 4.0 or newer.\n\n**Note:** The engine libraries are client-side only, nothing needs to be sent or processed in the server side.\n\n## How to Use the Simulator\n\n### Web Applications\n\nThis repository provides a sample web application you can build and run ([learn how](docs/integrating.md)), but if you just want to use the simulation engine, not installing or downloading anything, try one of the web applications below:\n\n- **BrightScript TV** - Run full Roku games and apps in your browser: \u003chttps://lvcabral.com/brs\u003e\n- **brsFiddle** - BrightScript playground to test and share code with others: \u003chttp://brsFiddle.net\u003e\n  - Hello World - [Shared Link](https://brsfiddle.net?code=XQAAAAL1AQAAAAAAAABJKoLnIqZU8B3-6dP2NsOmYLl2BuS_zvKqVwuCb900INmQka2JaG6109nguctrC4j5eeejusZdPZeqN7ODPGAHtZa3CitoUr0Lzf0CNfBMe_fKYxZVbBd3SFCx2pochQ8vXiLaMlX28Cc1xvIyR03lxJtEM3BO0wVuiOYr28HsPq0Yh-7QOe8y1A-TeWsDOMOEQO0YDxB86jAP7EXurCri8pscM-e70RBruCRmIlFupFBKRsE2GneP6qIr0cz0r69DJ9xuBnscqSBt8CvQFz5haqlrzi9T-BRs4qM1qQid4peKgfvF6s9QEy9nHMwtR_YJMI-5PBvHmU0E4knAAMoNG-Sy1UydLH0sb8RiwTn9IajExgUnwz89MTn5AWfJx2KPUY5QPhpAyFDZnR1H_-j54Fw)\n  - Bouncing Square - [Shared Link](https://brsfiddle.net?code=XQAAAAJLCgAAAAAAAABJKobnoc8U-fMC7Yn0OmySA8M8XeYQjA-xlBhDmgkQqkyZorrnH8Z2n9OanRbQbS6T-zM3qPN3QH8Fzgr6UPhr5Cbo3rvloawPAr6qehd0XS8TPatky3-TLgFN_hIhDiNkxNg8livrXExKPdBlI1StdF_-qAzOZT6wC1xPKIJj2Sq8hKcRoNJYYH0Bc7y3vXJ1DTvcu9rAqps0k11Aj4tW_J_zSAHhhHD-zHJJTz1lYapWSGrBQHbhn5SMHQViWFzHfVMyo1Pxz8LUAjiUUHgtkOGpX14MRpCMTM85PbPhb8-KbGtaD4y6zaZgy7Q4zS8vtTxZ9QGHO1gsyGNWb01plO7Lk61lg9c6jOrKT4lJtn7mQme28XpLj5TQrGUbXGdw5lKu7TamErtcuypOxuBSMXVi9i_Ti874POAyL47IK7O5ZaBhBO1p5L2A6iQr6j1qzdmfd8N_9ZumCfxhd9XPg69t8sihYQVvI2vORW5vW_vxKQaDPlkjPyTdQtA903T2ZDiyKVXPpfElWsIntZqXdfg9aY0iXeyCV89LXf69WTkge8D4_dOPH8-ia5myHAXNyxi54k9qKwnkgpCDXTpTRdWB8AO_HuDn6AG5mddseP0uuDjZjbcYpwJRBBC5KJ4ocj8rH_bi5ZLCzRa9ryVdyrHwrDOpdwPRiUWsT7Cr9VEUuSPRctUp1amgHbIJKhLTTohiq3TvRAlItkP98bQhC5M_yTMnIyVjZsLrQWb5Q9MAa2VdwByE-pf4b3OF-SeGw5j-K7TOebCGz0yRNnF6zMHgUMPVYhRi9zNU5Mw_avQ0dCXMxtv9oU2_uKzkB0RCOMM6qJGSnTa4a6B0w8D_LbgLUNdbjVlAZCLpOPBl2DhR4VsV0R2zWlA5jqamY7wSeZb-CSsOdRJv30dXmt3bOKc__nYH8rYRcMlAZb4sT4aesdDh5Yx5bsWEGBjWV2Ojp34muGPJbVlkbhWOw0p0aip4dJ-jL9HfaO8zG_blhNCMsANapZ0VonnO1JaDR7cxeQeUDDpcskFPIu2DlIhLzQnGVFRRXUvU8UK97RQ0np_NQ8SUjcAoiMUNlA0HKjK3d06BKaALQwDwPGpCa1I2CksgPBrCt9f1H7csg_qmE-Bx79R0rehOLmorl_iiROXh0riaYyQlXnGwRR8K9lZJ-NU5iq6zaol5GjfdB5JRhWmzqVWFlOw9cvgI9KcWoCD5j5R1zINYsJVeMdQwLYc-LdEBfziGqS6HAyB-2fZoN_8u9gPwdI-kaKx8SCMHyiPOIhX1xk6DlY85qrLxL0LQJKf--0bS)\n  - Calculate Easter Day - [Shared Link](https://brsfiddle.net?code=XQAAAAL2AwAAAAAAAABJKoUDU-eVDQnCIwGjL4bXrsOaRoDR7xUg7l7ATcAP2V7HvXEvU9p3zuMqYelSIckyYmoqSzPiR_yIJT_knVClROMTQ8ImmKudAnIwKv8WYKGGonwzgVUmLT0867k3otq0ZPQoV5mwSO1oRHzkHjvNCtuBfDH5wrogZOua4KltHWcJnxjl0B9yg82onvoaeBER6jlz1JgQoTBNQl7ZhTg01AoX450nozCe3nyd0BBXDG2it0PHgOg1UILanj2fdpsXuTi8BM14Vj9mmKhiaSk614HkwdEuWIhooOB_d9wRox3XJg21lF7OXupqgZBzZh3hAQa8MUqzSmpVX4dWe9FHkscztF0jbIc7gwmoUyOubjzcRA_3rZuM1AkQr4W4PMq_J63oF4el0DxVbFEbXK5h8stU078VCa_b9Ydi0OMsUY5I_o74zSN9SPD2pmojZTs6Fyh8Eo1vSsd3F_abdPvrOnxkKH1yCt59zo5zpVN144ihVYtaVE8MTZQc66is7A0GXfCNt7Ud592YNxSujFrQST2srrBxR6psz9xPdYhQBQd_ZzkK1J7ctVqHzfBM2tQNkn1Gp2-zBlaLjo1dlJ9Hj3zpcGK6N1VcUF7ptImWf0n2QvcTvo45Ml04CLN7WyNnyMPMBZkIEJAb3dyFwMVQNssvtncDGuAtsf2yxt4O9tjbAehdO-KOw9NXPKXiGQ1mUS7_PoudiVgThfqSrk20LX2fpdJ0Bc3QmeEhWzzOqrcri_-4fOLE)\n  - Download Image and Music - [Shared Link](https://brsfiddle.net?code=XQAAAAKGCQAAAAAAAABJKoqngm5uKnfSsjl5UQrXmxd6cpL9ibQbDIH2ngkfAM04Aw7W933zvEnJjH04xwGX5MzE4NPnXXJ4R-S0N0Pke0auWD5rKMnq-kCEGc1xzCrQHpBvNufX5RuAZ-XVJ0pCFrcQxv8HOPL4K1KofrJuuuk1NQ3ov0LN9cGj2CQ2T0-RY8gMJK4JG1Gfe53uG3inR2SHLm6rU3entipqNEhWfFixB9H4C40LJgKeeibFjm4RBrYtZ8iomgkVuhpIyYxX2ag4YZvaUBpBFtyy6e6CLiVQmaCSNV0IqKdUci872aZls0WTpvIbX1KSDOCHpW4kDrF0yytMMR7yGnHEKFWsX8ddDwEhYKyRMtwOtYICzyFJ7BCe2jEd4FyaXuYsJ8HUfVrTx2Zul1hB-ejYRSpnoYabZkPVMTbS5gi2tzwSNEDuYLWXsMqq_ZIDiGQiejHWb3X6LOzv39qn-sEtvlhGv7N-fFb_hKp6AzPPdVxQqaCgRoTB-UmdfDSFckPmK8EEVrD9PjrfGx1CMGQm2AzD9hzzzaIMlDnRVHBe5xj2BSNeElVwEVhJ8l5n0qgElmUk8YPi0EjhF-00cGHVWs9Z2jaMZnbObeWb5oZMTQ2OXHGn08y91OG1-rpFsROc1VJe7XG6U95M7TZUwrWRdHK2XSNAVvFKtjLncLlQVZv_twvPzh0ODt0waxhFzc9W_uIJgK2ydXT_0vckVVmzbj1jIFAxCLvp4PbksrZDLoE3He9dQgqmJ7VlnuXVsmFbf4VL9WzKt52AY9B5jlXUlT6b33BfRnSVAcU7APCWih38ivLAPzxkSozpv-RKi2U7UVQsYJHIJm8-si4KeJ5GMSoOuF3Yagg5ZNUwf-sHevTyI3LGh1_hKJRhBHY2lZeRHKr0N-hTWQbXTSFbPY-Nf0kTrykdBNAX7OlmPrdfEMyah2IvNykyMrtQdCcD2DmyPIn5yFkTtYboDvTQPAOaXEoZdF6PzUMixyV_hu0VsuKKQvrxsrVeKtMxx2wDbmHMNWbNXNm5Rg4Avywq8g5bBr2rG86BPkA6bx2B_9m1GUcD1ovzxTaUpwu6p5WTOtnSvbg8sLV6TJfXqRgIm4evVFEv3Sh2zMx2hIKk0hXALe1z6Xn4_LbGyGKyxOeJtfSK12QF56KN-NsUQSMhIv2ucIrJYcYtE-MR8gH0ipvEfuyInRySWEhlsesN_27c__C4yiY)\n  - Video Playback - [Shared Link](https://brsfiddle.net?code=XQAAAAKMCwAAAAAAAABJKoqngm5uKnfSsjl5UQrxThRucpL9ibQbDIH2ngkfAM04Aw7W933zvEnJjH0_TcYKuAb8pP4_pFUty4bsZ2ZGN6blI4HbCWU1o8kGuMYqVThNrDhiPIDtBh5rXeosnLR79JxTFgkSi4riS7OV1YxU2DSgn9ndUJMQTbe46AIqdpF3LfZnmkXgW4yR9Jd28iMajr1P6G7zSPRt0-hAg4owerHW0KUB0f10IyD_I-zwLEyjuVVjh5VYgE7r9pLU8r845lZ9-hnD0BibKqo7Fei_J_KCRVxMpeDmF-E3ZZdEgPjW5-rLUDn3dv0XDH6rKIuYdnx075Y4XefhFNACmnKFxvoi4mAIwczMbed3zSRLGWW7IqggC8HJ1rH_MDVp4gk_58cB_Bea5Wx6wFgZzrPmk5H8rO-dVkgpnJL7bevIMmyuCUlrrE_HLB2oopUMdnPggp3_s7xnoby6w6CJ4-gjkZYU-bDWC2pRztEk_DbISFmsy_OG_Pd8tTQrRBJGhZtSe2BsSziJ_9mePKvHH_yIjPeQjnR9tijZ6Q_ryDR8RVpuEFZRGJ6z6_kk_vZnFmYidHHBV_Oy_GmhQOpTRKe2htjfyN-pBZJw7Tu3VcTYmOILWPgJUpAbB8MkDj-c2BbWDogdsAgpZdSt_I40tpHDbvRp-vklV69_IUDIx5fquD1el8qPoDtUHblJZGKLHRvASj7lYTC4qGI-mg_IZpReBXMBLvd5VVHViQp-r7T4Y8W8pi7zZ7aqNci8ZXCXqLPyBLFwtEf-0ZICdAgmNjjFztjW217pOUEA4XIXRulcatttsH0VqMDB3y2tQv-pyVbXmSfpb_mgqG7HjfgfmYu4H0aV-Ifp3pwIz1tfk2nEHI90_rh081-lSZWTVT_kOznTwkAvjlLK8i4KzH-GS7jdlkhUW81Hz1ln6sy78NHI_MeqdnJqFzOpy24DX1qUaSyrThOd8_mvSRVcaQNFDJ1KgWimc-oZpD6MJQ1fbYFli9WHdpPhD7lI6OPlAP4dSfwf_sGLe9JHkjrrhCeXNI7dAF34raawlqZwAP2UXY0DQAJev-U2wJXHedkarK7KcLMmlYVFNOIE_bDQ-F0gJmifV7DR64js9WAQTI0NKnN7KP0v86lEF6ZoGxHlqy6bP_0NSmiNEi04UL5b7DKWRTjm2O7HlfKt-3E5AVn40noALDF_JvnykLL2l8BsYOHiQHZeh_p6sWvFLVqqK0JP7n21n6LUDa-lX6Jbjkv1A9XlXhfT2RZCeBrJW-c_d_QkRfqnlP3PKYazNGevfg3dfJHJczSET4jl3gVXXiJY__fIHPo)\n  - API Call Example - [Shared Link](https://brsfiddle.net?code=XQAAAAKDEAAAAAAAAABJKotFIyJTtYn-qlq_R7JJF5alJytQ-ukFasPfytMYIZwnWfTlg9zXrp5bJJXqfYTKfzTV47CRJDpi3IcBcVXiHNSMn59_J7Qhs7_oXHNpJn-txA-iu3s-jGt5ear9zuwGQkCafWzHJg-q_pGp-kDavfBiSjDJJvwVeOsi_H9PW0Bhxoywsc9eABYR9Gw7re5gGWQDnwbigwhWCwnEQ-3BE6550fjnLdGODDiPY5pNZdOTPd01CLJnquhAdDZy8MgPc-jqAkO0VARvVr5Kysy7qSygtw_V_mNFs5gMw7qXbWu0tTao9ePNZZH78dgFAQSKnqZoq7_S3lUtux3c2bkMbpzT2if20fJ420fVVuT5gAwBOVGbDLvn7jtx0W7sUs6ovhSgI_0qBgwViCLjy-QuZ_Ca5QFkfRXLxWhOv9kE4AWLruPpdT5u9qFmzruBqzF_Tl8KcWHaT5lqFyqumCUoZgpADWuOsbXp_4dkKHpab1ZTFLQ3S0-DzrLz0A8QFYmUCdC4omGp63s80wbG9ei3WqDOqy-2sEkJAJYwcTXe12QPrDpHrf6Ov8pLbWwzDCr5gBqigE2PF7ISXQYr6iZfyhoHHgXS2vMO1BHHHNXV2kwrUmHzGSz2xOHfLDXb_pApUAtBCWcujidCf1UyDcyfItdcxfIkV0iQEUw9mAOXvtQGh0NSEvc8EcW6kT8EJvCDA9BXHnxCaD-cpvbR60bGvWW4XGO90TN32nHDFdbbYAXnlsi9tWgLtYbKdcX6q1VtfKV9raIU-VYAUXczq0w2Y_CKNknBAvmtufo2g7rBH9Wa5K1L91W4sdZ5ZMG0IsJkW4nX44HVzDo-rfcQqPG2-8yR78T29EVx26qVAqbi2lRxhPdGlDZR3du6lg0wBGbKB2-KRXPdShgN8CoTRsrs3mSmJXFgWa23P9ovO4W_vmbex4xjMOSJafbP9Q6nK4rltS5f6njXiAG-t5JtBT7y0dx6_WXBwDOTHdhBocrEFMdAoDVHoec6_ILiiKdbYhcMU7pQzjneBiGPgXhTnBXVTDx7vfYUB8b_AgzqT366V_tAHwIvl7BBBkN1L1FoH2CUD9PhkR7r4QHN4hfgZ3n7Ng9qI2pVilgfgcq_KEWR3FB8KNdns1J50W7SYuZ1WA8PMopCNZYevDeSZDOlIXAv01MztGsayTeVbQFeF7aTLC9uUMibiBpEJHVPVncfQyvRRiWvB0mJf3fQanGcuR_Tt9KTxxZl46jrFmY1iuT_pOWytLwuix53ko01X1gcRRXQAZpC1as7IHO9hFVI7VKGRII7Qc1aMLGMUln6PtTTNWzGwU8bQVFco_7BBiDghblJ6JmBd6PCOKZT_cQWMc5i2BdWLAxh3dr0Yq2GsNHPh1iATvPSBH71oKIdiur2N0gQMdrGxKKwrZLxzsUX_5CVDO4JLIWMITEtSYwAAXTeJ0gnBQoATVGO7xf5G58pr3jkRKk1NfdkzcU7rqSNuGEvyRfRqJC-fjgTwURUDEm7VGJ0J1Gapyw6X3tP92V9jyfpCtS4pKAIk-qV_xOSDaM03nAQPPN2cLsVY72yUV-AiZrrDxcrpLkvUysqGfGQybUYmZhjxabohC8tRvO-OAH2AphQiUzEo5gw-MMpfiwoeEh3j1HaufaHffpBRX-SK4RnJS7g-za4cwwGKOCoI8WKYpv-U8IrPIPEr7F8uxyqbWa85-CXJ5_f0VEjOy16XQ5gOc6ZxZfF57GF8spiEY4RqB1V3SMiSj3doH8-IGFw4ND5GVlct5AKf-KBb7hgWRJ41jA4xnl6QYIFS3iyuL3yEsWjSxLyG_XIZEE85iNZDldpBBgzgYKLxukTQUqHR6wbY3GJ9LeZcWKtOw9_Bej_WTKFbF3uUevfQfBpvpQjFTj7Kz9bkAU1ceSWBXLheGp11b8uKiTKkup-OIMWoy775O2fQ7egtANDYFUAJ2kpCtQExo62bT2Z9ahpLFHECFxJZaRqMnGCzJLPqLgdUlONKlbPKnIP__IaUaU)\n  - Snake Game - [Shared Link](https://brsfiddle.net?code=XQAAAALcDgAAAAAAAABJKoSlctaqcQ9tGaWSdUHrXuqR-y6_GbR6awG83rYQRcdoycHkJ8MFCvKH7gTK_vW6UgUXwXXR3errMRkkWHDAf6EtfvZhhrStj0ebMCVuI-lw2r_IMbOmR-Mp0UisKJluxhBof7Fe8gk7R-rj00p60KZMJaFUITmjx-lE5H1fW4m9pTGoVPDOxvJ0KBpdcrPdzIJZD2ONw-UcA9--COJb9DODV8pyO4e1dn32T1V2kh39SrM5VHgICzTHTsajN6_hBKsKOFc0xivTnldYZ41pbirlPTC1nKX8LjXpkHeTxvV-NWcA50XR8Wrm0Fl05rtjwL7hHumCwZc75GY1ioNTMQoe5JSDL02n0Jf0ZWEwuBleP5O_OckNjn5o0ANbhu39ZlF4TEbpst2ac0F0ad4_eQCIseeB44BgoJwBahG49-Fry-afCaVqC8qtZsvtj7AlCAyYFOPOWiSioqopcqqWTF1XGG7n7HI5Qtj6D1h6ajT9zzy_Pn6jJ7ICSdDbOFq6GP7LGjHglUF6I91yS8Vxh8NQSAZgi4PiYyZbX4uJtsDZsvjhZpFOg4tQvV5TUCtxLtQfe7Nt4SZEN-6OLJiPFMR9hME4EIyV_OfxC_T0XrPKIhduA32al5K1L6STy-ntJPYdkKWfMP3kNl82aDEwm_XCvIflp9dcY5ADxKcvOdFYqCuOyFiqKcWjV_RWI8I_sqr_p2E3cKF7sZl-9jzFCtMarZCM4sQpgyPiJkhjm7IwYFJkEMAzeiAV9BPB7on9ReUWYWIsOOA6aGbP7ZKvdw3CNsda8qImFKeYKrnoPySnBQFCxDe-26_ncaH9QQ3jKc0xzi8z0SSaZ-xYe-rvw6FFMqrKHCg2j4U4Drv-AunjhL7Rh0HjBSPkzm-tYK9GPj5xyOEaIrULWdg8kG6hu6arEfMZMbSS8b0wW44QlTr2l4YzC-wuzRbtmBzxn04f5thX0rHxgUR9GpRvNgQnob1-_pG2phYoezVKaIbFoa2VEp6cQZYGgJxW-4VHGmL_ofJG7taOYjjq04EmhVKm7c21z2JPnOTk31qeEd4ZqHMWVomSPDmVHAvVt-RM9_rda71zSdVrgrNIabT9sFTfFfgUFbpo5JyDASVJ3_w7fLFH7zTIX_kNoWg1WQXnAeay5P-_Hg3LzmnzmT72qolkQKwYzDCYO5RgcrKYc9QfVGDuZwmo9r_tGpvNgTX5ffCa4a_kAL-fGWb6O6gz_lloYvQEM4WHB8d9ZNR-U3jZ4DWRAZHsmeIHdKttU5pPlE-CDrTQAkZMdlReNxWHE-5m2nCp2hfwgUvUKhBai9u34OSoPAd3rE1yePxiy-AVOV0OZUtiA2109a25frwbDLYRg2-lJRSGEzf9kadWrhL90pr52yZcjlBMUAaElB5TtQDJkvejpr0pA3-BJXK2kNK-NNisss1SzCR25FxCzrmiRUHRLInLpNoLk-CxzFAkbjHySCsXXnNp6gtXD3Cm82m8P2kl-ts6QTXhf4rHCcNtUfwYZPWLehVEZtfRgfm-HhI)\n\n\n### Desktop Application\n\nThe simulator is also available as a multi-platform **desktop application** (Windows, Linux \u0026 macOS) that uses the package published by this project. The application introduces several additional Roku features, such as the **ECP** (External Control Protocol) and **Remote Console** servers to allow integration with tools like Telnet or [VSCode BrightScript Extension](https://marketplace.visualstudio.com/items?itemName=RokuCommunity.brightscript). You can also change the device configurations such as screen resolution, keyboard control customization, localization, among others. Download the installers and find more information in the links below:\n\n- Source code and documentation: [app repository](https://github.com/lvcabral/brs-desktop).\n- Architecture Overview: [diagram picture](https://github.com/lvcabral/brs-desktop/blob/master/docs/images/brs-desktop-architecture-overview.png).\n- Installation packages: [release page](https://github.com/lvcabral/brs-desktop/releases).\n\n## Project Documentation\n\nThere are many ways you can use and/or participate in the project, read the documents below to learn more:\n\n- [How to build from source](docs/build-from-source.md)\n- [How to run as Command Line Interface](docs/run-as-cli.md)\n- [How add the Engine to a Web Application](docs/integrating.md)\n- [How to customize the Engine behavior](docs/customization.md)\n- [Remote Control Simulation](docs/remote-control.md)\n- [BrightScript Engine API reference](docs/engine-api.md)\n- [BrightScript Engine Limitations](docs/limitations.md)\n- [How to contribute to this Project](docs/contributing.md)\n\n### Changelog\n\n- Click [here](CHANGELOG.md) to view the release changelog.\n\n## Developer Links\n\n- My website: [https://lvcabral.com](https://lvcabral.com)\n- My threads: [@lvcabral](https://www.threads.net/@lvcabral)\n- My Bluesky: [@lvcabral.com](https://bsky.app/profile/lvcabral.com)\n- My X/twitter: [@lvcabral](https://twitter.com/lvcabral)\n- My podcast: [PODebug Podcast](http://podebug.com)\n- Check my other [GitHub repositories](https://github.com/lvcabral)\n\n## License\n\nCopyright © 2019-2025 Marcelo Lv Cabral. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvcabral%2Fbrs-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flvcabral%2Fbrs-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvcabral%2Fbrs-engine/lists"}