lsmpp commited on
Commit
0730c45
·
verified ·
1 Parent(s): b77051d

Use smaller image previews in the editor

Browse files
Files changed (2) hide show
  1. static/app.js +2 -2
  2. static/index.html +1 -1
static/app.js CHANGED
@@ -219,7 +219,7 @@ $('detectButton').onclick=()=>runJob('detect');$('refineButton').onclick=()=>run
219
  $('exampleTargets').onclick=async()=>{if(state.busy||!state.session)return;try{const data=await api(endpoint('targets'));pushHistory();state.regions=data.regions;state.selected=data.regions[0]?.id||null;render();changed();switchView('edit');notice('Example edits loaded.',true);}catch(e){notice(e.message);}};
220
  function renderResults(){
221
  const result=state.result,base=endpoint('');$('compareView').disabled=false;$('comparePanel').classList.remove('result-stale');
222
- $('beforeImage').src=state.session.image;$('afterImage').src=base+result.image;
223
  $('downloadImage').href=base+result.image;$('downloadRegions').href=base+result.metadata;
224
  $('resultSummary').textContent=`${result.elapsed.toFixed(1)}s`;
225
  $('resultSummary').title=`${result.model==='meanflow'?'MeanFlow':'Teacher'} · ${result.steps} steps`;
@@ -245,7 +245,7 @@ async function openStudio(){
245
  setBusy(true);
246
  const job=await api(`/api/sessions/${sid}/jobs/${jid}`);
247
  if(job.status!=='done'||job.kind!=='refine')throw new Error('This result is not available.');
248
- const image=new Image();image.src=`/api/sessions/${sid}/source.png`;await image.decode();
249
  await loadSession({id:sid,image:image.src,width:image.naturalWidth,height:image.naturalHeight,example:params.get('e')});
250
  state.regions=job.result.regions.map(r=>({...r,enabled:true,origin:'saved'}));state.selected=state.regions[0]?.id||null;
251
  state.model=job.result.model;$('steps').value=job.result.steps;$('seed').value=job.result.seed;$('guidance').value=job.result.guidance;
 
219
  $('exampleTargets').onclick=async()=>{if(state.busy||!state.session)return;try{const data=await api(endpoint('targets'));pushHistory();state.regions=data.regions;state.selected=data.regions[0]?.id||null;render();changed();switchView('edit');notice('Example edits loaded.',true);}catch(e){notice(e.message);}};
220
  function renderResults(){
221
  const result=state.result,base=endpoint('');$('compareView').disabled=false;$('comparePanel').classList.remove('result-stale');
222
+ $('beforeImage').src=state.session.image;$('afterImage').src=base+(result.preview||result.image);
223
  $('downloadImage').href=base+result.image;$('downloadRegions').href=base+result.metadata;
224
  $('resultSummary').textContent=`${result.elapsed.toFixed(1)}s`;
225
  $('resultSummary').title=`${result.model==='meanflow'?'MeanFlow':'Teacher'} · ${result.steps} steps`;
 
245
  setBusy(true);
246
  const job=await api(`/api/sessions/${sid}/jobs/${jid}`);
247
  if(job.status!=='done'||job.kind!=='refine')throw new Error('This result is not available.');
248
+ const image=new Image();image.src=`/api/sessions/${sid}/preview.webp`;await image.decode();
249
  await loadSession({id:sid,image:image.src,width:image.naturalWidth,height:image.naturalHeight,example:params.get('e')});
250
  state.regions=job.result.regions.map(r=>({...r,enabled:true,origin:'saved'}));state.selected=state.regions[0]?.id||null;
251
  state.model=job.result.model;$('steps').value=job.result.steps;$('seed').value=job.result.seed;$('guidance').value=job.result.guidance;
static/index.html CHANGED
@@ -18,7 +18,7 @@
18
 
19
  </section>
20
  <section class="start-row">
21
- <div class="example-selector"><button data-example="english" class="example active"><img src="/examples/english.png" alt="English editorial example"><span>English</span></button><button data-example="chinese" class="example"><img src="/examples/chinese.png" alt="Chinese New Year example"><span>中文</span></button></div>
22
  <div class="upload-area"><button id="uploadButton" class="button secondary"><span class="upload-icon">↥</span> Upload image</button><input id="imageUpload" type="file" accept="image/png,image/jpeg,image/webp" hidden></div>
23
  </section>
24
  <div id="notice" class="notice" role="status" hidden></div>
 
18
 
19
  </section>
20
  <section class="start-row">
21
+ <div class="example-selector"><button data-example="english" class="example active"><img src="/examples/english.webp" alt="English editorial example"><span>English</span></button><button data-example="chinese" class="example"><img src="/examples/chinese.webp" alt="Chinese New Year example"><span>中文</span></button></div>
22
  <div class="upload-area"><button id="uploadButton" class="button secondary"><span class="upload-icon">↥</span> Upload image</button><input id="imageUpload" type="file" accept="image/png,image/jpeg,image/webp" hidden></div>
23
  </section>
24
  <div id="notice" class="notice" role="status" hidden></div>