{"id":50813818,"url":"https://github.com/helliott20/opentoon","last_synced_at":"2026-06-13T07:30:37.618Z","repository":{"id":358850430,"uuid":"1242894490","full_name":"helliott20/opentoon","owner":"helliott20","description":"OpenToon Studio - an open-source 2D animation studio for Windows, inspired by Toon Boom Harmony","archived":false,"fork":false,"pushed_at":"2026-05-19T10:14:49.000Z","size":762,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-19T11:58:08.447Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/helliott20.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,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-18T21:25:09.000Z","updated_at":"2026-05-19T10:14:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/helliott20/opentoon","commit_stats":null,"previous_names":["helliott20/opentoon"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/helliott20/opentoon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helliott20%2Fopentoon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helliott20%2Fopentoon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helliott20%2Fopentoon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helliott20%2Fopentoon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helliott20","download_url":"https://codeload.github.com/helliott20/opentoon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helliott20%2Fopentoon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34276501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2026-06-13T07:30:36.223Z","updated_at":"2026-06-13T07:30:37.612Z","avatar_url":"https://github.com/helliott20.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenToon Studio\n\nAn open-source 2D animation studio for Windows, inspired by Toon Boom Harmony.\nBuilt as a zero-install desktop-style app — no build step, no server required.\n\n## Run it\n\n**Quick look:** double-click `index.html` — opens in your browser, runs fully\noffline.\n\n**As a desktop app** (with auto-updates): see `BUILD.md`. In short:\n\n```\nnpm install\nnpm run dev      # run it (with live reload)\nnpm run dist     # build the Windows installer\n```\n\nThe desktop build is a real Windows program that updates itself over-the-air —\nthe right way to share OpenToon with someone else.\n\n## Features\n\n**Drawing \u0026 animation**\n- Paperless frame-by-frame animation\n- Pressure-sensitive brush, pencil, eraser\n- Shape tools (rectangle, ellipse, line) with fill\n- Eyedropper\n- Rectangular select with move / scale / rotate (free transform)\n- Per-stroke opacity, smoothing\n- Vector and bitmap layers (vector is the default)\n\n**Vector drawing (Harmony-style)**\n- Resolution-independent strokes, smoothed on release so lines are\n  clean rather than rough (adjustable de-jitter)\n- Auto-connect — stroke endpoints snap together so line art forms\n  closed shapes\n- Smart paint bucket — fills the region enclosed by your lines, with\n  adjustable gap closing and a live hover highlight of the area\n- Stroke-aware eraser (splits strokes) and stroke select / move / delete\n\n**Cut-out animation**\n- Per-layer transform keyframes (position / scale / rotation)\n- Transform tool with on-canvas handles\n- Smooth interpolation between keyframes — drawing, onion skin and\n  export all stay transform-aware\n\n**Timeline / Xsheet**\n- Multi-layer timeline with exposure cells\n- Create / duplicate / extend / clear exposures (held cels)\n- Copy / cut / paste drawings between frames and layers\n- Drag cels to move them, drag a cel's end to extend exposure\n- Drawing thumbnails in the timeline\n- Insert / remove frames\n\n**Playback \u0026 review**\n- Real-time playback, loop / ping-pong, in/out range to loop a section\n- Flip canvas horizontally / vertically to check drawings\n- Space or Enter to play/stop\n\n**Audio \u0026 video**\n- Import an audio soundtrack — waveform in the timeline, synced playback\n- Import a video as reference frames on the timeline (pulls in its sound too)\n\n**Drawing aids**\n- Grid and rule-of-thirds guides\n- Symmetry / mirror drawing\n\n**Layers**\n- Unlimited drawing layers, reorder, rename\n- Per-layer visibility, lock, opacity\n- Layer blend opacity in compositing\n\n**Onion skinning**\n- Configurable previous / next frame range\n- Red / green tinting, opacity falloff\n\n**Color**\n- Named color palette with swatches\n- HSV picker + hex input\n- Add / remove / reorder swatches\n\n**Camera**\n- Camera framing guide\n- Camera keyframes (pan / zoom / rotate) with interpolation\n\n**Playback**\n- Real-time playback at project FPS, loop, ping-pong\n- Frame-step, go to start/end\n\n**Project I/O**\n- Save / load `.otoon` project files (JSON, self-contained)\n- Autosave to browser storage\n- Import reference images / image as layer\n\n**Export**\n- Animated GIF\n- WebM video\n- PNG image sequence (ZIP)\n- Single-frame PNG\n\n## Keyboard shortcuts\n\n| Key | Action |\n|-----|--------|\n| V | Select pixels |\n| A | Transform layer (cut-out animation) |\n| B | Brush |\n| N | Pencil |\n| E | Eraser |\n| G | Paint bucket |\n| I | Eyedropper |\n| R / O / L | Rectangle / Ellipse / Line |\n| H / Space | Pan view |\n| Z | Zoom tool |\n| `[` / `]` | Brush size down / up |\n| , / . | Previous / next frame |\n| Enter | Play / stop |\n| Ctrl+Z / Ctrl+Y | Undo / redo |\n| Ctrl+S / Ctrl+O | Save / open project |\n| Ctrl+N | New project |\n| F | Fit view to camera |\n| Del | Clear current drawing / delete selection |\n\n## Status\n\nThis is an actively developed open-source clone. Core animation, timeline,\npainting, camera, and export pipelines are functional. See `ROADMAP.md` for\nwhat is planned next (vector deformers / bone rigging, node compositing,\nmultiplane depth, particle effects, lip-sync).\n\n## License\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelliott20%2Fopentoon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelliott20%2Fopentoon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelliott20%2Fopentoon/lists"}