[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80979":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},80979,"sprite-gen","aldegad\u002Fsprite-gen","aldegad","Generate clean 2D game sprites & animation atlases — component-row pipeline: state rows, alpha cleanup, frame extraction, runtime atlases. Codex\u002FClaude skill.",null,"Python",141,13,30,0,50,85,99,181,93.34,"Apache License 2.0",false,"main",true,[],"2026-06-11 04:07:22","# sprite-gen\n\n**English** · [한국어](README.ko.md)\n\nA Codex\u002FClaude skill for generating clean 2D game sprites and animation atlases with a component-row pipeline — and a standalone webview for reviewing, curating, and fixing the frames before they bake.\n\n```text\nsprite-request.json → layout guides + prompts → image-gen state rows\n→ chroma alpha → connected components → transparent frames\n→ sprite-sheet-alpha.png + manifest.json.frame_layout\n```\n\n## Example output\n\nSprites generated and curated with this skill (`claudecy`, `howl`):\n\n\u003Cp>\n  \u003Cimg src=\"docs\u002Fclaudecy-idle.gif\" width=\"110\" alt=\"claudecy idle\" \u002F>\n  \u003Cimg src=\"docs\u002Fclaudecy-running.gif\" width=\"110\" alt=\"claudecy running\" \u002F>\n  \u003Cimg src=\"docs\u002Fclaudecy-success.gif\" width=\"110\" alt=\"claudecy success\" \u002F>\n  \u003Cimg src=\"docs\u002Fclaudecy-talking.gif\" width=\"110\" alt=\"claudecy talking\" \u002F>\n  \u003Cimg src=\"docs\u002Fhowl-idle.gif\" width=\"110\" alt=\"howl idle\" \u002F>\n  \u003Cimg src=\"docs\u002Fhowl-running.gif\" width=\"110\" alt=\"howl running\" \u002F>\n  \u003Cimg src=\"docs\u002Fhowl-success.gif\" width=\"110\" alt=\"howl success\" \u002F>\n\u003C\u002Fp>\n\n## Curation webview\n\nAfter frames are extracted, launch a standalone local webview to review them — no Studio or framework dependency, so it runs anywhere the skill is installed (Claude Code Desktop, the Codex app, a plain terminal).\n\n![curation webview — characters](docs\u002Fdemo-character.gif)\n\n- **Compare frames side by side** per state, and **select \u002F reject** individual frames.\n- **Non-destructive transform** per frame: drag = move, wheel = scale, top handle = rotate, bottom-left handle = shear. Edits are saved to a `curation.json` sidecar — the source PNGs are never rewritten, and the compose step bakes the result deterministically. Preview (CSS + canvas) and bake share one affine matrix, so what you align is what you get.\n- **Live preview** animates the selected frames at the state's fps.\n\n### Isometric ground grid\n\nFor isometric sets, the webview overlays the floor grid (from `meta.json` tile\u002Fanchor) so you can snap furniture to the diamond axes with the shear handle.\n\n![curation webview — isometric furniture](docs\u002Fdemo-furniture.gif)\n\n\u003Cimg src=\"docs\u002Fcurator-iso.png\" width=\"520\" alt=\"isometric ground grid overlay\" \u002F>\n\n### Languages\n\nThe webview ships with English and Korean. Pass `--lang en|ko` when launching, or use the in-app toggle:\n\n```bash\npython3 scripts\u002Fserve_curation.py --run-dir \u003Crun-dir> --lang en   # or ko\n```\n\n## Quickstart\n\n```bash\n# 1. prepare a run from a base image\npython3 scripts\u002Fprepare_sprite_run.py --out-dir \u003Crun-dir> --character-id \u003Cid> --base-image base.png\n\n# 2. generate one row image per state with image-gen, save as raw\u002F\u003Cstate>.png\n# 3. extract frames\npython3 scripts\u002Fextract_sprite_row_frames.py --run-dir \u003Crun-dir>\n\n# 4. (optional) curate frames in the webview\npython3 scripts\u002Fserve_curation.py --run-dir \u003Crun-dir>\n\n# 5. bake the runtime atlas\npython3 scripts\u002Fcompose_sprite_atlas.py --run-dir \u003Crun-dir>\n```\n\n### Editing a finished sheet\n\nWhen only the combined sheet survives, rebuild a curator-ready run dir, then curate and export:\n\n```bash\n# rebuild frames: explicit --grid, --manifest rectangles, or alpha auto-detect (default)\npython3 scripts\u002Funpack_atlas_run.py --atlas sheet.png            # auto-detect\npython3 scripts\u002Funpack_atlas_run.py --manifest manifest.json     # exact rectangles\npython3 scripts\u002Funpack_atlas_run.py --pngs-dir furniture\u002F        # import a loose PNG set\n\n# after curating, bake corrections back to named PNGs\npython3 scripts\u002Fexport_curated_pngs.py --run-dir \u003Crun-dir>\n```\n\nOutput defaults to a findable `\u003Csource>-curator` folder next to the input.\n\nThe full agent-facing workflow and contracts live in [`SKILL.md`](SKILL.md).\n\n## Install\n\nFrom Codex skill installer workflows, install this repository as a root skill:\n\n```bash\npython3 ~\u002F.codex\u002Fskills\u002F.system\u002Fskill-installer\u002Fscripts\u002Finstall-skill-from-github.py \\\n  --repo aldegad\u002Fsprite-gen --path .\n```\n\n## Attribution\n\nThe component-row workflow is inspired by the Apache-2.0 licensed `hatch-pet` skill, but targets generic game sprite atlases and includes no pet packages or pet visual assets.\n\n## License\n\nApache-2.0\n","该项目是一个用于实时演示的2D精灵图生成工具。它采用Python编写，通过组件行流水线生成干净的游戏精灵和动画图集，并提供了一个独立的网页视图来审查、整理和修复帧图像。项目支持非破坏性变换编辑，允许用户对单个帧进行移动、缩放、旋转和剪切等操作，同时提供了实时预览功能以确保最终效果符合预期。此外，对于等距视角场景，该工具还能覆盖地面网格以便于家具对齐。适用于需要自定义2D游戏角色动画或希望简化游戏开发过程中资源管理的游戏开发者。",2,"2026-06-11 04:03:04","CREATED_QUERY"]