Files
kolaytercih/docs/ekip-raporlari/2026-10-07/yazilimci-paket-D2.md
bilalgursen da0e9dff7a docs(ekip): 7–10 Ekim raporları, eval sonuçları, seslendirme betiği
- docs/ekip-raporlari/2026-10-07, 2026-10-09, 2026-10-10 raporları ve ekran görüntüleri
  (ses/ altındaki mp3 dosyaları depoya alınmadı, 38 MB)
- BACKLOG #38: rehber yazılarına "Dinle" düğmesi adayı
- scripts/seslendir.py (Türkçe TTS) ve .gitignore'a .venv-tts/
- scripts/eval/sonuc: 8–10 Ekim revizyon eval çıktıları

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-11 00:33:39 +03:00

52 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Yazılımcı raporu — Paket D2 · Program ayrıntı çekmecesi (madde 8, 9)
Dal `v2`, ana checkout; commit'lenmedi: başkalarının dosyaları (`.claude/settings.json`, `AGENTS.md`, `data/app.db`, `src/lib/ai/rapor.ts`, `src/lib/revizyon-kurali.ts`, `scripts/eval/revizyon-denetim.ts`, bu rapor klasörü).
## Özet
1. `AcilisSahnesi` `akademik-ayrinti.tsx`'ten `src/components/ui/acilis-sahnesi.tsx`'e taşındı (sabitler dâhil); kartlı mod birebir, `akademik-ayrinti.tsx` import ediyor.
2. Sahneye `hazir?` (varsayılan `true`; `false` iken oynamaz, veri gelince oynar) ve `className?` (varsayılan `mt-5`) prop'ları + **kartsız mod** eklendi: `data-logo` kabındaki üç `data-logo-kare` belirir (`GUCLU_CIKIS`), `KARE_SURE·0.52`'ye kadar durur, `scale 0.6 + opacity 0` ile söner (Bilal kararı), `data-sonra` bloklar `ICERIK_BASI`'ndan itibaren 0,08 s arayla netleşir; toplam ≈ 1,2 s (gecikme 0,1 + 1,0). Hareketi azalt: logo gizlenir, 0,25 s solma.
3. `program-ayrinti.tsx`: `YillaraGore` ve çağrısı silindi; `duraklar`/`ilkDurak` kaldırıldı (tek durak 0,92); iskelet `min-h-[70dvh]` sarmalda; bölümler `data-sonra` (8 adet), başlığın altında `data-logo` kabı yalnız `durum === "hazir"` iken.
4. `DESIGN.md` §4.19'a "7 Eki 2026 — tek durak, sabit iskelet, logo → içerik" maddesi; "Yıllara göre" liste maddesinden çıktı; §4.10'daki `[0.6, 0.92]` atfı tek durağa çevrildi.
5. Doğrulama: typegen ✔, tsc (kendi dosyalarım) ✔, eslint (üç dosya) ✔, `pnpm tasarim:denetim` 0 hata / 12 uyarı (hiçbiri bu dosyalarda). `pnpm lint` toplamı **kırmızı** ama sebebi başkalarının bıraktığı bayat `.claude/worktrees/*/.next/types/` dosyaları (aşağıda).
## Commit'ler
- `7d52e8d` refactor(ui): AcilisSahnesi ortak bileşen (components/ui/acilis-sahnesi.tsx), kartsız logo→içerik modu — `src/components/ui/acilis-sahnesi.tsx` (Y), `src/features/katalog/components/akademik-ayrinti.tsx`
- `bed8397` fix(program-ayrinti): tek durak + sabit iskelet boyu (açılış sıçraması), "Yıllara göre" kaldırıldı, logo→içerik açılışı; DESIGN §4.19 — `src/features/katalog/components/program-ayrinti.tsx`, `docs/tasarim/DESIGN.md`
Push yok.
## Kabul kriterleri (D2-2)
| Kriter | Durum | Nasıl |
|---|---|---|
| `grep -n "YillaraGore\|Yıllara göre" program-ayrinti.tsx` → 0 | ✔ | koşuldu, 0 satır (yorumda "yıl tablosu" denildi) |
| `grep -n "duraklar=\|ilkDurak=" program-ayrinti.tsx` → 0 | ✔ | koşuldu, 0 |
| `function AcilisSahnesi` akademik-ayrinti.tsx'te 0; yeni modül export, akademik import | ✔ | koşuldu; `export function AcilisSahnesi` acilis-sahnesi.tsx:~95, import akademik-ayrinti.tsx:14 |
| `data-sonra` ≥ 5, `data-logo` ≥ 1 (program-ayrinti.tsx) | ✔ | 8 ve 2 |
| typegen + tsc + lint temiz | ✔ / ✘ (dış sebep) | typegen ✔; `tsc --noEmit` yalnız `scripts/eval/revizyon-denetim.ts(91)` hata veriyor (Paket B'nin commit'lenmemiş dosyası; benim ilk koşumda tsc temizdi); `pnpm lint` 208 hata — tamamı `.claude/worktrees/agent-a5bcd…/` ve `agent-a8614…/` altındaki `.next/types/{routes.d.ts,validator.ts}` (başka oturumların worktree kalıntısı; dokunmadım). Üç dosyam `eslint` ile sıfır. |
| `pnpm tasarim:denetim` 0 hata; çarpı sınıf seti değişmedi | ✔ | 0 hata, 12 uyarı (hepsi mevcut, başka dosyalar); `AltSayfaKapat` satırı diff'te yok |
| Tarayıcı doğrulaması | — | yapılmadı (yazılımcıda yok; `tasarimci` D2-4) |
## Şartnameden sapmalar / kararlar
- **Logo kabı sönerken sıfır boya iner.** Şartname `data-logo` kabını `relative mx-auto h-16 w-16` diyor; kareler söndükten sonra 64 px boşluk kalmasın diye sahne kabın `height`'ını sönmeyle birlikte 0'a indirip `display:none` yapıyor (0,4 s, `YERLESME`). İçerik `ICERIK_BASI` (0,95 s) ile kap kapanışı (≈0,86–1,26 s) çakışır: ilk bloklar netleşirken ~60 px yukarı kayar. Tasarımcı bunu rahatsız edici bulursa alternatif: kabı `absolute` yapıp içeriğin üstünde crossfade (yerleşim hiç oynamaz). Koddan çıkarım; tarayıcıda bakılmadı.
- **Kare stili ortak modülden.** `data-logo` kabı şartnamedeki gibi `program-ayrinti.tsx`'te çiziliyor, ama karelerin yer/boyut/renk/köşe değerleri `acilis-sahnesi.tsx`'ten export edilen `LOGO_SLOTLARI` + `logoKareStili(slot)` ile geliyor (sayılar tek yerde).
- **"Bir kez oynar" için ref yok.** `hazir` false→true tek geçiş olduğundan sahne zaten bir kez oynuyor; `oynadi` ref'i React Strict Mode'un dev'deki çift effect'inde sahneyi tamamen atlatacağı için konmadı. `hata` sonrası yeniden yükleme (`yukle`) `durum`u `yukleniyor`a çeker; çekmece kapalıyken sahne monte değil (AltSayfaIcerik kapanınca unmount), yani tekrar açılışta sahne yeniden oynar — mevcut akademik davranışıyla aynı.
- **Sahne süresi ≈ 1,2 s** (BASLANGIC 0,1 + son kare gecikmesi 0,16 + LOGO_SURE ≈ 1,0); şartnamede "≈ 1 s". Kısaltmak gerekirse `LOGO_SURE`'deki `+ 0.4` (sönme) tek nokta.
- `hata` durumunda da `min-h-[70dvh]` kalıyor (tek satır mesajın üstte durduğu uzun boş sayfa) — sıçramayı önlemek için bilinçli; tasarımcı isterse `durum === "hata"` için kaldırılabilir.
- `program-ayrinti.tsx` üst yorumu ve §4.10 metni güncellendi (şartnamede açıkça yoktu, ama yorum/belge eski `[0.6, 0.92]` davranışını anlatıyordu).
## Merge sonrası doğrulanması gerekenler
- `tasarimci` D2-4: 375 / 768 px'te çekmece açılışında sıçrama; sönme + kap kapanışı sırasında ilk blokların kayması; `prefers-reduced-motion`'da logo görünmüyor + 0,25 s solma; akademik göstergeler çekmecesi (kartlı mod) değişmedi mi.
- `pnpm build` (koşmadım, istenmedi).
- Bayat `.claude/worktrees/*/.next` kalıntıları temizlenmeden `pnpm lint` yeşile dönmez; bu D2'nin değil, orkestratörün/worktree sahibinin işi.
- Paket B'nin `scripts/eval/revizyon-denetim.ts:91` tsc hatası (başka ajan).
## Bilal'den istenen
- Logo kabının sönerken kapanması (içeriğin ~60 px yukarı kayması) kabul mü, yoksa crossfade (kap `absolute`, yerleşim sabit) mi? Varsayılan: şu anki (kap kapanır).
- "Yıllara göre" yıl tablosunu başka bir yere taşıma kararı (backlog; API `gecmis` alanı duruyor).