{"id":14981186,"url":"https://github.com/Vectreal/vectreal-platform","last_synced_at":"2025-10-29T04:31:52.992Z","repository":{"id":254947556,"uuid":"848046169","full_name":"Vectreal/vectreal-platform","owner":"Vectreal","description":"Vectreal Core is a robust, community-driven, open-source toolkit designed to seamlessly integrate high-performance 3D content into React-based projects. ","archived":false,"fork":false,"pushed_at":"2025-09-07T01:12:27.000Z","size":23752,"stargazers_count":12,"open_issues_count":11,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-07T03:13:55.876Z","etag":null,"topics":["docker","glb","gltf","model-viewer","nx","nx-workspace","obj","react","react-three-drei","react-three-fiber","reactjs","three-js","threejs","usdz","web-renderer"],"latest_commit_sha":null,"homepage":"https://core.vectreal.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vectreal.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2024-08-27T03:03:58.000Z","updated_at":"2025-06-14T17:47:16.000Z","dependencies_parsed_at":"2024-08-27T04:47:56.575Z","dependency_job_id":"df88d527-5d66-4223-a6ef-2b9c3567e8e2","html_url":"https://github.com/Vectreal/vectreal-platform","commit_stats":{"total_commits":163,"total_committers":3,"mean_commits":"54.333333333333336","dds":"0.036809815950920255","last_synced_commit":"0b085ea245d4fe93bc3b74f3ccf172fb6564f6a0"},"previous_names":["vectreal/vectreal-core","vectreal/vectreal-platform"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/Vectreal/vectreal-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectreal%2Fvectreal-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectreal%2Fvectreal-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectreal%2Fvectreal-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectreal%2Fvectreal-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vectreal","download_url":"https://codeload.github.com/Vectreal/vectreal-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectreal%2Fvectreal-platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281562747,"owners_count":26522686,"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","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"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":["docker","glb","gltf","model-viewer","nx","nx-workspace","obj","react","react-three-drei","react-three-fiber","reactjs","three-js","threejs","usdz","web-renderer"],"created_at":"2024-09-24T14:03:05.974Z","updated_at":"2025-10-29T04:31:51.704Z","avatar_url":"https://github.com/Vectreal.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Vectreal Core Banner](https://storage.googleapis.com/documentation-assets/vectreal-core-banner.png)](https://core.vectreal.com)\n\n[![Deploy apps/official-website to Google Cloud Run](https://img.shields.io/github/actions/workflow/status/vectreal/vectreal-core/deploy-official-website.yaml?logo=github\u0026logoColor=%23fc6c18\u0026label=Deploy%20apps%2Fofficial-website%20to%20Google%20Cloud%20Run\u0026color=%23fc6c18)\n](https://github.com/Vectreal/vectreal-core/actions/workflows/deploy-official-website.yaml)\n[![Version and release packages to NPM](https://img.shields.io/github/actions/workflow/status/vectreal/vectreal-core/version-release.yaml?logo=github\u0026logoColor=%23fc6c18\u0026label=Version%20and%20release%20packages%20to%20NPM\u0026color=%23fc6c18)\n](https://github.com/Vectreal/vectreal-core/actions/workflows/version-release.yaml)\n[![Storybook vctrl/viewer](https://img.shields.io/badge/Storybook_vctrl/viewer-Docs-fc6c18?logo=storybook\u0026logoColor=%23fc6c18)](https://main--672b9522ee5bda25942a731c.chromatic.com/?path=/docs/vectrealviewer--docs)\n[![@vctrl/viewer | NPM Downloads](https://img.shields.io/npm/dm/%40vctrl%2Fviewer?logo=npm\u0026logoColor=%23fc6c18\u0026label=%40vctrl%2Fviewer%20%7C%20NPM%20Downloads\u0026color=%23fc6c18)](https://npmjs.com/package/@vctrl/viewer)\n[![@vctrl/hooks | NPM Downloads](https://img.shields.io/npm/dm/%40vctrl%2Fhooks?logo=npm\u0026logoColor=%23fc6c18\u0026label=%40vctrl%2Fhooks%20%7C%20NPM%20Downloads\u0026color=%23fc6c18)](https://www.npmjs.com/package/@vctrl/hooks)\n\n# Vectreal Core\n\nVectreal Core is a robust, community-driven, open-source toolkit designed to seamlessly integrate high-performance 3D content into React-based projects. Our mission is to empower developers, designers, and creators with comprehensive resources to build stunning, interactive 3D experiences.\n\nThe monorepo is orchestrated using NX within an npm workspaces environment, primarily consisting of React.js projects.\n\n\u003e This project provides easy-to-use, fully configured components, hooks, and additional tools built on top of [Three.js](https://github.com/mrdoob/three.js) and [React Three Fiber](https://github.com/pmndrs/react-three-fiber).\n\n## Table of Contents\n\n- [Vectreal Core](#vectreal-core)\n  - [Table of Contents](#table-of-contents)\n  - [Features](#features)\n  - [Project Structure](#project-structure)\n  - [Packages](#packages)\n    - [React Packages](#react-packages)\n    - [Docker](#docker)\n  - [Applications](#applications)\n  - [Examples](#examples)\n  - [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Installation](#installation)\n    - [Running Projects](#running-projects)\n  - [Contributing](#contributing)\n  - [License](#license)\n  - [Contact](#contact)\n\n## Features\n\n- Fully typed components for seamless integration with TypeScript projects\n- Optimized performance for smooth 3D rendering\n- Support for multiple 3D file formats (glTF, GLB, OBJ, USDZ, and more)\n- Extensible architecture for custom implementations\n- Comprehensive documentation and examples\n\n## Project Structure\n\nThis monorepo is organized as follows:\n\n```\nvectreal-core/\n├── packages/\n│ ├── hooks/\n│ └── viewer/\n├── apps/\n│ └── official-website/\n├── docker/\n├── examples/\n└── docs/\n```\n\n## Packages\n\n### React Packages\n\n- **[@vctrl/hooks](https://github.com/Vectreal/vectreal-core/tree/main/packages/hooks)**: A collection of useful React hooks for loading and interacting with 3D files.\n\n  - **use-load-model**: File or directory loading hooks for various approaches (Event based, React Context, direct)\n\n  - **use-optimize-model**: Utilizing the [gltf-transform](https://gltf-transform.dev/) js library to optimize models in the browser. May be used standaloe or in conjunction with the `use-load-model` hook for convenience.\n\n  - **use-export-model**: Export the scene in multiple formats using a minimal API\n\n- **[@vctrl/viewer](https://github.com/Vectreal/vectreal-core/tree/main/packages/viewer)**: A fully type-safe and ready-to-use viewer component for React.\n\n  Built with the `@vctrl/hooks/use-load-model` hook to dynamically load various model file types.\n\n  Supported file formats:\n\n  - glTF (with .bin and textures)\n  - GLB\n  - OBJ\n  - USDZ (limited support, work in progress)\n\n### Docker\n\n- **[Docker images](https://github.com/Vectreal/vectreal-core/tree/main/packages/docker)**: (Work in Progress) Easily deploy convenient Vectreal tools like file converters in your Docker environment.\n\n## Applications\n\n- **[Official Website](https://github.com/Vectreal/vectreal-core/tree/main/apps/official-website)**: A showcase application built using the components and software provided in this monorepo. Deployed using GitHub Actions and Google Cloud.\n\n## Examples\n\nVisit our [free online editor toolkit](https://core.vectreal.com/editor) to see Vectreal Core in action. This interactive playground demonstrates the capabilities of our components and provides a hands-on experience for developers.\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (v18 or later)\n- npm (v9 or later)\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/Vectreal/vectreal-core.git\n   cd vectreal-core\n   ```\n\n   Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n### Running Projects\n\nTo serve one of the app projects, use the following command:\n\n```bash\nnpx nx serve vctrl/official-website\n```\n\nTo see all available targets for a project:\n\n```bash\nnpx nx show project vctrl/official-website --web\n```\n\n\u003e The optional `--web` parameter opens a visual overview of all possible commands available for a project.\n\nFor more information on working with NX, refer to the [official NX documentation](https://nx.dev/getting-started/tutorials/react-monorepo-tutorial#project-details-container).\n\n## Contributing\n\nWe welcome contributions from developers passionate about React and Three.js.\n\nTo contribute:\n\n\u003e Please read our Contributing Guidelines for more details.\n\n1. Fork the repository\n2. Create a new branch for your feature or bug fix\n3. Make your changes and commit them following the commit message format described [here by NX](https://nx.dev/recipes/nx-release/get-started-with-nx-release)\n4. Push your changes to your fork\n5. Submit a pull request to the main repository\n\n[Join our Discord community](https://discord.gg/A9a3nPkZw7) for support, announcements, and discussions about the future of 3D web content.\n\n## License\n\nGNU Affero General Public License\n\nPlease refer to the LICENSE file in the package root for licensing information.\n\n## Contact\n\nWebsite: [Vectreal Core](https://core.vectreal.com) | [Vectreal Platform](https://vectreal.com)\n\nDiscord: [Join our server](https://discord.gg/A9a3nPkZw7)\n\nX/Twitter: [@Vectreal](https://x.com/vectreal)\n\nEmail: info@vectreal.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVectreal%2Fvectreal-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVectreal%2Fvectreal-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVectreal%2Fvectreal-platform/lists"}