1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2224],{62224:(e,r,a)=>{a.r(r),a.d(r,{FBXModel:()=>u,default:()=>d,preloadFBX:()=>c});var s=a(95155),t=a(12115),o=a(82730),n=a(44904),i=a(7720);let l=e=>{e instanceof i.eaF&&(e.geometry&&e.geometry.dispose(),e.material&&(Array.isArray(e.material)?e.material.forEach(e=>p(e)):p(e.material))),e.children&&e.children.forEach(e=>l(e))},p=e=>{e.map&&e.map.dispose(),e.normalMap&&e.normalMap.dispose(),e.roughnessMap&&e.roughnessMap.dispose(),e.metalnessMap&&e.metalnessMap.dispose(),e.aoMap&&e.aoMap.dispose(),e.emissiveMap&&e.emissiveMap.dispose(),e.envMap&&e.envMap.dispose(),e.dispose()},u=e=>{let{url:r,onLoad:a,onError:p}=e,u=(0,t.useRef)(null),c=(0,t.useRef)(!0);try{let e=(0,o.q)(r);return(0,t.useEffect)(()=>{if(c.current=!0,e&&u.current){let r=new i.NRn().setFromObject(e),s=r.getSize(new i.Pq0),t=r.getCenter(new i.Pq0),o=Math.max(s.x,s.y,s.z),n=o>0?2/o:1;e.scale.setScalar(n),e.position.sub(t.multiplyScalar(n)),a&&setTimeout(a,100)}return()=>{c.current=!1,e&&l(e)}},[e,a]),(0,n.F)((e,r)=>{u.current&&c.current&&(u.current.rotation.y+=.2*r)}),(0,s.jsx)("group",{ref:u,children:(0,s.jsx)("primitive",{object:e})})}catch(e){return console.error("FBX Model Loading Error:",e),p&&p(),null}},c=e=>{o.q.preload(e)},d=u}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.