WebXR Fundamentals · Platform & kalite
Oturum, Poz & XR Karesi: Zaman-Uzay Gümrüğü
Sözleşme seçildikten sonra deneyim bir izin, bir lehçe ve bir
saat ister. Bu sayfa XRSession'ı gümrük izni,
referans uzayını koordinat lehçesi, pozu kare mühürü ve
XRFrame'i defter saati olarak anlatır.
Giriş & VR
/ AR
hangi gerçekliğe borçlu olduğunuzu seçti; burada
zaman ve uzayın nasıl aktığı vardır.
Holodepth bu yaprağı Three.js WebXRManager kod turu veya
Babylon helper listesi olarak yazmaz. Bakış açısı: sayfa
requestAnimationFrame'i ile oturum saati neden aynı şey
değildir; pozu bir karede okuyup sonrakine «ezberlemek» neden cinayettir;
local ile local-floor neden farklı diplomasi
ister? Motor bağlama
Three.js · WebXR mimari
yaprağında kalır.
Sayfayı bitirdiğinizde şu cümleyi kurabilmelisiniz: «Oturum izindir; mod yazılıdır. Referans uzay lehçedir. Poz kare mühürüdür, cache edilmez. XRFrame defter saatidir; pencere rAF'i değildir. Viewer ve dünya kökü ayrılır. Inline köprü, immersive mühürdür. Mekânsal UX sonraki yapraktır; stereo bütçe ayrıdır.»
Bu sayfanın sınırı · komşu konularla ayrım
Bu sayfa WebXR Fundamentals içinde oturum / poz / kare / uzay diplomasisini anlatır:
- Saat devri (oturum rAF)
- Oturum izni · referans uzay lehçeleri
- Poz mühürü · XRFrame defteri
- Viewer vs dünya · inline/immersive
- Üç oturum profili
Bilinçli olarak dışarıda bırakılan konular:
- Presence vs registration sözleşmesi → Giriş & VR / AR
- Mekânsal UI, tutma/işaret, etkileşim dili → Mekânsal etkileşim & UI
- Stereo, FPS, motion-to-photon → Stereo & gecikme
- Three.js bağlama / örnek döngü kodu → Three.js · WebXR
- Babylon XR session helper'ları → Babylon · XR
Kısa ayrım: Bu sayfa «zaman ve uzay nasıl mühürlenir?» · Giriş «hangi gerçeklik sözleşmesi?» · Mekânsal «insan nasıl tutunur?» · Stereo «çift göz vergisi» · Three «motor nasıl bağlar?».
Saat devri: pencere değil, oturum
Klasik web sahnesi window.requestAnimationFrame ile akar.
Immersive XR'de çizim ritmi oturuma aittir:
XRSession.requestAnimationFrame. Holodepth bunu «saat
devri» diye adlandırır: gümrük açıldıktan sonra defter, tarayıcı
penceresinin değil oturumun saatine işler.
Yanlış saat iki tip cinayet üretir. Birincisi: hâlâ pencere rAF'inde çizip XR framebuffer'ını «ara sıra» güncellemek (titreme, faz kayması). İkincisi: oturum bittikten sonra oturum rAF'ine tutunmak (sessiz hata, sızdıran döngü). Ticket cümlesi: «çizim saati = oturum saati».
Immersive kapı açılınca metronom el değiştirir.
Oturum = gümrük izni
XRSession bir «sahne objesi» değildir; tarayıcının verdiği
izin belgesidir. Mod (immersive-vr,
immersive-ar, inline), required/optional
features ve kullanıcı jesti bu belgenin şartlarıdır. Holodepth:
oturumu başlatmadan önce giriş yaprağındaki sözleşme (presence /
registration) ile mod hizalanır.
- İstek: destek sorgusu + özellik listesi (ölçülü; her şeyi required yapmak kırılganlıktır)
- Mühür: kullanıcı aktivasyonu (gesture); sessiz otomatik immersive çoğu politikada yasaktır
- İptal / son:
end, görünürlük kaybı, cihaz çıkarma; yedek düz sahneye dönüş yazılıdır
Oturum «sonsuz» sanılmaz. Askıya alma ve yeniden giriş ürün hikâyesinin parçasıdır; yalnızca hata handler'ın değil.
Referans uzay: koordinat lehçeleri
Poz «nerede?» sorusunu tek başına cevaplamaz; neye göre? ister. Reference space, Holodepth dilinde koordinat lehçesidir:
- viewer: kafaya/göze yapışık; UI HUD için doğal, dünya sabitlemek için tehlikeli
- local: oturum başı yakın origin; ayakta kısa deneyimler
- local-floor: zemin hizalı origin; mobilya / insan ölçeği için sık tercih
- bounded-floor: güvenli oyun alanı sınırlı; sınır dışı politika ister
- unbounded: geniş gezinti; tracking drift ve yeniden hizalama ürün konusu olur
Yanlış lehçe «model havada / yerin altında» klasiklerini üretir. Bu, DCC unit scale hatasının XR kuzenidir; üretim metresi ile runtime lehçesi ticket'ta yan yana yazılır. Hangi UI'nin viewer'da kalacağı mekânsal yaprağa aittir; burada lehçe seçimi vardır.
Poz: kare mühürü, ezber değil
Pose, o anki rigid transform'un (konum + yönelim) mühürlü okumasıdır. Holodepth kuralı: poz kareye aittir. Bir önceki karenin matrisini «hâlâ doğru» sanmak tracking gecikmesi ve prediction dünyasında sessiz kayma üretir.
İki okuma ailesi vardır (isimler API'ye göre değişir, fikir sabit):
- Viewer / görüş pozu: kameranın dünyadaki yeri
- Girdi pozu: el, kontrolcü, hedef ışını; mekânsal etkileşimin ham maddesi
Emulated / estimated poz ile 6DoF «gerçek» poz kalite farkı ticket'ta görünür olmalıdır: telefon AR ile başlık VR aynı başarı cümlesini paylaşmaz. Giriş yaprağındaki yetenek zarfı burada ölçüme bağlanır.
XRFrame: defter saati
XRFrame, o tikteki defter satırıdır: zaman damgası, poz
sorgulama hakkı, (varsa) görüş / hit-test kancaları. Holodepth modeli:
frame callback'i «oyun mantığının her şeyi» değil, gümrük
mühürleme anıdır. Ağır iş (yükleme, decode, uzun fizik) bu
satırı şişirirse stereo ve gecikme yaprağındaki bütçe çöker; teşhis
oradadır, burada ilke vardır.
Defter disiplini:
- Pozu frame içinde oku; frame dışında «eski frame» ile çizme
- Bir sonraki frame'i oturum rAF'i ile planla
- Oturum bitince planı iptal et / düz sahneye dön
Frame, sahnenin kalbi değil; gümrüğün damgasıdır.
İki kök: viewer ve dünya
Birçok bozuk XR sahnesi tek köke her şeyi bağlar. Holodepth iki kök diplomasi önerir:
- Dünya kökü: kalıcı içerik (oda, ürün, zemin hizalı prop); referans uzay lehçesine göre sabitlenir
- Viewer kökü: başa bağlı HUD, uyarı, kısa ömürlü işaret; dünya kaymasından etkilenmemeli / bilerek etkilenmeli
İkisini karıştırmak «menü odanın köşesinde süzülüyor» veya «ürün yüze yapıştı» hatalarını üretir. Hangi kontrolün hangi kökte yaşayacağı mekânsal etkileşim yaprağında derinleşir; burada kök ayrımı zorunlu kabul edilir.
Inline köprü, immersive mühür
inline oturum sayfa içinde XR benzeri poz akışı sağlar;
presence vaadi taşımaz. Holodepth onu köprü ve QA rayı
sayar: aynı poz/lehçe düşüncesini düşük riskle prova etmek.
immersive-* ise tam gümrük mühürüdür: stereo (çoğu VR),
sistem UI, cihaz tekeli.
Ürün hatası: inline'da «VR tamam» demek. QA hatası: yalnız immersive cihazda test edip inline yedeği yok saymak. Giriş yaprağındaki «köprü / inline» profili burada oturum tipine map edilir.
Üç oturum profili
Ticket diline yapışan üç zaman-uzay yoğunluğu:
-
01 · Session
Immersive VR yerel
- Mod
- immersive-vr · oturum saati
- Uzay
- local-floor veya local
- Risk
- Yanlış lehçe · pencere rAF
-
02 · Session
Immersive AR kayıt
- Mod
- immersive-ar · hit/anchor sonra
- Uzay
- local-floor / unbounded bilinçli
- Risk
- Drift · ezberlenmiş poz
-
03 · Session
Inline prova
- Mod
- inline · düşük vaat
- Uzay
- viewer/local · HUD testi
- Risk
- Presence sanmak · eksik QA
Holodepth perspektifleri
İzin belgesini isimlendir
«XR açıldı» yetersizdir. Mod, özellik listesi ve sonlanma yolu ticket'tadır.
Lehçe seçilmeden poz okunmaz
Reference space yazılmamışsa her cihaz kendi «doğrusunu» üretir.
Poz ezberlenmez
Kare mühürü bir sonraki karede yeniden istenir. Cache, prediction'ın rakibidir.
Teşhis maddeleri
- Oturum profili (VR / AR / inline) seçili mi?
- Çizim saati oturum rAF'i mi?
- Referans uzay lehçesi yazılı ve scrub edildi mi?
- Poz frame içinde mi okunuyor?
- Viewer ve dünya kökleri ayrıldı mı?
- Oturum sonu / askı yedeği var mı?
- Required features aşırı şişirilmiş mi?
- Inline prova ile immersive mühür karıştırılmamış mı?
- Motor köprüsü Three/Babylon sayfasına mı bırakıldı?
Holodepth içgörüsü
«Tracking bozuk» cümlesi çoğu zaman sensör değil, yanlış saat veya yanlış lehçedir. Holodepth: önce gümrük ritüelini kurun; sonra mekânsal UX ve stereo bütçeyi konuşun.
Sonraki kapı: mekânsal etkileşim
Zaman ve uzay mühürlenince sıra insanın tutunmasına gelir: mekânsal UI, işaret, tutma, ölçek konforu. Sonraki sayfa Mekânsal etkileşim & UI bu katmanı anlatır. Stereo ve gecikme bütçesi dördüncü yapraktadır; sahne model demoları izlek metinleri bitince ayrıca planlanacaktır.