[{"data":1,"prerenderedAt":948},["ShallowReactive",2],{"navigation":3,"/getting-started/installation":211,"/getting-started/installation-surround":943},[4,29,62,149,177,187,191,195,199,203,207],{"title":5,"path":6,"stem":7,"children":8,"icon":27,"titleTemplate":28},"Getting Started","/getting-started","1.getting-started/1.index",[9,12,17,22],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Your First Scene","/getting-started/your-first-scene","1.getting-started/3.your-first-scene","i-lucide-donut",{"title":23,"path":24,"stem":25,"icon":26},"Upgrade Guide","/getting-started/upgrade-guide","1.getting-started/4.upgrade-guide","i-lucide-circle-arrow-up","i-lucide-rocket","%s · Get Started with TresJS",{"title":30,"path":31,"stem":32,"children":33},"Essentials","/essentials","2.essentials",[34,36,48],{"title":30,"path":31,"stem":35},"2.essentials/index",{"title":37,"icon":38,"open":39,"path":40,"stem":41,"children":42,"page":47},"Core Architecture","i-lucide-cpu",true,"/essentials/core-architecture","2.essentials/1.core-architecture",[43],{"title":44,"path":45,"stem":46},"Custom Vue Renderer","/essentials/core-architecture/custom-vue-renderer","2.essentials/1.core-architecture/2.custom-vue-renderer",false,{"title":49,"icon":50,"open":39,"path":51,"stem":52,"children":53,"page":47},"Key Concepts","i-lucide-medal","/essentials/concepts","2.essentials/2.concepts",[54,58],{"title":55,"path":56,"stem":57},"Declarative vs Imperative","/essentials/concepts/declarative-vs-imperative","2.essentials/2.concepts/1.declarative-vs-imperative",{"title":59,"path":60,"stem":61},"Reactivity","/essentials/concepts/reactivity","2.essentials/2.concepts/2.reactivity",{"title":63,"path":64,"stem":65,"children":66},"API","/api","3.api",[67,70,84,111,121,131],{"title":68,"path":64,"stem":69},"TresJS API Reference","3.api/1.index",{"title":71,"icon":72,"open":39,"path":73,"stem":74,"children":75,"page":47},"Components","i-lucide-box","/api/components","3.api/1.components",[76,80],{"title":77,"path":78,"stem":79},"\u003CTresCanvas />","/api/components/tres-canvas","3.api/1.components/tres-canvas",{"title":81,"path":82,"stem":83},"Tres Components","/api/components/tres-objects","3.api/1.components/tres-objects",{"title":85,"titleTemplate":86,"icon":87,"path":88,"stem":89,"children":90,"page":47},"Composables","%s · TresJS Composables","i-lucide-arrow-right-left","/api/composables","3.api/2.composables",[91,95,99,103,107],{"title":92,"path":93,"stem":94},"useTres","/api/composables/use-tres","3.api/2.composables/1.use-tres",{"title":96,"path":97,"stem":98},"useTresContext","/api/composables/use-tres-context","3.api/2.composables/2.use-tres-context",{"title":100,"path":101,"stem":102},"useLoop","/api/composables/use-loop","3.api/2.composables/3.use-loop",{"title":104,"path":105,"stem":106},"useGraph","/api/composables/use-graph","3.api/2.composables/4.use-graph",{"title":108,"path":109,"stem":110},"useLoader","/api/composables/use-loader","3.api/2.composables/5.use-loader",{"title":112,"icon":113,"path":114,"stem":115,"children":116,"page":47},"Event handling","i-lucide-mouse-pointer-2","/api/events","3.api/3.events",[117],{"title":118,"path":119,"stem":120},"Pointer Events","/api/events/pointer-events","3.api/3.events/1.pointer-events",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":47},"Utils","i-lucide-wrench","/api/utils","3.api/4.utils",[127],{"title":128,"path":129,"stem":130},"Type Guards","/api/utils/type-guards","3.api/4.utils/1.type-guards",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":47},"Advanced","i-lucide-brain-circuit","/api/advanced","3.api/5.advanced",[137,141,145],{"title":138,"path":139,"stem":140},"Scaling Performance 🚀","/api/advanced/performance","3.api/5.advanced/performance",{"title":142,"path":143,"stem":144},"Primitives","/api/advanced/primitives","3.api/5.advanced/primitives",{"title":146,"path":147,"stem":148},"WebGPU","/api/advanced/web-gpu","3.api/5.advanced/web-gpu",{"title":150,"path":151,"stem":152,"children":153},"Cookbook","/cookbook","4.cookbook",[154,157,161,165,169,173],{"title":155,"path":151,"stem":156},"Cookbook 🍳🧑‍🍳","4.cookbook/index",{"title":158,"path":159,"stem":160},"OrbitControls","/cookbook/orbit-controls","4.cookbook/1.orbit-controls",{"title":162,"path":163,"stem":164},"Basic Animations","/cookbook/basic-animations","4.cookbook/2.basic-animations",{"title":166,"path":167,"stem":168},"Model Animation","/cookbook/model-animation","4.cookbook/3.model-animation",{"title":170,"path":171,"stem":172},"Advanced GSAP Animations","/cookbook/advanced-gsap-animations","4.cookbook/4.advanced-gsap-animations",{"title":174,"path":175,"stem":176},"Tweakpane","/cookbook/tweakpane","4.cookbook/5.tweakpane",{"title":178,"path":179,"stem":180,"children":181},"Community","/community","5.community/1.index",[182,183],{"title":178,"path":179,"stem":180},{"title":184,"path":185,"stem":186},"Awesome Resources","/community/awesome-resources","5.community/awesome-resources",{"title":188,"path":189,"stem":190},"German Translation","/de","de",{"title":192,"path":193,"stem":194},"Spanish Translation","/es","es",{"title":196,"path":197,"stem":198},"French Translation","/fr","fr",{"title":200,"path":201,"stem":202},"Italian Translation","/it","it",{"title":204,"path":205,"stem":206},"Japanese Translation","/jp","jp",{"title":208,"path":209,"stem":210},"Chinese Translation","/zh","zh",{"id":212,"title":13,"body":213,"description":935,"extension":936,"links":937,"meta":938,"navigation":939,"path":14,"seo":940,"stem":15,"__hash__":942},"docs/1.getting-started/2.installation.md",{"type":214,"value":215,"toc":927},"minimark",[216,225,229,293,301,336,346,349,353,356,360,661,665,668,717,741,748,751,923],[217,218,220,221],"h2",{"id":219},"quick-start-recommended","Quick Start (Recommended) ",[222,223],"u-icon",{"name":224},"i-heroicons-rocket-launch",[226,227,228],"p",{},"The fastest way to get started with TresJS is using our interactive CLI wizard:",[230,231,232,259,277],"code-group",{},[233,234,240],"pre",{"className":235,"code":236,"filename":237,"language":238,"meta":239,"style":239},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx create-tres my-tres-project\n","npm","bash","",[241,242,243],"code",{"__ignoreMap":239},[244,245,248,252,256],"span",{"class":246,"line":247},"line",1,[244,249,251],{"class":250},"sBMFI","npx",[244,253,255],{"class":254},"sfazB"," create-tres",[244,257,258],{"class":254}," my-tres-project\n",[233,260,263],{"className":235,"code":261,"filename":262,"language":238,"meta":239,"style":239},"yarn create tres my-tres-project\n","yarn",[241,264,265],{"__ignoreMap":239},[244,266,267,269,272,275],{"class":246,"line":247},[244,268,262],{"class":250},[244,270,271],{"class":254}," create",[244,273,274],{"class":254}," tres",[244,276,258],{"class":254},[233,278,281],{"className":235,"code":279,"filename":280,"language":238,"meta":239,"style":239},"pnpm create tres my-tres-project\n","pnpm",[241,282,283],{"__ignoreMap":239},[244,284,285,287,289,291],{"class":246,"line":247},[244,286,280],{"class":250},[244,288,271],{"class":254},[244,290,274],{"class":254},[244,292,258],{"class":254},[226,294,295,296,300],{},"The CLI provides an ",[297,298,299],"strong",{},"interactive wizard"," that guides you through:",[302,303,304],"prose-list",{},[305,306,307,315,322,329],"ul",{},[308,309,310,311,314],"li",{},"🎯 ",[297,312,313],{},"Template selection",": Choose between Vue + Vite or Nuxt",[308,316,317,318,321],{},"📦 ",[297,319,320],{},"Ecosystem packages",": Select from TresJS ecosystem packages (Cientos, Post-processing, Leches)",[308,323,324,325,328],{},"🔧 ",[297,326,327],{},"TypeScript support",": Type safe development with TypeScript",[308,330,331,332,335],{},"📏 ",[297,333,334],{},"ESLint integration",": Code quality with TresJS ESLint config",[337,338,339],"prose-note",{},[226,340,341,342,345],{},"This is the ",[297,343,344],{},"recommended approach"," for new projects as it handles all the configuration automatically and lets you choose exactly what you need.",[347,348],"hr",{},[217,350,352],{"id":351},"manual-installation","Manual Installation",[226,354,355],{},"If you prefer to set up TresJS manually or add it to an existing project, follow the instructions below:",[217,357,359],{"id":358},"vue-project","Vue project",[361,362,363,368,371,422,426,429,478,482,489,655],"steps",{},[364,365,367],"h3",{"id":366},"install-tresjs-and-threejs","Install TresJS and Three.js",[226,369,370],{},"Install the core TresJS package and the Three.js dependency:",[230,372,373,391,407],{},[233,374,376],{"className":235,"code":375,"filename":237,"language":238,"meta":239,"style":239},"npm install @tresjs/core three\n",[241,377,378],{"__ignoreMap":239},[244,379,380,382,385,388],{"class":246,"line":247},[244,381,237],{"class":250},[244,383,384],{"class":254}," install",[244,386,387],{"class":254}," @tresjs/core",[244,389,390],{"class":254}," three\n",[233,392,394],{"className":235,"code":393,"filename":262,"language":238,"meta":239,"style":239},"yarn add @tresjs/core three\n",[241,395,396],{"__ignoreMap":239},[244,397,398,400,403,405],{"class":246,"line":247},[244,399,262],{"class":250},[244,401,402],{"class":254}," add",[244,404,387],{"class":254},[244,406,390],{"class":254},[233,408,410],{"className":235,"code":409,"filename":280,"language":238,"meta":239,"style":239},"pnpm add @tresjs/core three\n",[241,411,412],{"__ignoreMap":239},[244,413,414,416,418,420],{"class":246,"line":247},[244,415,280],{"class":250},[244,417,402],{"class":254},[244,419,387],{"class":254},[244,421,390],{"class":254},[364,423,425],{"id":424},"install-typescript-types-optional","Install TypeScript types (Optional)",[226,427,428],{},"If you're using TypeScript, install the Three.js type definitions:",[230,430,431,448,463],{},[233,432,434],{"className":235,"code":433,"filename":237,"language":238,"meta":239,"style":239},"npm install @types/three -D\n",[241,435,436],{"__ignoreMap":239},[244,437,438,440,442,445],{"class":246,"line":247},[244,439,237],{"class":250},[244,441,384],{"class":254},[244,443,444],{"class":254}," @types/three",[244,446,447],{"class":254}," -D\n",[233,449,451],{"className":235,"code":450,"filename":262,"language":238,"meta":239,"style":239},"yarn add @types/three -D\n",[241,452,453],{"__ignoreMap":239},[244,454,455,457,459,461],{"class":246,"line":247},[244,456,262],{"class":250},[244,458,402],{"class":254},[244,460,444],{"class":254},[244,462,447],{"class":254},[233,464,466],{"className":235,"code":465,"filename":280,"language":238,"meta":239,"style":239},"pnpm add @types/three -D\n",[241,467,468],{"__ignoreMap":239},[244,469,470,472,474,476],{"class":246,"line":247},[244,471,280],{"class":250},[244,473,402],{"class":254},[244,475,444],{"class":254},[244,477,447],{"class":254},[364,479,481],{"id":480},"configure-vite","Configure Vite",[226,483,484,485,488],{},"Add the TresJS template compiler options to your ",[241,486,487],{},"vite.config.ts",":",[233,490,494],{"className":491,"code":492,"filename":487,"language":493,"meta":239,"style":239},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { templateCompilerOptions } from '@tresjs/core'\nimport { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      // Other config\n      ...templateCompilerOptions\n    }),\n  ],\n})\n","typescript",[241,495,496,525,546,564,570,588,600,610,617,626,638,646],{"__ignoreMap":239},[244,497,498,502,506,510,513,516,519,522],{"class":246,"line":247},[244,499,501],{"class":500},"s7zQu","import",[244,503,505],{"class":504},"sMK4o"," {",[244,507,509],{"class":508},"sTEyZ"," templateCompilerOptions",[244,511,512],{"class":504}," }",[244,514,515],{"class":500}," from",[244,517,518],{"class":504}," '",[244,520,521],{"class":254},"@tresjs/core",[244,523,524],{"class":504},"'\n",[244,526,528,530,532,535,537,539,541,544],{"class":246,"line":527},2,[244,529,501],{"class":500},[244,531,505],{"class":504},[244,533,534],{"class":508}," defineConfig",[244,536,512],{"class":504},[244,538,515],{"class":500},[244,540,518],{"class":504},[244,542,543],{"class":254},"vite",[244,545,524],{"class":504},[244,547,549,551,554,557,559,562],{"class":246,"line":548},3,[244,550,501],{"class":500},[244,552,553],{"class":508}," vue ",[244,555,556],{"class":500},"from",[244,558,518],{"class":504},[244,560,561],{"class":254},"@vitejs/plugin-vue",[244,563,524],{"class":504},[244,565,567],{"class":246,"line":566},4,[244,568,569],{"emptyLinePlaceholder":39},"\n",[244,571,573,576,579,582,585],{"class":246,"line":572},5,[244,574,575],{"class":500},"export",[244,577,578],{"class":500}," default",[244,580,534],{"class":581},"s2Zo4",[244,583,584],{"class":508},"(",[244,586,587],{"class":504},"{\n",[244,589,591,595,597],{"class":246,"line":590},6,[244,592,594],{"class":593},"swJcz","  plugins",[244,596,488],{"class":504},[244,598,599],{"class":508}," [\n",[244,601,603,606,608],{"class":246,"line":602},7,[244,604,605],{"class":581},"    vue",[244,607,584],{"class":508},[244,609,587],{"class":504},[244,611,613],{"class":246,"line":612},8,[244,614,616],{"class":615},"sHwdD","      // Other config\n",[244,618,620,623],{"class":246,"line":619},9,[244,621,622],{"class":504},"      ...",[244,624,625],{"class":508},"templateCompilerOptions\n",[244,627,629,632,635],{"class":246,"line":628},10,[244,630,631],{"class":504},"    }",[244,633,634],{"class":508},")",[244,636,637],{"class":504},",\n",[244,639,641,644],{"class":246,"line":640},11,[244,642,643],{"class":508},"  ]",[244,645,637],{"class":504},[244,647,649,652],{"class":246,"line":648},12,[244,650,651],{"class":504},"}",[244,653,654],{"class":508},")\n",[656,657,658],"prose-warning",{},[226,659,660],{},"This configuration is required to make the template compiler work with the TresJS custom renderer and prevent console warnings.",[364,662,664],{"id":663},"ecosystem-packages-optional","Ecosystem packages (Optional)",[226,666,667],{},"Install additional TresJS ecosystem packages for extended functionality:",[230,669,670,687,702],{},[233,671,673],{"className":235,"code":672,"filename":237,"language":238,"meta":239,"style":239},"npm install @tresjs/cientos @tresjs/post-processing\n",[241,674,675],{"__ignoreMap":239},[244,676,677,679,681,684],{"class":246,"line":247},[244,678,237],{"class":250},[244,680,384],{"class":254},[244,682,683],{"class":254}," @tresjs/cientos",[244,685,686],{"class":254}," @tresjs/post-processing\n",[233,688,690],{"className":235,"code":689,"filename":262,"language":238,"meta":239,"style":239},"yarn add @tresjs/cientos @tresjs/post-processing\n",[241,691,692],{"__ignoreMap":239},[244,693,694,696,698,700],{"class":246,"line":247},[244,695,262],{"class":250},[244,697,402],{"class":254},[244,699,683],{"class":254},[244,701,686],{"class":254},[233,703,705],{"className":235,"code":704,"filename":280,"language":238,"meta":239,"style":239},"pnpm add @tresjs/cientos @tresjs/post-processing\n",[241,706,707],{"__ignoreMap":239},[244,708,709,711,713,715],{"class":246,"line":247},[244,710,280],{"class":250},[244,712,402],{"class":254},[244,714,683],{"class":254},[244,716,686],{"class":254},[337,718,719,727],{},[226,720,721,722,488],{},"These packages will be automatically imported by the ",[723,724,726],"a",{"href":725},"/getting-started/installation#nuxt-project","Nuxt module",[305,728,729,735],{},[308,730,731,734],{},[297,732,733],{},"Cientos",": A collection of useful helpers and components",[308,736,737,740],{},[297,738,739],{},"Post-processing",": Post-processing effects for enhanced visuals",[217,742,744,745],{"id":743},"nuxt-project","Nuxt project ",[222,746],{"name":747},"i-simple-icons-nuxt",[226,749,750],{},"If you're using Nuxt, you can use the official TresJS Nuxt module for a seamless integration experience.",[361,752,753,757,760,809,813,827,873,877,880],{},[364,754,756],{"id":755},"install-the-nuxt-module","Install the Nuxt module",[226,758,759],{},"Install the TresJS Nuxt module and Three.js:",[230,761,762,779,794],{},[233,763,765],{"className":235,"code":764,"filename":237,"language":238,"meta":239,"style":239},"npm install three @tresjs/nuxt\n",[241,766,767],{"__ignoreMap":239},[244,768,769,771,773,776],{"class":246,"line":247},[244,770,237],{"class":250},[244,772,384],{"class":254},[244,774,775],{"class":254}," three",[244,777,778],{"class":254}," @tresjs/nuxt\n",[233,780,782],{"className":235,"code":781,"filename":262,"language":238,"meta":239,"style":239},"yarn add three @tresjs/nuxt\n",[241,783,784],{"__ignoreMap":239},[244,785,786,788,790,792],{"class":246,"line":247},[244,787,262],{"class":250},[244,789,402],{"class":254},[244,791,775],{"class":254},[244,793,778],{"class":254},[233,795,797],{"className":235,"code":796,"filename":280,"language":238,"meta":239,"style":239},"pnpm add three @tresjs/nuxt\n",[241,798,799],{"__ignoreMap":239},[244,800,801,803,805,807],{"class":246,"line":247},[244,802,280],{"class":250},[244,804,402],{"class":254},[244,806,775],{"class":254},[244,808,778],{"class":254},[364,810,812],{"id":811},"configure-the-module","Configure the module",[226,814,815,816,819,820,823,824,488],{},"Add ",[241,817,818],{},"@tresjs/nuxt"," to the ",[241,821,822],{},"modules"," section of your ",[241,825,826],{},"nuxt.config.ts",[233,828,830],{"className":491,"code":829,"filename":826,"language":493,"meta":239,"style":239},"export default defineNuxtConfig({\n  modules: ['@tresjs/nuxt'],\n})\n",[241,831,832,845,867],{"__ignoreMap":239},[244,833,834,836,838,841,843],{"class":246,"line":247},[244,835,575],{"class":500},[244,837,578],{"class":500},[244,839,840],{"class":581}," defineNuxtConfig",[244,842,584],{"class":508},[244,844,587],{"class":504},[244,846,847,850,852,855,858,860,862,865],{"class":246,"line":527},[244,848,849],{"class":593},"  modules",[244,851,488],{"class":504},[244,853,854],{"class":508}," [",[244,856,857],{"class":504},"'",[244,859,818],{"class":254},[244,861,857],{"class":504},[244,863,864],{"class":508},"]",[244,866,637],{"class":504},[244,868,869,871],{"class":246,"line":548},[244,870,651],{"class":504},[244,872,654],{"class":508},[364,874,876],{"id":875},"start-using-tresjs","Start using TresJS",[226,878,879],{},"That's it! The module provides several benefits:",[302,881,882],{},[305,883,884,891,909,916],{},[308,885,886,887,890],{},"🤓 ",[297,888,889],{},"Auto-import"," components and composables from the TresJS ecosystem",[308,892,893,894,897,898,901,902,905,906,634],{},"🖥️ ",[297,895,896],{},"Client-only rendering"," for ",[241,899,900],{},"TresCanvas"," (no need for ",[241,903,904],{},".client"," suffix or ",[241,907,908],{},"\u003CClientOnly />",[308,910,911,912,915],{},"⚙️ ",[297,913,914],{},"Automatic configuration"," of the Vue compiler for TresJS components",[308,917,918,919,922],{},"✨ ",[297,920,921],{},"DX Magic"," that comes with Nuxt",[924,925,926],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":239,"searchDepth":247,"depth":527,"links":928},[929,930,931,934],{"id":219,"depth":527,"text":220},{"id":351,"depth":527,"text":352},{"id":358,"depth":527,"text":359,"children":932},[933],{"id":663,"depth":548,"text":664},{"id":743,"depth":527,"text":744},"Get started with TresJS.","md",null,{},{"icon":16},{"description":941,"title":13},"Learn how to install and set up TresJS in your Vue project.","TR0XDWS8DD1QkWBjulZlWREMKTr2gbRrjdfSuMdLkrU",[944,946],{"title":10,"path":6,"stem":7,"description":945,"icon":11,"children":-1},"TresJS's goal is to make 3D development approachable for Vue developers by using familiar concepts, such as components and composables, thereby reducing the Three.js learning curve.",{"title":18,"path":19,"stem":20,"description":947,"icon":21,"children":-1},"Learn how to create your first 3D scene with TresJS with this step-by-step guide.",1768600243235]