[{"data":1,"prerenderedAt":998},["ShallowReactive",2],{"navigation":3,"/getting-started/upgrade-guide":474,"/getting-started/upgrade-guide-surround":993},[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,84,114,156,190,284,310,344,394,440],{"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,80],{"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},"Decal","/api/abstractions/decal","2.api/1.abstractions/decal",{"title":53,"path":54,"stem":55},"Edges","/api/abstractions/edges","2.api/1.abstractions/edges",{"title":57,"path":58,"stem":59},"Fit","/api/abstractions/fit","2.api/1.abstractions/fit",{"title":61,"path":62,"stem":63},"Levioso (Float)","/api/abstractions/levioso","2.api/1.abstractions/levioso",{"title":65,"path":66,"stem":67},"Mask","/api/abstractions/mask","2.api/1.abstractions/mask",{"title":69,"path":70,"stem":71},"Outline","/api/abstractions/outline","2.api/1.abstractions/outline",{"title":73,"path":74,"stem":75},"Sampler","/api/abstractions/sampler","2.api/1.abstractions/sampler",{"title":77,"path":78,"stem":79},"ScreenSizer","/api/abstractions/screen-sizer","2.api/1.abstractions/screen-sizer",{"title":81,"path":82,"stem":83},"ScreenSpace","/api/abstractions/screen-space","2.api/1.abstractions/screen-space",{"title":85,"path":86,"stem":87,"children":88},"Controls","/api/controls","2.api/2.controls/index",[89,90,94,98,102,106,110],{"title":85,"path":86,"stem":87},{"title":91,"path":92,"stem":93},"Camera Controls","/api/controls/camera-controls","2.api/2.controls/camera-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,436],{"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},"Refractor","/api/objects/refractor","2.api/9.objects/refractor",{"title":437,"path":438,"stem":439},"Text3D","/api/objects/text-3d","2.api/9.objects/text-3d",{"title":441,"path":442,"stem":443,"children":444},"Miscellaneous","/api/miscellaneous","2.api/miscellaneous/index",[445,446,450,454,458,462,466,470],{"title":441,"path":442,"stem":443},{"title":447,"path":448,"stem":449},"Bounds","/api/miscellaneous/bounds","2.api/miscellaneous/bounds",{"title":451,"path":452,"stem":453},"GlobalAudio","/api/miscellaneous/global-audio","2.api/miscellaneous/global-audio",{"title":455,"path":456,"stem":457},"MouseParallax","/api/miscellaneous/mouse-parallax","2.api/miscellaneous/mouse-parallax",{"title":459,"path":460,"stem":461},"PositionalAudio","/api/miscellaneous/positional-audio","2.api/miscellaneous/positional-audio",{"title":463,"path":464,"stem":465},"useAnimations","/api/miscellaneous/use-animations","2.api/miscellaneous/use-animations",{"title":467,"path":468,"stem":469},"useGLTFExporter","/api/miscellaneous/use-gltf-exporter","2.api/miscellaneous/use-gltf-exporter",{"title":471,"path":472,"stem":473},"useIntersect","/api/miscellaneous/use-intersect","2.api/miscellaneous/use-intersect",{"id":475,"title":19,"body":476,"description":987,"extension":988,"links":989,"meta":990,"navigation":635,"path":20,"seo":991,"stem":21,"__hash__":992},"docs/1.getting-started/4.upgrade-guide.md",{"type":477,"value":478,"toc":978},"minimark",[479,484,495,499,502,507,527,820,823,833,841,845,852,870,877,881,887,919,922,950,954,967,974],[480,481,483],"h2",{"id":482},"from-v4-to-v5","From v4 to v5",[485,486,487,488,494],"p",{},"Cientos doesn't have any breaking changes from v4 to v5 but please check the ",[489,490,19],"a",{"href":491,"rel":492},"https://docs.tresjs.org/getting-started/upgrade-guide",[493],"nofollow"," of the core.",[480,496,498],{"id":497},"migration-guide-from-v3","Migration Guide from v3",[485,500,501],{},"The following are the breaking changes introduced in v4. We recommend reading through all of them to ensure a smooth transition.",[503,504,506],"h3",{"id":505},"updated-defineexport-properties","Updated defineExport properties",[485,508,509,510,514,515,518,519,522,523,526],{},"Since the beginning we exported our components' underlying ",[511,512,513],"code",{},"Three.js"," instances using the name ",[511,516,517],{},"value",". This created a very ambiguous situation with some components. When we access them using a ",[511,520,521],{},"ref"," in the ",[511,524,525],{},"\u003Ctemplate>",", we ended up with something like:",[528,529,534],"pre",{"className":530,"code":531,"language":532,"meta":533,"style":533},"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","",[511,535,536,552,588,609,630,637,656,661,681,688,717,723,731,741,746,756,767,773,796,801,811],{"__ignoreMap":533},[537,538,541,545,549],"span",{"class":539,"line":540},"line",1,[537,542,544],{"class":543},"sMK4o","\u003C",[537,546,548],{"class":547},"swJcz","script",[537,550,551],{"class":543},">\n",[537,553,555,559,562,566,569,572,575,578,581,585],{"class":539,"line":554},2,[537,556,558],{"class":557},"s7zQu","  import",[537,560,561],{"class":543}," {",[537,563,565],{"class":564},"sTEyZ"," shallowRef",[537,567,568],{"class":543},",",[537,570,571],{"class":564}," watch",[537,573,574],{"class":543}," }",[537,576,577],{"class":557}," from",[537,579,580],{"class":543}," '",[537,582,584],{"class":583},"sfazB","vue",[537,586,587],{"class":543},"'\n",[537,589,591,593,595,598,600,602,604,607],{"class":539,"line":590},3,[537,592,558],{"class":557},[537,594,561],{"class":543},[537,596,597],{"class":564}," TresCanvas",[537,599,574],{"class":543},[537,601,577],{"class":557},[537,603,580],{"class":543},[537,605,606],{"class":583},"@tresjs/core",[537,608,587],{"class":543},[537,610,612,614,616,619,621,623,625,628],{"class":539,"line":611},4,[537,613,558],{"class":557},[537,615,561],{"class":543},[537,617,618],{"class":564}," Stars",[537,620,574],{"class":543},[537,622,577],{"class":557},[537,624,580],{"class":543},[537,626,627],{"class":583},"@tresjs/cientos",[537,629,587],{"class":543},[537,631,633],{"class":539,"line":632},5,[537,634,636],{"emptyLinePlaceholder":635},true,"\n",[537,638,640,644,647,650,653],{"class":539,"line":639},6,[537,641,643],{"class":642},"spNyl","  const",[537,645,646],{"class":564}," starsRef ",[537,648,649],{"class":543},"=",[537,651,565],{"class":652},"s2Zo4",[537,654,655],{"class":564},"()\n",[537,657,659],{"class":539,"line":658},7,[537,660,636],{"emptyLinePlaceholder":635},[537,662,664,667,670,672,675,678],{"class":539,"line":663},8,[537,665,666],{"class":652},"  watch",[537,668,669],{"class":564},"(starsRef",[537,671,568],{"class":543},[537,673,674],{"class":543}," ()",[537,676,677],{"class":642}," =>",[537,679,680],{"class":543}," {\n",[537,682,684],{"class":539,"line":683},9,[537,685,687],{"class":686},"sHwdD","    // to access the instance we have a nested `value.value`\n",[537,689,691,694,697,700,703,706,708,710,712,714],{"class":539,"line":690},10,[537,692,693],{"class":564},"    console",[537,695,696],{"class":543},".",[537,698,699],{"class":652},"log",[537,701,702],{"class":547},"(",[537,704,705],{"class":564},"starsRef",[537,707,696],{"class":543},[537,709,517],{"class":564},[537,711,696],{"class":543},[537,713,517],{"class":564},[537,715,716],{"class":547},")\n",[537,718,720],{"class":539,"line":719},11,[537,721,722],{"class":686},"    // Wrong in v4 ❌\n",[537,724,726,729],{"class":539,"line":725},12,[537,727,728],{"class":543},"  }",[537,730,716],{"class":564},[537,732,734,737,739],{"class":539,"line":733},13,[537,735,736],{"class":543},"\u003C/",[537,738,548],{"class":547},[537,740,551],{"class":543},[537,742,744],{"class":539,"line":743},14,[537,745,636],{"emptyLinePlaceholder":635},[537,747,749,751,754],{"class":539,"line":748},15,[537,750,544],{"class":543},[537,752,753],{"class":547},"template",[537,755,551],{"class":543},[537,757,759,762,765],{"class":539,"line":758},16,[537,760,761],{"class":543},"  \u003C",[537,763,764],{"class":547},"TresCanvas",[537,766,551],{"class":543},[537,768,770],{"class":539,"line":769},17,[537,771,772],{"class":564},"    ...\n",[537,774,776,779,781,784,786,789,791,793],{"class":539,"line":775},18,[537,777,778],{"class":543},"    \u003C",[537,780,391],{"class":547},[537,782,783],{"class":642}," ref",[537,785,649],{"class":543},[537,787,788],{"class":543},"\"",[537,790,705],{"class":583},[537,792,788],{"class":543},[537,794,795],{"class":543}," />\n",[537,797,799],{"class":539,"line":798},19,[537,800,772],{"class":564},[537,802,804,807,809],{"class":539,"line":803},20,[537,805,806],{"class":543},"  \u003C/",[537,808,764],{"class":547},[537,810,551],{"class":543},[537,812,814,816,818],{"class":539,"line":813},21,[537,815,736],{"class":543},[537,817,753],{"class":547},[537,819,551],{"class":543},[485,821,822],{},"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.",[485,824,825,826,828,829,832],{},"The new implementation remains very similar conceptually. However, instead of having two ambiguous ",[511,827,517],{}," references, we have standardized all components around ",[511,830,831],{},"instance",". To access the component, you should now use:",[528,834,839],{"className":835,"code":837,"language":838},[836],"language-text","// Correct in v4 ✅\nconsole.log(starsRef.value.instance)\n","text",[511,840,837],{"__ignoreMap":533},[503,842,844],{"id":843},"remove-tweakpane-from-deps","Remove TweakPane from deps",[485,846,847,848,851],{},"We removed the built-in ",[511,849,850],{},"useTweakPane"," integration because it was adding overhead and friction:",[853,854,855,864,867],"ul",{},[856,857,858,859],"li",{},"Incompatible with ",[489,860,863],{"href":861,"rel":862},"https://tweakpane.github.io/docs/",[493],"Tweakpane v4",[856,865,866],{},"Large bundle impact",[856,868,869],{},"Repetitive boilerplate and not very intuitive",[485,871,872,873],{},"If you still want to use Tweakpane with Tres, you can follow the cookbook recipe: ",[489,874,875],{"href":875,"rel":876},"https://docs.tresjs.org/cookbook/tweakpane",[493],[503,878,880],{"id":879},"move-directives-to-core","Move directives to core",[485,882,883,884,886],{},"Community adoption of directives has been solid, so they now live in the core package. Import them from ",[511,885,606],{},":",[528,888,892],{"className":889,"code":890,"language":891,"meta":533,"style":533},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// Correct ✅\nimport { vLog } from '@tresjs/core'\n","ts",[511,893,894,899],{"__ignoreMap":533},[537,895,896],{"class":539,"line":540},[537,897,898],{"class":686},"// Correct ✅\n",[537,900,901,904,906,909,911,913,915,917],{"class":539,"line":554},[537,902,903],{"class":557},"import",[537,905,561],{"class":543},[537,907,908],{"class":564}," vLog",[537,910,574],{"class":543},[537,912,577],{"class":557},[537,914,580],{"class":543},[537,916,606],{"class":583},[537,918,587],{"class":543},[485,920,921],{},"Instead of:",[528,923,925],{"className":889,"code":924,"language":891,"meta":533,"style":533},"// Wrong ❌\nimport { vLog } from '@tresjs/cientos'\n",[511,926,927,932],{"__ignoreMap":533},[537,928,929],{"class":539,"line":540},[537,930,931],{"class":686},"// Wrong ❌\n",[537,933,934,936,938,940,942,944,946,948],{"class":539,"line":554},[537,935,903],{"class":557},[537,937,561],{"class":543},[537,939,908],{"class":564},[537,941,574],{"class":543},[537,943,577],{"class":557},[537,945,580],{"class":543},[537,947,627],{"class":583},[537,949,587],{"class":543},[503,951,953],{"id":952},"changes-in-keyboardcontrols","Changes in KeyboardControls",[485,955,956,959,960,963,964,966],{},[511,957,958],{},"KeyboardControls"," was redesigned to provide floating controls similar to the Unreal Engine, which better matches the component’s intent. We also bundled ",[511,961,962],{},"PointerLockControls"," inside ",[511,965,958],{},", so you don’t need to wire it manually anymore.",[485,968,969],{},[489,970,973],{"href":971,"rel":972},"https://cientos.tresjs.org/api/controls/keyboard-controls",[493],"Learn more",[975,976,977],"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":533,"searchDepth":540,"depth":554,"links":979},[980,981],{"id":482,"depth":554,"text":483},{"id":497,"depth":554,"text":498,"children":982},[983,984,985,986],{"id":505,"depth":590,"text":506},{"id":843,"depth":590,"text":844},{"id":879,"depth":590,"text":880},{"id":952,"depth":590,"text":953},"Migration guide for cientos","md",null,{},{"title":19,"description":987},"6l6sYgzdCCizbNtigMQB4YSW1Iz3GdVij5BiRm5M1HY",[994,996],{"title":15,"path":16,"stem":17,"description":995,"children":-1},"Learn how you can start to use cientos in your projects",{"title":28,"path":24,"stem":29,"description":997,"children":-1},"Explore the complete API reference",1781273436058]