{"id":48248894,"url":"https://github.com/activeguild/glb-animation-studio","last_synced_at":"2026-04-04T20:44:16.545Z","repository":{"id":327900860,"uuid":"1111191401","full_name":"activeguild/glb-animation-studio","owner":"activeguild","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-15T01:30:57.000Z","size":352,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"vk/2ef4-glb-d","last_synced_at":"2025-12-17T16:42:10.939Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://glb-animation-studio.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/activeguild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-06T13:04:55.000Z","updated_at":"2025-12-15T01:29:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/activeguild/glb-animation-studio","commit_stats":null,"previous_names":["activeguild/glb-animation-studio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/activeguild/glb-animation-studio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activeguild%2Fglb-animation-studio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activeguild%2Fglb-animation-studio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activeguild%2Fglb-animation-studio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activeguild%2Fglb-animation-studio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/activeguild","download_url":"https://codeload.github.com/activeguild/glb-animation-studio/tar.gz/refs/heads/vk/2ef4-glb-d","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activeguild%2Fglb-animation-studio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-04-04T20:44:15.965Z","updated_at":"2026-04-04T20:44:16.537Z","avatar_url":"https://github.com/activeguild.png","language":"TypeScript","readme":"# GLB Animation Studio\n\nA specialized internal tool for inspecting, fixing, and exporting GLB/GLTF 3D models, with a strong focus on animation integrity and compatibility.\n\n## Overview\n\nThis project provides a web interface to load 3D models, preview their animations, and export them back to GLB format. It specifically addresses common issues found when exporting complex animations from various DCC tools to standard GLTF, such as converting split Euler rotation tracks to Quaternions and ensuring correct node hierarchy handling.\n\n## Features\n\n- **3D Model Viewer**: Interactive preview using Three.js / R3F.\n- **Animation Inspector**: Detect and play animations embedded in the model.\n- **Smart Export**:\n  - Automatically merges split animation tracks (e.g., `rotation.x`, `rotation.y`, `rotation.z`) into single tracks.\n  - Converts Euler rotation tracks to Quaternion tracks for full GLTF compatibility.\n  - Handles nested node animations correctly.\n  - Preserves hierarchy and material data.\n- **Tech Stack**:\n  - [Next.js](https://nextjs.org/) (App Router)\n  - [Three.js](https://threejs.org/) \u0026 [@react-three/fiber](https://docs.pmnd.rs/react-three-fiber)\n  - [Tailwind CSS](https://tailwindcss.com/)\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\n## Development\n\nThe main logic for animation processing and export is located in:\n\n- `src/components/viewer/ExportGLTF.tsx`: Handles the extraction, conversion (Euler to Quaternion), and export of animation clips.\n- `src/components/viewer/ModelViewer.tsx`: Manages the 3D scene and model loading.\n\n## License\n\nPrivate repository.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factiveguild%2Fglb-animation-studio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factiveguild%2Fglb-animation-studio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factiveguild%2Fglb-animation-studio/lists"}