{"id":17791228,"url":"https://github.com/schell/gelatin","last_synced_at":"2025-09-16T09:41:04.780Z","repository":{"id":19983077,"uuid":"23250220","full_name":"schell/gelatin","owner":"schell","description":"A nice Haskell graphics API. There's always room for jello.","archived":false,"fork":false,"pushed_at":"2018-05-31T06:39:32.000Z","size":1973,"stargazers_count":41,"open_issues_count":13,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-06T09:35:57.049Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-23T06:57:56.000Z","updated_at":"2024-01-13T18:36:53.000Z","dependencies_parsed_at":"2022-08-05T07:01:19.195Z","dependency_job_id":null,"html_url":"https://github.com/schell/gelatin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fgelatin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fgelatin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fgelatin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fgelatin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schell","download_url":"https://codeload.github.com/schell/gelatin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221665390,"owners_count":16860238,"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":[],"created_at":"2024-10-27T10:50:19.349Z","updated_at":"2025-09-16T09:40:59.710Z","avatar_url":"https://github.com/schell.png","language":"Haskell","readme":"gelatin\n=======\n[![Build Status](https://travis-ci.org/schell/gelatin.svg?branch=master)](https://travis-ci.org/schell/gelatin)\n\nThis is a mega-repo for a real-time graphics renderer in Haskell.\n\n![Screenshot](screenshot.png)\n\n\nlibraries\n---------\n\n### [gelatin (core)](https://github.com/schell/gelatin/tree/master/gelatin)\n* Backend definitions\n* Primitives for drawing\n * triangles\n * triangle strips\n * triangle fans\n * beziers (fill below curve) + inverted beziers (fill above curve)\n * thick, feathered stroked lines and for creating new backends.\n* Definitions and functions for post compilation affine transformation,\n  color multiply, red channel replacement (for font textures)\n\n### [gelatin-gl](https://github.com/schell/gelatin/tree/master/gelatin-gl)\nBackend for compiling `gelatin` pictures using OpenGL.\n\n### [gelatin-freetype2](https://github.com/schell/gelatin/tree/master/gelatin-freetype2)\n`freetype2` text using character atlases and word maps for fast rendering. Use\nthis if your text changes frequently but does not often get resized. It is fast to\ncompile renderings but unless the text is rendered with a large character size, scaling up\nthe rendering will show pixels.\n\n### [gelatin-fruity](https://github.com/schell/gelatin/tree/master/gelatin-fruity)\nFunctions for extracting truetype font geometry as `gelatin` primitives. Use this\nif your text resizes frequently but otherwise does not change. It is slow to compile\nrenderings but once compiled those renderings can be displayed at any scale.\n\n### [gelatin-sdl2](https://github.com/schell/gelatin/tree/master/gelatin-sdl2)\nSDL2 initialization and windowing.\n\n### [gelatin-webgl](https://github.com/schell/gelatin/tree/master/gelatin-webgl)\nWebGL backend via ghcjs (experimental)\n\n\nexamples\n--------\nFor examples please see\n[gelatin-example](https://github.com/schell/gelatin/tree/master/gelatin-example)\nand\n[odin](https://github.com/schell/odin)\n\n\ninstall\n-------\n`gelatin` depends on\n\n* [sdl2](http://libsdl.org)\n* [freetype2](https://www.freetype.org/index.html)\n\nYou can install them with the following platform specific steps.\n\n### Mac OS X\n\nUsing [homebrew](https://brew.sh/)...\n\n    brew install freetype\n    brew install sdl2\n\n### Ubuntu\nFirst install freetype2\n\n    apt-get install libfreetype6\n\nThe [sdl2 bindings](https://github.com/haskell-game/sdl2) require an sdl2\ninstall \u003e= 2.0.4, or for special instructions to be followed. Assuming you're\non `Ubuntu \u003e= 16.04`, you can simply run\n\n    apt-get install libsdl2-dev\n\notherwise please visit the link above and install via their README.\n\n### Windows 10 with MSYS2/MINGW\n\n    pacman -S mingw-w64-x86_64-pkg-config mingw-w64-x86_64-freetype mingw-w64-x86_64-SDL2\n\n\nbuilding source\n---------------\nThe easiest way to get up and running on the Haskell toolchain is to download\n[stack](https://docs.haskellstack.org/en/stable/README/). All of gelatin's projects\nare spec'd out with stack.yaml build files, so picking the correct versions of\nlibraries is not needed if you follow the stack path.\n\n    git clone https://github.com/schell/gelatin.git\n\n    cd gelatin\n\nIf you just installed stack, run\n\n    stack setup\n\nGo make some ☕ and then...\n\n    stack build\n\nNote on Windows that if you run into [this error](https://github.com/commercialhaskell/stack/issues/3492)\n\n    ghc-pkg.EXE: C:\\sr\\snapshots\\3c4ad812\\pkgdb\\package.cache: you don't have\n    permission to modify this file\n\nYou can simply run `stack build` over and over until the thing finally compiles.\n_facepalm_ - this will be fixed with ghc 8.2.\n\nDrink your ☕, take a walk and rejoice...\n\n\ncontributions\n-------------\nI welcome any and all contributions. Feel free to [tackle an issue (or a TODO)](https://github.com/schell/gelatin/issues) by making a pull request!\n\nIf you'd like to make a donation you can do so [through patreon](https://www.patreon.com/schell).\n\nThis library will always be free.\n","funding_links":["https://www.patreon.com/schell"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschell%2Fgelatin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschell%2Fgelatin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschell%2Fgelatin/lists"}