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