[{"data":1,"prerenderedAt":3470},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fdebug-performance":498,"\u002Fapi\u002Fdebug-performance-surround":519,"debug-performance-list":524},[4,26],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation Guide","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage",{"title":19,"path":20,"stem":21},"Loading Models","\u002Fgetting-started\u002Floading-models","1.getting-started\u002F4.loading-models",{"title":23,"path":24,"stem":25},"Upgrade Guide","\u002Fgetting-started\u002Fupgrade-guide","1.getting-started\u002F5.upgrade-guide",{"title":27,"path":28,"stem":29,"children":30},"Api","\u002Fapi","2.api",[31,34,96,126,168,210,308,334,368,418,464],{"title":32,"path":28,"stem":33},"All","2.api\u002Findex",{"title":35,"path":36,"stem":37,"children":38},"Abstractions","\u002Fapi\u002Fabstractions","2.api\u002F1.abstractions\u002Findex",[39,40,44,48,52,56,60,64,68,72,76,80,84,88,92],{"title":35,"path":36,"stem":37},{"title":41,"path":42,"stem":43},"Align","\u002Fapi\u002Fabstractions\u002Falign","2.api\u002F1.abstractions\u002Falign",{"title":45,"path":46,"stem":47},"Billboard","\u002Fapi\u002Fabstractions\u002Fbillboard","2.api\u002F1.abstractions\u002Fbillboard",{"title":49,"path":50,"stem":51},"Camera Shake","\u002Fapi\u002Fabstractions\u002Fcamera-shake","2.api\u002F1.abstractions\u002Fcamera-shake",{"title":53,"path":54,"stem":55},"Decal","\u002Fapi\u002Fabstractions\u002Fdecal","2.api\u002F1.abstractions\u002Fdecal",{"title":57,"path":58,"stem":59},"Edges","\u002Fapi\u002Fabstractions\u002Fedges","2.api\u002F1.abstractions\u002Fedges",{"title":61,"path":62,"stem":63},"Fit","\u002Fapi\u002Fabstractions\u002Ffit","2.api\u002F1.abstractions\u002Ffit",{"title":65,"path":66,"stem":67},"Instances","\u002Fapi\u002Fabstractions\u002Finstances","2.api\u002F1.abstractions\u002Finstances",{"title":69,"path":70,"stem":71},"Levioso (Float)","\u002Fapi\u002Fabstractions\u002Flevioso","2.api\u002F1.abstractions\u002Flevioso",{"title":73,"path":74,"stem":75},"Mask","\u002Fapi\u002Fabstractions\u002Fmask","2.api\u002F1.abstractions\u002Fmask",{"title":77,"path":78,"stem":79},"Merged","\u002Fapi\u002Fabstractions\u002Fmerged","2.api\u002F1.abstractions\u002Fmerged",{"title":81,"path":82,"stem":83},"Outline","\u002Fapi\u002Fabstractions\u002Foutline","2.api\u002F1.abstractions\u002Foutline",{"title":85,"path":86,"stem":87},"Sampler","\u002Fapi\u002Fabstractions\u002Fsampler","2.api\u002F1.abstractions\u002Fsampler",{"title":89,"path":90,"stem":91},"ScreenSizer","\u002Fapi\u002Fabstractions\u002Fscreen-sizer","2.api\u002F1.abstractions\u002Fscreen-sizer",{"title":93,"path":94,"stem":95},"ScreenSpace","\u002Fapi\u002Fabstractions\u002Fscreen-space","2.api\u002F1.abstractions\u002Fscreen-space",{"title":97,"path":98,"stem":99,"children":100},"Controls","\u002Fapi\u002Fcontrols","2.api\u002F2.controls\u002Findex",[101,102,106,110,114,118,122],{"title":97,"path":98,"stem":99},{"title":103,"path":104,"stem":105},"Camera Controls","\u002Fapi\u002Fcontrols\u002Fcamera-controls","2.api\u002F2.controls\u002Fcamera-controls",{"title":107,"path":108,"stem":109},"Keyboard Controls","\u002Fapi\u002Fcontrols\u002Fkeyboard-controls","2.api\u002F2.controls\u002Fkeyboard-controls",{"title":111,"path":112,"stem":113},"Map Controls","\u002Fapi\u002Fcontrols\u002Fmap-controls","2.api\u002F2.controls\u002Fmap-controls",{"title":115,"path":116,"stem":117},"Orbit Controls","\u002Fapi\u002Fcontrols\u002Forbit-controls","2.api\u002F2.controls\u002Forbit-controls",{"title":119,"path":120,"stem":121},"PointerLock Controls","\u002Fapi\u002Fcontrols\u002Fpointer-lock-controls","2.api\u002F2.controls\u002Fpointer-lock-controls",{"title":123,"path":124,"stem":125},"Transform Controls","\u002Fapi\u002Fcontrols\u002Ftransform-controls","2.api\u002F2.controls\u002Ftransform-controls",{"title":127,"path":128,"stem":129,"children":130},"Loaders","\u002Fapi\u002Floaders","2.api\u002F3.loaders\u002Findex",[131,132,136,140,144,148,152,156,160,164],{"title":127,"path":128,"stem":129},{"title":133,"path":134,"stem":135},"useGLTF","\u002Fapi\u002Floaders\u002Fuse-gltf","2.api\u002F3.loaders\u002F1.use-gltf",{"title":137,"path":138,"stem":139},"GLTFModel","\u002Fapi\u002Floaders\u002Fgltf-model","2.api\u002F3.loaders\u002F2.gltf-model",{"title":141,"path":142,"stem":143},"useFBX","\u002Fapi\u002Floaders\u002Fuse-fbx","2.api\u002F3.loaders\u002F3.use-fbx",{"title":145,"path":146,"stem":147},"FBXModel","\u002Fapi\u002Floaders\u002Ffbx-model","2.api\u002F3.loaders\u002F4.fbx-model",{"title":149,"path":150,"stem":151},"useTexture","\u002Fapi\u002Floaders\u002Fuse-texture","2.api\u002F3.loaders\u002F5.use-texture",{"title":153,"path":154,"stem":155},"useTextures","\u002Fapi\u002Floaders\u002Fuse-textures","2.api\u002F3.loaders\u002F6.use-textures",{"title":157,"path":158,"stem":159},"useSVG","\u002Fapi\u002Floaders\u002Fuse-svg","2.api\u002F3.loaders\u002F7.use-svg",{"title":161,"path":162,"stem":163},"useProgress","\u002Fapi\u002Floaders\u002Fuse-progress","2.api\u002F3.loaders\u002Fuse-progress",{"title":165,"path":166,"stem":167},"useVideoTexture","\u002Fapi\u002Floaders\u002Fuse-video-texture","2.api\u002F3.loaders\u002Fuse-video-texture",{"title":169,"path":170,"stem":171,"children":172},"Materials","\u002Fapi\u002Fmaterials","2.api\u002F4.materials\u002Findex",[173,174,178,182,186,190,194,198,202,206],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"Custom Shader Material","\u002Fapi\u002Fmaterials\u002Fcustom-shader-material","2.api\u002F4.materials\u002Fcustom-shader-material",{"title":179,"path":180,"stem":181},"Mesh Glass Material","\u002Fapi\u002Fmaterials\u002Fglass-material","2.api\u002F4.materials\u002Fglass-material",{"title":183,"path":184,"stem":185},"Holographic Material","\u002Fapi\u002Fmaterials\u002Fholographic-material","2.api\u002F4.materials\u002Fholographic-material",{"title":187,"path":188,"stem":189},"Mesh Discard Material","\u002Fapi\u002Fmaterials\u002Fmesh-discard-material","2.api\u002F4.materials\u002Fmesh-discard-material",{"title":191,"path":192,"stem":193},"Mesh Portal Material","\u002Fapi\u002Fmaterials\u002Fmesh-portal-material","2.api\u002F4.materials\u002Fmesh-portal-material",{"title":195,"path":196,"stem":197},"Mesh Reflection Material","\u002Fapi\u002Fmaterials\u002Fmesh-reflection-material","2.api\u002F4.materials\u002Fmesh-reflection-material",{"title":199,"path":200,"stem":201},"Mesh Transmission Material","\u002Fapi\u002Fmaterials\u002Fmesh-transmission-material","2.api\u002F4.materials\u002Fmesh-transmission-material",{"title":203,"path":204,"stem":205},"Point Material","\u002Fapi\u002Fmaterials\u002Fpoint-material","2.api\u002F4.materials\u002Fpoint-material",{"title":207,"path":208,"stem":209},"Wobble Material","\u002Fapi\u002Fmaterials\u002Fwobble-material","2.api\u002F4.materials\u002Fwobble-material",{"title":211,"path":212,"stem":213,"children":214},"Shapes","\u002Fapi\u002Fshapes","2.api\u002F5.shapes\u002Findex",[215,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304],{"title":211,"path":212,"stem":213},{"title":217,"path":218,"stem":219},"Box","\u002Fapi\u002Fshapes\u002Fbox","2.api\u002F5.shapes\u002Fbox",{"title":221,"path":222,"stem":223},"CatmullRomCurve3","\u002Fapi\u002Fshapes\u002Fcatmullromcurve3","2.api\u002F5.shapes\u002Fcatmullromcurve3",{"title":225,"path":226,"stem":227},"Circle","\u002Fapi\u002Fshapes\u002Fcircle","2.api\u002F5.shapes\u002Fcircle",{"title":229,"path":230,"stem":231},"Cone","\u002Fapi\u002Fshapes\u002Fcone","2.api\u002F5.shapes\u002Fcone",{"title":233,"path":234,"stem":235},"Cubic Bezier Line","\u002Fapi\u002Fshapes\u002Fcubic-bezier-line","2.api\u002F5.shapes\u002Fcubic-bezier-line",{"title":237,"path":238,"stem":239},"Cylinder","\u002Fapi\u002Fshapes\u002Fcylinder","2.api\u002F5.shapes\u002Fcylinder",{"title":241,"path":242,"stem":243},"Dodecahedron","\u002Fapi\u002Fshapes\u002Fdodecahedron","2.api\u002F5.shapes\u002Fdodecahedron",{"title":245,"path":246,"stem":247},"Grid","\u002Fapi\u002Fshapes\u002Fgrid","2.api\u002F5.shapes\u002Fgrid",{"title":249,"path":250,"stem":251},"Icosahedron","\u002Fapi\u002Fshapes\u002Ficosahedron","2.api\u002F5.shapes\u002Ficosahedron",{"title":253,"path":254,"stem":255},"Line2","\u002Fapi\u002Fshapes\u002Fline2","2.api\u002F5.shapes\u002Fline2",{"title":257,"path":258,"stem":259},"Octahedron","\u002Fapi\u002Fshapes\u002Foctahedron","2.api\u002F5.shapes\u002Foctahedron",{"title":261,"path":262,"stem":263},"Plane","\u002Fapi\u002Fshapes\u002Fplane","2.api\u002F5.shapes\u002Fplane",{"title":265,"path":266,"stem":267},"Quadratic Bezier Line","\u002Fapi\u002Fshapes\u002Fquadratic-bezier-line","2.api\u002F5.shapes\u002Fquadratic-bezier-line",{"title":269,"path":270,"stem":271},"Ring","\u002Fapi\u002Fshapes\u002Fring","2.api\u002F5.shapes\u002Fring",{"title":273,"path":274,"stem":275},"Rounded Box","\u002Fapi\u002Fshapes\u002Frounded-box","2.api\u002F5.shapes\u002Frounded-box",{"title":277,"path":278,"stem":279},"Rounded Plane","\u002Fapi\u002Fshapes\u002Frounded-plane","2.api\u002F5.shapes\u002Frounded-plane",{"title":281,"path":282,"stem":283},"Screen Quad","\u002Fapi\u002Fshapes\u002Fscreen-quad","2.api\u002F5.shapes\u002Fscreen-quad",{"title":285,"path":286,"stem":287},"Sphere","\u002Fapi\u002Fshapes\u002Fsphere","2.api\u002F5.shapes\u002Fsphere",{"title":289,"path":290,"stem":291},"Superformula","\u002Fapi\u002Fshapes\u002Fsuperformula","2.api\u002F5.shapes\u002Fsuperformula",{"title":293,"path":294,"stem":295},"Tetrahedron","\u002Fapi\u002Fshapes\u002Ftetrahedron","2.api\u002F5.shapes\u002Ftetrahedron",{"title":297,"path":298,"stem":299},"Torus","\u002Fapi\u002Fshapes\u002Ftorus","2.api\u002F5.shapes\u002Ftorus",{"title":301,"path":302,"stem":303},"Torus Knot","\u002Fapi\u002Fshapes\u002Ftorus-knot","2.api\u002F5.shapes\u002Ftorus-knot",{"title":305,"path":306,"stem":307},"Tube","\u002Fapi\u002Fshapes\u002Ftube","2.api\u002F5.shapes\u002Ftube",{"title":309,"path":310,"stem":311,"children":312},"Debug\u002FPerformance","\u002Fapi\u002Fdebug-performance","2.api\u002F6.debug-performance\u002Findex",[313,314,318,322,326,330],{"title":309,"path":310,"stem":311},{"title":315,"path":316,"stem":317},"Helper","\u002Fapi\u002Fdebug-performance\u002Fhelper","2.api\u002F6.debug-performance\u002Fhelper",{"title":319,"path":320,"stem":321},"LOD","\u002Fapi\u002Fdebug-performance\u002Flod","2.api\u002F6.debug-performance\u002Flod",{"title":323,"path":324,"stem":325},"Stats","\u002Fapi\u002Fdebug-performance\u002Fstats","2.api\u002F6.debug-performance\u002Fstats",{"title":327,"path":328,"stem":329},"StatsGl","\u002Fapi\u002Fdebug-performance\u002Fstats-gl","2.api\u002F6.debug-performance\u002Fstats-gl",{"title":331,"path":332,"stem":333},"useBVH","\u002Fapi\u002Fdebug-performance\u002Fuse-bvh","2.api\u002F6.debug-performance\u002Fuse-bvh",{"title":335,"path":336,"stem":337,"children":338},"Light\u002FShadow","\u002Fapi\u002Flight-shadow","2.api\u002F7.light-shadow\u002Findex",[339,340,344,348,352,356,360,364],{"title":335,"path":336,"stem":337},{"title":341,"path":342,"stem":343},"Accumulative Shadows","\u002Fapi\u002Flight-shadow\u002Faccumulative-shadows","2.api\u002F7.light-shadow\u002Faccumulative-shadows",{"title":345,"path":346,"stem":347},"Bake Shadows","\u002Fapi\u002Flight-shadow\u002Fbake-shadows","2.api\u002F7.light-shadow\u002Fbake-shadows",{"title":349,"path":350,"stem":351},"Circle Shadow","\u002Fapi\u002Flight-shadow\u002Fcircle-shadow","2.api\u002F7.light-shadow\u002Fcircle-shadow",{"title":353,"path":354,"stem":355},"Contact Shadows","\u002Fapi\u002Flight-shadow\u002Fcontact-shadows","2.api\u002F7.light-shadow\u002Fcontact-shadows",{"title":357,"path":358,"stem":359},"Lensflare","\u002Fapi\u002Flight-shadow\u002Flensflare","2.api\u002F7.light-shadow\u002Flensflare",{"title":361,"path":362,"stem":363},"Randomized Lights","\u002Fapi\u002Flight-shadow\u002Frandomized-lights","2.api\u002F7.light-shadow\u002Frandomized-lights",{"title":365,"path":366,"stem":367},"Soft Shadows","\u002Fapi\u002Flight-shadow\u002Fsoft-shadows","2.api\u002F7.light-shadow\u002Fsoft-shadows",{"title":369,"path":370,"stem":371,"children":372},"Staging","\u002Fapi\u002Fstaging","2.api\u002F8.staging\u002Findex",[373,374,378,382,386,390,394,398,402,406,410,414],{"title":369,"path":370,"stem":371},{"title":375,"path":376,"stem":377},"Environment","\u002Fapi\u002Fstaging\u002Fenvironment","2.api\u002F8.staging\u002F1.environment",{"title":379,"path":380,"stem":381},"useEnvironment","\u002Fapi\u002Fstaging\u002Fuse-environment","2.api\u002F8.staging\u002F2.use-environment",{"title":383,"path":384,"stem":385},"Lightformer","\u002Fapi\u002Fstaging\u002Flightformer","2.api\u002F8.staging\u002F3.lightformer",{"title":387,"path":388,"stem":389},"Backdrop","\u002Fapi\u002Fstaging\u002Fbackdrop","2.api\u002F8.staging\u002Fbackdrop",{"title":391,"path":392,"stem":393},"Ocean","\u002Fapi\u002Fstaging\u002Focean","2.api\u002F8.staging\u002Focean",{"title":395,"path":396,"stem":397},"Precipitation","\u002Fapi\u002Fstaging\u002Fprecipitation","2.api\u002F8.staging\u002Fprecipitation",{"title":399,"path":400,"stem":401},"Sky","\u002Fapi\u002Fstaging\u002Fsky","2.api\u002F8.staging\u002Fsky",{"title":403,"path":404,"stem":405},"Smoke","\u002Fapi\u002Fstaging\u002Fsmoke","2.api\u002F8.staging\u002Fsmoke",{"title":407,"path":408,"stem":409},"Sparkles","\u002Fapi\u002Fstaging\u002Fsparkles","2.api\u002F8.staging\u002Fsparkles",{"title":411,"path":412,"stem":413},"Stage","\u002Fapi\u002Fstaging\u002Fstage","2.api\u002F8.staging\u002Fstage",{"title":415,"path":416,"stem":417},"Stars","\u002Fapi\u002Fstaging\u002Fstars","2.api\u002F8.staging\u002Fstars",{"title":419,"path":420,"stem":421,"children":422},"Objects","\u002Fapi\u002Fobjects","2.api\u002F9.objects\u002Findex",[423,424,428,432,436,440,444,448,452,456,460],{"title":419,"path":420,"stem":421},{"title":425,"path":426,"stem":427},"AnimatedSprite","\u002Fapi\u002Fobjects\u002Fanimated-sprite","2.api\u002F9.objects\u002Fanimated-sprite",{"title":429,"path":430,"stem":431},"CubeCamera","\u002Fapi\u002Fobjects\u002Fcube-camera","2.api\u002F9.objects\u002Fcube-camera",{"title":433,"path":434,"stem":435},"Fbo","\u002Fapi\u002Fobjects\u002Ffbo","2.api\u002F9.objects\u002Ffbo",{"title":437,"path":438,"stem":439},"GradientTexture","\u002Fapi\u002Fobjects\u002Fgradient-texture","2.api\u002F9.objects\u002Fgradient-texture",{"title":441,"path":442,"stem":443},"HTML","\u002Fapi\u002Fobjects\u002Fhtml","2.api\u002F9.objects\u002Fhtml",{"title":445,"path":446,"stem":447},"Image","\u002Fapi\u002Fobjects\u002Fimage","2.api\u002F9.objects\u002Fimage",{"title":449,"path":450,"stem":451},"MarchingCubes","\u002Fapi\u002Fobjects\u002Fmarching-cubes","2.api\u002F9.objects\u002Fmarching-cubes",{"title":453,"path":454,"stem":455},"Reflector","\u002Fapi\u002Fobjects\u002Freflector","2.api\u002F9.objects\u002Freflector",{"title":457,"path":458,"stem":459},"Refractor","\u002Fapi\u002Fobjects\u002Frefractor","2.api\u002F9.objects\u002Frefractor",{"title":461,"path":462,"stem":463},"Text3D","\u002Fapi\u002Fobjects\u002Ftext-3d","2.api\u002F9.objects\u002Ftext-3d",{"title":465,"path":466,"stem":467,"children":468},"Miscellaneous","\u002Fapi\u002Fmiscellaneous","2.api\u002Fmiscellaneous\u002Findex",[469,470,474,478,482,486,490,494],{"title":465,"path":466,"stem":467},{"title":471,"path":472,"stem":473},"Bounds","\u002Fapi\u002Fmiscellaneous\u002Fbounds","2.api\u002Fmiscellaneous\u002Fbounds",{"title":475,"path":476,"stem":477},"GlobalAudio","\u002Fapi\u002Fmiscellaneous\u002Fglobal-audio","2.api\u002Fmiscellaneous\u002Fglobal-audio",{"title":479,"path":480,"stem":481},"MouseParallax","\u002Fapi\u002Fmiscellaneous\u002Fmouse-parallax","2.api\u002Fmiscellaneous\u002Fmouse-parallax",{"title":483,"path":484,"stem":485},"PositionalAudio","\u002Fapi\u002Fmiscellaneous\u002Fpositional-audio","2.api\u002Fmiscellaneous\u002Fpositional-audio",{"title":487,"path":488,"stem":489},"useAnimations","\u002Fapi\u002Fmiscellaneous\u002Fuse-animations","2.api\u002Fmiscellaneous\u002Fuse-animations",{"title":491,"path":492,"stem":493},"useGLTFExporter","\u002Fapi\u002Fmiscellaneous\u002Fuse-gltf-exporter","2.api\u002Fmiscellaneous\u002Fuse-gltf-exporter",{"title":495,"path":496,"stem":497},"useIntersect","\u002Fapi\u002Fmiscellaneous\u002Fuse-intersect","2.api\u002Fmiscellaneous\u002Fuse-intersect",{"id":499,"title":309,"body":500,"description":512,"extension":513,"links":514,"meta":515,"navigation":516,"path":310,"seo":517,"stem":311,"__hash__":518},"docs\u002F2.api\u002F6.debug-performance\u002Findex.md",{"type":501,"value":502,"toc":507},"minimark",[503],[504,505],"api-list",{"list-name":506},"debug-performance-list",{"title":508,"searchDepth":509,"depth":510,"links":511},"",1,2,[],"All debug and performance tools","md",null,{},true,{"title":309,"description":512},"I8cl-hxPBGBph5-zPkqjaMKsVrmdO64JwDyo7WJg8Z8",[520,522],{"title":305,"path":306,"stem":307,"description":521,"children":-1},"Short-cut for a TubeGeometry and a MeshBasicMaterial with a Mesh object.",{"title":315,"path":316,"stem":317,"description":523,"children":-1},"Handles instantiation, updates, and removal\u002Fdisposal of THREE Helpers.",[525,931,1483,1700,2006],{"id":526,"title":315,"body":527,"description":523,"extension":513,"links":514,"meta":928,"navigation":516,"path":316,"seo":929,"stem":317,"__hash__":930},"docs\u002F2.api\u002F6.debug-performance\u002Fhelper.md",{"type":501,"value":528,"toc":924},[529,535,543,547,866,870,920],[530,531,532],"scene-wrapper",{},[533,534],"debug-performance-helper",{},[536,537,538,542],"p",{},[539,540,541],"code",{},"\u003CHelper \u002F>"," handles instantiation, updates, and removal\u002Fdisposal of THREE Helpers.",[544,545,15],"h2",{"id":546},"usage",[548,549,556],"pre",{"className":550,"code":551,"highlights":552,"language":555,"meta":508,"style":508},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { TresCanvas } from '@tresjs\u002Fcore'\nimport { Helper } from '@tresjs\u002Fcientos'\nimport { BoxHelper } from 'three'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    \u003CTresPerspectiveCamera :position=\"[3, 3, 3]\" \u002F>\n    \u003CTresMesh ref=\"boxRef\">\n      \u003CTresBoxGeometry \u002F>\n      \u003CTresMeshNormalMaterial \u002F>\n      \u003CHelper :type=\"BoxHelper\" :args=\"[0xff0000]\" \u002F>\n    \u003C\u002FTresMesh>\n    \u003CTresAmbientLight \u002F>\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n",[553,554],3,13,"vue",[539,557,558,592,620,642,663,673,679,689,700,743,765,776,786,827,837,847,857],{"__ignoreMap":508},[559,560,562,566,570,574,577,580,583,587,589],"span",{"class":561,"line":509},"line",[559,563,565],{"class":564},"sMK4o","\u003C",[559,567,569],{"class":568},"swJcz","script",[559,571,573],{"class":572},"spNyl"," setup",[559,575,576],{"class":572}," lang",[559,578,579],{"class":564},"=",[559,581,582],{"class":564},"\"",[559,584,586],{"class":585},"sfazB","ts",[559,588,582],{"class":564},[559,590,591],{"class":564},">\n",[559,593,594,598,601,605,608,611,614,617],{"class":561,"line":510},[559,595,597],{"class":596},"s7zQu","import",[559,599,600],{"class":564}," {",[559,602,604],{"class":603},"sTEyZ"," TresCanvas",[559,606,607],{"class":564}," }",[559,609,610],{"class":596}," from",[559,612,613],{"class":564}," '",[559,615,616],{"class":585},"@tresjs\u002Fcore",[559,618,619],{"class":564},"'\n",[559,621,624,626,628,631,633,635,637,640],{"class":622,"line":553},[561,623],"highlight",[559,625,597],{"class":596},[559,627,600],{"class":564},[559,629,630],{"class":603}," Helper",[559,632,607],{"class":564},[559,634,610],{"class":596},[559,636,613],{"class":564},[559,638,639],{"class":585},"@tresjs\u002Fcientos",[559,641,619],{"class":564},[559,643,645,647,649,652,654,656,658,661],{"class":561,"line":644},4,[559,646,597],{"class":596},[559,648,600],{"class":564},[559,650,651],{"class":603}," BoxHelper",[559,653,607],{"class":564},[559,655,610],{"class":596},[559,657,613],{"class":564},[559,659,660],{"class":585},"three",[559,662,619],{"class":564},[559,664,666,669,671],{"class":561,"line":665},5,[559,667,668],{"class":564},"\u003C\u002F",[559,670,569],{"class":568},[559,672,591],{"class":564},[559,674,676],{"class":561,"line":675},6,[559,677,678],{"emptyLinePlaceholder":516},"\n",[559,680,682,684,687],{"class":561,"line":681},7,[559,683,565],{"class":564},[559,685,686],{"class":568},"template",[559,688,591],{"class":564},[559,690,692,695,698],{"class":561,"line":691},8,[559,693,694],{"class":564},"  \u003C",[559,696,697],{"class":568},"TresCanvas",[559,699,591],{"class":564},[559,701,703,706,709,712,715,717,719,722,726,729,731,733,735,738,740],{"class":561,"line":702},9,[559,704,705],{"class":564},"    \u003C",[559,707,708],{"class":568},"TresPerspectiveCamera",[559,710,711],{"class":564}," :",[559,713,714],{"class":572},"position",[559,716,579],{"class":564},[559,718,582],{"class":564},[559,720,721],{"class":564},"[",[559,723,725],{"class":724},"sbssI","3",[559,727,728],{"class":564},", ",[559,730,725],{"class":724},[559,732,728],{"class":564},[559,734,725],{"class":724},[559,736,737],{"class":564},"]",[559,739,582],{"class":564},[559,741,742],{"class":564}," \u002F>\n",[559,744,746,748,751,754,756,758,761,763],{"class":561,"line":745},10,[559,747,705],{"class":564},[559,749,750],{"class":568},"TresMesh",[559,752,753],{"class":572}," ref",[559,755,579],{"class":564},[559,757,582],{"class":564},[559,759,760],{"class":585},"boxRef",[559,762,582],{"class":564},[559,764,591],{"class":564},[559,766,768,771,774],{"class":561,"line":767},11,[559,769,770],{"class":564},"      \u003C",[559,772,773],{"class":568},"TresBoxGeometry",[559,775,742],{"class":564},[559,777,779,781,784],{"class":561,"line":778},12,[559,780,770],{"class":564},[559,782,783],{"class":568},"TresMeshNormalMaterial",[559,785,742],{"class":564},[559,787,789,791,793,795,798,800,802,805,807,809,812,814,816,818,821,823,825],{"class":788,"line":554},[561,623],[559,790,770],{"class":564},[559,792,315],{"class":568},[559,794,711],{"class":564},[559,796,797],{"class":572},"type",[559,799,579],{"class":564},[559,801,582],{"class":564},[559,803,804],{"class":603},"BoxHelper",[559,806,582],{"class":564},[559,808,711],{"class":564},[559,810,811],{"class":572},"args",[559,813,579],{"class":564},[559,815,582],{"class":564},[559,817,721],{"class":564},[559,819,820],{"class":724},"0xff0000",[559,822,737],{"class":564},[559,824,582],{"class":564},[559,826,742],{"class":564},[559,828,830,833,835],{"class":561,"line":829},14,[559,831,832],{"class":564},"    \u003C\u002F",[559,834,750],{"class":568},[559,836,591],{"class":564},[559,838,840,842,845],{"class":561,"line":839},15,[559,841,705],{"class":564},[559,843,844],{"class":568},"TresAmbientLight",[559,846,742],{"class":564},[559,848,850,853,855],{"class":561,"line":849},16,[559,851,852],{"class":564},"  \u003C\u002F",[559,854,697],{"class":568},[559,856,591],{"class":564},[559,858,860,862,864],{"class":561,"line":859},17,[559,861,668],{"class":564},[559,863,686],{"class":568},[559,865,591],{"class":564},[544,867,869],{"id":868},"props","Props",[871,872,873,890],"table",{},[874,875,876],"thead",{},[877,878,879,884,887],"tr",{},[880,881,883],"th",{"align":882},"left","Prop",[880,885,886],{"align":882},"Description",[880,888,889],{},"Default",[891,892,893,906],"tbody",{},[877,894,895,901,904],{},[896,897,898],"td",{"align":882},[899,900,797],"strong",{},[896,902,903],{"align":882},"Helper constructor - required",[896,905],{},[877,907,908,912,915],{},[896,909,910],{"align":882},[899,911,811],{},[896,913,914],{"align":882},"Helper constructor args",[896,916,917],{},[539,918,919],{},"[]",[921,922,923],"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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":508,"searchDepth":509,"depth":510,"links":925},[926,927],{"id":546,"depth":510,"text":15},{"id":868,"depth":510,"text":869},{},{"title":315,"description":523},"eCegCHTXKuWv3dso3PuJHIMliJK_ACUVoEreb2IQT48",{"id":932,"title":319,"body":933,"description":1479,"extension":513,"links":514,"meta":1480,"navigation":516,"path":320,"seo":1481,"stem":321,"__hash__":1482},"docs\u002F2.api\u002F6.debug-performance\u002Flod.md",{"type":501,"value":934,"toc":1475},[935,940,943,956,958,1421,1423,1472],[530,936,937],{},[938,939],"debug-performance-lod",{},[536,941,942],{},"Level of Detail - show meshes with more or less geometry based on distance from the camera.",[536,944,945,948,949,955],{},[539,946,947],{},"\u003CLOD \u002F>"," is a wrapper for THREE's ",[950,951,319],"a",{"href":952,"rel":953},"https:\u002F\u002Fthreejs.org\u002Fdocs\u002F?q=LOD#api\u002Fen\u002Fobjects\u002FLOD",[954],"nofollow"," class.",[544,957,15],{"id":546},[548,959,961],{"className":550,"code":960,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { TresCanvas } from '@tresjs\u002Fcore'\nimport { LOD } from '@tresjs\u002Fcientos'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    \u003CTresPerspectiveCamera :position=\"[0, 2, 5]\" \u002F>\n    \u003CLOD :levels=\"[0, 5, 10]\">\n      \u003C!-- High detail mesh - shown when close -->\n      \u003CTresMesh>\n        \u003CTresSphereGeometry :args=\"[1, 32, 32]\" \u002F>\n        \u003CTresMeshStandardMaterial color=\"red\" \u002F>\n      \u003C\u002FTresMesh>\n      \u003C!-- Medium detail mesh - shown at mid distance -->\n      \u003CTresMesh>\n        \u003CTresSphereGeometry :args=\"[1, 16, 16]\" \u002F>\n        \u003CTresMeshStandardMaterial color=\"orange\" \u002F>\n      \u003C\u002FTresMesh>\n      \u003C!-- Low detail mesh - shown when far -->\n      \u003CTresMesh>\n        \u003CTresSphereGeometry :args=\"[1, 8, 8]\" \u002F>\n        \u003CTresMeshStandardMaterial color=\"yellow\" \u002F>\n      \u003C\u002FTresMesh>\n    \u003C\u002FLOD>\n    \u003CTresAmbientLight \u002F>\n    \u003CTresDirectionalLight :position=\"[0, 2, 4]\" \u002F>\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n",[539,962,963,983,1001,1020,1028,1032,1040,1048,1083,1117,1123,1131,1167,1188,1197,1202,1210,1243,1263,1272,1278,1287,1321,1341,1350,1359,1368,1403,1412],{"__ignoreMap":508},[559,964,965,967,969,971,973,975,977,979,981],{"class":561,"line":509},[559,966,565],{"class":564},[559,968,569],{"class":568},[559,970,573],{"class":572},[559,972,576],{"class":572},[559,974,579],{"class":564},[559,976,582],{"class":564},[559,978,586],{"class":585},[559,980,582],{"class":564},[559,982,591],{"class":564},[559,984,985,987,989,991,993,995,997,999],{"class":561,"line":510},[559,986,597],{"class":596},[559,988,600],{"class":564},[559,990,604],{"class":603},[559,992,607],{"class":564},[559,994,610],{"class":596},[559,996,613],{"class":564},[559,998,616],{"class":585},[559,1000,619],{"class":564},[559,1002,1003,1005,1007,1010,1012,1014,1016,1018],{"class":561,"line":553},[559,1004,597],{"class":596},[559,1006,600],{"class":564},[559,1008,1009],{"class":603}," LOD",[559,1011,607],{"class":564},[559,1013,610],{"class":596},[559,1015,613],{"class":564},[559,1017,639],{"class":585},[559,1019,619],{"class":564},[559,1021,1022,1024,1026],{"class":561,"line":644},[559,1023,668],{"class":564},[559,1025,569],{"class":568},[559,1027,591],{"class":564},[559,1029,1030],{"class":561,"line":665},[559,1031,678],{"emptyLinePlaceholder":516},[559,1033,1034,1036,1038],{"class":561,"line":675},[559,1035,565],{"class":564},[559,1037,686],{"class":568},[559,1039,591],{"class":564},[559,1041,1042,1044,1046],{"class":561,"line":681},[559,1043,694],{"class":564},[559,1045,697],{"class":568},[559,1047,591],{"class":564},[559,1049,1050,1052,1054,1056,1058,1060,1062,1064,1067,1069,1072,1074,1077,1079,1081],{"class":561,"line":691},[559,1051,705],{"class":564},[559,1053,708],{"class":568},[559,1055,711],{"class":564},[559,1057,714],{"class":572},[559,1059,579],{"class":564},[559,1061,582],{"class":564},[559,1063,721],{"class":564},[559,1065,1066],{"class":724},"0",[559,1068,728],{"class":564},[559,1070,1071],{"class":724},"2",[559,1073,728],{"class":564},[559,1075,1076],{"class":724},"5",[559,1078,737],{"class":564},[559,1080,582],{"class":564},[559,1082,742],{"class":564},[559,1084,1085,1087,1089,1091,1094,1096,1098,1100,1102,1104,1106,1108,1111,1113,1115],{"class":561,"line":702},[559,1086,705],{"class":564},[559,1088,319],{"class":568},[559,1090,711],{"class":564},[559,1092,1093],{"class":572},"levels",[559,1095,579],{"class":564},[559,1097,582],{"class":564},[559,1099,721],{"class":564},[559,1101,1066],{"class":724},[559,1103,728],{"class":564},[559,1105,1076],{"class":724},[559,1107,728],{"class":564},[559,1109,1110],{"class":724},"10",[559,1112,737],{"class":564},[559,1114,582],{"class":564},[559,1116,591],{"class":564},[559,1118,1119],{"class":561,"line":745},[559,1120,1122],{"class":1121},"sHwdD","      \u003C!-- High detail mesh - shown when close -->\n",[559,1124,1125,1127,1129],{"class":561,"line":767},[559,1126,770],{"class":564},[559,1128,750],{"class":568},[559,1130,591],{"class":564},[559,1132,1133,1136,1139,1141,1143,1145,1147,1149,1152,1154,1157,1159,1161,1163,1165],{"class":561,"line":778},[559,1134,1135],{"class":564},"        \u003C",[559,1137,1138],{"class":568},"TresSphereGeometry",[559,1140,711],{"class":564},[559,1142,811],{"class":572},[559,1144,579],{"class":564},[559,1146,582],{"class":564},[559,1148,721],{"class":564},[559,1150,1151],{"class":724},"1",[559,1153,728],{"class":564},[559,1155,1156],{"class":724},"32",[559,1158,728],{"class":564},[559,1160,1156],{"class":724},[559,1162,737],{"class":564},[559,1164,582],{"class":564},[559,1166,742],{"class":564},[559,1168,1169,1171,1174,1177,1179,1181,1184,1186],{"class":561,"line":554},[559,1170,1135],{"class":564},[559,1172,1173],{"class":568},"TresMeshStandardMaterial",[559,1175,1176],{"class":572}," color",[559,1178,579],{"class":564},[559,1180,582],{"class":564},[559,1182,1183],{"class":585},"red",[559,1185,582],{"class":564},[559,1187,742],{"class":564},[559,1189,1190,1193,1195],{"class":561,"line":829},[559,1191,1192],{"class":564},"      \u003C\u002F",[559,1194,750],{"class":568},[559,1196,591],{"class":564},[559,1198,1199],{"class":561,"line":839},[559,1200,1201],{"class":1121},"      \u003C!-- Medium detail mesh - shown at mid distance -->\n",[559,1203,1204,1206,1208],{"class":561,"line":849},[559,1205,770],{"class":564},[559,1207,750],{"class":568},[559,1209,591],{"class":564},[559,1211,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1233,1235,1237,1239,1241],{"class":561,"line":859},[559,1213,1135],{"class":564},[559,1215,1138],{"class":568},[559,1217,711],{"class":564},[559,1219,811],{"class":572},[559,1221,579],{"class":564},[559,1223,582],{"class":564},[559,1225,721],{"class":564},[559,1227,1151],{"class":724},[559,1229,728],{"class":564},[559,1231,1232],{"class":724},"16",[559,1234,728],{"class":564},[559,1236,1232],{"class":724},[559,1238,737],{"class":564},[559,1240,582],{"class":564},[559,1242,742],{"class":564},[559,1244,1246,1248,1250,1252,1254,1256,1259,1261],{"class":561,"line":1245},18,[559,1247,1135],{"class":564},[559,1249,1173],{"class":568},[559,1251,1176],{"class":572},[559,1253,579],{"class":564},[559,1255,582],{"class":564},[559,1257,1258],{"class":585},"orange",[559,1260,582],{"class":564},[559,1262,742],{"class":564},[559,1264,1266,1268,1270],{"class":561,"line":1265},19,[559,1267,1192],{"class":564},[559,1269,750],{"class":568},[559,1271,591],{"class":564},[559,1273,1275],{"class":561,"line":1274},20,[559,1276,1277],{"class":1121},"      \u003C!-- Low detail mesh - shown when far -->\n",[559,1279,1281,1283,1285],{"class":561,"line":1280},21,[559,1282,770],{"class":564},[559,1284,750],{"class":568},[559,1286,591],{"class":564},[559,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1311,1313,1315,1317,1319],{"class":561,"line":1289},22,[559,1291,1135],{"class":564},[559,1293,1138],{"class":568},[559,1295,711],{"class":564},[559,1297,811],{"class":572},[559,1299,579],{"class":564},[559,1301,582],{"class":564},[559,1303,721],{"class":564},[559,1305,1151],{"class":724},[559,1307,728],{"class":564},[559,1309,1310],{"class":724},"8",[559,1312,728],{"class":564},[559,1314,1310],{"class":724},[559,1316,737],{"class":564},[559,1318,582],{"class":564},[559,1320,742],{"class":564},[559,1322,1324,1326,1328,1330,1332,1334,1337,1339],{"class":561,"line":1323},23,[559,1325,1135],{"class":564},[559,1327,1173],{"class":568},[559,1329,1176],{"class":572},[559,1331,579],{"class":564},[559,1333,582],{"class":564},[559,1335,1336],{"class":585},"yellow",[559,1338,582],{"class":564},[559,1340,742],{"class":564},[559,1342,1344,1346,1348],{"class":561,"line":1343},24,[559,1345,1192],{"class":564},[559,1347,750],{"class":568},[559,1349,591],{"class":564},[559,1351,1353,1355,1357],{"class":561,"line":1352},25,[559,1354,832],{"class":564},[559,1356,319],{"class":568},[559,1358,591],{"class":564},[559,1360,1362,1364,1366],{"class":561,"line":1361},26,[559,1363,705],{"class":564},[559,1365,844],{"class":568},[559,1367,742],{"class":564},[559,1369,1371,1373,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1397,1399,1401],{"class":561,"line":1370},27,[559,1372,705],{"class":564},[559,1374,1375],{"class":568},"TresDirectionalLight",[559,1377,711],{"class":564},[559,1379,714],{"class":572},[559,1381,579],{"class":564},[559,1383,582],{"class":564},[559,1385,721],{"class":564},[559,1387,1066],{"class":724},[559,1389,728],{"class":564},[559,1391,1071],{"class":724},[559,1393,728],{"class":564},[559,1395,1396],{"class":724},"4",[559,1398,737],{"class":564},[559,1400,582],{"class":564},[559,1402,742],{"class":564},[559,1404,1406,1408,1410],{"class":561,"line":1405},28,[559,1407,852],{"class":564},[559,1409,697],{"class":568},[559,1411,591],{"class":564},[559,1413,1415,1417,1419],{"class":561,"line":1414},29,[559,1416,668],{"class":564},[559,1418,686],{"class":568},[559,1420,591],{"class":564},[544,1422,869],{"id":868},[871,1424,1425,1435],{},[874,1426,1427],{},[877,1428,1429,1431,1433],{},[880,1430,883],{"align":882},[880,1432,886],{"align":882},[880,1434,889],{},[891,1436,1437,1457],{},[877,1438,1439,1443,1455],{},[896,1440,1441],{"align":882},[899,1442,1093],{},[896,1444,1445,1448,1449,1451,1452,1454],{"align":882},[539,1446,1447],{},"number[]"," - The distances at which to display each level of detail. There should be one ",[539,1450,1093],{}," value for each ",[539,1453,319],{}," child.",[896,1456],{},[877,1458,1459,1464,1467],{},[896,1460,1461],{"align":882},[899,1462,1463],{},"hysteresis",[896,1465,1466],{"align":882},"Threshold used to avoid flickering at LOD boundaries, as a fraction of distance.",[896,1468,1469],{},[539,1470,1471],{},"0.0",[921,1473,1474],{},"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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":508,"searchDepth":509,"depth":510,"links":1476},[1477,1478],{"id":546,"depth":510,"text":15},{"id":868,"depth":510,"text":869},"Level of Detail - show meshes with more or less geometry based on distance from camera.",{},{"title":319,"description":1479},"ue6lcrsKRgNjxBsudKxGB368Ot9yPUV2C-0TWgeZzbE",{"id":1484,"title":323,"body":1485,"description":1696,"extension":513,"links":514,"meta":1697,"navigation":516,"path":324,"seo":1698,"stem":325,"__hash__":1699},"docs\u002F2.api\u002F6.debug-performance\u002Fstats.md",{"type":501,"value":1486,"toc":1692},[1487,1501,1510,1514,1631,1633,1669,1689],[536,1488,1489,1494,1495,1500],{},[950,1490,1493],{"href":1491,"rel":1492},"https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fstats.js\u002F",[954],"stats.js"," is a JavaScript performance monitor, made by ",[950,1496,1499],{"href":1497,"rel":1498},"https:\u002F\u002Fgithub.com\u002Fmrdoob",[954],"mrdoob",". stats.js provides a simple info box that will help you monitor your code performance.",[536,1502,1503,1506,1507,1509],{},[899,1504,1505],{},"Cientos"," provides a component called ",[539,1508,323],{}," that creates a panel without effort or configuration in the top left corner where you'll be able to monitor your app.",[544,1511,1513],{"id":1512},"basic-usage","Basic usage",[548,1515,1518],{"className":550,"code":1516,"highlights":1517,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { TresCanvas } from '@tresjs\u002Fcore'\nimport { Stats } from '@tresjs\u002Fcientos'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    \u003CStats \u002F>\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n",[553,691],[539,1519,1520,1540,1558,1578,1586,1590,1598,1606,1615,1623],{"__ignoreMap":508},[559,1521,1522,1524,1526,1528,1530,1532,1534,1536,1538],{"class":561,"line":509},[559,1523,565],{"class":564},[559,1525,569],{"class":568},[559,1527,573],{"class":572},[559,1529,576],{"class":572},[559,1531,579],{"class":564},[559,1533,582],{"class":564},[559,1535,586],{"class":585},[559,1537,582],{"class":564},[559,1539,591],{"class":564},[559,1541,1542,1544,1546,1548,1550,1552,1554,1556],{"class":561,"line":510},[559,1543,597],{"class":596},[559,1545,600],{"class":564},[559,1547,604],{"class":603},[559,1549,607],{"class":564},[559,1551,610],{"class":596},[559,1553,613],{"class":564},[559,1555,616],{"class":585},[559,1557,619],{"class":564},[559,1559,1561,1563,1565,1568,1570,1572,1574,1576],{"class":1560,"line":553},[561,623],[559,1562,597],{"class":596},[559,1564,600],{"class":564},[559,1566,1567],{"class":603}," Stats",[559,1569,607],{"class":564},[559,1571,610],{"class":596},[559,1573,613],{"class":564},[559,1575,639],{"class":585},[559,1577,619],{"class":564},[559,1579,1580,1582,1584],{"class":561,"line":644},[559,1581,668],{"class":564},[559,1583,569],{"class":568},[559,1585,591],{"class":564},[559,1587,1588],{"class":561,"line":665},[559,1589,678],{"emptyLinePlaceholder":516},[559,1591,1592,1594,1596],{"class":561,"line":675},[559,1593,565],{"class":564},[559,1595,686],{"class":568},[559,1597,591],{"class":564},[559,1599,1600,1602,1604],{"class":561,"line":681},[559,1601,694],{"class":564},[559,1603,697],{"class":568},[559,1605,591],{"class":564},[559,1607,1609,1611,1613],{"class":1608,"line":691},[561,623],[559,1610,705],{"class":564},[559,1612,323],{"class":568},[559,1614,742],{"class":564},[559,1616,1617,1619,1621],{"class":561,"line":702},[559,1618,852],{"class":564},[559,1620,697],{"class":568},[559,1622,591],{"class":564},[559,1624,1625,1627,1629],{"class":561,"line":745},[559,1626,668],{"class":564},[559,1628,686],{"class":568},[559,1630,591],{"class":564},[544,1632,869],{"id":868},[871,1634,1635,1648],{},[874,1636,1637],{},[877,1638,1639,1641,1644,1646],{},[880,1640,883],{"align":882},[880,1642,1643],{},"Type",[880,1645,889],{},[880,1647,886],{},[891,1649,1650],{},[877,1651,1652,1657,1662,1666],{},[896,1653,1654],{"align":882},[899,1655,1656],{},"showPanel",[896,1658,1659],{},[539,1660,1661],{},"number",[896,1663,1664],{},[539,1665,1066],{},[896,1667,1668],{},"FPS monitor.",[1670,1671,1672,1676,1679,1682],"ul",{},[1673,1674,1675],"li",{},"0: FPS Frames rendered in the last second. The higher the number the better.",[1673,1677,1678],{},"1: MS Milliseconds needed to render a frame. The lower the number the better.",[1673,1680,1681],{},"2: MB MBytes of allocated memory. (Run Chrome with --enable-precise-memory-info)",[1673,1683,1684,1685,1688],{},"3+: CUSTOM User-defined panel support. For more info please check ",[950,1686,1493],{"href":1491,"rel":1687},[954],".",[921,1690,1691],{},"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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":508,"searchDepth":509,"depth":510,"links":1693},[1694,1695],{"id":1512,"depth":510,"text":1513},{"id":868,"depth":510,"text":869},"JavaScript performance monitor to track FPS, MS, and memory usage.",{},{"title":323,"description":1696},"CEx2GwVgDehipIa_mCiC4Mpq7SAIqbwq61OScXwW86c",{"id":1701,"title":327,"body":1702,"description":2002,"extension":513,"links":514,"meta":2003,"navigation":516,"path":328,"seo":2004,"stem":329,"__hash__":2005},"docs\u002F2.api\u002F6.debug-performance\u002Fstats-gl.md",{"type":501,"value":1703,"toc":1998},[1704,1722,1725,1727,1844,1848,1996],[536,1705,1706,1711,1712,1717,1718,1721],{},[950,1707,1710],{"href":1708,"rel":1709},"https:\u002F\u002Fgithub.com\u002FRenaudRohlinger\u002Fstats-gl",[954],"stats-gl"," is a powerful WebGL performance monitoring tool created by ",[950,1713,1716],{"href":1714,"rel":1715},"https:\u002F\u002Fgithub.com\u002FRenaudRohlinger",[954],"RenaudRohlinger",".\nIt offers simple information boxes to track code performance and serves as a more advanced alternative to ",[950,1719,1493],{"href":1491,"rel":1720},[954],", capable of displaying CPU and GPU metrics.",[536,1723,1724],{},"In TresJS, you can effortlessly create a performance monitoring panel in the top left corner of your canvas by using the StatsGl component.\nSimply drop the StatsGl component into your TresCanvas for easy performance monitoring.",[544,1726,1513],{"id":1512},[548,1728,1731],{"className":550,"code":1729,"highlights":1730,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { TresCanvas } from '@tresjs\u002Fcore'\nimport { StatsGl } from '@tresjs\u002Fcientos'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    \u003CStatsGl \u002F>\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n",[553,691],[539,1732,1733,1753,1771,1791,1799,1803,1811,1819,1828,1836],{"__ignoreMap":508},[559,1734,1735,1737,1739,1741,1743,1745,1747,1749,1751],{"class":561,"line":509},[559,1736,565],{"class":564},[559,1738,569],{"class":568},[559,1740,573],{"class":572},[559,1742,576],{"class":572},[559,1744,579],{"class":564},[559,1746,582],{"class":564},[559,1748,586],{"class":585},[559,1750,582],{"class":564},[559,1752,591],{"class":564},[559,1754,1755,1757,1759,1761,1763,1765,1767,1769],{"class":561,"line":510},[559,1756,597],{"class":596},[559,1758,600],{"class":564},[559,1760,604],{"class":603},[559,1762,607],{"class":564},[559,1764,610],{"class":596},[559,1766,613],{"class":564},[559,1768,616],{"class":585},[559,1770,619],{"class":564},[559,1772,1774,1776,1778,1781,1783,1785,1787,1789],{"class":1773,"line":553},[561,623],[559,1775,597],{"class":596},[559,1777,600],{"class":564},[559,1779,1780],{"class":603}," StatsGl",[559,1782,607],{"class":564},[559,1784,610],{"class":596},[559,1786,613],{"class":564},[559,1788,639],{"class":585},[559,1790,619],{"class":564},[559,1792,1793,1795,1797],{"class":561,"line":644},[559,1794,668],{"class":564},[559,1796,569],{"class":568},[559,1798,591],{"class":564},[559,1800,1801],{"class":561,"line":665},[559,1802,678],{"emptyLinePlaceholder":516},[559,1804,1805,1807,1809],{"class":561,"line":675},[559,1806,565],{"class":564},[559,1808,686],{"class":568},[559,1810,591],{"class":564},[559,1812,1813,1815,1817],{"class":561,"line":681},[559,1814,694],{"class":564},[559,1816,697],{"class":568},[559,1818,591],{"class":564},[559,1820,1822,1824,1826],{"class":1821,"line":691},[561,623],[559,1823,705],{"class":564},[559,1825,327],{"class":568},[559,1827,742],{"class":564},[559,1829,1830,1832,1834],{"class":561,"line":702},[559,1831,852],{"class":564},[559,1833,697],{"class":568},[559,1835,591],{"class":564},[559,1837,1838,1840,1842],{"class":561,"line":745},[559,1839,668],{"class":564},[559,1841,686],{"class":568},[559,1843,591],{"class":564},[544,1845,1847],{"id":1846},"options","Options",[871,1849,1850,1863],{},[874,1851,1852],{},[877,1853,1854,1857,1859,1861],{},[880,1855,1856],{"align":882},"Name",[880,1858,1643],{},[880,1860,889],{},[880,1862,886],{},[891,1864,1865,1884,1903,1921,1939,1959,1978],{},[877,1866,1867,1872,1876,1881],{},[896,1868,1869],{"align":882},[899,1870,1871],{},"logsPerSecond",[896,1873,1874],{},[539,1875,1661],{},[896,1877,1878],{},[539,1879,1880],{},"20",[896,1882,1883],{},"How often to log performance data, in logs per second.",[877,1885,1886,1891,1895,1900],{},[896,1887,1888],{"align":882},[899,1889,1890],{},"samplesLog",[896,1892,1893],{},[539,1894,1661],{},[896,1896,1897],{},[539,1898,1899],{},"100",[896,1901,1902],{},"Number of recent log samples to keep for computing averages.",[877,1904,1905,1910,1914,1918],{},[896,1906,1907],{"align":882},[899,1908,1909],{},"samplesGraph",[896,1911,1912],{},[539,1913,1661],{},[896,1915,1916],{},[539,1917,1110],{},[896,1919,1920],{},"Number of recent graph samples to keep for computing averages.",[877,1922,1923,1928,1932,1936],{},[896,1924,1925],{"align":882},[899,1926,1927],{},"precision",[896,1929,1930],{},[539,1931,1661],{},[896,1933,1934],{},[539,1935,1071],{},[896,1937,1938],{},"Precision of the data, in the number of decimal places (only affects CPU and GPU).",[877,1940,1941,1946,1951,1956],{},[896,1942,1943],{"align":882},[899,1944,1945],{},"horizontal",[896,1947,1948],{},[539,1949,1950],{},"boolean",[896,1952,1953],{},[539,1954,1955],{},"true",[896,1957,1958],{},"Display the canvases on the X-axis, set to align on the vertical axis.",[877,1960,1961,1966,1970,1975],{},[896,1962,1963],{"align":882},[899,1964,1965],{},"minimal",[896,1967,1968],{},[539,1969,1950],{},[896,1971,1972],{},[539,1973,1974],{},"false",[896,1976,1977],{},"A boolean value to control the minimalistic mode of the panel display. If set to true, a simple click on the panel will switch between different metrics.",[877,1979,1980,1985,1989,1993],{},[896,1981,1982],{"align":882},[899,1983,1984],{},"mode",[896,1986,1987],{},[539,1988,1661],{},[896,1990,1991],{},[539,1992,1066],{},[896,1994,1995],{},"Sets the initial panel to display - 0 for FPS, 1 for CPU, and 2 for GPU (if supported).",[921,1997,1691],{},{"title":508,"searchDepth":509,"depth":510,"links":1999},[2000,2001],{"id":1512,"depth":510,"text":1513},{"id":1846,"depth":510,"text":1847},"WebGL performance monitoring tool displaying CPU and GPU metrics.",{},{"title":327,"description":2002},"U7tHg9fUc_rOVhwBvVzqjDp7pPwOLcUprEa_GiH5-Uc",{"id":2007,"title":331,"body":2008,"description":3466,"extension":513,"links":514,"meta":3467,"navigation":516,"path":332,"seo":3468,"stem":333,"__hash__":3469},"docs\u002F2.api\u002F6.debug-performance\u002Fuse-bvh.md",{"type":501,"value":2009,"toc":3442},[2010,2016,2023,2037,2041,2044,2049,2060,2062,2066,2253,2257,2260,2415,2419,2422,2714,2716,2731,2735,2788,2792,2798,2947,2951,2971,2975,2979,2982,3076,3080,3083,3126,3129,3133,3186,3190,3217,3221,3227,3385,3389,3393,3415,3419,3439],[2011,2012,2013],"scene-controls-wrapper",{},[2014,2015],"debug-performance-use-bounding-volume-hierarchy",{},[536,2017,2018,2019,2022],{},"A composable that dramatically improves raycasting performance by building a Bounding Volume Hierarchy (BVH) for your meshes. This can speed up raycasting by ",[899,2020,2021],{},"orders of magnitude",", especially for complex models with many triangles.",[536,2024,2025,2026,2031,2032,1688],{},"Built on top of ",[950,2027,2030],{"href":2028,"rel":2029},"https:\u002F\u002Fgithub.com\u002Fgkjohnson\u002Fthree-mesh-bvh",[954],"three-mesh-bvh"," by ",[950,2033,2036],{"href":2034,"rel":2035},"https:\u002F\u002Fgithub.com\u002Fgkjohnson",[954],"Garrett Johnson",[544,2038,2040],{"id":2039},"what-is-bvh","What is BVH?",[536,2042,2043],{},"BVH (Bounding Volume Hierarchy) is a spatial data structure that organizes geometry into a tree of bounding boxes. Instead of testing every triangle during raycasting, the algorithm tests bounding boxes first and only checks triangles in boxes that intersect the ray. This reduces raycasting complexity from O(n) to O(log n).",[536,2045,2046],{},[899,2047,2048],{},"Use cases:",[1670,2050,2051,2054,2057],{},[1673,2052,2053],{},"Interactive 3D applications with raycasting (mouse picking, selection)",[1673,2055,2056],{},"Complex models with thousands of triangles",[1673,2058,2059],{},"Scenes with multiple raycasting operations per frame",[544,2061,15],{"id":546},[2063,2064,2065],"h3",{"id":1512},"Basic Usage",[548,2067,2070],{"className":550,"code":2068,"highlights":2069,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { useGLTF, useBVH } from '@tresjs\u002Fcientos'\n\nconst { state: model } = useGLTF('\u002Fmodels\u002Fcomplex-model.glb')\nuseBVH(() => model.value?.scene)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cprimitive v-if=\"model\" :object=\"model.scene\" \u002F>\n\u003C\u002Ftemplate>\n",[510,665,675,681,691,745],[539,2071,2072,2092,2118,2122,2161,2188,2197,2202,2211,2244],{"__ignoreMap":508},[559,2073,2074,2076,2078,2080,2082,2084,2086,2088,2090],{"class":561,"line":509},[559,2075,565],{"class":564},[559,2077,569],{"class":568},[559,2079,573],{"class":572},[559,2081,576],{"class":572},[559,2083,579],{"class":564},[559,2085,582],{"class":564},[559,2087,586],{"class":585},[559,2089,582],{"class":564},[559,2091,591],{"class":564},[559,2093,2095,2097,2099,2102,2105,2108,2110,2112,2114,2116],{"class":2094,"line":510},[561,623],[559,2096,597],{"class":596},[559,2098,600],{"class":564},[559,2100,2101],{"class":603}," useGLTF",[559,2103,2104],{"class":564},",",[559,2106,2107],{"class":603}," useBVH",[559,2109,607],{"class":564},[559,2111,610],{"class":596},[559,2113,613],{"class":564},[559,2115,639],{"class":585},[559,2117,619],{"class":564},[559,2119,2120],{"class":561,"line":553},[559,2121,678],{"emptyLinePlaceholder":516},[559,2123,2124,2127,2129,2132,2135,2138,2141,2144,2147,2150,2153,2156,2158],{"class":561,"line":644},[559,2125,2126],{"class":572},"const",[559,2128,600],{"class":564},[559,2130,2131],{"class":568}," state",[559,2133,2134],{"class":564},":",[559,2136,2137],{"class":603}," model ",[559,2139,2140],{"class":564},"}",[559,2142,2143],{"class":564}," =",[559,2145,2101],{"class":2146},"s2Zo4",[559,2148,2149],{"class":603},"(",[559,2151,2152],{"class":564},"'",[559,2154,2155],{"class":585},"\u002Fmodels\u002Fcomplex-model.glb",[559,2157,2152],{"class":564},[559,2159,2160],{"class":603},")\n",[559,2162,2164,2166,2168,2171,2174,2177,2179,2182,2185],{"class":2163,"line":665},[561,623],[559,2165,331],{"class":2146},[559,2167,2149],{"class":603},[559,2169,2170],{"class":564},"()",[559,2172,2173],{"class":572}," =>",[559,2175,2176],{"class":603}," model",[559,2178,1688],{"class":564},[559,2180,2181],{"class":603},"value",[559,2183,2184],{"class":564},"?.",[559,2186,2187],{"class":603},"scene)\n",[559,2189,2191,2193,2195],{"class":2190,"line":675},[561,623],[559,2192,668],{"class":564},[559,2194,569],{"class":568},[559,2196,591],{"class":564},[559,2198,2200],{"class":2199,"line":681},[561,623],[559,2201,678],{"emptyLinePlaceholder":516},[559,2203,2205,2207,2209],{"class":2204,"line":691},[561,623],[559,2206,565],{"class":564},[559,2208,686],{"class":568},[559,2210,591],{"class":564},[559,2212,2213,2215,2218,2221,2223,2225,2228,2230,2233,2235,2237,2240,2242],{"class":561,"line":702},[559,2214,694],{"class":564},[559,2216,2217],{"class":568},"primitive",[559,2219,2220],{"class":572}," v-if",[559,2222,579],{"class":564},[559,2224,582],{"class":564},[559,2226,2227],{"class":585},"model",[559,2229,582],{"class":564},[559,2231,2232],{"class":572}," :object",[559,2234,579],{"class":564},[559,2236,582],{"class":564},[559,2238,2239],{"class":585},"model.scene",[559,2241,582],{"class":564},[559,2243,742],{"class":564},[559,2245,2247,2249,2251],{"class":2246,"line":745},[561,623],[559,2248,668],{"class":564},[559,2250,686],{"class":568},[559,2252,591],{"class":564},[2063,2254,2256],{"id":2255},"with-debug-visualization","With Debug Visualization",[536,2258,2259],{},"Enable debug mode to visualize the BVH bounding boxes:",[548,2261,2264],{"className":550,"code":2262,"highlights":2263,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { useGLTF, useBVH } from '@tresjs\u002Fcientos'\n\nconst { state: model } = useGLTF('\u002Fmodels\u002Fmodel.glb')\n\nuseBVH(\n  () => model.value?.scene,\n  {\n    debug: true, \u002F\u002F Show BVH bounding boxes\n  }\n)\n\u003C\u002Fscript>\n",[644,665,675,681],[539,2265,2266,2286,2308,2312,2342,2347,2355,2377,2382,2398,2403,2407],{"__ignoreMap":508},[559,2267,2268,2270,2272,2274,2276,2278,2280,2282,2284],{"class":561,"line":509},[559,2269,565],{"class":564},[559,2271,569],{"class":568},[559,2273,573],{"class":572},[559,2275,576],{"class":572},[559,2277,579],{"class":564},[559,2279,582],{"class":564},[559,2281,586],{"class":585},[559,2283,582],{"class":564},[559,2285,591],{"class":564},[559,2287,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306],{"class":561,"line":510},[559,2289,597],{"class":596},[559,2291,600],{"class":564},[559,2293,2101],{"class":603},[559,2295,2104],{"class":564},[559,2297,2107],{"class":603},[559,2299,607],{"class":564},[559,2301,610],{"class":596},[559,2303,613],{"class":564},[559,2305,639],{"class":585},[559,2307,619],{"class":564},[559,2309,2310],{"class":561,"line":553},[559,2311,678],{"emptyLinePlaceholder":516},[559,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2338,2340],{"class":2314,"line":644},[561,623],[559,2316,2126],{"class":572},[559,2318,600],{"class":564},[559,2320,2131],{"class":568},[559,2322,2134],{"class":564},[559,2324,2137],{"class":603},[559,2326,2140],{"class":564},[559,2328,2143],{"class":564},[559,2330,2101],{"class":2146},[559,2332,2149],{"class":603},[559,2334,2152],{"class":564},[559,2336,2337],{"class":585},"\u002Fmodels\u002Fmodel.glb",[559,2339,2152],{"class":564},[559,2341,2160],{"class":603},[559,2343,2345],{"class":2344,"line":665},[561,623],[559,2346,678],{"emptyLinePlaceholder":516},[559,2348,2350,2352],{"class":2349,"line":675},[561,623],[559,2351,331],{"class":2146},[559,2353,2354],{"class":603},"(\n",[559,2356,2358,2361,2363,2365,2367,2369,2371,2374],{"class":2357,"line":681},[561,623],[559,2359,2360],{"class":564},"  ()",[559,2362,2173],{"class":572},[559,2364,2176],{"class":603},[559,2366,1688],{"class":564},[559,2368,2181],{"class":603},[559,2370,2184],{"class":564},[559,2372,2373],{"class":603},"scene",[559,2375,2376],{"class":564},",\n",[559,2378,2379],{"class":561,"line":691},[559,2380,2381],{"class":564},"  {\n",[559,2383,2384,2387,2389,2393,2395],{"class":561,"line":702},[559,2385,2386],{"class":568},"    debug",[559,2388,2134],{"class":564},[559,2390,2392],{"class":2391},"sfNiH"," true",[559,2394,2104],{"class":564},[559,2396,2397],{"class":1121}," \u002F\u002F Show BVH bounding boxes\n",[559,2399,2400],{"class":561,"line":745},[559,2401,2402],{"class":564},"  }\n",[559,2404,2405],{"class":561,"line":767},[559,2406,2160],{"class":603},[559,2408,2409,2411,2413],{"class":561,"line":778},[559,2410,668],{"class":564},[559,2412,569],{"class":568},[559,2414,591],{"class":564},[2063,2416,2418],{"id":2417},"reactive-enabled-state","Reactive Enabled State",[536,2420,2421],{},"Control BVH optimization dynamically:",[548,2423,2426],{"className":550,"code":2424,"highlights":2425,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { useGLTF, useBVH } from '@tresjs\u002Fcientos'\n\nconst bvhEnabled = ref(true)\n\nconst { state: model } = useGLTF('\u002Fmodels\u002Fmodel.glb')\n\nuseBVH(\n  () => model.value?.scene,\n  {\n    enabled: bvhEnabled,\n  }\n)\n\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cbutton @click=\"bvhEnabled = !bvhEnabled\">\n      Toggle BVH\n    \u003C\u002Fbutton>\n    \u003Cprimitive v-if=\"model\" :object=\"model.scene\" \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[644,675,681,691,702],[539,2427,2428,2448,2471,2493,2498,2515,2520,2549,2554,2561,2579,2583,2595,2599,2603,2607,2615,2619,2627,2636,2657,2662,2670,2698,2706],{"__ignoreMap":508},[559,2429,2430,2432,2434,2436,2438,2440,2442,2444,2446],{"class":561,"line":509},[559,2431,565],{"class":564},[559,2433,569],{"class":568},[559,2435,573],{"class":572},[559,2437,576],{"class":572},[559,2439,579],{"class":564},[559,2441,582],{"class":564},[559,2443,586],{"class":585},[559,2445,582],{"class":564},[559,2447,591],{"class":564},[559,2449,2450,2452,2454,2456,2458,2461,2463,2465,2467,2469],{"class":561,"line":510},[559,2451,597],{"class":596},[559,2453,600],{"class":564},[559,2455,753],{"class":603},[559,2457,2104],{"class":564},[559,2459,2460],{"class":603}," computed",[559,2462,607],{"class":564},[559,2464,610],{"class":596},[559,2466,613],{"class":564},[559,2468,555],{"class":585},[559,2470,619],{"class":564},[559,2472,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491],{"class":561,"line":553},[559,2474,597],{"class":596},[559,2476,600],{"class":564},[559,2478,2101],{"class":603},[559,2480,2104],{"class":564},[559,2482,2107],{"class":603},[559,2484,607],{"class":564},[559,2486,610],{"class":596},[559,2488,613],{"class":564},[559,2490,639],{"class":585},[559,2492,619],{"class":564},[559,2494,2496],{"class":2495,"line":644},[561,623],[559,2497,678],{"emptyLinePlaceholder":516},[559,2499,2500,2502,2505,2507,2509,2511,2513],{"class":561,"line":665},[559,2501,2126],{"class":572},[559,2503,2504],{"class":603}," bvhEnabled ",[559,2506,579],{"class":564},[559,2508,753],{"class":2146},[559,2510,2149],{"class":603},[559,2512,1955],{"class":2391},[559,2514,2160],{"class":603},[559,2516,2518],{"class":2517,"line":675},[561,623],[559,2519,678],{"emptyLinePlaceholder":516},[559,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547],{"class":2522,"line":681},[561,623],[559,2524,2126],{"class":572},[559,2526,600],{"class":564},[559,2528,2131],{"class":568},[559,2530,2134],{"class":564},[559,2532,2137],{"class":603},[559,2534,2140],{"class":564},[559,2536,2143],{"class":564},[559,2538,2101],{"class":2146},[559,2540,2149],{"class":603},[559,2542,2152],{"class":564},[559,2544,2337],{"class":585},[559,2546,2152],{"class":564},[559,2548,2160],{"class":603},[559,2550,2552],{"class":2551,"line":691},[561,623],[559,2553,678],{"emptyLinePlaceholder":516},[559,2555,2557,2559],{"class":2556,"line":702},[561,623],[559,2558,331],{"class":2146},[559,2560,2354],{"class":603},[559,2562,2563,2565,2567,2569,2571,2573,2575,2577],{"class":561,"line":745},[559,2564,2360],{"class":564},[559,2566,2173],{"class":572},[559,2568,2176],{"class":603},[559,2570,1688],{"class":564},[559,2572,2181],{"class":603},[559,2574,2184],{"class":564},[559,2576,2373],{"class":603},[559,2578,2376],{"class":564},[559,2580,2581],{"class":561,"line":767},[559,2582,2381],{"class":564},[559,2584,2585,2588,2590,2593],{"class":561,"line":778},[559,2586,2587],{"class":568},"    enabled",[559,2589,2134],{"class":564},[559,2591,2592],{"class":603}," bvhEnabled",[559,2594,2376],{"class":564},[559,2596,2597],{"class":561,"line":554},[559,2598,2402],{"class":564},[559,2600,2601],{"class":561,"line":829},[559,2602,2160],{"class":603},[559,2604,2605],{"class":561,"line":839},[559,2606,678],{"emptyLinePlaceholder":516},[559,2608,2609,2611,2613],{"class":561,"line":849},[559,2610,668],{"class":564},[559,2612,569],{"class":568},[559,2614,591],{"class":564},[559,2616,2617],{"class":561,"line":859},[559,2618,678],{"emptyLinePlaceholder":516},[559,2620,2621,2623,2625],{"class":561,"line":1245},[559,2622,565],{"class":564},[559,2624,686],{"class":568},[559,2626,591],{"class":564},[559,2628,2629,2631,2634],{"class":561,"line":1265},[559,2630,694],{"class":564},[559,2632,2633],{"class":568},"div",[559,2635,591],{"class":564},[559,2637,2638,2640,2643,2646,2648,2650,2653,2655],{"class":561,"line":1274},[559,2639,705],{"class":564},[559,2641,2642],{"class":568},"button",[559,2644,2645],{"class":572}," @click",[559,2647,579],{"class":564},[559,2649,582],{"class":564},[559,2651,2652],{"class":585},"bvhEnabled = !bvhEnabled",[559,2654,582],{"class":564},[559,2656,591],{"class":564},[559,2658,2659],{"class":561,"line":1280},[559,2660,2661],{"class":603},"      Toggle BVH\n",[559,2663,2664,2666,2668],{"class":561,"line":1289},[559,2665,832],{"class":564},[559,2667,2642],{"class":568},[559,2669,591],{"class":564},[559,2671,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696],{"class":561,"line":1323},[559,2673,705],{"class":564},[559,2675,2217],{"class":568},[559,2677,2220],{"class":572},[559,2679,579],{"class":564},[559,2681,582],{"class":564},[559,2683,2227],{"class":585},[559,2685,582],{"class":564},[559,2687,2232],{"class":572},[559,2689,579],{"class":564},[559,2691,582],{"class":564},[559,2693,2239],{"class":585},[559,2695,582],{"class":564},[559,2697,742],{"class":564},[559,2699,2700,2702,2704],{"class":561,"line":1343},[559,2701,852],{"class":564},[559,2703,2633],{"class":568},[559,2705,591],{"class":564},[559,2707,2708,2710,2712],{"class":561,"line":1352},[559,2709,668],{"class":564},[559,2711,686],{"class":568},[559,2713,591],{"class":564},[544,2715,1847],{"id":1846},[536,2717,2718,2719,2722,2723,2726,2727,2730],{},"Options are divided into ",[899,2720,2721],{},"reactive"," (can change at runtime) and ",[899,2724,2725],{},"static"," (set once at creation - changing requires toggling ",[539,2728,2729],{},"enabled"," off\u002Fon to rebuild).",[2063,2732,2734],{"id":2733},"reactive-options","Reactive Options",[871,2736,2737,2750],{},[874,2738,2739],{},[877,2740,2741,2744,2746,2748],{},[880,2742,2743],{"align":882},"Option",[880,2745,1643],{"align":882},[880,2747,889],{"align":882},[880,2749,886],{"align":882},[891,2751,2752,2770],{},[877,2753,2754,2758,2763,2767],{},[896,2755,2756],{"align":882},[899,2757,2729],{},[896,2759,2760],{"align":882},[539,2761,2762],{},"MaybeRefOrGetter\u003Cboolean>",[896,2764,2765],{"align":882},[539,2766,1955],{},[896,2768,2769],{"align":882},"Enable\u002Fdisable BVH optimization. Toggling rebuilds BVH structures.",[877,2771,2772,2777,2781,2785],{},[896,2773,2774],{"align":882},[899,2775,2776],{},"debug",[896,2778,2779],{"align":882},[539,2780,2762],{},[896,2782,2783],{"align":882},[539,2784,1974],{},[896,2786,2787],{"align":882},"Show debug visualization of BVH bounding boxes.",[2063,2789,2791],{"id":2790},"static-options-bvh-construction","Static Options (BVH Construction)",[536,2793,2794,2795,2797],{},"These options configure how the BVH is built. Changing them after creation has no effect - toggle ",[539,2796,2729],{}," off\u002Fon to rebuild with new values.",[871,2799,2800,2812],{},[874,2801,2802],{},[877,2803,2804,2806,2808,2810],{},[880,2805,2743],{"align":882},[880,2807,1643],{"align":882},[880,2809,889],{"align":882},[880,2811,886],{"align":882},[891,2813,2814,2836,2856,2875,2893,2911,2929],{},[877,2815,2816,2821,2825,2829],{},[896,2817,2818],{"align":882},[899,2819,2820],{},"firstHitOnly",[896,2822,2823],{"align":882},[539,2824,1950],{},[896,2826,2827],{"align":882},[539,2828,1974],{},[896,2830,2831,2832,2835],{"align":882},"Use ",[539,2833,2834],{},"raycastFirst"," for better performance when only the first hit is needed.",[877,2837,2838,2843,2848,2853],{},[896,2839,2840],{"align":882},[899,2841,2842],{},"splitStrategy",[896,2844,2845],{"align":882},[539,2846,2847],{},"'CENTER' | 'AVERAGE' | 'SAH'",[896,2849,2850],{"align":882},[539,2851,2852],{},"'SAH'",[896,2854,2855],{"align":882},"BVH build strategy. See section below.",[877,2857,2858,2863,2867,2872],{},[896,2859,2860],{"align":882},[899,2861,2862],{},"maxDepth",[896,2864,2865],{"align":882},[539,2866,1661],{},[896,2868,2869],{"align":882},[539,2870,2871],{},"40",[896,2873,2874],{"align":882},"Maximum tree depth for the BVH structure.",[877,2876,2877,2882,2886,2890],{},[896,2878,2879],{"align":882},[899,2880,2881],{},"maxLeafSize",[896,2883,2884],{"align":882},[539,2885,1661],{},[896,2887,2888],{"align":882},[539,2889,1110],{},[896,2891,2892],{"align":882},"Target number of triangles per leaf node.",[877,2894,2895,2900,2904,2908],{},[896,2896,2897],{"align":882},[899,2898,2899],{},"verbose",[896,2901,2902],{"align":882},[539,2903,1950],{},[896,2905,2906],{"align":882},[539,2907,1974],{},[896,2909,2910],{"align":882},"Print construction warnings and progress to console.",[877,2912,2913,2918,2922,2926],{},[896,2914,2915],{"align":882},[899,2916,2917],{},"setBoundingBox",[896,2919,2920],{"align":882},[539,2921,1950],{},[896,2923,2924],{"align":882},[539,2925,1955],{},[896,2927,2928],{"align":882},"Automatically set geometry bounding box after BVH construction.",[877,2930,2931,2936,2940,2944],{},[896,2932,2933],{"align":882},[899,2934,2935],{},"indirect",[896,2937,2938],{"align":882},[539,2939,1950],{},[896,2941,2942],{"align":882},[539,2943,1974],{},[896,2945,2946],{"align":882},"If false, creates and rearranges index buffer for better performance.",[2063,2948,2950],{"id":2949},"split-strategies","Split Strategies",[1670,2952,2953,2959,2965],{},[1673,2954,2955,2958],{},[899,2956,2957],{},"SAH (Surface Area Heuristic)"," - Slowest to build, fastest at runtime, uses least memory. Best for production.",[1673,2960,2961,2964],{},[899,2962,2963],{},"AVERAGE"," - Balanced build time and runtime performance.",[1673,2966,2967,2970],{},[899,2968,2969],{},"CENTER"," - Fastest to build, slower at runtime.",[544,2972,2974],{"id":2973},"advanced-usage","Advanced Usage",[2063,2976,2978],{"id":2977},"fine-tuning-performance","Fine-tuning Performance",[536,2980,2981],{},"Adjust BVH construction parameters for your use case:",[548,2983,2986],{"className":2984,"code":2985,"language":586,"meta":508,"style":508},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","useBVH(\n  target,\n  {\n    splitStrategy: 'SAH', \u002F\u002F Best runtime performance\n    maxDepth: 30, \u002F\u002F Shallower tree (faster build)\n    maxLeafSize: 5, \u002F\u002F Smaller leaves (better culling)\n    verbose: true, \u002F\u002F Debug construction\n  }\n)\n",[539,2987,2988,2994,3001,3005,3024,3039,3054,3068,3072],{"__ignoreMap":508},[559,2989,2990,2992],{"class":561,"line":509},[559,2991,331],{"class":2146},[559,2993,2354],{"class":603},[559,2995,2996,2999],{"class":561,"line":510},[559,2997,2998],{"class":603},"  target",[559,3000,2376],{"class":564},[559,3002,3003],{"class":561,"line":553},[559,3004,2381],{"class":564},[559,3006,3007,3010,3012,3014,3017,3019,3021],{"class":561,"line":644},[559,3008,3009],{"class":568},"    splitStrategy",[559,3011,2134],{"class":564},[559,3013,613],{"class":564},[559,3015,3016],{"class":585},"SAH",[559,3018,2152],{"class":564},[559,3020,2104],{"class":564},[559,3022,3023],{"class":1121}," \u002F\u002F Best runtime performance\n",[559,3025,3026,3029,3031,3034,3036],{"class":561,"line":665},[559,3027,3028],{"class":568},"    maxDepth",[559,3030,2134],{"class":564},[559,3032,3033],{"class":724}," 30",[559,3035,2104],{"class":564},[559,3037,3038],{"class":1121}," \u002F\u002F Shallower tree (faster build)\n",[559,3040,3041,3044,3046,3049,3051],{"class":561,"line":675},[559,3042,3043],{"class":568},"    maxLeafSize",[559,3045,2134],{"class":564},[559,3047,3048],{"class":724}," 5",[559,3050,2104],{"class":564},[559,3052,3053],{"class":1121}," \u002F\u002F Smaller leaves (better culling)\n",[559,3055,3056,3059,3061,3063,3065],{"class":561,"line":681},[559,3057,3058],{"class":568},"    verbose",[559,3060,2134],{"class":564},[559,3062,2392],{"class":2391},[559,3064,2104],{"class":564},[559,3066,3067],{"class":1121}," \u002F\u002F Debug construction\n",[559,3069,3070],{"class":561,"line":691},[559,3071,2402],{"class":564},[559,3073,3074],{"class":561,"line":702},[559,3075,2160],{"class":603},[2063,3077,3079],{"id":3078},"first-hit-only-mode","First Hit Only Mode",[536,3081,3082],{},"When you only need the closest intersection (e.g., mouse picking):",[548,3084,3086],{"className":2984,"code":3085,"language":586,"meta":508,"style":508},"useBVH(\n  target,\n  {\n    firstHitOnly: true, \u002F\u002F Uses raycastFirst internally\n  }\n)\n",[539,3087,3088,3094,3100,3104,3118,3122],{"__ignoreMap":508},[559,3089,3090,3092],{"class":561,"line":509},[559,3091,331],{"class":2146},[559,3093,2354],{"class":603},[559,3095,3096,3098],{"class":561,"line":510},[559,3097,2998],{"class":603},[559,3099,2376],{"class":564},[559,3101,3102],{"class":561,"line":553},[559,3103,2381],{"class":564},[559,3105,3106,3109,3111,3113,3115],{"class":561,"line":644},[559,3107,3108],{"class":568},"    firstHitOnly",[559,3110,2134],{"class":564},[559,3112,2392],{"class":2391},[559,3114,2104],{"class":564},[559,3116,3117],{"class":1121}," \u002F\u002F Uses raycastFirst internally\n",[559,3119,3120],{"class":561,"line":665},[559,3121,2402],{"class":564},[559,3123,3124],{"class":561,"line":675},[559,3125,2160],{"class":603},[536,3127,3128],{},"This is significantly faster than computing all intersections when you only need one.",[544,3130,3132],{"id":3131},"important-notes","Important Notes",[1670,3134,3135,3141,3161,3167,3180],{},[1673,3136,3137,3140],{},[899,3138,3139],{},"Side-effect free",": BVH is automatically removed on unmount and when disabled.",[1673,3142,3143,3146,3147,3149,3150,3152,3153,728,3155,3157,3158,3160],{},[899,3144,3145],{},"Reactive options",": Only ",[539,3148,2729],{}," and ",[539,3151,2776],{}," are reactive. Construction options (",[539,3154,2842],{},[539,3156,2862],{},", etc.) are static - to apply new values, toggle ",[539,3159,2729],{}," off\u002Fon.",[1673,3162,3163,3166],{},[899,3164,3165],{},"Memory efficient",": BVH structures are properly disposed when removed.",[1673,3168,3169,3172,3173,3149,3176,3179],{},[899,3170,3171],{},"Automatic mesh detection",": Works with ",[539,3174,3175],{},"Mesh",[539,3177,3178],{},"SkinnedMesh"," instances.",[1673,3181,3182,3185],{},[899,3183,3184],{},"Draco models",": Works seamlessly with Draco-compressed GLTF models.",[544,3187,3189],{"id":3188},"performance-tips","Performance Tips",[3191,3192,3193,3199,3205,3211],"ol",{},[1673,3194,3195,3198],{},[899,3196,3197],{},"Use firstHitOnly"," when you only need the closest intersection",[1673,3200,3201,3204],{},[899,3202,3203],{},"SAH strategy"," gives best runtime performance for production",[1673,3206,3207,3210],{},[899,3208,3209],{},"Adjust maxLeafSize"," based on triangle density (smaller for dense meshes)",[1673,3212,3213,3216],{},[899,3214,3215],{},"Enable debug mode"," during development to verify BVH coverage",[544,3218,3220],{"id":3219},"integration-with-usegltf","Integration with useGLTF",[536,3222,3223,3224,3226],{},"Perfect pairing with ",[539,3225,133],{}," for optimized model loading:",[548,3228,3230],{"className":550,"code":3229,"language":555,"meta":508,"style":508},"\u003Cscript setup lang=\"ts\">\nimport { useBVH, useGLTF } from '@tresjs\u002Fcientos'\n\nconst { state: model } = useGLTF('\u002Fmodels\u002Fhigh-poly-model.glb', {\n  draco: true\n})\n\nuseBVH(\n  () => model.value?.scene,\n  { splitStrategy: 'SAH' }\n)\n\u003C\u002Fscript>\n",[539,3231,3232,3252,3274,3278,3310,3320,3326,3330,3336,3354,3373,3377],{"__ignoreMap":508},[559,3233,3234,3236,3238,3240,3242,3244,3246,3248,3250],{"class":561,"line":509},[559,3235,565],{"class":564},[559,3237,569],{"class":568},[559,3239,573],{"class":572},[559,3241,576],{"class":572},[559,3243,579],{"class":564},[559,3245,582],{"class":564},[559,3247,586],{"class":585},[559,3249,582],{"class":564},[559,3251,591],{"class":564},[559,3253,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272],{"class":561,"line":510},[559,3255,597],{"class":596},[559,3257,600],{"class":564},[559,3259,2107],{"class":603},[559,3261,2104],{"class":564},[559,3263,2101],{"class":603},[559,3265,607],{"class":564},[559,3267,610],{"class":596},[559,3269,613],{"class":564},[559,3271,639],{"class":585},[559,3273,619],{"class":564},[559,3275,3276],{"class":561,"line":553},[559,3277,678],{"emptyLinePlaceholder":516},[559,3279,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3303,3305,3307],{"class":561,"line":644},[559,3281,2126],{"class":572},[559,3283,600],{"class":564},[559,3285,2131],{"class":568},[559,3287,2134],{"class":564},[559,3289,2137],{"class":603},[559,3291,2140],{"class":564},[559,3293,2143],{"class":564},[559,3295,2101],{"class":2146},[559,3297,2149],{"class":603},[559,3299,2152],{"class":564},[559,3301,3302],{"class":585},"\u002Fmodels\u002Fhigh-poly-model.glb",[559,3304,2152],{"class":564},[559,3306,2104],{"class":564},[559,3308,3309],{"class":564}," {\n",[559,3311,3312,3315,3317],{"class":561,"line":665},[559,3313,3314],{"class":568},"  draco",[559,3316,2134],{"class":564},[559,3318,3319],{"class":2391}," true\n",[559,3321,3322,3324],{"class":561,"line":675},[559,3323,2140],{"class":564},[559,3325,2160],{"class":603},[559,3327,3328],{"class":561,"line":681},[559,3329,678],{"emptyLinePlaceholder":516},[559,3331,3332,3334],{"class":561,"line":691},[559,3333,331],{"class":2146},[559,3335,2354],{"class":603},[559,3337,3338,3340,3342,3344,3346,3348,3350,3352],{"class":561,"line":702},[559,3339,2360],{"class":564},[559,3341,2173],{"class":572},[559,3343,2176],{"class":603},[559,3345,1688],{"class":564},[559,3347,2181],{"class":603},[559,3349,2184],{"class":564},[559,3351,2373],{"class":603},[559,3353,2376],{"class":564},[559,3355,3356,3359,3362,3364,3366,3368,3370],{"class":561,"line":745},[559,3357,3358],{"class":564},"  {",[559,3360,3361],{"class":568}," splitStrategy",[559,3363,2134],{"class":564},[559,3365,613],{"class":564},[559,3367,3016],{"class":585},[559,3369,2152],{"class":564},[559,3371,3372],{"class":564}," }\n",[559,3374,3375],{"class":561,"line":767},[559,3376,2160],{"class":603},[559,3378,3379,3381,3383],{"class":561,"line":778},[559,3380,668],{"class":564},[559,3382,569],{"class":568},[559,3384,591],{"class":564},[544,3386,3388],{"id":3387},"troubleshooting","Troubleshooting",[2063,3390,3392],{"id":3391},"bvh-not-applying-to-some-meshes","BVH not applying to some meshes",[1670,3394,3395,3398,3405],{},[1673,3396,3397],{},"Ensure meshes have valid geometry with position attributes",[1673,3399,3400,3401,3404],{},"Check console with ",[539,3402,3403],{},"verbose: true"," to see which meshes are skipped",[1673,3406,3407,3408,3411,3412,3414],{},"Verify the object is an ",[539,3409,3410],{},"Object3D"," (use ",[539,3413,2217],{}," in templates)",[2063,3416,3418],{"id":3417},"performance-not-improving","Performance not improving",[1670,3420,3421,3427,3433,3436],{},[1673,3422,3423,3424,3426],{},"Enable ",[539,3425,2820],{}," if you only need one intersection",[1673,3428,3429,3430,3432],{},"Try different split strategies (",[539,3431,3016],{}," is usually best)",[1673,3434,3435],{},"Verify raycasting is the bottleneck (use Stats\u002FStatsGl)",[1673,3437,3438],{},"Consider LOD for very distant objects",[921,3440,3441],{},"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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);}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":508,"searchDepth":509,"depth":510,"links":3443},[3444,3445,3450,3455,3459,3460,3461,3462],{"id":2039,"depth":510,"text":2040},{"id":546,"depth":510,"text":15,"children":3446},[3447,3448,3449],{"id":1512,"depth":553,"text":2065},{"id":2255,"depth":553,"text":2256},{"id":2417,"depth":553,"text":2418},{"id":1846,"depth":510,"text":1847,"children":3451},[3452,3453,3454],{"id":2733,"depth":553,"text":2734},{"id":2790,"depth":553,"text":2791},{"id":2949,"depth":553,"text":2950},{"id":2973,"depth":510,"text":2974,"children":3456},[3457,3458],{"id":2977,"depth":553,"text":2978},{"id":3078,"depth":553,"text":3079},{"id":3131,"depth":510,"text":3132},{"id":3188,"depth":510,"text":3189},{"id":3219,"depth":510,"text":3220},{"id":3387,"depth":510,"text":3388,"children":3463},[3464,3465],{"id":3391,"depth":553,"text":3392},{"id":3417,"depth":553,"text":3418},"Speed up raycasting with Bounding Volume Hierarchy (BVH) optimization.",{},{"title":331,"description":3466},"Ubx_HIq-xEI-Pv2T8zVe8LT3sJ_wBF7VmDcGGpLgBYs",1791549577227]