# Tresjs/tres

Declarative ThreeJS using Vue Components

Repository: https://github.com/Tresjs/tres
Canonical: https://ross.abutalabs.com/products/tres
Homepage: https://tresjs.org
Language: Vue
License: MIT
License Family: permissive
Topics: composable, declarative, threejs, vite, vue, webgl, custom-renderer
Last push: 2026-08-17T22:09:44+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 98, release rhythm 83, longevity 98
- inputs: {"age_days": 1375, "days_push": 16, "days_rel": 36, "gap_med": 0.0, "n_releases_24m": 97}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3669, forks 193 (observed 2026-08-28T04:08:13.505756+00:00)

## What it is
TresJS is a declarative Vue 3 library that renders Three.js scenes using Vue components via a custom renderer. It lets Vue developers build interactive 3D WebGL/WebGPU experiences with reactive components, composables, TypeScript support, and a Nuxt module.

## Use cases
- build 3D scenes in Vue with components instead of imperative Three.js code
- create interactive WebGL product configurators on a Vue or Nuxt site
- add reactive 3D animations and visualizations to a web app
- learn Three.js with a lower learning curve as a Vue developer
- build creative coding experiences and 3D landing pages
- integrate 3D scenes into Astro or Nuxt projects

## When to choose
- your project uses Vue 3 or Nuxt and needs 3D/WebGL content
- you prefer declarative, component-based scene authoring over imperative Three.js
- you want to stay current with the latest Three.js features without manual maintenance
- you value TypeScript typing and Vue DevTools integration for 3D development

## When to avoid
- your stack is React (use react-three-fiber instead) or framework-free
- you need fine-grained imperative control over the Three.js render loop and scene graph
- you are targeting non-web platforms like native mobile or desktop 3D
- your project cannot take a Vue custom renderer dependency

## Facets
- artifact type: library
- maturity: active
- function: graphics, frontend-framework, ui-components, animation
- domain: web-development, frontend, graphics
- platform: browser, cross-platform
- tags: threejs, vue, webgl, declarative-3d, custom-renderer, vite, nuxt, creative-coding, game-development, web-server, nodejs

## Member repositories
- Tresjs/tres (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:13.505756+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:31:20.181459+00:00, confidence not recorded.
  - readme: https://github.com/Tresjs/tres (fetched 2026-08-28T04:08:13.505756+00:00, sha 6d4af5e35674)
  - homepage: https://tresjs.org (fetched 2026-08-29T09:25:44.441045+00:00, sha 7921d50bfcdc)
  - site_page: https://docs.tresjs.org/ (fetched 2026-08-29T09:25:44.450135+00:00, sha 6d65c9e0f710)
  - site_page: https://docs.tresjs.org/getting-started (fetched 2026-08-29T09:25:44.451794+00:00, sha 146c4b7aedfb)
- Data as of 2026-08-30T08:39:29.467469+00:00.
