ANIME TRACKER

ANİME TRACKER => Duyurular ve Sürümler => Topic started by: hitsumo on Oct 05, 2026, 12:36 PM

Title: 1.1.48
Post by: hitsumo on Oct 05, 2026, 12:36 PM
# Anime Tracker 1.1.48

**Yayın tarihi:** 2026-09-22

Tek iş: **ilişki şeması.** Seri Kronolojisi sayfasına üçüncü bir sekme
geldi — **Şema** — ve bir seriyi liste değil çizim olarak gösteriyor:
her kayıt bir kutu, her ilişki bir çizgi. Şema hiçbir ek girdi istemez;
zaten kurulmuş ilişkilerden ve zincir adlarından kendiliğinden çizilir.
Şema değişikliği yok (boş migration); merkez katalogda yapılacak bir şey
yok.

## 1. Neden

Seri Kronolojisi'nin iki sekmesi seriyi tek boyutta okur: "hangi sırayla
izlerim" (Zincir Sırası) ve "ne zaman çıktı" (Yayın Tarihi). Oysa
katalogda iki bilgi daha var ve ikisi de listede görünmüyordu:

- **Bağın türü** (1.1.38'den beri): "Crystal, 90'lar dizisinin
  alternatif versiyonudur" cümlesi yalnız detay sayfasında bir satırdı;
  kronolojide iki hat arasındaki bu bağ çizilmiyordu.
- **Hatlar** (1.1.36'dan beri): zincir adları sekme oluyordu, ama iki
  hattın birbirine göre nerede durduğu — hangisi önce, hangisi hangisine
  bağlı — görülmüyordu.

Kürasyon zaten yapılıyordu; eksik olan yalnızca çizim.

## 2. Şema sekmesi

`series_timeline.php?id=...&mode=graph`. Seri adı olan her animede
görünür (Yayın Tarihi gibi); "Diğer Zincir" görünümü her zamanki gibi
zincir modudur.

**Yerleşim** — iki doğal eksen, hesaplanan bir şey yok:

- **Satır = hat.** Her zincir adı bir satır; ad verilmemiş zincirler
  "Zincir 1, 2..." diye numaralanır (eskiden yeniye); hiçbir zincire
  girmeyen kayıtlar "Bağımsız" satırında toplanır.
- **Sütun = yayın yılı.** Kutular soldan sağa ilk gösterim tarihine göre
  dizilir. Aynı yılda çıkan iki kayıt **farklı satırlardaysa aynı sütunu
  paylaşır** (bir TV sezonu ile aynı yılın filmi alt alta durur), aynı
  satırdaysa yeni sütun açılır. Tarihi bilinmeyen kayıtlar en sağda "?"
  sütununda. Yıl etiketi yalnız değiştiğinde yazılır.
- **Kutu:** poster, kısaltılmış ad, medya türü · yıl. Sol kenardaki renk
  şeridi sizin izleme durumunuz (listedeki noktayla aynı renkler); mavi
  çerçeve, sayfaya geldiğiniz anime. Kutuya tıklayınca detay açılır;
  üzerine gelince tam ad görünür.
- **Ad kısaltma:** seri adı öneki kutuda düşer — "Tensei Shitara Slime
  Datta Ken: Tensura Nikki" kutuda "Tensura Nikki", "... (2021)" kutuda
  "2021". Önek başta olmasa da bulunur ("Gekijouban <seri>: Guren no
  Kizuna-hen" → "Guren no Kizuna-hen"; "Film" zaten alt satırda). Geriye
  bir şey kalmıyorsa (ilk sezon) tam ad kalır. Yalnız gösterim; tooltip
  ve bağlantı tam adı taşır.

**Çizgiler** — her `anime_relations` satırı bir çizgi:

- **Devamı / Öncesi:** düz mor ok, zincir boyunca soldan sağa akar. Aynı
  satırda arada başka kutu varsa çizgi kutunun altından geçmez, üstten
  kemer yapar (yoksa "A → B" gibi okunurdu).
- **Öteki türler:** satırlar arası kesikli eğri; tür başına ayrı desen ve
  renk (alternatif versiyon / kurgu yeşil, yan hikâye / özet turuncu,
  aynı evren / ortak karakter mavi, diğer gri). Aynı satırdaysa üstten
  kemer.
- **Ok yönü, tek kural:** yönü olan türlerde ok **türetilmiş işe** bakar
  — önceki → devamı, ana hikâye → yan hikâye, tam hikâye → özet. Yönsüz
  türlerde ok yok.
- Çizginin üzerine gelince iki kaydın adı ve bağın türü görünür.
- **Lejant** şemanın altındadır ve yalnız o şemada geçen türleri ve
  durumları listeler — sözlüğün tamamını değil.

**Kapsam:** seri adı grubu + o gruba **doğrudan** ilişkiyle bağlı dış
kayıtlar. Dış kayıt (başka seri ya da serisiz) soluk, kesik çerçeveli bir
**"hayalet" kutu** olarak en alt "Seri dışı" satırında durur: Lunlun ↔
Hua Xianzi gibi seri sınırını aşan bir bağ görünür kalır, ama o kaydın
serisinin geri kalanı buraya taşınmaz. Hayalete tıklamak kendi serisinin
şemasına götürür (serisi yoksa detayına).

**Boş durumlar:** ilişkisi olmayan seride kutular yayın sırasıyla dizilir
ve altta "henüz kurulmuş ilişki yok" notu çıkar. 18+ kaydın kutusu durur,
adı tercih açık değilse gizlenir (1.1.2 kuralı).

## 3. Neden saf SVG, neden kütüphane yok

Şemayı PHP üretir, sayfa hazır gelir; JavaScript kütüphanesi yok, ek
indirme yok. Mermaid gibi bir kütüphane işi kısaltırdı ama ~3 MB'lık bir
yük getirir ve kutuların yerine kendisi karar verirdi — "TV dizileri
üstte, filmler altta" diyemezdik. Burada kutuların yeri iki eksenden
zaten belli olduğu için genel bir graf yerleşimi (force-directed vb.)
gereksizdir. Projenin tek dış kaynağı Font Awesome olarak kalır.

**Türe göre kod yok.** Çizim kuralı türden bağımsızdır: `sequel` yatay
ok, geri kalan her tür kesikli eğri. Tür adı yalnız CSS sınıfına ve
lejant etiketine gider. Sözlüğe yeni bir tür eklendiğinde (1.1.47'nin
Aynı Evren / Ortak Karakter'i böyle geldi; sıradaki `special` böyle
gelecek) şema onu kendiliğinden çizer; CSS'e bir renk satırı eklemek
isteğe bağlıdır, yoksa gri kesikli kullanılır.

## 4. Liste Ayarları

"Seri Kronolojisi Görünümü" seçeneğine **Şema** eklendi: sayfa
varsayılan olarak şemayla açılabilir. Seçenek listesi ve kaydeden ucun
beyaz listesi artık tek kaynaktan (mod listesi) gelir — 1.1.46'da "Son
İzlenenler" seçeneğinin sessizce kaydedilmemesine yol açan sabit kopya
liste burada da vardı, kaldırıldı.

## 5. Yardım

- Seri yardımındaki "Seri Kronolojisi Sayfası" bölümü: sekme listesine
  Şema; "iki sekme" cümleleri "üç"e; yeni **"Şema"** alt başlığı —
  satır/sütun kuralı, çizgi türleri, ok yönü, durum şeridi, hayalet kutu,
  kaydırma.
- Liste Ayarları açıklaması şemayı sayar.

## Dosyalar

**Yeni:**

```
files/functions/series_graph_helpers.php  veri toplama, satır/sütun yerleşimi, SVG, lejant
files/migration/1.1.48/upgrade.sql        boş (sürüm damgası)
```

**Değişen:**

```
files/series_timeline.php                 Şema sekmesi, mode=graph dalı, şema CSS'i, geniş kapsayıcı
files/functions/series_helpers.php        series_timeline_modes(): 'graph'; liste tek kaynak notu
files/functions.php                       yeni yardımcı dosyası yüklenir
files/list_settings.php                   <select> ve beyaz liste series_timeline_modes()'tan
files/set_series_timeline_mode.php        yorum (mod listesi)
files/help/help_series.php                "Şema" alt başlığı
files/lang/tr.php                         +11 anahtar (series_timeline.tab.graph, series_graph.*, help.st.graph.*); 4 metin değişti
files/lang/en.php                         aynı
files/version.txt
```

Dil dosyası paritesi: 1149 = 1149.

## Dağıtım notu

- **Merkez katalogda iş yok.** Şema yalnız okur; yeni tablo/kolon yok.
- Migration boştur; ilk sayfa açılışında sürüm damgasını taşır.
- `functions/` klasörü **bütün** gitmeli: `functions.php` yeni
  `series_graph_helpers.php`'yi yükler; dosya eksikse her sayfa ölümcül
  hata verir.
- Bilinen sınırlar (bilinçli): satır etiketleri şemayla birlikte kayar
  (SVG içinde); çok geniş bir seri yatay kaydırma ister; sayfa mobil
  viewport meta'sı taşımıyor (1.1.23'ten beri böyle, bu sürümde
  dokunulmadı).
- **Dağıtım sunucusunda** her zamanki iki adım: yayımlanan `version.txt`
  1.1.48'e çekilmeli ve `updates/1.1.48/anime-tracker-1.1.48.zip` paketi
  yayımlanmalı.