{"id":47876968,"url":"https://github.com/zabastx/mixeur","last_synced_at":"2026-04-28T02:01:49.206Z","repository":{"id":307078706,"uuid":"1028261200","full_name":"zabastx/mixeur","owner":"zabastx","description":"Blender-like web-based 3D editor built with Vue.js and Three.js","archived":false,"fork":false,"pushed_at":"2026-04-22T08:21:49.000Z","size":61041,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-22T08:35:58.827Z","etag":null,"topics":["3d-editor","threejs","vuejs"],"latest_commit_sha":null,"homepage":"https://mixeur.zabastx.ru/","language":"Vue","has_issues":false,"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/zabastx.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-07-29T09:09:11.000Z","updated_at":"2026-04-22T08:09:18.000Z","dependencies_parsed_at":"2025-07-29T10:49:34.875Z","dependency_job_id":"ae774e17-6ea8-43d5-8777-e15cd574690a","html_url":"https://github.com/zabastx/mixeur","commit_stats":null,"previous_names":["zabastx/vue-mixeur","zabastx/mixeur"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/zabastx/mixeur","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabastx%2Fmixeur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabastx%2Fmixeur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabastx%2Fmixeur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabastx%2Fmixeur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zabastx","download_url":"https://codeload.github.com/zabastx/mixeur/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabastx%2Fmixeur/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32362782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"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":["3d-editor","threejs","vuejs"],"created_at":"2026-04-04T01:22:46.184Z","updated_at":"2026-04-28T02:01:49.188Z","avatar_url":"https://github.com/zabastx.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mixeur\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Vue](https://img.shields.io/badge/Vue-3.5.33-4FC08D.svg)](https://vuejs.org/)\n[![Three.js](https://img.shields.io/badge/Three.js-0.184.0-049EF4.svg)](https://threejs.org/)\n\nA Blender-like web-based 3D editor built with Vue.js and Three.js. Mixeur provides an interface for 3D modeling, object manipulation, and scene management directly in the browser.\n\n## Demo\n\nTry the live demo at [mixeur.zabastx.ru](https://mixeur.zabastx.ru)\n\n## Features\n\n### Object Manipulation\n\n- **Selection \u0026 Transformation**: Click to select objects with transform gizmos (move, rotate, scale)\n- **BVH Acceleration**: Fast raycasting and collision detection using Bounding Volume Hierarchy\n- **Blender-style Controls**: Familiar navigation with viewport gizmo for orientation\n- **Properties Panel**: Edit transforms, geometry parameters, materials, lights, and camera properties\n\n### Shading \u0026 Rendering\n\n- **Viewport Shading Modes**: Wireframe, solid (flat grey), material preview (with HDRI), and rendered views\n- **HDR Environment Maps**: 8 built-in environments (city, courtyard, forest, interior, night, studio, sunrise, sunset)\n- **Image Rendering**: Export scenes to PNG, JPEG, or WebP with custom resolution and optional transparent background\n\n### Content Creation\n\n- **Primitive Meshes**: Planes, cubes, circles, spheres, icospheres, cylinders, cones, and torus shapes with parameter editing\n- **Text Objects**: 3D text with 6 built-in fonts, customizable size, depth, and material\n- **Lighting System**: Point, directional, spot, and rectarea lights with color, intensity, distance, and shadow settings\n- **Material Editor**: Six material types (Physical, Standard, Phong, Toon, Lambert, Normal) with real-time property editing\n\n### Asset Management\n\n- **Model Import**: GLTF/GLB (with Draco and KTX2 support), OBJ (with MTL), and FBX formats\n- **Model Export**: Export scenes to GLB format excluding helper objects\n- **Models Library**: Browse and import free CC0 3D models from Poly Haven with category filtering and resolution selection\n- **Texture Library**: Import textures by type (AO, diffuse, normal, roughness, etc.) for material assignment\n\n### Scene Management\n\n- **Outliner Panel**: Hierarchical tree view with visibility toggles and group detection\n- **Properties Panel**: Edit transforms, geometry parameters, materials, lights, and camera properties\n\n## Tech Stack\n\n- **Frontend**: Vue 3 with Composition API\n- **3D Engine**: Three.js with BVH acceleration for fast raycasting\n- **State Management**: Pinia 3\n- **Styling**: Tailwind CSS v4\n- **Build Tool**: Vite 8\n- **TypeScript**: Full type safety\n- **UI Components**: Reka UI\n- **Icons**: Custom SVG icon system\n- **Testing**: Vitest (unit), Playwright (E2E)\n\n## Core Dependencies\n\n- `three`: 3D graphics library\n- `three-mesh-bvh`: Bounding Volume Hierarchy for fast raycasting\n- `three-viewport-gizmo`: Camera navigation gizmo\n- `vue`: Progressive JavaScript framework\n- `pinia`: State management for Vue 3\n- `@vueuse/core`: Collection of Vue composition utilities\n- `@jaames/iro`: Color picker library\n- `reka-ui`: Vue component primitives\n\n## Acknowledgments\n\n- [Three.js](https://threejs.org/) - 3D graphics library\n- [Vue.js](https://vuejs.org/) - Progressive JavaScript framework\n- [Blender](https://www.blender.org/) - Inspiration for UI/UX patterns\n- [Poly Haven](https://polyhaven.com/) - Free CC0 3D models, HDRIs, and textures\n- [three-mesh-bvh](https://github.com/gkjohnson/three-mesh-bvh) - BVH acceleration\n- [three-viewport-gizmo](https://github.com/JamesLMilner/three-viewport-gizmo) - Camera gizmo\n- [ui.blender.org/icons](https://ui.blender.org/icons) - Blender Icons\n\n## License\n\nMIT License - Copyright (c) 2026 Danil Popov\n\nSee [LICENSE](LICENSE) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzabastx%2Fmixeur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzabastx%2Fmixeur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzabastx%2Fmixeur/lists"}