{"id":13658076,"url":"https://github.com/google/chicago-brick","last_synced_at":"2025-04-24T08:31:22.200Z","repository":{"id":3573730,"uuid":"50162607","full_name":"google/chicago-brick","owner":"google","description":"Software that displays content on a multi-node video wall.","archived":false,"fork":false,"pushed_at":"2024-10-12T05:58:12.000Z","size":15391,"stargazers_count":153,"open_issues_count":27,"forks_count":34,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-03T23:18:51.228Z","etag":null,"topics":["chrome","graphics","nodejs","video-wall","visualization"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/google.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-22T06:32:09.000Z","updated_at":"2024-10-25T11:14:35.000Z","dependencies_parsed_at":"2023-02-18T14:46:11.075Z","dependency_job_id":"c4cd60c2-1be5-4e80-8c92-c03d9ca37f71","html_url":"https://github.com/google/chicago-brick","commit_stats":{"total_commits":874,"total_committers":21,"mean_commits":41.61904761904762,"dds":"0.27803203661327236","last_synced_commit":"5d276d871089f4287ce1582247f9139b8cf3f4e8"},"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fchicago-brick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fchicago-brick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fchicago-brick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fchicago-brick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google","download_url":"https://codeload.github.com/google/chicago-brick/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223947125,"owners_count":17229982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chrome","graphics","nodejs","video-wall","visualization"],"created_at":"2024-08-02T05:00:55.864Z","updated_at":"2024-11-10T11:31:05.390Z","avatar_url":"https://github.com/google.png","language":"TypeScript","funding_links":[],"categories":["JavaScript (71)","Tools"],"sub_categories":["Video Wall"],"readme":"# Chicago Brick: the Google Chicago Video Wall Software\n\n## Quick Start\n\nTo use this software, first download and install [deno](http://deno.land).\n\nNext, clone the repo to your machine:\n\n```bash\n$ git clone https://github.com/google/chicago-brick.git\n```\n\nThen, to run the server in 1x1 mode with the gears module:\n\n```\nchicago-brick$ ./bin/run_1x1.sh -m gears\n```\n\nThis should open a Chrome window to http://localhost:3000/?config=0,0,1920,1080.\nYou should be able to see some gears rotating. If you don't see that, try\nrunning the `npm install` command again.\n\nOr, to run the server in 2x2 mode with the gears module:\n\n```\nchicago-brick$ ./bin/run_2x2.sh -m gears\n```\n\nAnd open the client windows like so:\n\n```\nchicago-brick$ ./bin/start_2x2_clients.sh\n```\n\nYou should be able to see the same thing with four browser windows instead.\n\nYou can play with different modules by substituting the `gears` argument with\nother names from `chicago-brick/config/demo-playlist.json` or from the various\n`brick.json` files within the `demo_modules` folder.\n\n## Geometry\n\nThe wall server needs to know the shape of the screens that make up the wall. At\nthe moment, this shape must be a single polygon, though it can be concave. By\ndefault, the wall assumes that it's going to display on a 1920x1080 screen. To\nchange this, you can use the `--use_geometry` flag to specify the shape in a\nturtle-like langauge. You can also specify the points in a JSON-formatted file\nand use the `--geometry_file` flag to pass the path to the file.\n\n## Modules\n\nA chicago brick module is responsible for showing control across the wall.\nModules are stored in a directory and contain a `brick.json` file with metadata\nabout the module. The directory also contains the client and server parts to the\nmodule, which are executed on the clients or server respectively. These parts\ncan be written in TypeScript or JavaScript, though TypeScript is strongly\npreferred. See examples in demo_modules.\n\nThe server learns about modules that can be shown via the `--module_dir` flag,\nwhich is scanned for any `brick.json` files. Playlists are only allowed to\nreference modules that the wall knows about.\n\n## Playlist\n\nA playlist defines the order in which the wall should play modules. The playlist\nconsists of layouts, each of which refers to either a specific list of modules\nor a pre-defined collection of modules. The layout will randomly select among\nits set of modules and play each for the specified module duration. After the\nlayout duration expires, the next layout is shown. For example:\n\n```json\n{\n  \"playlist\": [\n    {\n      \"modules\": [\"gears\", \"slither\"],\n      \"duration\": 600,\n      \"moduleDuration\": 60\n    },\n    {\n      \"modules\": [\"matrix\"],\n      \"duration\": 600,\n      \"moduleDuration\": 600\n    }\n  ]\n}\n```\n\n## Contributing\n\nWe welcome contributions of new modules and of improvements to the wall software\nitself! See the CONTRIBUTING file for some stuff you need to complete before you\ncontribute.\n\nHopefully, this gets you developing!\n\n– Chicago Brick Team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2Fchicago-brick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogle%2Fchicago-brick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2Fchicago-brick/lists"}