tresjs/tres

Declarative ThreeJS using Vue Components

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 10 minutes ago
Added to GitGenius on September 18th, 2026
Created on November 27th, 2022
Open Issues & Pull Requests: 103 (+0)
GitHub issues: Enabled
Number of forks: 203
Total Stargazers: 3,734 (+0)
Total Subscribers: 16 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.1 days
Mean response time: 83.5 days
90th percentile: 316.9 days
Tracked items: 252

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 13% of issues opened in the past year have never received a reply. 54% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "v5" is answered fastest, typically in under an hour, while "cientos" waits about 3 weeks. 77% of issues opened in the past year have been closed, leaving a working backlog. Three people close 90% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 68
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 546 days
Stale 30+ days: 62
Stale 90+ days: 60

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • cientos (79)
  • bug (30)
  • p3-significant (30)
  • feature (29)
  • rapier (29)
  • waiting for author (28)
  • p2-nice-to-have (24)
  • v5 (21)

Detailed Description

Tres is a Vue framework that enables declarative construction of Three.js 3D scenes using Vue components.

The tool solves the problem of integrating Three.js into Vue applications by providing a component-based abstraction layer. Rather than writing imperative Three.js code, developers describe their 3D scenes declaratively using Vue components that map to Three.js objects. The implementation is built on Vue's custom renderer API, allowing Tres to maintain a reactive component tree that synchronizes with the underlying Three.js scene graph. This approach automatically exposes new Three.js features without requiring Tres itself to be updated, keeping the library perpetually aligned with Three.js releases.

Tres suits developers who are already working within Vue and want to add 3D graphics without context-switching to imperative Three.js patterns. It is particularly valuable for projects where the 3D scene benefits from Vue's reactivity system, component composition, and state management. The tool is fully typed, making it suitable for TypeScript-based projects. Anyone evaluating adoption should note that Tres is powered by Vite, which influences its build and development experience.

The project maintains active engagement with its community through a dedicated Discord channel. Development is characterized by a commitment to keeping the library synchronized with Three.js releases, ensuring that new Three.js capabilities become available to Tres users without maintenance overhead. The codebase is fully typed, reflecting an emphasis on developer experience and code reliability.