Iyilestirmeler: 10:58 trim, gercek isimler, ampul, kompakt altyazi, Marissa(150) duzeltme
- 10:58 oncesi kesildi (00:00 tabanli), 296 blok - Isimler: Daisy, Scammer Litoy, Kuya 1/2, Manong - Konusan kisinin ustunde ampul+halo+isik - Altyazi kutusu kucultuldu ve asagi alindi - Blok 150 Daisy->Marissa (yeniden seslendirildi) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
5037c7114f
commit
e9e23c474b
+20
-12
@@ -22,12 +22,12 @@
|
||||
border-radius:10px;padding:10px 12px;font-size:11.5px;backdrop-filter:blur(6px);max-width:220px}
|
||||
#legend .row{display:flex;align-items:center;gap:7px;margin-top:5px}
|
||||
#legend .dot{width:11px;height:11px;border-radius:50%;flex:none}
|
||||
#subtitle{position:fixed;left:50%;transform:translateX(-50%);bottom:148px;width:min(780px,92vw);z-index:10;
|
||||
background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 16px;backdrop-filter:blur(8px);
|
||||
#subtitle{position:fixed;left:50%;transform:translateX(-50%);bottom:90px;width:min(760px,94vw);z-index:10;
|
||||
background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px 14px;backdrop-filter:blur(8px);
|
||||
text-align:center;transition:opacity .2s}
|
||||
#subtitle .who{font-weight:700;font-size:13px;margin-bottom:5px}
|
||||
#subtitle .orig{font-size:14px;line-height:1.45}
|
||||
#subtitle .tr{font-size:14px;line-height:1.45;color:var(--mut);margin-top:4px}
|
||||
#subtitle .who{font-weight:700;font-size:12px;margin-bottom:1px}
|
||||
#subtitle .orig{font-size:12.5px;line-height:1.24}
|
||||
#subtitle .tr{font-size:12.5px;line-height:1.24;color:var(--mut);margin-top:1px}
|
||||
#subtitle.trmode .orig{color:var(--mut);font-size:12.5px}
|
||||
#subtitle.trmode .tr{color:var(--txt)}
|
||||
.badge{display:inline-block;font-size:10px;background:#3d2a00;color:#e0b400;border:1px solid #6b4a00;
|
||||
@@ -78,15 +78,15 @@
|
||||
<script src="OrbitControls.js"></script>
|
||||
<script src="data.js"></script>
|
||||
<script>
|
||||
const ROLES=MEET.roles, TL=MEET.TL, OFFSET=540;
|
||||
const ROLES=MEET.roles, TL=MEET.TL, OFFSET=0;
|
||||
const POS3D={
|
||||
"Kaan":{x:-1.6,z:2.3,stand:false}, "Marissa":{x:1.6,z:2.3,stand:false},
|
||||
"Dolandırıcı (D-)":{x:-1.6,z:-2.3,stand:false}, "Uzlaşmacı (U)":{x:0.4,z:-2.3,stand:false},
|
||||
"Yaşlı adam (V)":{x:-3.7,z:0,stand:false}, "Lider Uzlaşmacı (L.U)":{x:3.7,z:0,stand:false},
|
||||
"Kayınvalide":{x:3.3,z:-2.6,stand:true}
|
||||
};
|
||||
const SHORT={"Kaan":"Kaan","Marissa":"Marissa (eş)","Dolandırıcı (D-)":"Dolandırıcı","Uzlaşmacı (U)":"Uzlaşmacı",
|
||||
"Yaşlı adam (V)":"Yaşlı adam","Lider Uzlaşmacı (L.U)":"Lider Uzlaşmacı","Kayınvalide":"Kayınvalide ⬆"};
|
||||
const SHORT={"Kaan":"Kaan","Marissa":"Marissa","Dolandırıcı (D-)":"Scammer Litoy","Uzlaşmacı (U)":"Kuya 2",
|
||||
"Yaşlı adam (V)":"Manong","Lider Uzlaşmacı (L.U)":"Kuya 1","Kayınvalide":"Daisy ⬆"};
|
||||
|
||||
function roundRect(g,x,y,w,h,r){g.beginPath();g.moveTo(x+r,y);g.arcTo(x+w,y,x+w,y+h,r);g.arcTo(x+w,y+h,x,y+h,r);g.arcTo(x,y+h,x,y,r);g.arcTo(x,y,x+w,y,r);g.closePath();}
|
||||
function makeLabel(text,color,scale){ scale=scale||1;
|
||||
@@ -160,9 +160,15 @@ function makeChar(role){
|
||||
}
|
||||
const ring=new THREE.Mesh(new THREE.TorusGeometry(0.55,0.06,10,32),new THREE.MeshStandardMaterial({color:col,emissive:col,emissiveIntensity:1.4}));
|
||||
ring.rotation.x=-Math.PI/2; ring.position.y=0.04; ring.visible=false; grp.add(ring);
|
||||
// konuşan kişinin üstünde ampul + ışık
|
||||
const bulb=new THREE.Mesh(new THREE.SphereGeometry(0.1,16,16),new THREE.MeshStandardMaterial({color:0xfff6c0,emissive:0xffca28,emissiveIntensity:2.2}));
|
||||
bulb.position.y=headY+1.05; bulb.visible=false; grp.add(bulb);
|
||||
const halo=new THREE.Mesh(new THREE.SphereGeometry(0.17,16,16),new THREE.MeshBasicMaterial({color:0xffd23a,transparent:true,opacity:0.25}));
|
||||
halo.position.y=headY+1.05; halo.visible=false; grp.add(halo);
|
||||
const blight=new THREE.PointLight(0xffd23a,0,4,2); blight.position.set(0,headY+1.0,0); grp.add(blight);
|
||||
const lbl=makeLabel(SHORT[role],"#"+col.getHexString()); lbl.position.y=headY+0.55; grp.add(lbl);
|
||||
grp.position.set(p.x,0,p.z); grp.rotation.y=Math.atan2(-p.x,-p.z);
|
||||
scene.add(grp); chars[role]={grp:grp,ring:ring,active:false};
|
||||
scene.add(grp); chars[role]={grp:grp,ring:ring,bulb:bulb,halo:halo,blight:blight,active:false};
|
||||
}
|
||||
Object.keys(POS3D).forEach(makeChar);
|
||||
|
||||
@@ -201,12 +207,12 @@ addEventListener('mouseup',function(){drag=false;});
|
||||
|
||||
function curIndex(){ const t=A().currentTime, T=curTL(); for(let i=0;i<T.length;i++){ if(t>=T[i].t&&t<T[i].e) return i; } return t<T[0].t?-1:T.length-1; }
|
||||
let lastRole=null;
|
||||
function highlight(role){ if(role===lastRole)return; lastRole=role; for(const r in chars){ const on=(r===role); chars[r].active=on; chars[r].ring.visible=on; } }
|
||||
function highlight(role){ if(role===lastRole)return; lastRole=role; for(const r in chars){ const on=(r===role); chars[r].active=on; chars[r].ring.visible=on; chars[r].bulb.visible=on; chars[r].halo.visible=on; if(!on)chars[r].blight.intensity=0; } }
|
||||
const fmt=function(s){s=Math.max(0,s|0);return String(s/60|0).padStart(2,'0')+':'+String(s%60).padStart(2,'0');};
|
||||
const sub=document.getElementById('subtitle'),sW=document.getElementById('subWho'),sO=document.getElementById('subOrig'),sT=document.getElementById('subTr');
|
||||
function update(){
|
||||
const a=A(), T=curTL(), dur=a.duration||T[T.length-1].e;
|
||||
document.getElementById('time').textContent=fmt(a.currentTime+OFFSET)+' / '+fmt(dur+OFFSET)+' (kayıt saati)';
|
||||
document.getElementById('time').textContent=fmt(a.currentTime)+' / '+fmt(dur);
|
||||
const i=curIndex();
|
||||
if(i>=0){ const b=T[i]; highlight(b.rol);
|
||||
let badge=(mode==='tr'&&!TR_READY)?' <span class="badge">ses hazırlanıyor</span>':'';
|
||||
@@ -249,7 +255,9 @@ function loop(){
|
||||
requestAnimationFrame(loop);
|
||||
const t=performance.now()/1000;
|
||||
for(const r in chars){ const c=chars[r];
|
||||
if(c.active){ c.grp.position.y=Math.sin(t*4)*0.04; c.ring.rotation.z+=0.02; c.ring.material.emissiveIntensity=1.1+Math.sin(t*6)*0.5; }
|
||||
if(c.active){ c.grp.position.y=Math.sin(t*4)*0.04; c.ring.rotation.z+=0.02; c.ring.material.emissiveIntensity=1.1+Math.sin(t*6)*0.5;
|
||||
c.bulb.material.emissiveIntensity=1.6+Math.sin(t*6)*0.9; c.blight.intensity=1.4+Math.sin(t*6)*0.9;
|
||||
c.halo.material.opacity=0.22+Math.sin(t*6)*0.12; c.halo.scale.setScalar(1+Math.sin(t*6)*0.12); }
|
||||
else if(c.grp.position.y!==0){ c.grp.position.y*=0.85; if(Math.abs(c.grp.position.y)<0.002)c.grp.position.y=0; }
|
||||
}
|
||||
controls.update(); renderer.render(scene,camera);
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user