# 3D Toplantı Oynatıcı — Plan ve Kullanım

Dolandırıcılık uzlaşma görüşmesinin (09:00–31:13) **3D odada, zaman çizelgeli, orijinal ⇄ Türkçe geçişli** interaktif web sayfası.

## Nasıl açılır
En kolay: `web` klasöründeki **`index.html`** dosyasına çift tıkla (tarayıcıda açılır — internet gerekmez, her şey yerel).

> Not: Bazı tarayıcılar `file://` ile ses/otomatik oynatmayı kısıtlarsa, `web` klasöründe küçük bir yerel sunucu çalıştır:
> `python -m http.server 8765` → tarayıcıda `http://127.0.0.1:8765/index.html`

## Özellikler
| Özellik | Nasıl |
|---|---|
| Sahneyi döndür / yakınlaş | Fareyle sürükle · tekerlek |
| Bir kişiye atla | O kişiye **çift tıkla** (ilk sözüne gider) |
| Orijinal ⇄ Türkçe ses | Sağ üstteki **geçiş düğmesi** |
| Zaman çizelgesinde gezin | Alttaki renkli şeride **tıkla/sürükle** |
| Önceki/sonraki konuşma | ⏮ ⏭ düğmeleri |
| Oynat / dur | ▶ düğmesi veya **boşluk** tuşu |
| 5 sn ileri/geri | **← →** ok tuşları |
| Aktif konuşmacı | 3D'de **halka + altyazı** (isim, orijinal, Türkçe) |

Altyazı hem **orijinal dili** (Cebuano/Bisaya + Tagalog + İngilizce) hem **Türkçe** karşılığını gösterir; kayıt saati (09:00–31:13) üstte.

## Oturma düzeni (diyagrama birebir)
6 kişi oturuyor, **Kayınvalide ayakta**. Renkler taraf/grubu gösterir:

| Rol | Ses (ElevenLabs) | Cinsiyet/Yaş | Renk |
|---|---|---|---|
| Kaan | Eric | erkek / yetişkin | 🔵 mavi (Kaan tarafı) |
| Marissa (eş) | Matilda | kadın / yetişkin | 🔵 mavi |
| Uzlaşmacı (U) | Chris | erkek / yetişkin | 🔴 koyu kırmızı |
| Lider Uzlaşmacı (L.U) | George | erkek / olgun | 🔴 koyu kırmızı |
| Yaşlı adam (V) | **Bill** | erkek / **yaşlı** | 🟡 sarı |
| Dolandırıcı (D-) | **Callum** (kurnaz) | erkek / yetişkin | 🟡 sarı |
| Kayınvalide (ayakta) | Lily | kadın / olgun | ⚪ gri |

Seslendirme, karakterlerin **gerçek cinsiyet ve yaşına** göre seçildi (yaşlı adam → yaşlı erkek sesi Bill; dolandırıcı → kurnaz "husky" ses Callum).

## Dosya yapısı (`web/`)
- `index.html` — sayfa (Three.js 3D sahne + oynatıcı)
- `data.js` — zaman çizelgesi verisi: roller, orijinal metin, **Türkçe metin**, önem, üst-binme; ayrıca Türkçe dublaj zaman haritası (`TL_tr`)
- `toplanti_orijinal.mp3` — orijinal ses (22:16)
- `toplanti_turkce.mp3` — **Türkçe dublaj** (7 sesle seslendirildi)
- `three.min.js`, `OrbitControls.js` — 3D motoru (çevrimdışı)
- `tts/` — tekil seslendirme klipleri + 7 ses örneği (`ornek_*.mp3`)

## Doğruluk katmanları (yapılan kontroller)
1. **Orijinal ses doğrulama** — ElevenLabs (rol etiketli) + **Gemini** (bağımsız 2. motor) aynı sesi ayrı ayrı yazdı; iki motorun anlaştığı yerler yüksek güvenli işaretlendi.
2. **Orijinal dil doğrulama** — 6 parça karşılaştırıldı; rakam/tutar (40k, 20k, 400, 900 balas…) iki motorda da tutarlı. Gemini'nin sistematik "scam→come" hataları tespit edildi → ElevenLabs esas alındı.
3. **Türkçe çeviri doğrulama** — 6 ajanla blok blok denetlendi; **14 çeviri düzeltmesi** uygulandı (ör. Blok 99 "Mm." yanlış kopya → "Hı hı"; Blok 20 "fayans hariç" → "fayans dahil" ters anlam düzeltildi).
4. **Seslendirme** — cinsiyet/yaş/persona workflow ile onaylandı, ElevenLabs multilingual_v2 ile üretildi.

## Bilinen sınırlar / sonraki adımlar
- **Chunk 1 (09:00–13:00)** Gemini tarafında pazarlığın bir kısmını kaçırmıştı; base metin ElevenLabs'ten alındığı için sayfa eksiksiz, ama o aralık tek-motor doğrulamalı.
- Cebuano/Bisaya bazı bozuk (garbled) kısımlar her iki motorda da tahminî; kritik olanlar `[belirsiz]`/düşük-güven olarak işaretli.
- İstenirse: dublaja karakterler arası kısa boşluk/nefes, duygu (emotion) ayarı, veya SpeechGen (bakiye yüklendiğinde) alternatif sesleri eklenebilir.
