[{"data":1,"prerenderedAt":1900},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fabstractions\u002Finstances":498,"\u002Fapi\u002Fabstractions\u002Finstances-surround":1895},[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":65,"body":500,"description":1889,"extension":1890,"links":1891,"meta":1892,"navigation":698,"path":66,"seo":1893,"stem":67,"__hash__":1894},"docs\u002F2.api\u002F1.abstractions\u002Finstances.md",{"type":501,"value":502,"toc":1875},"minimark",[503,509,535,553,557,1093,1107,1111,1124,1194,1198,1201,1260,1264,1267,1282,1285,1289,1292,1367,1371,1388,1458,1486,1493,1497,1506,1556,1559,1563,1566,1584,1591,1594,1641,1657,1661,1665,1756,1765,1767,1850,1862,1871],[504,505,506],"scene-controls-wrapper",{},[507,508],"abstractions-instances",{},[510,511,512,513,517,518,521,522,525,526,529,530,534],"p",{},"Rendering the same mesh many times is one drawcall per copy, and drawcalls are what a scene runs\nout of first. ",[514,515,516],"code",{},"\u003CInstances \u002F>"," owns a single ",[514,519,520],{},"THREE.InstancedMesh"," and ",[514,523,524],{},"\u003CInstance \u002F>"," is a\nplaceholder that registers itself with it, so a ",[514,527,528],{},"v-for"," of a thousand nodes costs ",[531,532,533],"strong",{},"one"," drawcall.",[510,536,537,538,540,541,544,545,548,549,552],{},"An ",[514,539,524],{}," behaves like any other node in the graph: give it ",[514,542,543],{},"position",", nest it under a\ngroup, animate that group, toggle it with ",[514,546,547],{},"v-if",", listen for ",[514,550,551],{},"@click"," on one of them.",[554,555,15],"h2",{"id":556},"usage",[558,559,573],"pre",{"className":560,"code":561,"highlights":562,"language":571,"meta":572,"style":572},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { TresCanvas } from '@tresjs\u002Fcore'\nimport { Instance, Instances } from '@tresjs\u002Fcientos'\nimport { BoxGeometry, MeshStandardMaterial } from 'three'\n\nconst geometry = new BoxGeometry(0.35, 0.35, 0.35)\nconst material = new MeshStandardMaterial()\n\nconst cubes = Array.from({ length: 900 }, (_, i) => [i % 30 - 15, 0, Math.floor(i \u002F 30) - 15])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    \u003CTresPerspectiveCamera :position=\"[14, 10, 14]\" \u002F>\n    \u003CInstances :geometry=\"geometry\" :material=\"material\">\n      \u003CInstance\n        v-for=\"(position, i) in cubes\"\n        :key=\"i\"\n        :position=\"position\"\n        color=\"#38bdf8\"\n      \u002F>\n    \u003C\u002FInstances>\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n",[563,564,565,566,567,568,569,570],3,14,16,17,18,19,20,21,"vue","",[514,574,575,610,639,667,693,700,736,753,758,861,871,876,886,897,939,974,983,1011,1028,1043,1058,1064,1074,1084],{"__ignoreMap":572},[576,577,580,584,588,592,595,598,601,605,607],"span",{"class":578,"line":579},"line",1,[576,581,583],{"class":582},"sMK4o","\u003C",[576,585,587],{"class":586},"swJcz","script",[576,589,591],{"class":590},"spNyl"," setup",[576,593,594],{"class":590}," lang",[576,596,597],{"class":582},"=",[576,599,600],{"class":582},"\"",[576,602,604],{"class":603},"sfazB","ts",[576,606,600],{"class":582},[576,608,609],{"class":582},">\n",[576,611,613,617,620,624,627,630,633,636],{"class":578,"line":612},2,[576,614,616],{"class":615},"s7zQu","import",[576,618,619],{"class":582}," {",[576,621,623],{"class":622},"sTEyZ"," TresCanvas",[576,625,626],{"class":582}," }",[576,628,629],{"class":615}," from",[576,631,632],{"class":582}," '",[576,634,635],{"class":603},"@tresjs\u002Fcore",[576,637,638],{"class":582},"'\n",[576,640,643,645,647,650,653,656,658,660,662,665],{"class":641,"line":563},[578,642],"highlight",[576,644,616],{"class":615},[576,646,619],{"class":582},[576,648,649],{"class":622}," Instance",[576,651,652],{"class":582},",",[576,654,655],{"class":622}," Instances",[576,657,626],{"class":582},[576,659,629],{"class":615},[576,661,632],{"class":582},[576,663,664],{"class":603},"@tresjs\u002Fcientos",[576,666,638],{"class":582},[576,668,670,672,674,677,679,682,684,686,688,691],{"class":578,"line":669},4,[576,671,616],{"class":615},[576,673,619],{"class":582},[576,675,676],{"class":622}," BoxGeometry",[576,678,652],{"class":582},[576,680,681],{"class":622}," MeshStandardMaterial",[576,683,626],{"class":582},[576,685,629],{"class":615},[576,687,632],{"class":582},[576,689,690],{"class":603},"three",[576,692,638],{"class":582},[576,694,696],{"class":578,"line":695},5,[576,697,699],{"emptyLinePlaceholder":698},true,"\n",[576,701,703,706,709,711,714,717,720,724,726,729,731,733],{"class":578,"line":702},6,[576,704,705],{"class":590},"const",[576,707,708],{"class":622}," geometry ",[576,710,597],{"class":582},[576,712,713],{"class":582}," new",[576,715,676],{"class":716},"s2Zo4",[576,718,719],{"class":622},"(",[576,721,723],{"class":722},"sbssI","0.35",[576,725,652],{"class":582},[576,727,728],{"class":722}," 0.35",[576,730,652],{"class":582},[576,732,728],{"class":722},[576,734,735],{"class":622},")\n",[576,737,739,741,744,746,748,750],{"class":578,"line":738},7,[576,740,705],{"class":590},[576,742,743],{"class":622}," material ",[576,745,597],{"class":582},[576,747,713],{"class":582},[576,749,681],{"class":716},[576,751,752],{"class":622},"()\n",[576,754,756],{"class":578,"line":755},8,[576,757,699],{"emptyLinePlaceholder":698},[576,759,761,763,766,768,771,774,777,779,782,785,788,791,794,797,801,803,806,809,812,815,818,821,824,827,829,832,834,837,839,842,845,848,850,853,856,858],{"class":578,"line":760},9,[576,762,705],{"class":590},[576,764,765],{"class":622}," cubes ",[576,767,597],{"class":582},[576,769,770],{"class":622}," Array",[576,772,773],{"class":582},".",[576,775,776],{"class":716},"from",[576,778,719],{"class":622},[576,780,781],{"class":582},"{",[576,783,784],{"class":586}," length",[576,786,787],{"class":582},":",[576,789,790],{"class":722}," 900",[576,792,793],{"class":582}," },",[576,795,796],{"class":582}," (",[576,798,800],{"class":799},"sHdIc","_",[576,802,652],{"class":582},[576,804,805],{"class":799}," i",[576,807,808],{"class":582},")",[576,810,811],{"class":590}," =>",[576,813,814],{"class":622}," [i ",[576,816,817],{"class":582},"%",[576,819,820],{"class":722}," 30",[576,822,823],{"class":582}," -",[576,825,826],{"class":722}," 15",[576,828,652],{"class":582},[576,830,831],{"class":722}," 0",[576,833,652],{"class":582},[576,835,836],{"class":622}," Math",[576,838,773],{"class":582},[576,840,841],{"class":716},"floor",[576,843,844],{"class":622},"(i ",[576,846,847],{"class":582},"\u002F",[576,849,820],{"class":722},[576,851,852],{"class":622},") ",[576,854,855],{"class":582},"-",[576,857,826],{"class":722},[576,859,860],{"class":622},"])\n",[576,862,864,867,869],{"class":578,"line":863},10,[576,865,866],{"class":582},"\u003C\u002F",[576,868,587],{"class":586},[576,870,609],{"class":582},[576,872,874],{"class":578,"line":873},11,[576,875,699],{"emptyLinePlaceholder":698},[576,877,879,881,884],{"class":578,"line":878},12,[576,880,583],{"class":582},[576,882,883],{"class":586},"template",[576,885,609],{"class":582},[576,887,889,892,895],{"class":578,"line":888},13,[576,890,891],{"class":582},"  \u003C",[576,893,894],{"class":586},"TresCanvas",[576,896,609],{"class":582},[576,898,900,903,906,909,911,913,915,918,921,924,927,929,931,934,936],{"class":899,"line":564},[578,642],[576,901,902],{"class":582},"    \u003C",[576,904,905],{"class":586},"TresPerspectiveCamera",[576,907,908],{"class":582}," :",[576,910,543],{"class":590},[576,912,597],{"class":582},[576,914,600],{"class":582},[576,916,917],{"class":582},"[",[576,919,920],{"class":722},"14",[576,922,923],{"class":582},", ",[576,925,926],{"class":722},"10",[576,928,923],{"class":582},[576,930,920],{"class":722},[576,932,933],{"class":582},"]",[576,935,600],{"class":582},[576,937,938],{"class":582}," \u002F>\n",[576,940,942,944,946,948,951,953,955,957,959,961,964,966,968,970,972],{"class":578,"line":941},15,[576,943,902],{"class":582},[576,945,65],{"class":586},[576,947,908],{"class":582},[576,949,950],{"class":590},"geometry",[576,952,597],{"class":582},[576,954,600],{"class":582},[576,956,950],{"class":622},[576,958,600],{"class":582},[576,960,908],{"class":582},[576,962,963],{"class":590},"material",[576,965,597],{"class":582},[576,967,600],{"class":582},[576,969,963],{"class":622},[576,971,600],{"class":582},[576,973,609],{"class":582},[576,975,977,980],{"class":976,"line":565},[578,642],[576,978,979],{"class":582},"      \u003C",[576,981,982],{"class":586},"Instance\n",[576,984,986,989,991,993,995,997,999,1002,1005,1008],{"class":985,"line":566},[578,642],[576,987,988],{"class":615},"        v-for",[576,990,597],{"class":582},[576,992,600],{"class":582},[576,994,719],{"class":582},[576,996,543],{"class":622},[576,998,923],{"class":582},[576,1000,1001],{"class":622},"i",[576,1003,1004],{"class":582},") in ",[576,1006,1007],{"class":622},"cubes",[576,1009,1010],{"class":582},"\"\n",[576,1012,1014,1017,1020,1022,1024,1026],{"class":1013,"line":567},[578,642],[576,1015,1016],{"class":582},"        :",[576,1018,1019],{"class":590},"key",[576,1021,597],{"class":582},[576,1023,600],{"class":582},[576,1025,1001],{"class":622},[576,1027,1010],{"class":582},[576,1029,1031,1033,1035,1037,1039,1041],{"class":1030,"line":568},[578,642],[576,1032,1016],{"class":582},[576,1034,543],{"class":590},[576,1036,597],{"class":582},[576,1038,600],{"class":582},[576,1040,543],{"class":622},[576,1042,1010],{"class":582},[576,1044,1046,1049,1051,1053,1056],{"class":1045,"line":569},[578,642],[576,1047,1048],{"class":590},"        color",[576,1050,597],{"class":582},[576,1052,600],{"class":582},[576,1054,1055],{"class":603},"#38bdf8",[576,1057,1010],{"class":582},[576,1059,1061],{"class":1060,"line":570},[578,642],[576,1062,1063],{"class":582},"      \u002F>\n",[576,1065,1067,1070,1072],{"class":578,"line":1066},22,[576,1068,1069],{"class":582},"    \u003C\u002F",[576,1071,65],{"class":586},[576,1073,609],{"class":582},[576,1075,1077,1080,1082],{"class":578,"line":1076},23,[576,1078,1079],{"class":582},"  \u003C\u002F",[576,1081,894],{"class":586},[576,1083,609],{"class":582},[576,1085,1087,1089,1091],{"class":578,"line":1086},24,[576,1088,866],{"class":582},[576,1090,883],{"class":586},[576,1092,609],{"class":582},[1094,1095,1096],"prose-note",{},[510,1097,1098,1099,521,1101,1103,1104,1106],{},"The ",[514,1100,950],{},[514,1102,963],{}," are yours: ",[514,1105,516],{}," never disposes them.",[554,1108,1110],{"id":1109},"per-instance-color","Per-instance color",[510,1112,1113,1115,1116,1119,1120,1123],{},[514,1114,524],{}," takes a ",[514,1117,1118],{},"color"," prop, written into the batch's ",[514,1121,1122],{},"instanceColor"," buffer. The buffer is\nonly allocated once at least one instance asks for a color, so an uncolored batch pays nothing.",[558,1125,1127],{"className":560,"code":1126,"language":571,"meta":572,"style":572},"\u003CInstance :position=\"[0, 0, 0]\" :color=\"isSelected ? '#f97316' : '#38bdf8'\" \u002F>\n",[514,1128,1129],{"__ignoreMap":572},[576,1130,1131,1133,1136,1138,1140,1142,1144,1146,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1172,1175,1177,1180,1183,1185,1187,1189,1192],{"class":578,"line":579},[576,1132,583],{"class":582},[576,1134,1135],{"class":586},"Instance",[576,1137,908],{"class":582},[576,1139,543],{"class":590},[576,1141,597],{"class":582},[576,1143,600],{"class":582},[576,1145,917],{"class":622},[576,1147,1148],{"class":722},"0",[576,1150,652],{"class":582},[576,1152,831],{"class":722},[576,1154,652],{"class":582},[576,1156,831],{"class":722},[576,1158,933],{"class":622},[576,1160,600],{"class":582},[576,1162,908],{"class":582},[576,1164,1118],{"class":590},[576,1166,597],{"class":582},[576,1168,600],{"class":582},[576,1170,1171],{"class":622},"isSelected ",[576,1173,1174],{"class":582},"?",[576,1176,632],{"class":582},[576,1178,1179],{"class":603},"#f97316",[576,1181,1182],{"class":582},"'",[576,1184,908],{"class":582},[576,1186,632],{"class":582},[576,1188,1055],{"class":603},[576,1190,1191],{"class":582},"'\"",[576,1193,938],{"class":582},[554,1195,1197],{"id":1196},"pointer-events","Pointer events",[510,1199,1200],{},"Each placeholder raycasts against the batch's geometry at its own transform, so pointer events land\non the single instance you clicked, not on the whole batch.",[558,1202,1204],{"className":560,"code":1203,"language":571,"meta":572,"style":572},"\u003CInstance :position=\"position\" @click=\"select(id)\" @pointer-enter=\"hover(id)\" \u002F>\n",[514,1205,1206],{"__ignoreMap":572},[576,1207,1208,1210,1212,1214,1216,1218,1220,1222,1224,1227,1230,1232,1234,1237,1240,1242,1244,1247,1249,1251,1254,1256,1258],{"class":578,"line":579},[576,1209,583],{"class":582},[576,1211,1135],{"class":586},[576,1213,908],{"class":582},[576,1215,543],{"class":590},[576,1217,597],{"class":582},[576,1219,600],{"class":582},[576,1221,543],{"class":622},[576,1223,600],{"class":582},[576,1225,1226],{"class":582}," @",[576,1228,1229],{"class":590},"click",[576,1231,597],{"class":582},[576,1233,600],{"class":582},[576,1235,1236],{"class":716},"select",[576,1238,1239],{"class":622},"(id)",[576,1241,600],{"class":582},[576,1243,1226],{"class":582},[576,1245,1246],{"class":590},"pointer-enter",[576,1248,597],{"class":582},[576,1250,600],{"class":582},[576,1252,1253],{"class":716},"hover",[576,1255,1239],{"class":622},[576,1257,600],{"class":582},[576,1259,938],{"class":582},[554,1261,1263],{"id":1262},"hiding-instances","Hiding instances",[510,1265,1266],{},"Two ways, and they differ in what they cost:",[1268,1269,1270,1277],"ul",{},[1271,1272,1273,1276],"li",{},[514,1274,1275],{},":visible=\"false\""," keeps the instance registered but drops it from the batch for that frame.\nUse it for something that toggles often.",[1271,1278,1279,1281],{},[514,1280,547],{}," unmounts the placeholder and unregisters it. Use it when the node is really gone.",[510,1283,1284],{},"Either way the remaining instances are packed densely, so hidden ones cost nothing on the GPU.",[554,1286,1288],{"id":1287},"nesting-and-transforms","Nesting and transforms",[510,1290,1291],{},"Instances read their world matrix, so parent transforms work exactly as you would expect:",[558,1293,1295],{"className":560,"code":1294,"language":571,"meta":572,"style":572},"\u003CInstances :geometry=\"geometry\" :material=\"material\">\n  \u003CLevioso>\n    \u003CTresGroup :position=\"[0, 3, 0]\">\n      \u003C!-- floats with the group, still the same drawcall -->\n      \u003CInstance v-for=\"i in 12\" :key=\"i\" :position=\"ringPosition(i)\" \u002F>\n    \u003C\u002FTresGroup>\n  \u003C\u002FLevioso>\n\u003C\u002FInstances>\n",[514,1296,1297,1329,1334,1339,1344,1349,1354,1359],{"__ignoreMap":572},[576,1298,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327],{"class":578,"line":579},[576,1300,583],{"class":582},[576,1302,65],{"class":586},[576,1304,908],{"class":582},[576,1306,950],{"class":590},[576,1308,597],{"class":582},[576,1310,600],{"class":582},[576,1312,950],{"class":622},[576,1314,600],{"class":582},[576,1316,908],{"class":582},[576,1318,963],{"class":590},[576,1320,597],{"class":582},[576,1322,600],{"class":582},[576,1324,963],{"class":622},[576,1326,600],{"class":582},[576,1328,609],{"class":582},[576,1330,1331],{"class":578,"line":612},[576,1332,1333],{"class":622},"  \u003CLevioso>\n",[576,1335,1336],{"class":578,"line":563},[576,1337,1338],{"class":622},"    \u003CTresGroup :position=\"[0, 3, 0]\">\n",[576,1340,1341],{"class":578,"line":669},[576,1342,1343],{"class":622},"      \u003C!-- floats with the group, still the same drawcall -->\n",[576,1345,1346],{"class":578,"line":695},[576,1347,1348],{"class":622},"      \u003CInstance v-for=\"i in 12\" :key=\"i\" :position=\"ringPosition(i)\" \u002F>\n",[576,1350,1351],{"class":578,"line":702},[576,1352,1353],{"class":622},"    \u003C\u002FTresGroup>\n",[576,1355,1356],{"class":578,"line":738},[576,1357,1358],{"class":622},"  \u003C\u002FLevioso>\n",[576,1360,1361,1363,1365],{"class":578,"line":755},[576,1362,866],{"class":582},[576,1364,65],{"class":586},[576,1366,609],{"class":582},[554,1368,1370],{"id":1369},"animating-instances","Animating instances",[510,1372,1373,1374,1377,1378,1381,1382,1115,1384,1387],{},"Anything that moves an instance's node moves it in the batch, because the batch re-reads world\nmatrices every frame. An ",[514,1375,1376],{},"AnimationMixer"," included: a mixer resolves its tracks by ",[514,1379,1380],{},"Object3D","\nname, and an ",[514,1383,524],{},[514,1385,1386],{},"name"," like any other node, so a clip can drive one directly.",[558,1389,1391],{"className":560,"code":1390,"language":571,"meta":572,"style":572},"\u003CInstances :geometry=\"geometry\" :material=\"material\">\n  \u003C!-- \"Blade\" is driven by the clip; everything under \"Rotor\" rides along with it -->\n  \u003CTresGroup name=\"Rotor\">\n    \u003CInstance name=\"Blade\" \u002F>\n    \u003CInstance v-for=\"i in 12\" :key=\"i\" :position=\"ringPosition(i)\" \u002F>\n  \u003C\u002FTresGroup>\n\u003C\u002FInstances>\n",[514,1392,1393,1425,1430,1435,1440,1445,1450],{"__ignoreMap":572},[576,1394,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423],{"class":578,"line":579},[576,1396,583],{"class":582},[576,1398,65],{"class":586},[576,1400,908],{"class":582},[576,1402,950],{"class":590},[576,1404,597],{"class":582},[576,1406,600],{"class":582},[576,1408,950],{"class":622},[576,1410,600],{"class":582},[576,1412,908],{"class":582},[576,1414,963],{"class":590},[576,1416,597],{"class":582},[576,1418,600],{"class":582},[576,1420,963],{"class":622},[576,1422,600],{"class":582},[576,1424,609],{"class":582},[576,1426,1427],{"class":578,"line":612},[576,1428,1429],{"class":622},"  \u003C!-- \"Blade\" is driven by the clip; everything under \"Rotor\" rides along with it -->\n",[576,1431,1432],{"class":578,"line":563},[576,1433,1434],{"class":622},"  \u003CTresGroup name=\"Rotor\">\n",[576,1436,1437],{"class":578,"line":669},[576,1438,1439],{"class":622},"    \u003CInstance name=\"Blade\" \u002F>\n",[576,1441,1442],{"class":578,"line":695},[576,1443,1444],{"class":622},"    \u003CInstance v-for=\"i in 12\" :key=\"i\" :position=\"ringPosition(i)\" \u002F>\n",[576,1446,1447],{"class":578,"line":702},[576,1448,1449],{"class":622},"  \u003C\u002FTresGroup>\n",[576,1451,1452,1454,1456],{"class":578,"line":738},[576,1453,866],{"class":582},[576,1455,65],{"class":586},[576,1457,609],{"class":582},[1094,1459,1460],{},[510,1461,1462,1463,923,1466,521,1468,1471,1472,1474,1475,1478,1479,1481,1482,1485],{},"Inside a ",[514,1464,1465],{},"\u003CMerged \u002F>",[514,1467,1386],{},[514,1469,1470],{},"batch"," are different things: ",[514,1473,1470],{}," picks which\n",[514,1476,1477],{},"InstancedMesh"," to join, ",[514,1480,1386],{}," is what this node is called. ",[514,1483,1484],{},"tres gltf --instance"," emits both,\nbecause a batch is keyed after its first mesh and every copy in it shares that key.",[510,1487,1488,1489,1492],{},"A track that finds no node is not silent: three logs\n",[514,1490,1491],{},"THREE.PropertyBinding: No target node found for track: \u003Cname>.position."," once for it.",[554,1494,1496],{"id":1495},"limit-and-growth","Limit and growth",[510,1498,1499,1502,1503,1505],{},[514,1500,1501],{},"limit"," is the initial buffer allocation, not a cap. If more instances register than it allows, the\nbatch reallocates its buffers (doubling), keeps every instance, and warns once in dev telling you\nwhich ",[514,1504,1501],{}," would have avoided the reallocation.",[558,1507,1509],{"className":560,"code":1508,"language":571,"meta":572,"style":572},"\u003CInstances :geometry=\"geometry\" :material=\"material\" :limit=\"5000\">\n",[514,1510,1511],{"__ignoreMap":572},[576,1512,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1552,1554],{"class":578,"line":579},[576,1514,583],{"class":582},[576,1516,65],{"class":586},[576,1518,908],{"class":582},[576,1520,950],{"class":590},[576,1522,597],{"class":582},[576,1524,600],{"class":582},[576,1526,950],{"class":622},[576,1528,600],{"class":582},[576,1530,908],{"class":582},[576,1532,963],{"class":590},[576,1534,597],{"class":582},[576,1536,600],{"class":582},[576,1538,963],{"class":622},[576,1540,600],{"class":582},[576,1542,908],{"class":582},[576,1544,1501],{"class":590},[576,1546,597],{"class":582},[576,1548,600],{"class":582},[576,1550,1551],{"class":722},"5000",[576,1553,600],{"class":582},[576,1555,609],{"class":582},[510,1557,1558],{},"Set it close to your real maximum when you know it: reallocating mid-scene is avoidable work.",[554,1560,1562],{"id":1561},"why-every-instance-shows-up-in-the-scene-graph","Why every instance shows up in the scene graph",[510,1564,1565],{},"Open the devtools on a batch of 500 and you will see 500 nodes. That is expected, not a leak.",[510,1567,1568,1569,1571,1572,1574,1575,1577,1578,1580,1581,1583],{},"Each ",[514,1570,524],{}," is a real ",[514,1573,1380],{}," in the graph. That is precisely what buys you the ergonomics:\n",[514,1576,543],{}," is just a transform, nesting under a group works because the group is its parent, ",[514,1579,547],{},"\nworks because unmounting a node unregisters it, and ",[514,1582,551],{}," works because there is a node to hit.\nThe batch reads each node's world matrix every frame and packs it into the instance buffer.",[510,1585,1586,1587,1590],{},"What those nodes do ",[531,1588,1589],{},"not"," do is render. They carry no geometry and never enter the render list, so\n500 of them still cost one drawcall. What you are seeing in the graph is bookkeeping, not draw work.",[510,1592,1593],{},"The costs that are real:",[1595,1596,1597,1610],"table",{},[1598,1599,1600],"thead",{},[1601,1602,1603,1607],"tr",{},[1604,1605],"th",{"align":1606},"left",[1604,1608,1609],{"align":1606},"Cost",[1611,1612,1613,1622,1630],"tbody",{},[1601,1614,1615,1619],{},[1616,1617,1618],"td",{"align":1606},"Per frame",[1616,1620,1621],{"align":1606},"One world-matrix update and one matrix multiply per instance.",[1601,1623,1624,1627],{},[1616,1625,1626],{"align":1606},"On pointer move",[1616,1628,1629],{"align":1606},"A raycast per instance, but only for instances that have a pointer handler (or inherit one from an ancestor). A scatter with no handlers costs nothing.",[1601,1631,1632,1635],{},[1616,1633,1634],{"align":1606},"Memory",[1616,1636,1637,1638,1640],{"align":1606},"One bare ",[514,1639,1380],{}," per instance.",[1094,1642,1643],{},[510,1644,1645,1646,1649,1650,1653,1654,1656],{},"If you have tens of thousands of instances that never move, never toggle and never need picking, a\n",[514,1647,1648],{},"TresInstancedMesh"," whose ",[514,1651,1652],{},"instanceMatrix"," you fill yourself will always be cheaper. ",[514,1655,516],{},"\ntrades that per-node overhead for being able to write instances as ordinary Vue nodes.",[554,1658,1660],{"id":1659},"props","Props",[1662,1663,65],"h3",{"id":1664},"instances",[1595,1666,1667,1680],{},[1598,1668,1669],{},[1601,1670,1671,1674,1677],{},[1604,1672,1673],{"align":1606},"Prop",[1604,1675,1676],{"align":1606},"Description",[1604,1678,1679],{},"Default",[1611,1681,1682,1697,1710,1724,1740],{},[1601,1683,1684,1688,1691],{},[1616,1685,1686],{"align":1606},[514,1687,950],{},[1616,1689,1690],{"align":1606},"Geometry shared by every instance. Not disposed by the component.",[1616,1692,1693],{},[1694,1695,1696],"em",{},"required",[1601,1698,1699,1703,1706],{},[1616,1700,1701],{"align":1606},[514,1702,963],{},[1616,1704,1705],{"align":1606},"Material shared by every instance. Not disposed by the component.",[1616,1707,1708],{},[1694,1709,1696],{},[1601,1711,1712,1716,1719],{},[1616,1713,1714],{"align":1606},[514,1715,1501],{},[1616,1717,1718],{"align":1606},"Initial buffer allocation. Grows automatically when exceeded.",[1616,1720,1721],{},[514,1722,1723],{},"1000",[1601,1725,1726,1730,1735],{},[1616,1727,1728],{"align":1606},[514,1729,1470],{},[1616,1731,1732,1733,773],{"align":1606},"Key this batch registers under with an ancestor ",[514,1734,1465],{},[1616,1736,1737],{},[514,1738,1739],{},"undefined",[1601,1741,1742,1746,1752],{},[1616,1743,1744],{"align":1606},[514,1745,1386],{},[1616,1747,1748,1749,1751],{"align":1606},"Name for the ",[514,1750,1477],{}," itself.",[1616,1753,1754],{},[514,1755,1739],{},[510,1757,1758,1759,1761,1762,773],{},"Exposes the underlying ",[514,1760,520],{}," through ",[514,1763,1764],{},"instance",[1662,1766,1135],{"id":1764},[1595,1768,1769,1779],{},[1598,1770,1771],{},[1601,1772,1773,1775,1777],{},[1604,1774,1673],{"align":1606},[1604,1776,1676],{"align":1606},[1604,1778,1679],{},[1611,1780,1781,1800,1817,1832],{},[1601,1782,1783,1787,1796],{},[1616,1784,1785],{"align":1606},[514,1786,1470],{},[1616,1788,1789,1790,1793,1794,773],{"align":1606},"Batch to join, by its key in ",[514,1791,1792],{},"\u003CMerged :meshes \u002F>",". Omit for the nearest ",[514,1795,516],{},[1616,1797,1798],{},[514,1799,1739],{},[1601,1801,1802,1806,1813],{},[1616,1803,1804],{"align":1606},[514,1805,1386],{},[1616,1807,1808,1809,1812],{"align":1606},"Name for this instance's node, so a mixer or ",[514,1810,1811],{},"getObjectByName"," can find it.",[1616,1814,1815],{},[514,1816,1739],{},[1601,1818,1819,1823,1828],{},[1616,1820,1821],{"align":1606},[514,1822,1118],{},[1616,1824,1825,1826,773],{"align":1606},"Per-instance color, written into ",[514,1827,1122],{},[1616,1829,1830],{},[514,1831,1739],{},[1601,1833,1834,1839,1845],{},[1616,1835,1836],{"align":1606},[514,1837,1838],{},"visible",[1616,1840,1841,1844],{"align":1606},[514,1842,1843],{},"false"," drops the instance from the batch without unregistering it.",[1616,1846,1847],{},[514,1848,1849],{},"true",[510,1851,1852,1853,923,1855,923,1858,1861],{},"Transform props (",[514,1854,543],{},[514,1856,1857],{},"rotation",[514,1859,1860],{},"scale",", …) and pointer events behave like any other node.",[1863,1864,1865],"read-more",{"to":78},[510,1866,1867,1868,1870],{},"Instancing several meshes at once, for example every node of a glTF model, is what ",[514,1869,1465],{}," is for.",[1872,1873,1874],"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--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":572,"searchDepth":579,"depth":612,"links":1876},[1877,1878,1879,1880,1881,1882,1883,1884,1885],{"id":556,"depth":612,"text":15},{"id":1109,"depth":612,"text":1110},{"id":1196,"depth":612,"text":1197},{"id":1262,"depth":612,"text":1263},{"id":1287,"depth":612,"text":1288},{"id":1369,"depth":612,"text":1370},{"id":1495,"depth":612,"text":1496},{"id":1561,"depth":612,"text":1562},{"id":1659,"depth":612,"text":1660,"children":1886},[1887,1888],{"id":1664,"depth":563,"text":65},{"id":1764,"depth":563,"text":1135},"Draw thousands of copies of one mesh in a single drawcall, declaratively.","md",null,{},{"title":65,"description":1889},"oen2skMgwR0U-7YShh5_abvUd_4Azzt9H53lH2LVISk",[1896,1898],{"title":61,"path":62,"stem":63,"description":1897,"children":-1},"Uniformly scale and position children to fit into a defined space.",{"title":69,"path":70,"stem":71,"description":1899,"children":-1},"Make content float like magic with smooth animations.",1791549572077]