PageSourceSearch

https://esphome.netlify.app/_astro/SpecSection.astro_astro_type_script_index_0_lang.DJO39eeE.js

js esphome.netlify.app collected 2026-10-03 10:42:41 UTC 2,383 bytes, 1 lines download raw bytes

1import{N as e,S as t,T as n,V as r,_ as i,a,c as o,i as s,j as c,n as l,o as u,r as d,t as f,u as p,v as m,x as h}from"./starter-kit-edges.kLeHJV_I.js";var g=document.getElementById(`spec-scene`);if(g){let _=()=>({width:g.clientWidth||1,height:g.clientHeight||1}),{width:v,height:y}=_(),b=new e,x=new r(1,0,1).normalize(),S=new n(35,v/y,.01,100),C=new u({canvas:g,antialias:!0,alpha:!0,powerPreference:`high-performance`});C.setPixelRatio(Math.min(window.devicePixelRatio,2)),C.setSize(v,y,!1),C.outputColorSpace=c;let w=new p(16777215),T=new p(0),E=()=>document.documentElement.dataset.theme===`light`,D=[],O=new r,k=new r,A=!1,j=()=>C.render(b,S),M=()=>{let e=S.fov*Math.PI/180,t=v/y,n=(Math.max(k.y,k.x/t)/2/Math.tan(e/2)+k.z/2)*1.15;S.position.copy(x).multiplyScalar(n).add(O),S.lookAt(O)},N=new a;N.setMeshoptDecoder(s),Promise.all([new Promise((e,t)=>{N.load(`/starter-kit/ESK.glb`,e,void 0,t)}),l()]).then(([e,n])=>{let a=d(n),s=0,c=e.scene,l=new o().setFromObject(c),u=new r;l.getSize(u);let p=Math.max(u.x,u.y,u.z)||1;c.scale.setScalar(1.6/p);let g=new o().setFromObject(c),_=new r;g.getCenter(_),c.position.sub(_);let v=new r(0,.05,.05),y=new r(0,1,0),x=Math.PI/8;c.position.sub(v).applyAxisAngle(y,x).add(v),c.rotateOnWorldAxis(y,x),b.add(c);let S=[];c.traverse(e=>{let t=e;t.isMesh&&S.push(t)});let C=[],N=[];for(let e of S){let n=new t({colorWrite:!1,depthWrite:!0,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),r=new h(e.geometry,n);r.renderOrder=-1,C.push({parent:e,child:r});let o=Array.isArray(e.material)?e.material[0]:e.material;if(o){let t=o.clone();t.transparent=!0,t.opacity=0,t.depthWrite=!0,e.material=t}let c=new i({color:E()?T:w,transparent:!0,opacity:.3,depthWrite:!1,depthTest:!0}),l=a?.[s];s++,N.push({parent:e,child:new m(f(e,l),c)}),D.push(c)}for(let{parent:e,child:t}of C)e.add(t);for(let{parent:e,child:t}of N)e.add(t);c.updateMatrixWorld(!0);let P=new o().setFromObject(c);O=P.getCenter(new r),k=P.getSize(new r),M(),A=!0,j()}).catch(e=>{console.error(`[SpecSection] Failed to load model:`,e)}),new MutationObserver(()=>{if(!A)return;let e=E()?T:w;for(let t of D)t.color.copy(e);j()}).observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`]}),new ResizeObserver(()=>{let e=_();e.width===v&&e.height===y||(v=e.width,y=e.height,C.setSize(v,y,!1),S.aspect=v/y,S.updateProjectionMatrix(),A&&(M(),j()))}).observe(g)}

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.