Spaces:
Running
Running
egoSample/faberu: high fetch priority for viewer data
Browse files- egoSample/faberu.html +2 -2
egoSample/faberu.html
CHANGED
|
@@ -94,13 +94,13 @@ function loadSig(slug){ window.EPDATA=window.EPDATA||{};
|
|
| 94 |
const done=()=>{ SIG=window.EPDATA[slug]; if(!SIG) return; sizeCharts(); drawCharts(); init3D(); loadPack(SIG); updateUI(master.currentTime||0);
|
| 95 |
const go=()=>{ if(_toggle&&!playing) _toggle(); }; if(master.readyState>=3) go(); else master.addEventListener('canplay',go,{once:true}); };
|
| 96 |
if(window.EPDATA[slug]){ done(); return; }
|
| 97 |
-
const s=document.createElement('script'); s.src='epdata/'+slug+'.js'; s.onload=done; document.body.appendChild(s); }
|
| 98 |
|
| 99 |
/* heavy viewer payload (lidar snapshots + depth-hover grid): gzip'd binary, fetched after the page is interactive */
|
| 100 |
async function loadPack(sig){
|
| 101 |
const st=()=>document.getElementById('cloudStat');
|
| 102 |
try{
|
| 103 |
-
const res=await fetch('epdata/'+sig.pack); if(!res.ok) throw new Error('HTTP '+res.status);
|
| 104 |
const total=+res.headers.get('content-length')||0, rd=res.body.getReader(), parts=[]; let got=0;
|
| 105 |
for(;;){ const {done,value}=await rd.read(); if(done) break; parts.push(value); got+=value.length;
|
| 106 |
if(st()) st().textContent=`loading point cloud… ${(got/1e6).toFixed(1)}${total?' / '+(total/1e6).toFixed(1):''} MB`; }
|
|
|
|
| 94 |
const done=()=>{ SIG=window.EPDATA[slug]; if(!SIG) return; sizeCharts(); drawCharts(); init3D(); loadPack(SIG); updateUI(master.currentTime||0);
|
| 95 |
const go=()=>{ if(_toggle&&!playing) _toggle(); }; if(master.readyState>=3) go(); else master.addEventListener('canplay',go,{once:true}); };
|
| 96 |
if(window.EPDATA[slug]){ done(); return; }
|
| 97 |
+
const s=document.createElement('script'); s.fetchPriority='high'; s.src='epdata/'+slug+'.js'; s.onload=done; document.body.appendChild(s); }
|
| 98 |
|
| 99 |
/* heavy viewer payload (lidar snapshots + depth-hover grid): gzip'd binary, fetched after the page is interactive */
|
| 100 |
async function loadPack(sig){
|
| 101 |
const st=()=>document.getElementById('cloudStat');
|
| 102 |
try{
|
| 103 |
+
const res=await fetch('epdata/'+sig.pack,{priority:'high'}); if(!res.ok) throw new Error('HTTP '+res.status);
|
| 104 |
const total=+res.headers.get('content-length')||0, rd=res.body.getReader(), parts=[]; let got=0;
|
| 105 |
for(;;){ const {done,value}=await rd.read(); if(done) break; parts.push(value); got+=value.length;
|
| 106 |
if(st()) st().textContent=`loading point cloud… ${(got/1e6).toFixed(1)}${total?' / '+(total/1e6).toFixed(1):''} MB`; }
|