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