{"id":21985669,"url":"https://github.com/ad-si/brillo","last_synced_at":"2026-02-27T21:14:29.924Z","repository":{"id":264177381,"uuid":"892579192","full_name":"ad-si/Brillo","owner":"ad-si","description":"Painless 2D vector graphics, animations, and simulations powered by GLFW (Fork of gloss)","archived":false,"fork":false,"pushed_at":"2025-01-18T21:49:34.000Z","size":9875,"stargazers_count":38,"open_issues_count":14,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-30T07:53:29.730Z","etag":null,"topics":["2d","animation","game-engine","glfw","graphics","raster","render","simulation","vector"],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/brillo","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ad-si.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-11-22T11:35:06.000Z","updated_at":"2025-04-08T17:15:32.000Z","dependencies_parsed_at":"2024-11-22T13:36:14.887Z","dependency_job_id":null,"html_url":"https://github.com/ad-si/Brillo","commit_stats":null,"previous_names":["ad-si/brillo"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FBrillo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FBrillo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FBrillo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FBrillo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ad-si","download_url":"https://codeload.github.com/ad-si/Brillo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251666245,"owners_count":21624292,"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":["2d","animation","game-engine","glfw","graphics","raster","render","simulation","vector"],"created_at":"2024-11-29T18:14:22.011Z","updated_at":"2026-02-27T21:14:29.919Z","avatar_url":"https://github.com/ad-si.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Brillo\n\nBrillo hides the pain of drawing simple vector graphics and raster images\nbehind a nice data type and a few display functions.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg\n        src=\"brillo-examples/picture/Visibility/screenshot.png\"\n        width=\"228\"\n        height=\"235\"\n      \u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg\n        src=\"brillo-examples/picture/Tree/screenshot.png\"\n        width=\"153\"\n        height=\"198\"\n      \u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg\n        src=\"brillo-examples/images/perspec.png\"\n        width=\"280\"\n        height=\"145\"\n      \u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Example\n\nGetting something on the screen is as easy as:\n\n```hs\nimport Brillo\n\nmain = display\n  (InWindow \"Nice Window\" (200, 200) (10, 10))\n  white\n  (Circle 80)\n```\n\nExplore and run the [example projects](./brillo-examples/README.md)\nwith [stack](http://haskellstack.org):\n\n```sh\nstack run brillo-boids\n```\n\n\n## Usage\n\nOnce the window is open you can use the following:\n\n- Quit\n  - esc-key\n- Move Viewport\n  - arrow keys\n  - left-click drag\n- Zoom Viewport\n  - page up/down-keys\n  - control-left-click drag\n  - right-click drag\n  - mouse wheel\n- Rotate Viewport\n  - home/end-keys\n  - alt-left-click drag\n- Reset Viewport\n  - 'r'-key\n\n\n## More\n\n- Animations and simulations can be constructed similarly\n    using the `animate` and `simulate` functions\n- Games with user input can be constructed with the `play` function.\n- See the [brillo-examples](./brillo-examples/README.md) directory for more.\n\n\n## Installation\n\n### Running pre-built binaries\n\nIf you're running a pre-built binary on Linux,\ninstall the required runtime libraries:\n\n#### Debian / Ubuntu\n\n```sh\nsudo apt-get install libglu1-mesa libglfw3 libwebp7 \\\n  libxcursor1 libxi6 libxinerama1 libxrandr2 libxxf86vm1\n```\n\n#### Fedora\n\n```sh\nsudo dnf install mesa-libGLU glfw libwebp \\\n  libXcursor libXi libXinerama libXrandr libXxf86vm\n```\n\n#### Arch\n\n```sh\nsudo pacman -S glu glfw libwebp libxcursor libxi libxinerama libxrandr libxxf86vm\n```\n\n### Building from source\n\nInstall the development dependencies:\n\n#### Debian / Ubuntu\n\n```sh\nsudo apt-get install libglfw3-dev libglu1-mesa-dev libwebp-dev \\\n  libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev\n```\n\n#### Fedora\n\n```sh\nsudo dnf install glfw-devel libXxf86vm-devel\n```\n\n#### Arch\n\n```sh\nsudo pacman -S glfw libxxf86vm\n```\n\n\n## Contributing\n\nContributions are very welcome!\n\nPlease test that all the `brillo-examples` still work\nbefore submitting your pull request.\n\n\n## History\n\nThis library is a fork of [gloss](https://github.com/benl23x5/gloss)\nand improves upon it in several ways.\nCheck out the [CHANGELOG](./CHANGELOG.md) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad-si%2Fbrillo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fad-si%2Fbrillo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad-si%2Fbrillo/lists"}