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:
yilsem
2026-07-04 05:13:28 +03:00
co-authored by Claude Opus 4.8
parent 5037c7114f
commit e9e23c474b
4 changed files with 22 additions and 14 deletions
+2 -2
View File
File diff suppressed because one or more lines are too long
+20 -12
View File
@@ -22,12 +22,12 @@
border-radius:10px;padding:10px 12px;font-size:11.5px;backdrop-filter:blur(6px);max-width:220px} 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 .row{display:flex;align-items:center;gap:7px;margin-top:5px}
#legend .dot{width:11px;height:11px;border-radius:50%;flex:none} #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; #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:12px;padding:12px 16px;backdrop-filter:blur(8px); background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px 14px;backdrop-filter:blur(8px);
text-align:center;transition:opacity .2s} text-align:center;transition:opacity .2s}
#subtitle .who{font-weight:700;font-size:13px;margin-bottom:5px} #subtitle .who{font-weight:700;font-size:12px;margin-bottom:1px}
#subtitle .orig{font-size:14px;line-height:1.45} #subtitle .orig{font-size:12.5px;line-height:1.24}
#subtitle .tr{font-size:14px;line-height:1.45;color:var(--mut);margin-top:4px} #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 .orig{color:var(--mut);font-size:12.5px}
#subtitle.trmode .tr{color:var(--txt)} #subtitle.trmode .tr{color:var(--txt)}
.badge{display:inline-block;font-size:10px;background:#3d2a00;color:#e0b400;border:1px solid #6b4a00; .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="OrbitControls.js"></script>
<script src="data.js"></script> <script src="data.js"></script>
<script> <script>
const ROLES=MEET.roles, TL=MEET.TL, OFFSET=540; const ROLES=MEET.roles, TL=MEET.TL, OFFSET=0;
const POS3D={ const POS3D={
"Kaan":{x:-1.6,z:2.3,stand:false}, "Marissa":{x:1.6,z:2.3,stand:false}, "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}, "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}, "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} "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ı", const SHORT={"Kaan":"Kaan","Marissa":"Marissa","Dolandırıcı (D-)":"Scammer Litoy","Uzlaşmacı (U)":"Kuya 2",
"Yaşlı adam (V)":"Yaşlı adam","Lider Uzlaşmacı (L.U)":"Lider Uzlaşmacı","Kayınvalide":"Kayınvalide ⬆"}; "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 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; 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})); 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); 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); 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); 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); 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; } 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; 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 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'); const sub=document.getElementById('subtitle'),sW=document.getElementById('subWho'),sO=document.getElementById('subOrig'),sT=document.getElementById('subTr');
function update(){ function update(){
const a=A(), T=curTL(), dur=a.duration||T[T.length-1].e; 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(); const i=curIndex();
if(i>=0){ const b=T[i]; highlight(b.rol); if(i>=0){ const b=T[i]; highlight(b.rol);
let badge=(mode==='tr'&&!TR_READY)?' <span class="badge">ses hazırlanıyor</span>':''; let badge=(mode==='tr'&&!TR_READY)?' <span class="badge">ses hazırlanıyor</span>':'';
@@ -249,7 +255,9 @@ function loop(){
requestAnimationFrame(loop); requestAnimationFrame(loop);
const t=performance.now()/1000; const t=performance.now()/1000;
for(const r in chars){ const c=chars[r]; 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; } 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); controls.update(); renderer.render(scene,camera);
Binary file not shown.
Binary file not shown.