[{"data":1,"prerenderedAt":1022},["ShallowReactive",2],{"navigation":3,"\u002Fgetting-started\u002Fupgrade-guide":498,"\u002Fgetting-started\u002Fupgrade-guide-surround":1017},[4,26],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation Guide","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage",{"title":19,"path":20,"stem":21},"Loading Models","\u002Fgetting-started\u002Floading-models","1.getting-started\u002F4.loading-models",{"title":23,"path":24,"stem":25},"Upgrade Guide","\u002Fgetting-started\u002Fupgrade-guide","1.getting-started\u002F5.upgrade-guide",{"title":27,"path":28,"stem":29,"children":30},"Api","\u002Fapi","2.api",[31,34,96,126,168,210,308,334,368,418,464],{"title":32,"path":28,"stem":33},"All","2.api\u002Findex",{"title":35,"path":36,"stem":37,"children":38},"Abstractions","\u002Fapi\u002Fabstractions","2.api\u002F1.abstractions\u002Findex",[39,40,44,48,52,56,60,64,68,72,76,80,84,88,92],{"title":35,"path":36,"stem":37},{"title":41,"path":42,"stem":43},"Align","\u002Fapi\u002Fabstractions\u002Falign","2.api\u002F1.abstractions\u002Falign",{"title":45,"path":46,"stem":47},"Billboard","\u002Fapi\u002Fabstractions\u002Fbillboard","2.api\u002F1.abstractions\u002Fbillboard",{"title":49,"path":50,"stem":51},"Camera Shake","\u002Fapi\u002Fabstractions\u002Fcamera-shake","2.api\u002F1.abstractions\u002Fcamera-shake",{"title":53,"path":54,"stem":55},"Decal","\u002Fapi\u002Fabstractions\u002Fdecal","2.api\u002F1.abstractions\u002Fdecal",{"title":57,"path":58,"stem":59},"Edges","\u002Fapi\u002Fabstractions\u002Fedges","2.api\u002F1.abstractions\u002Fedges",{"title":61,"path":62,"stem":63},"Fit","\u002Fapi\u002Fabstractions\u002Ffit","2.api\u002F1.abstractions\u002Ffit",{"title":65,"path":66,"stem":67},"Instances","\u002Fapi\u002Fabstractions\u002Finstances","2.api\u002F1.abstractions\u002Finstances",{"title":69,"path":70,"stem":71},"Levioso (Float)","\u002Fapi\u002Fabstractions\u002Flevioso","2.api\u002F1.abstractions\u002Flevioso",{"title":73,"path":74,"stem":75},"Mask","\u002Fapi\u002Fabstractions\u002Fmask","2.api\u002F1.abstractions\u002Fmask",{"title":77,"path":78,"stem":79},"Merged","\u002Fapi\u002Fabstractions\u002Fmerged","2.api\u002F1.abstractions\u002Fmerged",{"title":81,"path":82,"stem":83},"Outline","\u002Fapi\u002Fabstractions\u002Foutline","2.api\u002F1.abstractions\u002Foutline",{"title":85,"path":86,"stem":87},"Sampler","\u002Fapi\u002Fabstractions\u002Fsampler","2.api\u002F1.abstractions\u002Fsampler",{"title":89,"path":90,"stem":91},"ScreenSizer","\u002Fapi\u002Fabstractions\u002Fscreen-sizer","2.api\u002F1.abstractions\u002Fscreen-sizer",{"title":93,"path":94,"stem":95},"ScreenSpace","\u002Fapi\u002Fabstractions\u002Fscreen-space","2.api\u002F1.abstractions\u002Fscreen-space",{"title":97,"path":98,"stem":99,"children":100},"Controls","\u002Fapi\u002Fcontrols","2.api\u002F2.controls\u002Findex",[101,102,106,110,114,118,122],{"title":97,"path":98,"stem":99},{"title":103,"path":104,"stem":105},"Camera Controls","\u002Fapi\u002Fcontrols\u002Fcamera-controls","2.api\u002F2.controls\u002Fcamera-controls",{"title":107,"path":108,"stem":109},"Keyboard Controls","\u002Fapi\u002Fcontrols\u002Fkeyboard-controls","2.api\u002F2.controls\u002Fkeyboard-controls",{"title":111,"path":112,"stem":113},"Map Controls","\u002Fapi\u002Fcontrols\u002Fmap-controls","2.api\u002F2.controls\u002Fmap-controls",{"title":115,"path":116,"stem":117},"Orbit Controls","\u002Fapi\u002Fcontrols\u002Forbit-controls","2.api\u002F2.controls\u002Forbit-controls",{"title":119,"path":120,"stem":121},"PointerLock Controls","\u002Fapi\u002Fcontrols\u002Fpointer-lock-controls","2.api\u002F2.controls\u002Fpointer-lock-controls",{"title":123,"path":124,"stem":125},"Transform Controls","\u002Fapi\u002Fcontrols\u002Ftransform-controls","2.api\u002F2.controls\u002Ftransform-controls",{"title":127,"path":128,"stem":129,"children":130},"Loaders","\u002Fapi\u002Floaders","2.api\u002F3.loaders\u002Findex",[131,132,136,140,144,148,152,156,160,164],{"title":127,"path":128,"stem":129},{"title":133,"path":134,"stem":135},"useGLTF","\u002Fapi\u002Floaders\u002Fuse-gltf","2.api\u002F3.loaders\u002F1.use-gltf",{"title":137,"path":138,"stem":139},"GLTFModel","\u002Fapi\u002Floaders\u002Fgltf-model","2.api\u002F3.loaders\u002F2.gltf-model",{"title":141,"path":142,"stem":143},"useFBX","\u002Fapi\u002Floaders\u002Fuse-fbx","2.api\u002F3.loaders\u002F3.use-fbx",{"title":145,"path":146,"stem":147},"FBXModel","\u002Fapi\u002Floaders\u002Ffbx-model","2.api\u002F3.loaders\u002F4.fbx-model",{"title":149,"path":150,"stem":151},"useTexture","\u002Fapi\u002Floaders\u002Fuse-texture","2.api\u002F3.loaders\u002F5.use-texture",{"title":153,"path":154,"stem":155},"useTextures","\u002Fapi\u002Floaders\u002Fuse-textures","2.api\u002F3.loaders\u002F6.use-textures",{"title":157,"path":158,"stem":159},"useSVG","\u002Fapi\u002Floaders\u002Fuse-svg","2.api\u002F3.loaders\u002F7.use-svg",{"title":161,"path":162,"stem":163},"useProgress","\u002Fapi\u002Floaders\u002Fuse-progress","2.api\u002F3.loaders\u002Fuse-progress",{"title":165,"path":166,"stem":167},"useVideoTexture","\u002Fapi\u002Floaders\u002Fuse-video-texture","2.api\u002F3.loaders\u002Fuse-video-texture",{"title":169,"path":170,"stem":171,"children":172},"Materials","\u002Fapi\u002Fmaterials","2.api\u002F4.materials\u002Findex",[173,174,178,182,186,190,194,198,202,206],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"Custom Shader Material","\u002Fapi\u002Fmaterials\u002Fcustom-shader-material","2.api\u002F4.materials\u002Fcustom-shader-material",{"title":179,"path":180,"stem":181},"Mesh Glass Material","\u002Fapi\u002Fmaterials\u002Fglass-material","2.api\u002F4.materials\u002Fglass-material",{"title":183,"path":184,"stem":185},"Holographic Material","\u002Fapi\u002Fmaterials\u002Fholographic-material","2.api\u002F4.materials\u002Fholographic-material",{"title":187,"path":188,"stem":189},"Mesh Discard Material","\u002Fapi\u002Fmaterials\u002Fmesh-discard-material","2.api\u002F4.materials\u002Fmesh-discard-material",{"title":191,"path":192,"stem":193},"Mesh Portal Material","\u002Fapi\u002Fmaterials\u002Fmesh-portal-material","2.api\u002F4.materials\u002Fmesh-portal-material",{"title":195,"path":196,"stem":197},"Mesh Reflection Material","\u002Fapi\u002Fmaterials\u002Fmesh-reflection-material","2.api\u002F4.materials\u002Fmesh-reflection-material",{"title":199,"path":200,"stem":201},"Mesh Transmission Material","\u002Fapi\u002Fmaterials\u002Fmesh-transmission-material","2.api\u002F4.materials\u002Fmesh-transmission-material",{"title":203,"path":204,"stem":205},"Point Material","\u002Fapi\u002Fmaterials\u002Fpoint-material","2.api\u002F4.materials\u002Fpoint-material",{"title":207,"path":208,"stem":209},"Wobble Material","\u002Fapi\u002Fmaterials\u002Fwobble-material","2.api\u002F4.materials\u002Fwobble-material",{"title":211,"path":212,"stem":213,"children":214},"Shapes","\u002Fapi\u002Fshapes","2.api\u002F5.shapes\u002Findex",[215,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304],{"title":211,"path":212,"stem":213},{"title":217,"path":218,"stem":219},"Box","\u002Fapi\u002Fshapes\u002Fbox","2.api\u002F5.shapes\u002Fbox",{"title":221,"path":222,"stem":223},"CatmullRomCurve3","\u002Fapi\u002Fshapes\u002Fcatmullromcurve3","2.api\u002F5.shapes\u002Fcatmullromcurve3",{"title":225,"path":226,"stem":227},"Circle","\u002Fapi\u002Fshapes\u002Fcircle","2.api\u002F5.shapes\u002Fcircle",{"title":229,"path":230,"stem":231},"Cone","\u002Fapi\u002Fshapes\u002Fcone","2.api\u002F5.shapes\u002Fcone",{"title":233,"path":234,"stem":235},"Cubic Bezier Line","\u002Fapi\u002Fshapes\u002Fcubic-bezier-line","2.api\u002F5.shapes\u002Fcubic-bezier-line",{"title":237,"path":238,"stem":239},"Cylinder","\u002Fapi\u002Fshapes\u002Fcylinder","2.api\u002F5.shapes\u002Fcylinder",{"title":241,"path":242,"stem":243},"Dodecahedron","\u002Fapi\u002Fshapes\u002Fdodecahedron","2.api\u002F5.shapes\u002Fdodecahedron",{"title":245,"path":246,"stem":247},"Grid","\u002Fapi\u002Fshapes\u002Fgrid","2.api\u002F5.shapes\u002Fgrid",{"title":249,"path":250,"stem":251},"Icosahedron","\u002Fapi\u002Fshapes\u002Ficosahedron","2.api\u002F5.shapes\u002Ficosahedron",{"title":253,"path":254,"stem":255},"Line2","\u002Fapi\u002Fshapes\u002Fline2","2.api\u002F5.shapes\u002Fline2",{"title":257,"path":258,"stem":259},"Octahedron","\u002Fapi\u002Fshapes\u002Foctahedron","2.api\u002F5.shapes\u002Foctahedron",{"title":261,"path":262,"stem":263},"Plane","\u002Fapi\u002Fshapes\u002Fplane","2.api\u002F5.shapes\u002Fplane",{"title":265,"path":266,"stem":267},"Quadratic Bezier Line","\u002Fapi\u002Fshapes\u002Fquadratic-bezier-line","2.api\u002F5.shapes\u002Fquadratic-bezier-line",{"title":269,"path":270,"stem":271},"Ring","\u002Fapi\u002Fshapes\u002Fring","2.api\u002F5.shapes\u002Fring",{"title":273,"path":274,"stem":275},"Rounded Box","\u002Fapi\u002Fshapes\u002Frounded-box","2.api\u002F5.shapes\u002Frounded-box",{"title":277,"path":278,"stem":279},"Rounded Plane","\u002Fapi\u002Fshapes\u002Frounded-plane","2.api\u002F5.shapes\u002Frounded-plane",{"title":281,"path":282,"stem":283},"Screen Quad","\u002Fapi\u002Fshapes\u002Fscreen-quad","2.api\u002F5.shapes\u002Fscreen-quad",{"title":285,"path":286,"stem":287},"Sphere","\u002Fapi\u002Fshapes\u002Fsphere","2.api\u002F5.shapes\u002Fsphere",{"title":289,"path":290,"stem":291},"Superformula","\u002Fapi\u002Fshapes\u002Fsuperformula","2.api\u002F5.shapes\u002Fsuperformula",{"title":293,"path":294,"stem":295},"Tetrahedron","\u002Fapi\u002Fshapes\u002Ftetrahedron","2.api\u002F5.shapes\u002Ftetrahedron",{"title":297,"path":298,"stem":299},"Torus","\u002Fapi\u002Fshapes\u002Ftorus","2.api\u002F5.shapes\u002Ftorus",{"title":301,"path":302,"stem":303},"Torus Knot","\u002Fapi\u002Fshapes\u002Ftorus-knot","2.api\u002F5.shapes\u002Ftorus-knot",{"title":305,"path":306,"stem":307},"Tube","\u002Fapi\u002Fshapes\u002Ftube","2.api\u002F5.shapes\u002Ftube",{"title":309,"path":310,"stem":311,"children":312},"Debug\u002FPerformance","\u002Fapi\u002Fdebug-performance","2.api\u002F6.debug-performance\u002Findex",[313,314,318,322,326,330],{"title":309,"path":310,"stem":311},{"title":315,"path":316,"stem":317},"Helper","\u002Fapi\u002Fdebug-performance\u002Fhelper","2.api\u002F6.debug-performance\u002Fhelper",{"title":319,"path":320,"stem":321},"LOD","\u002Fapi\u002Fdebug-performance\u002Flod","2.api\u002F6.debug-performance\u002Flod",{"title":323,"path":324,"stem":325},"Stats","\u002Fapi\u002Fdebug-performance\u002Fstats","2.api\u002F6.debug-performance\u002Fstats",{"title":327,"path":328,"stem":329},"StatsGl","\u002Fapi\u002Fdebug-performance\u002Fstats-gl","2.api\u002F6.debug-performance\u002Fstats-gl",{"title":331,"path":332,"stem":333},"useBVH","\u002Fapi\u002Fdebug-performance\u002Fuse-bvh","2.api\u002F6.debug-performance\u002Fuse-bvh",{"title":335,"path":336,"stem":337,"children":338},"Light\u002FShadow","\u002Fapi\u002Flight-shadow","2.api\u002F7.light-shadow\u002Findex",[339,340,344,348,352,356,360,364],{"title":335,"path":336,"stem":337},{"title":341,"path":342,"stem":343},"Accumulative Shadows","\u002Fapi\u002Flight-shadow\u002Faccumulative-shadows","2.api\u002F7.light-shadow\u002Faccumulative-shadows",{"title":345,"path":346,"stem":347},"Bake Shadows","\u002Fapi\u002Flight-shadow\u002Fbake-shadows","2.api\u002F7.light-shadow\u002Fbake-shadows",{"title":349,"path":350,"stem":351},"Circle Shadow","\u002Fapi\u002Flight-shadow\u002Fcircle-shadow","2.api\u002F7.light-shadow\u002Fcircle-shadow",{"title":353,"path":354,"stem":355},"Contact Shadows","\u002Fapi\u002Flight-shadow\u002Fcontact-shadows","2.api\u002F7.light-shadow\u002Fcontact-shadows",{"title":357,"path":358,"stem":359},"Lensflare","\u002Fapi\u002Flight-shadow\u002Flensflare","2.api\u002F7.light-shadow\u002Flensflare",{"title":361,"path":362,"stem":363},"Randomized Lights","\u002Fapi\u002Flight-shadow\u002Frandomized-lights","2.api\u002F7.light-shadow\u002Frandomized-lights",{"title":365,"path":366,"stem":367},"Soft Shadows","\u002Fapi\u002Flight-shadow\u002Fsoft-shadows","2.api\u002F7.light-shadow\u002Fsoft-shadows",{"title":369,"path":370,"stem":371,"children":372},"Staging","\u002Fapi\u002Fstaging","2.api\u002F8.staging\u002Findex",[373,374,378,382,386,390,394,398,402,406,410,414],{"title":369,"path":370,"stem":371},{"title":375,"path":376,"stem":377},"Environment","\u002Fapi\u002Fstaging\u002Fenvironment","2.api\u002F8.staging\u002F1.environment",{"title":379,"path":380,"stem":381},"useEnvironment","\u002Fapi\u002Fstaging\u002Fuse-environment","2.api\u002F8.staging\u002F2.use-environment",{"title":383,"path":384,"stem":385},"Lightformer","\u002Fapi\u002Fstaging\u002Flightformer","2.api\u002F8.staging\u002F3.lightformer",{"title":387,"path":388,"stem":389},"Backdrop","\u002Fapi\u002Fstaging\u002Fbackdrop","2.api\u002F8.staging\u002Fbackdrop",{"title":391,"path":392,"stem":393},"Ocean","\u002Fapi\u002Fstaging\u002Focean","2.api\u002F8.staging\u002Focean",{"title":395,"path":396,"stem":397},"Precipitation","\u002Fapi\u002Fstaging\u002Fprecipitation","2.api\u002F8.staging\u002Fprecipitation",{"title":399,"path":400,"stem":401},"Sky","\u002Fapi\u002Fstaging\u002Fsky","2.api\u002F8.staging\u002Fsky",{"title":403,"path":404,"stem":405},"Smoke","\u002Fapi\u002Fstaging\u002Fsmoke","2.api\u002F8.staging\u002Fsmoke",{"title":407,"path":408,"stem":409},"Sparkles","\u002Fapi\u002Fstaging\u002Fsparkles","2.api\u002F8.staging\u002Fsparkles",{"title":411,"path":412,"stem":413},"Stage","\u002Fapi\u002Fstaging\u002Fstage","2.api\u002F8.staging\u002Fstage",{"title":415,"path":416,"stem":417},"Stars","\u002Fapi\u002Fstaging\u002Fstars","2.api\u002F8.staging\u002Fstars",{"title":419,"path":420,"stem":421,"children":422},"Objects","\u002Fapi\u002Fobjects","2.api\u002F9.objects\u002Findex",[423,424,428,432,436,440,444,448,452,456,460],{"title":419,"path":420,"stem":421},{"title":425,"path":426,"stem":427},"AnimatedSprite","\u002Fapi\u002Fobjects\u002Fanimated-sprite","2.api\u002F9.objects\u002Fanimated-sprite",{"title":429,"path":430,"stem":431},"CubeCamera","\u002Fapi\u002Fobjects\u002Fcube-camera","2.api\u002F9.objects\u002Fcube-camera",{"title":433,"path":434,"stem":435},"Fbo","\u002Fapi\u002Fobjects\u002Ffbo","2.api\u002F9.objects\u002Ffbo",{"title":437,"path":438,"stem":439},"GradientTexture","\u002Fapi\u002Fobjects\u002Fgradient-texture","2.api\u002F9.objects\u002Fgradient-texture",{"title":441,"path":442,"stem":443},"HTML","\u002Fapi\u002Fobjects\u002Fhtml","2.api\u002F9.objects\u002Fhtml",{"title":445,"path":446,"stem":447},"Image","\u002Fapi\u002Fobjects\u002Fimage","2.api\u002F9.objects\u002Fimage",{"title":449,"path":450,"stem":451},"MarchingCubes","\u002Fapi\u002Fobjects\u002Fmarching-cubes","2.api\u002F9.objects\u002Fmarching-cubes",{"title":453,"path":454,"stem":455},"Reflector","\u002Fapi\u002Fobjects\u002Freflector","2.api\u002F9.objects\u002Freflector",{"title":457,"path":458,"stem":459},"Refractor","\u002Fapi\u002Fobjects\u002Frefractor","2.api\u002F9.objects\u002Frefractor",{"title":461,"path":462,"stem":463},"Text3D","\u002Fapi\u002Fobjects\u002Ftext-3d","2.api\u002F9.objects\u002Ftext-3d",{"title":465,"path":466,"stem":467,"children":468},"Miscellaneous","\u002Fapi\u002Fmiscellaneous","2.api\u002Fmiscellaneous\u002Findex",[469,470,474,478,482,486,490,494],{"title":465,"path":466,"stem":467},{"title":471,"path":472,"stem":473},"Bounds","\u002Fapi\u002Fmiscellaneous\u002Fbounds","2.api\u002Fmiscellaneous\u002Fbounds",{"title":475,"path":476,"stem":477},"GlobalAudio","\u002Fapi\u002Fmiscellaneous\u002Fglobal-audio","2.api\u002Fmiscellaneous\u002Fglobal-audio",{"title":479,"path":480,"stem":481},"MouseParallax","\u002Fapi\u002Fmiscellaneous\u002Fmouse-parallax","2.api\u002Fmiscellaneous\u002Fmouse-parallax",{"title":483,"path":484,"stem":485},"PositionalAudio","\u002Fapi\u002Fmiscellaneous\u002Fpositional-audio","2.api\u002Fmiscellaneous\u002Fpositional-audio",{"title":487,"path":488,"stem":489},"useAnimations","\u002Fapi\u002Fmiscellaneous\u002Fuse-animations","2.api\u002Fmiscellaneous\u002Fuse-animations",{"title":491,"path":492,"stem":493},"useGLTFExporter","\u002Fapi\u002Fmiscellaneous\u002Fuse-gltf-exporter","2.api\u002Fmiscellaneous\u002Fuse-gltf-exporter",{"title":495,"path":496,"stem":497},"useIntersect","\u002Fapi\u002Fmiscellaneous\u002Fuse-intersect","2.api\u002Fmiscellaneous\u002Fuse-intersect",{"id":499,"title":23,"body":500,"description":1011,"extension":1012,"links":1013,"meta":1014,"navigation":659,"path":24,"seo":1015,"stem":25,"__hash__":1016},"docs\u002F1.getting-started\u002F5.upgrade-guide.md",{"type":501,"value":502,"toc":1002},"minimark",[503,508,519,523,526,531,551,844,847,857,865,869,876,894,901,905,911,943,946,974,978,991,998],[504,505,507],"h2",{"id":506},"from-v4-to-v5","From v4 to v5",[509,510,511,512,518],"p",{},"Cientos doesn't have any breaking changes from v4 to v5 but please check the ",[513,514,23],"a",{"href":515,"rel":516},"https:\u002F\u002Fdocs.tresjs.org\u002Fgetting-started\u002Fupgrade-guide",[517],"nofollow"," of the core.",[504,520,522],{"id":521},"migration-guide-from-v3","Migration Guide from v3",[509,524,525],{},"The following are the breaking changes introduced in v4. We recommend reading through all of them to ensure a smooth transition.",[527,528,530],"h3",{"id":529},"updated-defineexport-properties","Updated defineExport properties",[509,532,533,534,538,539,542,543,546,547,550],{},"Since the beginning we exported our components' underlying ",[535,536,537],"code",{},"Three.js"," instances using the name ",[535,540,541],{},"value",". This created a very ambiguous situation with some components. When we access them using a ",[535,544,545],{},"ref"," in the ",[535,548,549],{},"\u003Ctemplate>",", we ended up with something like:",[552,553,558],"pre",{"className":554,"code":555,"language":556,"meta":557,"style":557},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript>\n  import { shallowRef, watch } from 'vue'\n  import { TresCanvas } from '@tresjs\u002Fcore'\n  import { Stars } from '@tresjs\u002Fcientos'\n\n  const starsRef = shallowRef()\n\n  watch(starsRef, () => {\n    \u002F\u002F to access the instance we have a nested `value.value`\n    console.log(starsRef.value.value)\n    \u002F\u002F Wrong in v4 ❌\n  })\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    ...\n    \u003CStars ref=\"starsRef\" \u002F>\n    ...\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n","html","",[535,559,560,576,612,633,654,661,680,685,705,712,741,747,755,765,770,780,791,797,820,825,835],{"__ignoreMap":557},[561,562,565,569,573],"span",{"class":563,"line":564},"line",1,[561,566,568],{"class":567},"sMK4o","\u003C",[561,570,572],{"class":571},"swJcz","script",[561,574,575],{"class":567},">\n",[561,577,579,583,586,590,593,596,599,602,605,609],{"class":563,"line":578},2,[561,580,582],{"class":581},"s7zQu","  import",[561,584,585],{"class":567}," {",[561,587,589],{"class":588},"sTEyZ"," shallowRef",[561,591,592],{"class":567},",",[561,594,595],{"class":588}," watch",[561,597,598],{"class":567}," }",[561,600,601],{"class":581}," from",[561,603,604],{"class":567}," '",[561,606,608],{"class":607},"sfazB","vue",[561,610,611],{"class":567},"'\n",[561,613,615,617,619,622,624,626,628,631],{"class":563,"line":614},3,[561,616,582],{"class":581},[561,618,585],{"class":567},[561,620,621],{"class":588}," TresCanvas",[561,623,598],{"class":567},[561,625,601],{"class":581},[561,627,604],{"class":567},[561,629,630],{"class":607},"@tresjs\u002Fcore",[561,632,611],{"class":567},[561,634,636,638,640,643,645,647,649,652],{"class":563,"line":635},4,[561,637,582],{"class":581},[561,639,585],{"class":567},[561,641,642],{"class":588}," Stars",[561,644,598],{"class":567},[561,646,601],{"class":581},[561,648,604],{"class":567},[561,650,651],{"class":607},"@tresjs\u002Fcientos",[561,653,611],{"class":567},[561,655,657],{"class":563,"line":656},5,[561,658,660],{"emptyLinePlaceholder":659},true,"\n",[561,662,664,668,671,674,677],{"class":563,"line":663},6,[561,665,667],{"class":666},"spNyl","  const",[561,669,670],{"class":588}," starsRef ",[561,672,673],{"class":567},"=",[561,675,589],{"class":676},"s2Zo4",[561,678,679],{"class":588},"()\n",[561,681,683],{"class":563,"line":682},7,[561,684,660],{"emptyLinePlaceholder":659},[561,686,688,691,694,696,699,702],{"class":563,"line":687},8,[561,689,690],{"class":676},"  watch",[561,692,693],{"class":588},"(starsRef",[561,695,592],{"class":567},[561,697,698],{"class":567}," ()",[561,700,701],{"class":666}," =>",[561,703,704],{"class":567}," {\n",[561,706,708],{"class":563,"line":707},9,[561,709,711],{"class":710},"sHwdD","    \u002F\u002F to access the instance we have a nested `value.value`\n",[561,713,715,718,721,724,727,730,732,734,736,738],{"class":563,"line":714},10,[561,716,717],{"class":588},"    console",[561,719,720],{"class":567},".",[561,722,723],{"class":676},"log",[561,725,726],{"class":571},"(",[561,728,729],{"class":588},"starsRef",[561,731,720],{"class":567},[561,733,541],{"class":588},[561,735,720],{"class":567},[561,737,541],{"class":588},[561,739,740],{"class":571},")\n",[561,742,744],{"class":563,"line":743},11,[561,745,746],{"class":710},"    \u002F\u002F Wrong in v4 ❌\n",[561,748,750,753],{"class":563,"line":749},12,[561,751,752],{"class":567},"  }",[561,754,740],{"class":588},[561,756,758,761,763],{"class":563,"line":757},13,[561,759,760],{"class":567},"\u003C\u002F",[561,762,572],{"class":571},[561,764,575],{"class":567},[561,766,768],{"class":563,"line":767},14,[561,769,660],{"emptyLinePlaceholder":659},[561,771,773,775,778],{"class":563,"line":772},15,[561,774,568],{"class":567},[561,776,777],{"class":571},"template",[561,779,575],{"class":567},[561,781,783,786,789],{"class":563,"line":782},16,[561,784,785],{"class":567},"  \u003C",[561,787,788],{"class":571},"TresCanvas",[561,790,575],{"class":567},[561,792,794],{"class":563,"line":793},17,[561,795,796],{"class":588},"    ...\n",[561,798,800,803,805,808,810,813,815,817],{"class":563,"line":799},18,[561,801,802],{"class":567},"    \u003C",[561,804,415],{"class":571},[561,806,807],{"class":666}," ref",[561,809,673],{"class":567},[561,811,812],{"class":567},"\"",[561,814,729],{"class":607},[561,816,812],{"class":567},[561,818,819],{"class":567}," \u002F>\n",[561,821,823],{"class":563,"line":822},19,[561,824,796],{"class":588},[561,826,828,831,833],{"class":563,"line":827},20,[561,829,830],{"class":567},"  \u003C\u002F",[561,832,788],{"class":571},[561,834,575],{"class":567},[561,836,838,840,842],{"class":563,"line":837},21,[561,839,760],{"class":567},[561,841,777],{"class":571},[561,843,575],{"class":567},[509,845,846],{},"This behavior caused confusion and resulted in a poor developer experience. To address it properly, we needed to introduce a breaking change, and we felt this was the right moment to do so.",[509,848,849,850,852,853,856],{},"The new implementation remains very similar conceptually. However, instead of having two ambiguous ",[535,851,541],{}," references, we have standardized all components around ",[535,854,855],{},"instance",". To access the component, you should now use:",[552,858,863],{"className":859,"code":861,"language":862},[860],"language-text","\u002F\u002F Correct in v4 ✅\nconsole.log(starsRef.value.instance)\n","text",[535,864,861],{"__ignoreMap":557},[527,866,868],{"id":867},"remove-tweakpane-from-deps","Remove TweakPane from deps",[509,870,871,872,875],{},"We removed the built-in ",[535,873,874],{},"useTweakPane"," integration because it was adding overhead and friction:",[877,878,879,888,891],"ul",{},[880,881,882,883],"li",{},"Incompatible with ",[513,884,887],{"href":885,"rel":886},"https:\u002F\u002Ftweakpane.github.io\u002Fdocs\u002F",[517],"Tweakpane v4",[880,889,890],{},"Large bundle impact",[880,892,893],{},"Repetitive boilerplate and not very intuitive",[509,895,896,897],{},"If you still want to use Tweakpane with Tres, you can follow the cookbook recipe: ",[513,898,899],{"href":899,"rel":900},"https:\u002F\u002Fdocs.tresjs.org\u002Fcookbook\u002Ftweakpane",[517],[527,902,904],{"id":903},"move-directives-to-core","Move directives to core",[509,906,907,908,910],{},"Community adoption of directives has been solid, so they now live in the core package. Import them from ",[535,909,630],{},":",[552,912,916],{"className":913,"code":914,"language":915,"meta":557,"style":557},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Correct ✅\nimport { vLog } from '@tresjs\u002Fcore'\n","ts",[535,917,918,923],{"__ignoreMap":557},[561,919,920],{"class":563,"line":564},[561,921,922],{"class":710},"\u002F\u002F Correct ✅\n",[561,924,925,928,930,933,935,937,939,941],{"class":563,"line":578},[561,926,927],{"class":581},"import",[561,929,585],{"class":567},[561,931,932],{"class":588}," vLog",[561,934,598],{"class":567},[561,936,601],{"class":581},[561,938,604],{"class":567},[561,940,630],{"class":607},[561,942,611],{"class":567},[509,944,945],{},"Instead of:",[552,947,949],{"className":913,"code":948,"language":915,"meta":557,"style":557},"\u002F\u002F Wrong ❌\nimport { vLog } from '@tresjs\u002Fcientos'\n",[535,950,951,956],{"__ignoreMap":557},[561,952,953],{"class":563,"line":564},[561,954,955],{"class":710},"\u002F\u002F Wrong ❌\n",[561,957,958,960,962,964,966,968,970,972],{"class":563,"line":578},[561,959,927],{"class":581},[561,961,585],{"class":567},[561,963,932],{"class":588},[561,965,598],{"class":567},[561,967,601],{"class":581},[561,969,604],{"class":567},[561,971,651],{"class":607},[561,973,611],{"class":567},[527,975,977],{"id":976},"changes-in-keyboardcontrols","Changes in KeyboardControls",[509,979,980,983,984,987,988,990],{},[535,981,982],{},"KeyboardControls"," was redesigned to provide floating controls similar to the Unreal Engine, which better matches the component’s intent. We also bundled ",[535,985,986],{},"PointerLockControls"," inside ",[535,989,982],{},", so you don’t need to wire it manually anymore.",[509,992,993],{},[513,994,997],{"href":995,"rel":996},"https:\u002F\u002Fcientos.tresjs.org\u002Fapi\u002Fcontrols\u002Fkeyboard-controls",[517],"Learn more",[999,1000,1001],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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);}",{"title":557,"searchDepth":564,"depth":578,"links":1003},[1004,1005],{"id":506,"depth":578,"text":507},{"id":521,"depth":578,"text":522,"children":1006},[1007,1008,1009,1010],{"id":529,"depth":614,"text":530},{"id":867,"depth":614,"text":868},{"id":903,"depth":614,"text":904},{"id":976,"depth":614,"text":977},"Migration guide for cientos","md",null,{},{"title":23,"description":1011},"P5By0YCa0NxILxPs60lLEJM9nF1Gp68ExB17owrQ57k",[1018,1020],{"title":19,"path":20,"stem":21,"description":1019,"children":-1},"The three ways to bring a glTF model into a TresJS scene, and when to use each one.",{"title":32,"path":28,"stem":33,"description":1021,"children":-1},"Explore the complete API reference",1791549571422]