[{"data":1,"prerenderedAt":451},["ShallowReactive",2],{"navigation":3,"/community/awesome-resources":239,"/community/awesome-resources-surround":446},[4,29,78,173,205,215,219,223,227,231,235],{"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,62,66,70,74],{"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},"Constructor Arguments","/essentials/concepts/constructor-arguments","2.essentials/2.concepts/3.constructor-arguments",{"title":67,"path":68,"stem":69},"Declarative Properties","/essentials/concepts/declarative-properties","2.essentials/2.concepts/4.declarative-properties",{"title":71,"path":72,"stem":73},"Extending the Catalogue","/essentials/concepts/extending-catalogue","2.essentials/2.concepts/5.extending-catalogue",{"title":75,"path":76,"stem":77},"Child Attachments","/essentials/concepts/child-attachments","2.essentials/2.concepts/6.child-attachments",{"title":79,"path":80,"stem":81,"children":82},"API","/api","3.api",[83,86,104,131,141,155],{"title":84,"path":80,"stem":85},"TresJS API Reference","3.api/1.index",{"title":87,"icon":88,"open":39,"path":89,"stem":90,"children":91,"page":47},"Components","i-lucide-box","/api/components","3.api/1.components",[92,96,100],{"title":93,"path":94,"stem":95},"\u003CTresCanvas />","/api/components/tres-canvas","3.api/1.components/tres-canvas",{"title":97,"path":98,"stem":99},"\u003CTresCanvasContext />","/api/components/tres-context","3.api/1.components/tres-context",{"title":101,"path":102,"stem":103},"Tres Components","/api/components/tres-objects","3.api/1.components/tres-objects",{"title":105,"titleTemplate":106,"icon":107,"path":108,"stem":109,"children":110,"page":47},"Composables","%s · TresJS Composables","i-lucide-arrow-right-left","/api/composables","3.api/2.composables",[111,115,119,123,127],{"title":112,"path":113,"stem":114},"useTres","/api/composables/use-tres","3.api/2.composables/1.use-tres",{"title":116,"path":117,"stem":118},"useTresContext","/api/composables/use-tres-context","3.api/2.composables/2.use-tres-context",{"title":120,"path":121,"stem":122},"useLoop","/api/composables/use-loop","3.api/2.composables/3.use-loop",{"title":124,"path":125,"stem":126},"useGraph","/api/composables/use-graph","3.api/2.composables/4.use-graph",{"title":128,"path":129,"stem":130},"useLoader","/api/composables/use-loader","3.api/2.composables/5.use-loader",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":47},"Event handling","i-lucide-mouse-pointer-2","/api/events","3.api/3.events",[137],{"title":138,"path":139,"stem":140},"Pointer Events","/api/events/pointer-events","3.api/3.events/1.pointer-events",{"title":142,"icon":143,"path":144,"stem":145,"children":146,"page":47},"Utils","i-lucide-wrench","/api/utils","3.api/4.utils",[147,151],{"title":148,"path":149,"stem":150},"Type Guards","/api/utils/type-guards","3.api/4.utils/1.type-guards",{"title":152,"path":153,"stem":154},"Directives","/api/utils/directives","3.api/4.utils/2.directives",{"title":156,"icon":157,"path":158,"stem":159,"children":160,"page":47},"Advanced","i-lucide-brain-circuit","/api/advanced","3.api/5.advanced",[161,165,169],{"title":162,"path":163,"stem":164},"Scaling Performance 🚀","/api/advanced/performance","3.api/5.advanced/performance",{"title":166,"path":167,"stem":168},"Primitives","/api/advanced/primitives","3.api/5.advanced/primitives",{"title":170,"path":171,"stem":172},"WebGPU","/api/advanced/web-gpu","3.api/5.advanced/web-gpu",{"title":174,"path":175,"stem":176,"children":177},"Cookbook","/cookbook","4.cookbook",[178,181,185,189,193,197,201],{"title":179,"path":175,"stem":180},"Cookbook 🍳🧑‍🍳","4.cookbook/index",{"title":182,"path":183,"stem":184},"OrbitControls","/cookbook/orbit-controls","4.cookbook/1.orbit-controls",{"title":186,"path":187,"stem":188},"Basic Animations","/cookbook/basic-animations","4.cookbook/2.basic-animations",{"title":190,"path":191,"stem":192},"Model Animation","/cookbook/model-animation","4.cookbook/3.model-animation",{"title":194,"path":195,"stem":196},"Advanced GSAP Animations","/cookbook/advanced-gsap-animations","4.cookbook/4.advanced-gsap-animations",{"title":198,"path":199,"stem":200},"Tweakpane","/cookbook/tweakpane","4.cookbook/5.tweakpane",{"title":202,"path":203,"stem":204},"Dynamic components","/cookbook/transition-dynamic","4.cookbook/6.transition-dynamic",{"title":206,"path":207,"stem":208,"children":209},"Community","/community","5.community/1.index",[210,211],{"title":206,"path":207,"stem":208},{"title":212,"path":213,"stem":214},"Awesome Resources","/community/awesome-resources","5.community/awesome-resources",{"title":216,"path":217,"stem":218},"German Translation","/de","de",{"title":220,"path":221,"stem":222},"Spanish Translation","/es","es",{"title":224,"path":225,"stem":226},"French Translation","/fr","fr",{"title":228,"path":229,"stem":230},"Italian Translation","/it","it",{"title":232,"path":233,"stem":234},"Japanese Translation","/jp","jp",{"title":236,"path":237,"stem":238},"Chinese Translation","/zh","zh",{"id":240,"title":212,"body":241,"description":440,"extension":441,"links":442,"meta":443,"navigation":39,"path":213,"seo":444,"stem":214,"__hash__":445},"docs/5.community/awesome-resources.md",{"type":242,"value":243,"toc":430},"minimark",[244,252,257,289,292,296,305,311,315,345,349,372,376,392,396],[245,246,247],"p",{},[248,249],"img",{"alt":250,"src":251},"","/tres-post-processing-banner.png",[253,254,256],"h2",{"id":255},"community-plugins","Community plugins",[258,259,260,276],"ul",{},[261,262,263,270,271],"li",{},[264,265,269],"a",{"href":266,"rel":267},"https://github.com/toddeTV/gltf-type-toolkit",[268],"nofollow","Gltf-Type-Toolkit"," (Generates type-safe glTF file representations in TypeScript) by ",[264,272,275],{"href":273,"rel":274},"https://github.com/toddeTV",[268],"toddeTV",[261,277,278,283,284],{},[264,279,282],{"href":280,"rel":281},"https://github.com/JaimeTorrealba/three-scatter",[268],"three-scatter"," (helps scatter meshes with Threejs) by ",[264,285,288],{"href":286,"rel":287},"https://github.com/JaimeTorrealba",[268],"JaimeTorrealba",[245,290,291],{},"You have a community plugin that helps solve a problem?\nPlease open a pull request and let us know more details about what your plugin solves, so we can review it and add it to the list.",[253,293,295],{"id":294},"courses-on-tresjs-v5","Courses on TresJS v5",[258,297,298],{},[261,299,300],{},[264,301,304],{"href":302,"rel":303},"https://www.youtube.com/watch?v=1ryWEqumhYI",[268],"Build a 3D Nuxt 4 e-commerce Website by Lucie Haberer",[306,307,308],"prose-note",{},[245,309,310],{},"The following resources are almost exclusively using Tres v4, we will add new resources covering v5 over time.",[253,312,314],{"id":313},"recent-talks-on-tresjs","Recent talks on TresJS",[258,316,317,324,331,338],{},[261,318,319],{},[264,320,323],{"href":321,"rel":322},"https://www.youtube.com/watch?v=k_BEfbY9wrw",[268],"Bring the Magic of 3D to Your Vue Applications With TresJS by Alvaro Saburido",[261,325,326],{},[264,327,330],{"href":328,"rel":329},"https://www.youtube.com/watch?v=l_-Zx_HQYE4",[268],"Vue.js Talks #8 — 3D with Vue.js and Three.js, Formwerk, Latest Frontend Trends April 2025",[261,332,333],{},[264,334,337],{"href":335,"rel":336},"https://www.youtube.com/watch?v=MVwN7DAzMFo",[268],"Vue.js Nation 2025: Alvaro Saburido - TresJS Effects for Jaw-Dropping Visuals!",[261,339,340],{},[264,341,344],{"href":342,"rel":343},"https://www.youtube.com/watch?v=o5zTGtHb5-o",[268],"Nuxt Nation 2024: Thorsten Seyschab - Playing with Nuxt in 3D",[253,346,348],{"id":347},"recent-articles-on-tresjs","Recent articles on TresJS",[258,350,351,358,365],{},[261,352,353],{},[264,354,357],{"href":355,"rel":356},"https://medium.com/stackademic/multi-cameras-with-tresjs-26a54d06878e",[268],"Multi-Cameras with TresJS",[261,359,360],{},[264,361,364],{"href":362,"rel":363},"https://medium.com/stackademic/how-to-create-an-infinite-tube-with-tresjs-e9ff4fc76e86",[268],"How to create an infinite tube with TresJS",[261,366,367],{},[264,368,371],{"href":369,"rel":370},"https://medium.com/@Jaimebboyjt/3d-pixel-art-on-the-web-f70fbf68fb4f",[268],"3D Pixel Art on the Web",[253,373,375],{"id":374},"games-built-with-tresjs","Games built with TresJS",[258,377,378,385],{},[261,379,380],{},[264,381,384],{"href":382,"rel":383},"https://nuxt-3d-dnd-game.fly.dev/",[268],"Dungeons & Dragons-like 3D game, built entirely with Nuxt, TresJS, and ThreeJS",[261,386,387],{},[264,388,391],{"href":389,"rel":390},"https://zlig.net/game",[268],"zlig is a Japanese zen-inspired idle browser game",[253,393,395],{"id":394},"courses","Courses",[258,397,398,406,414,422],{},[261,399,400,401],{},"Egghead Course by Alvaro ",[264,402,405],{"href":403,"rel":404},"https://egghead.io/courses/create-interactive-3d-experiences-with-tresjs-004057c2",[268],"Create Interactive 3D Experiences with TresJS",[261,407,408,409],{},"Become a Three.js developer ",[264,410,413],{"href":411,"rel":412},"https://threejs-journey.com/?c=p3",[268],"ThreeJS Journey by Bruno Simon",[261,415,416,417],{},"Crea experiencias 3D increíbles con Vue (Spanish 🇪🇸) ",[264,418,421],{"href":419,"rel":420},"https://midu.dev/curso/experiencias-3d-con-vue",[268],"Crea experiencias 3D increíbles con Vue by Alvaro Saburido",[261,423,424,425],{},"Tresjs, interfaces 3D con VueJs by Jaime Torrealba (Spanish 🇪🇸) ",[264,426,429],{"href":427,"rel":428},"https://www.udemy.com/course/tresjs-interfaces-3d-con-vuejs/",[268],"Tresjs, interfaces 3D con VueJs by Jaime Torrealba",{"title":250,"searchDepth":431,"depth":432,"links":433},1,2,[434,435,436,437,438,439],{"id":255,"depth":432,"text":256},{"id":294,"depth":432,"text":295},{"id":313,"depth":432,"text":314},{"id":347,"depth":432,"text":348},{"id":374,"depth":432,"text":375},{"id":394,"depth":432,"text":395},"A curated list of interesting TresJS community resources.","md",null,{},{"title":212,"description":440},"jfCKBD6jjwmT_Lv9ZOElrH1QFFf7C4vqsFthZ5XSTMQ",[447,449],{"title":206,"path":207,"stem":208,"description":448,"children":-1},"Find answers and support from the community.",{"title":216,"path":217,"stem":218,"description":450,"children":-1},"Wir haben derzeit keine deutsche Übersetzung der TresJS v5 Dokumentation.",1774953664521]