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