✅ Context Transition Rules - FINAL

10 Context Type - Net Geçiş Kuralları

📅 5 Aralık 2025 🎯 v3 - Final Transition Rules 💾 Zero Migration

✅ Tüm Geçiş Kuralları Netlileşti!

🔄 10 Context Transition Rules

1

🎭 Genre → Genre

Kural:

Genre devam eder

Örnek:

Kullanıcı "Jazz" seçer → Sürekli Jazz şarkıları çalar → Queue bitince yeni Jazz şarkıları çek → ♾️ Infinite Jazz

Geçiş: Genre → Genre (sürekli aynı tür)

2

💿 Album → Album → Genre

Kural:

Album devam eder → Bitince genre'ye geç

Örnek:

Kullanıcı "Kind of Blue" albümü seçer → Albümdeki 8 şarkı sırayla çalar → Albüm bitti! → Genre'ye geç (Jazz) → Sürekli Jazz çalar

Geçiş: Album → Genre (albüm bitince tür devam)

3

🎵 Playlist → Playlist → Genre

Kural:

Playlist devam eder → Bitince genre'ye geç

Büyük Playlist (500+ şarkı):

Offset mekanizması ile 10'ar şarkı yükle → 500 şarkı bitti → Playlist tamamlandı! → Son şarkıların genre'sine geç → Genre devam eder

Geçiş: Playlist → Genre (playlist bitince tür devam, LOOP YOK!)

4

🏢 Sector → Sector Playlists

Kural:

Seçilen sektöre bağlı playlistler devam eder

Örnek:

Kullanıcı "Restoran & Kafe" sektörü seçer → Sektöre bağlı 5 playlist var → Bu 5 playlist pool'undan rastgele şarkılar çek → ♾️ Infinite sector music

Geçiş: Sector → Sector Playlists (sürekli sektör müziği)

5

📻 Radio → Radio Playlists

Kural:

Seçilen radio'ya bağlı playlistler devam eder

Örnek:

Kullanıcı "Chill Radio" seçer → Radio'ya 4 playlist atanmış → Bu 4 playlist pool'undan karışık şarkılar çek → ♾️ Infinite radio

Geçiş: Radio → Radio Playlists (sürekli radio mix)

6

🔥 Popular → Popular → Album → Genre

Kural:

Popüler devam eder → Bitince son şarkıların albümü → Albüm bitince genre

Geçiş Akışı:

1. Popüler şarkılar çalar (play_count DESC)

2. Popüler şarkılar pool'u bitti (örn. top 100)

3. Son çalan 5 şarkının albümlerini al → En çok tekrar eden albüm

4. O albümden devam et

5. Albüm bitti → Genre'ye geç

Geçiş: Popular → Album → Genre (3 aşamalı)

7

🆕 Recent → Recent (Son ID'den Devam)

Kural:

Son eklenenler devam eder → Bitince son ID'den eklemeye devam eder

Örnek:

1. Son eklenen 100 şarkı çalar (created_at DESC, song_id > 5000)

2. 100 şarkı bitti

3. Son şarkının ID'si: 5000

4. Daha eski şarkıları çek (song_id < 5000, created_at DESC, limit 10)

5. ♾️ Infinite recent (geriye doğru gider)

Geçiş: Recent → Recent (son ID takibi ile sürekli)

8

❤️ Favorites → Favorites → Album → Genre

Kural:

Favoriler devam eder → Bitince son şarkıların albümü → Albüm bitince genre

Geçiş Akışı:

1. Kullanıcının 50 favori şarkısı çalar

2. Favoriler bitti

3. Son çalan 5 şarkının albümlerini al → En çok tekrar eden albüm

4. O albümden devam et

5. Albüm bitti → Genre'ye geç

Geçiş: Favorites → Album → Genre (3 aşamalı)

9

🎤 Artist → Artist → Album → Genre

Kural (Önerilen):

Artist şarkıları devam eder → Bitince son şarkıların albümü → Albüm bitince genre

Örnek:

1. Kullanıcı "Miles Davis" seçer

2. Miles Davis'in 120 şarkısı çalar

3. Artist şarkıları bitti

4. Son 5 şarkının albümlerini al → En çok tekrar eden albüm (örn. Kind of Blue)

5. Kind of Blue albümünden devam et

6. Albüm bitti → Genre'ye geç (Jazz)

❓ Soru:

Artist bittikten sonra direkt genre'ye mi geçmeli, yoksa albüm aşaması olmalı mı?

Önerilen: Artist → Album → Genre (favorites gibi)

10

🔍 Search → Search → Album → Genre

Kural (Önerilen A):

Arama sonuçları devam eder → Bitince son şarkıların albümü → Albüm bitince genre

Kural (Alternatif B):

Arama sonuçları devam eder → Bitince arama query'si genre ise genre'ye geç

Örnek: Kullanıcı "jazz" aradıysa ve sistem "Jazz" genre'sini tespit ettiyse → Genre context'e geç

Örnek (A):

1. Kullanıcı "blue" arar → 35 sonuç

2. 35 şarkı çalar

3. Arama sonuçları bitti

4. Son 5 şarkının albümlerini al → En çok tekrar eden albüm

5. O albümden devam et

6. Albüm bitti → Genre'ye geç

❓ Soru:

Search bittikten sonra hangi mantık daha iyi? A (Album → Genre) mi yoksa B (Smart genre detection)?

Önerilen: A (Search → Album → Genre) - Daha basit ve tutarlı

📊 Özet Tablo - Tüm Geçişler

Context Devam Bitince Final
1. Genre Genre - ♾️ Genre
2. Album Album → Genre ♾️ Genre
3. Playlist Playlist → Genre ♾️ Genre
4. Sector Sector Playlists - ♾️ Sector
5. Radio Radio Playlists - ♾️ Radio
6. Popular Popular → Album → Genre ♾️ Genre
7. Recent Recent (son ID) - ♾️ Recent
8. Favorites Favorites → Album → Genre ♾️ Genre
9. Artist Artist → Album → Genre ❓ ❓ Onay bekliyor
10. Search Search → Album → Genre ❓ ❓ Onay bekliyor

✅ Sonuç: Tüm Yollar Genre'ye Çıkar!

8/10 context type'ı sonunda Genre context'e geçiyor (infinite music). Sadece Sector ve Radio kendi içinde dönüyor.

❓ Onay Bekleyen Kurallar

Soru 1: Artist Context

Artist şarkıları bittikten sonra:

Seçenek A (Önerilen):

Artist → Album (son şarkıların) → Genre

Seçenek B:

Artist → Genre (direkt)

Soru 2: Search Context

Arama sonuçları bittikten sonra:

Seçenek A (Önerilen):

Search → Album (son şarkıların) → Genre

Seçenek B:

Search → Smart genre detection (eğer "jazz" arattıysa Jazz genre'sine geç)