OSS TanbouSign in with GitHub

Build Three.js scenes declaratively with Vue components through a custom renderer

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
3,750
Primary language
Vue
License
MIT
Repository last updated
Oct 2, 2026
On this page

Overview

TresJS Core 5.9.2 is a Vue custom-renderer framework for Three.js. Under TresCanvas, Three.js classes can be represented as Vue components such as TresMesh and combined with Vue props, composables, and reactivity.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Use Three.js classes as Tres-prefixed Vue components

Three.js classes can be represented as components such as TresMesh and TresBoxGeometry so scene graphs can be authored declaratively in templates.

Sources: [1]

Manage 3D scene lifecycle through TresCanvas and the Vue custom renderer

TresCanvas is the root surface while the custom renderer maps Vue component operations to Three.js objects and lifecycle behavior.

Sources: [1][3]

Use recent WebGPU and portal features

Version 5.9.0 added an isWebGPURenderer guard, reactive isWebGPU state, and MeshPortalMaterial/TresPortal support.

Sources: [6]

Best fit

Fits Vue teams building 3D or WebGL interfaces with the existing component model

It lets teams structure 3D scenes around Vue components, props, and composables instead of managing the full scene graph exclusively through imperative Three.js code.

Sources: [1]

Before adoption

Core 5.9.2 requires Vue >=3.4 and Three.js >=0.133

Package metadata declares Vue >=3.4 and Three.js >=0.133 as peer dependencies, and the documentation recommends template compiler options for the custom renderer under Vite.

Sources: [2][1]

Version 5.9.2 is a dependency-alignment release following a Three.js typing fix

5.9.2 primarily updates the shared eslint configuration. The preceding 5.9.1 release restores math prop types with @types/three 0.186.

Sources: [4][5]

Official sources

  1. [1]TresJS Core 5.9.2 README(2026-10-05)
  2. [2]@tresjs/core 5.9.2 package metadata(2026-10-05)
  3. [3]TresJS Core public exports(2026-10-05)
  4. [4]TresJS Core 5.9.2 release(2026-10-05)
  5. [5]TresJS Core 5.9.1 release(2026-10-05)
  6. [6]TresJS Core 5.9.0 release(2026-10-05)
  7. [7]TresJS MIT license(2026-10-05)
Supplemental curator note

@tresjs/core 5.9.2 requires Vue >=3.4 and Three.js >=0.133. Keep Three.js typing aligned and apply the documented template compiler options when using the custom renderer with Vite.

Try it in 3 steps

  1. 1

    Install pinned TresJS Core 5.9.2 with Vue and Three.js

    Create an isolated npm project with the reviewed core package and its peer dependencies pinned.

    demo=$(mktemp -d "${TMPDIR:-/tmp}/tresjs.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact @tresjs/core@5.9.2 vue@3.5.43 three@0.186.0
  2. 2

    Verify package versions

    Require TresJS, Vue, and Three.js to resolve to the reviewed versions.

    test "$(node -e "const fs=require('fs');const v=p=>JSON.parse(fs.readFileSync(p)).version;console.log(v('node_modules/@tresjs/core/package.json')+'/'+v('node_modules/vue/package.json')+'/'+v('node_modules/three/package.json'))")" = '5.9.2/3.5.43/0.186.0'
  3. 3

    Check representative core exports

    Verify the root canvas and compiler configuration exports without starting a browser.

    test "$(node --input-type=module -e "import * as T from '@tresjs/core';console.log(['TresCanvas','templateCompilerOptions'].every(k=>k in T))")" = 'true'
Check the official README

Growth

Growth trends · Last 30 days

3,750 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
32
Open PRs
10

Development activity is still being collected.

Built with

Categories and tags

Categories

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • composable
  • declarative
  • threejs
  • vite
  • vue
  • webgl
  • custom-renderer
Stars
3,750
Forks
204
Watchers
16
Open issues
91
Contributors
77
Owner type
Organization
Primary language
Vue
License
MIT
Repository last updated
Oct 2, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?