{"id":18495179,"url":"https://github.com/notpeter/crunk","last_synced_at":"2025-04-08T22:31:46.949Z","repository":{"id":209350092,"uuid":"723810373","full_name":"notpeter/crunk","owner":"notpeter","description":"Open Source Library for Playdate","archived":false,"fork":false,"pushed_at":"2023-12-10T01:45:30.000Z","size":742,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T19:11:17.782Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/notpeter.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,"governance":null}},"created_at":"2023-11-26T20:28:29.000Z","updated_at":"2025-02-25T01:02:20.000Z","dependencies_parsed_at":"2023-12-10T02:30:01.907Z","dependency_job_id":"77c05da2-1dde-4a81-abe3-9166e3c218c7","html_url":"https://github.com/notpeter/crunk","commit_stats":null,"previous_names":["notpeter/crunk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notpeter%2Fcrunk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notpeter%2Fcrunk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notpeter%2Fcrunk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notpeter%2Fcrunk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notpeter","download_url":"https://codeload.github.com/notpeter/crunk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247940483,"owners_count":21021982,"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-11-06T13:23:46.268Z","updated_at":"2025-04-08T22:31:45.058Z","avatar_url":"https://github.com/notpeter.png","language":"C","funding_links":["https://github.com/sponsors/notpeter/"],"categories":[],"sub_categories":[],"readme":"# Crunk: Missing Libs for Lua and Playdate\n\n## Introduction\n\nCrunk is a collection of open source Lua and C snippets and\nlibraries to assist in Lua app/game development for Playdate.\n\nThe code is designed to be simple, modular and permissively licensed.\nThis means you if you want a `Set` data structure you can\njust copy [`set.lua`](crunk/ds/set.lua) into your project,\n`import \"set.lua\"` (PlayDate Lua) or `Set = require \"set.lua\"` (Lua)\nand away you go.\n\nWhere possibel, each Lua file stands alone. In order to support both\nPUC-Lua and Playdate-Lua our Lua files support both\n`require` and `import` mechanisms but use neither themselves.\n\n## Components:\n\nMixed C/Lua:\n- [crunk/qrcode](crunk/qrcode) - Fast QR Code generation (70x faster than PlayDate SDK)\n    - `crunk.qrcode.generate(text)`\n    - `crunk.qrcode.generate(text, ecc_level, mask, min_version, max_version)`\n\nPure Lua:\n- [crunk/image_format](crunk/image_format) - Convert Playdate images to text for debugging.\n    - `crunk.image.format_ascii`\n    - `crunk.image.format_color`\n    - `crunk.image.format_blocks`\n- [crunk/ds](crunk/ds) - Simple queue-like data structures for Lua\n    - `crunk.ds.queue` - Queue\n    - `crunk.ds.deque` - Deque (Double Ended Queue)\n    - `crunk.ds.stack` - Stack\n    - `crunk.ds.set` - Set\n- [crunk/math](crunk/math) - Math Helper functions\n\nPure C:\n- [crunk/pd_pixel](crunk/pd_pixel/pd_pixel.h) -\nC macros for working with individual Playdate LCDImage pixels.\n- [crunk/pd_print](crunk/pd_print) -\nC macros for printing and logging to console (pd_print, pd_error, pd_debug)\n\n## Types\n\nWherever possible we include LuaCATS types for use with the\nLua Language Server so VSCode/NeoVim get offer autocompletion\nand static analysis.\n\nPlease configure [playdate-luacats](https://github.com/notpeter/playdate-luacats)\nfor the best experience with this.\n\n## Giving Thanks\n\nIf you find this software useful, please consider:\n\n1. [Sponsoring me on GitHub](https://github.com/sponsors/notpeter/)\n2. [Purchasing something from my Itch Store](https://notpeter.itch.io)\n3. Sending me free copies of your Playdate apps using Crunk.\n\n## License\n\nMIT License\n\nCopyright 2023 Peter Tripp\n\nSee [LICENSE](LICENSE) for full terms.\n\n## 3rd Party Licenses\n\n- [qrcodegen](crunk/qrcode/LICENSE) (MIT) - Copyright Project Nayuki\n- [pd_pixel.h](crunk/pd_pixel/pd_pixel.h) (Unknown) - Copyright Dustin Mierau\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotpeter%2Fcrunk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotpeter%2Fcrunk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotpeter%2Fcrunk/lists"}