{"id":20426020,"url":"https://github.com/seleb/bitsy-optimizer","last_synced_at":"2026-02-10T01:03:34.831Z","repository":{"id":34841163,"uuid":"183565980","full_name":"seleb/bitsy-optimizer","owner":"seleb","description":"optimizer for bitsy gamedata","archived":false,"fork":false,"pushed_at":"2024-09-24T17:25:07.000Z","size":526,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-09T22:12:46.934Z","etag":null,"topics":["bitsy","optimization"],"latest_commit_sha":null,"homepage":"https://seansleblanc.itch.io/bitsy-optimizer","language":"HTML","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/seleb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-26T05:55:09.000Z","updated_at":"2022-07-17T02:59:17.000Z","dependencies_parsed_at":"2023-12-07T03:31:25.598Z","dependency_job_id":"68aa75eb-1294-4adf-bdd0-4258b4ce1b1e","html_url":"https://github.com/seleb/bitsy-optimizer","commit_stats":{"total_commits":69,"total_committers":3,"mean_commits":23.0,"dds":"0.18840579710144922","last_synced_commit":"8a587a5fccd570337c4f3ea737282dda2ccf2e62"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seleb%2Fbitsy-optimizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seleb%2Fbitsy-optimizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seleb%2Fbitsy-optimizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seleb%2Fbitsy-optimizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seleb","download_url":"https://codeload.github.com/seleb/bitsy-optimizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241967054,"owners_count":20050331,"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":["bitsy","optimization"],"created_at":"2024-11-15T07:15:01.500Z","updated_at":"2026-02-10T01:03:29.941Z","avatar_url":"https://github.com/seleb.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @bitsy/optimizer\n\noptimizer for bitsy gamedata\n\nA few things to note:\n\n- Optimizations are written in terms of vanilla bitsy; many hacks may use gamedata which would otherwise be seen as \"unused\" in a vanilla bitsy game (e.g. a room may have no exits pointing to it, but still be used via `exit-from-dialog` tags), so be wary of this when choosing what to optimize.\n- Dialog scripts are not taken into account, which means data only referenced in dialog (e.g. an audio blip in 8.0 that is called from dialog but not directly assigned to any sprite/item) will be removed and may break your game.\n- Make sure to save a backup in case you remove something unintentionally as part of optimizing!\n\n## How To\n\n### Browser\n\n1. include `./dist/index.iife.js` in HTML\n\n\t```html\n\t\u003cscript src=\"vendor/@bitsy/optimizer/dist/index.iife.js\"\u003e\u003c/script\u003e\n\t```\n\n2. reference global\n\n\t```js\n\tconst optimize = window.bitsyOptimizer;\n\t```\n\n### Node\n\n1. install\n\n\t```sh\n\tnpm install @bitsy/optimizer --save\n\t```\n\n2. import\n\n\t```js\n\tconst optimize = require(\"@bitsy/optimizer\");\n\t```\n\n\t```js\n\timport optimize from '@bitsy/optimizer';\n\t```\n\n### Use\n\n```js\nconst gamedata = `Write your game's title here\n\n# BITSY VERSION 6.0...`;\n\nconst optimizedGamedata = optimize(gamedata);\n\n// options can be provided as a second parameter\nconst partiallyOptimizedGamedata = optimize(gamedata, {\n\trooms: true || false,    // removes unreachable rooms (except room 0)\n\tpalettes: true || false, // removes unused palettes that aren't assigned to any rooms\n\ttiles: true || false,    // removes tiles that aren't placed in any rooms\n\tsprites: true || false,  // removes sprites that aren't placed in any rooms or used as an avatar\n\titems: true || false,    // removes items that aren't placed in any rooms\n\tdialogue: true || false, // removes dialogue that isn't assigned to any sprites or items\n\texits: true || false,    // removes exits that don't go to valid rooms\n\tendings: true || false,  // removes endings that aren't placed in any rooms\n\ttunes: true || false,    // removes tunes that aren't placed in any rooms\n\tblips: true || false,    // removes blips that aren't assigned to any sprites or items\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseleb%2Fbitsy-optimizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseleb%2Fbitsy-optimizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseleb%2Fbitsy-optimizer/lists"}