holodepth

Holodepth • Runtime Atlas • Infrastructure map

Browser Process Topology

WebGL sahnesinin hangi süreçte yaşadığını gösteren canlı harita; kutular değil, IPC akışı ve state transition. Event Loop «tracing», Frame Budget «profiler»; bu model sahnenin ev sahibi ve komşularını okutur. Simülasyon; gerçek Chrome’a bağlanmaz. Süreç sözlüğü Byteomi Çekirdek Mimari’de.

Event Loop · Frame Budget

Holodepth köprüsü

byteomi.com · Çekirdek Mimari makalesi «hangi iş hangi süreçte yaşar, sınırlar nasıl çizilir?» sorusunu metinsel mimari olarak işler: browser broker, renderer sandbox, GPU / network / utility rolleri, Mojo IPC, site isolation. Holodepth bu sayfada aynı sözlüğü tekrar etmez; soruyu çevirir: bir Three.js / WebGL sahnesi hangi süreçte yaşar ve bir sınır koptuğunda sahnede ne kalır?

Sahne mimarisi açısından process topology «Chrome Task Manager resmi» değil, sahnenin ev sahibi ve komşularıdır. WebGL bağlamı ve renderer.render(scene, camera) çağrısı bir renderer process içindedir; compositor / vsync birleşimi çoğu zaman GPU process tarafındadır; fetch / GLTF byte’ı renderer’dan çıkmaz, network broker’ına gider. Sekme çökerse Holodepth sahnesi o sekmede ölür; tarayıcı chrome’u ve diğer sekmeler yaşar. GPU process ölürse sahne siyah flash / context lost görebilir; orbit kontrolü ve DOM hâlâ ayaktadır.

Event Loop ve Frame Budget tek süreç içindeki zamanı öğretir. Bu lab bir üst katman: sınır. Aşağıdaki bölümler grafiği, ledger’ı ve sahne karşılıklarını açıklar; süreç tablosu ve Mojo sözleşmesi için Byteomi kaynağına dönün.

Topology nasıl okunur?

Grafik, Byteomi’deki süreç hiyerarşisinin Holodepth sahne haritasıdır süreç tablosunun kopyası değil. L3 Browser = oturum broker’ı (sahnenin ev sahibi değil; sekmeyi doğuran otorite). L2 Infra = sahnenin bağlandığı uzman yollar (GPU compositor, network fetch, codec / storage). L1 Renderer = sizin canvas’ınızın yaşadığı yer: scene graph, kamera, WebGL context. Cyan kenar Mojo (broker mesajı); turuncu kenar compositor (kare / layer). Ledger odaktaki process’i okur; event dock aynı olayı fiil + sonuç olarak yazar.

Sahne mimarisinde soru «kaç process var?» değil: benim mesh’im hangi halkada? OrbitControls, AnimationMixer, raycaster hepsi L1 renderer’dadır. WebGLRenderer komut listesi GPU process’e gider; GLTF fetch Network’e broker edilir. Cross-origin iframe içindeki ikinci canvas ayrı L1 kartıdır (OOPIF) parent scene ile aynı heap’i paylaşmaz.

Statik diagram değil. Spawn → yeni L1 sahne evreni; crash → o evren kapanır, L3 yaşar; GPU kill → turuncu yol SEVERED, siyah kare riski; discard → arka plan sahnesi HOLD.

  • L3 Browser Sekme / izin broker’ı · sahne ev sahibi değil
  • L1 Renderer Scene + WebGL context · sizin animate()
  • L2 GPU Compositor / texture · render() sonrası yol
  • L2 Network GLTF / HDRI / fetch byte’ı · renderer soketi değil
  • L2 Utility Codec, decode işçisi · ana heap’e yüklenmesin
  • L2 Storage Cache / disk · discard sonrası reclaim
  • L2 SW Offline wake · sahne asset’i cache’ten
  • Isolation ads.com ayrı L1 · parent mesh’e pointer yok
  • Üç katman, üç evren. L3 üstte broker; L2 ortada uzman yollar; L1 dış orbitte sekmeler. Holodepth sahnesi L1 kartındadır. «Yavaşlık» şikâyetinde önce hangi halka titriyor diye bakın Byteomi’nin «hangi süreç?» debug notunun sahne hali.
  • Kart chip’i durumdur, rol değil. OK sağlıklı L1; ISO ayrı origin (OOPIF); HOLD discard / throttle; HOT GPU baskısı; X crash. Rol (RNDR / GPU) ledger’dadır; kart yüzünde durum okunur.
  • Cyan ≠ turuncu. Cyan Mojo: izin, navigasyon, fetch broker’ı. Turuncu compositor: kare / layer / texture. OrbitControls tıklaması cyan yoldan L1’e iner; renderer.render çıktısı turuncu yoldan GPU’ya gider. Ledger’da ON / OFF / SEVERED aynı ayrımı yazar.
  • Kesikli halka her zaman yok. Isolation ring yalnızca Site isolation senaryosu veya Isolation düğmesinde görünür. ads.com ile example.com aynı açıda durmaz; parent mesh, iframe canvas’ına pointer paylaşmaz.
  • Ledger + event dock. Sağdaki SCOPE odaktaki process’i (ad, rol, state, origin, IPC) okur. Alttaki EVENT · IPC aynı olayı fiil + sonuç olarak yazar: SPAWN example.com → L1, CRASH … · Browser OK. Kart tıklayın; fade + vurgu «bu sahnenin komşuları»dır.

İlk deneme: Sakin tab’de 10 sn izleyin (tek L1, cyan + turuncu açık). Sonra Crash renderer: L1 X, L3 yaşar, canvas o sekmede ölür. Ardından GPU kill: turuncu SEVERED, siyah kare / context lost hissi; kamera DOM’u durur. Sözlük için Byteomi Çekirdek Mimari; sahne etkisi için bu grafik.

Process Topology Simulator

Byteomi runtime · CANLI · Process orchestration

Katmanlı process graph · node cards · IPC heat trails · site isolation · crash / GPU kill senaryoları.

Runtime note Simülasyon; gerçek Chromium instance’a bağlanmaz. Olaylar state transition üretir; IPC ve timeline gözlemlenebilirlik içindir.

LIVE
Orchestrator Orchestrating
IPC rate
VRAM (sim)
Renderers 1
Focus
Infrastructure insight Chromium multi-process model IPC paketleri simüle edilir.

Pinch zoom · Drag · Tap = focus

EVENT · IPC

STATE TRANSITIONS · PRESET: SAKİN TAB

Cyan spokes = Mojo (Browser ↔ renderer). Turuncu = compositor (renderer → GPU).

SPAWN
ISOLATION
GPU
CRASH / MEMORY

Önce bir senaryo seçin; sağdaki ledger odaktaki process’i okur. Elle tetikleyince preset CUSTOM olur. Kart tıklanınca IPC yolları (Mojo / compositor) ledger’da ON / SEVERED olur.

Bu demo ne işe yarar?

Bu sayfadaki Process Topology Simulator, bilgisayarınızdaki gerçek Chrome’a bağlanmaz. Küçük bir öğretim modelidir: «Three.js canvas’ım hangi süreçte yaşar ve bir sınır koptuğunda sahnede ne kalır?» sorusuna görsel cevap verir. Production task manager değildir; Byteomi çekirdek mimarisinin tablosunu sahne evrenine çevirir.

Sahne mimarisi açısından demo şunu sorar: new THREE.WebGLRenderer() ve animate() hangi L1 kartında durur? renderer.render(scene, camera) komut listesi hangi turuncu yoldan GPU’ya gider? GLTF fetch / HDRI byte’ı neden L1 soketinden çıkmaz? Cross-origin iframe içindeki ikinci canvas neden parent mesh’e pointer paylaşmaz? L3 Browser orchestrator’dır; sahnenin ev sahibi değildir. Ledger odaktaki evreni, event dock aynı olayı fiil + sonuç olarak yazar.

Senaryolar tek tek bir sahne anti-pattern’ine karşılık gelir. New tab / Spawn storm → yeni L1 sahne örneği (ayrı heap, ayrı WebGL context). Cross-origin iframe → OOPIF: reklam / widget canvas’ı ayrı L1. Heavy WebGL → GPU kuyruğu dolu; «JS yavaş» değil, turuncu yol HOT. Crash renderer → o sekmedeki sahne ölür, diğer sekmeler ve chrome yaşar. Kill GPU → siyah flash / context lost; OrbitControls DOM’u durur. Memory pressure → arka plan sahnesi HOLD (discard).

Nasıl kullanırsınız? Önce Sakin tab’de baseline’ı izleyin; bir L1 kartına tıklayıp cyan / turuncu yolları ledger’da ayırın. Sonra Spawn storm → Site isolation → GPU kill → Tab discard gezisini sahne hikâyesi gibi okuyun. Elle tetikleyiciler preset’i CUSTOM yapar. Pinch / wheel zoom, drag pan; orbit-rotate yok (etiket okunurluğu). Zamanlama için Event Loop, kare bütçesi için Frame Budget; süreç sözlüğü için Byteomi Çekirdek Mimari.

Olay tetikleyiciler

Tetikleyiciler Byteomi süreç tablosunu ezberletmez; her düğme bir sahne sınırını koparır veya çoğaltır. Tek tek basın, hangi kartın chip’i ve hangi IPC yolunun SEVERED olduğuna bakın, sonra gerçek ürün şikâyetiyle eşleştirin. Amaç «buton ne yapıyor?» değil: «sahnemde benzer bir sınır varsa grafikte ne görünür?»

New tab / Tab burst
Yeni L1 kartı dış orbitte doğar; her kart ayrı heap, ayrı potansiyel WebGL context. Burst çok sahne örneğini aynı anda açar RAM tabanı ve IPC hacmi artar. Sahne karşılığı: ikinci bir viewer sekmesi veya «her ürün için yeni canvas» ürün kararı. Karşılık Yeni sahne evreni · ayrı renderer
Cross-origin iframe / Site isolation
ads.com ayrı L1; kesikli isolation halkası. Parent scene ile child canvas aynı adres uzayını paylaşmaz; parent mesh’e pointer yok. Sahne karşılığı: reklam / widget / ödeme iframe’indeki ikinci WebGL, ana sahneyi kilitlemez ve okuyamaz. Karşılık OOPIF · nested scene · ayrı context
SW wake
Service Worker L2 uyanır; asset cache’ten gelir, L1 soketi açılmaz. Sahne karşılığı: GLTF / HDRI’nin offline cache’ten ikinci açılışı. Karşılık Offline asset wake · renderer dışı
Heavy WebGL
GPU kartı büyür, VRAM yükselir, turuncu yol HOT. «JS yavaş» değil; compositor kuyruğu dolu. Sahne karşılığı: aşırı draw call, büyük texture upload, birden fazla renderer’ın aynı GPU’ya yarışması. Karşılık GPU queue · VRAM · compositor pressure
Crash renderer
Odaktaki L1 X; o yöne IPC kesilir; L3 + GPU yaşar. Sahne karşılığı: sekme donar / «Aw, Snap» o canvas ölür, diğer sekmelerdeki OrbitControls durmaz. Kamera ölümü değil, tab freeze. Karşılık Sahne evreni kapandı · Browser survived
Kill GPU / GPU reset
Turuncu compositor yolu SEVERED veya yeniden bağlanır. Sahne karşılığı: siyah flash, webglcontextlost, kısa süre boş kare; DOM ve kamera kontrolü ayakta. Reset = sürücü / GPU process toparlanması. Karşılık Context lost · GPU process restart
Memory pressure
Arka plan L1 HOLD (discard); storage reclaim. Sahne karşılığı: kullanıcı sekmeye dönünce canvas yeniden yüklenir mixer state, kamera pozisyonu kaybolabilir. Karşılık Tab discard · sahne HOLD · lifecycle

Okuma ipucu: Önce hangi halka titredi (L1 / L2 / L3), sonra ledger chip + IPC ON/SEVERED, sonra sahne hipotezi (hangi canvas öldü?). Zamanlama şeritleri Event Loop; layout/paint Frame Budget. Sözlük Byteomi Çekirdek Mimari; sahne etkisi bu panel.

Ne görmelisiniz?

Bu kartlar «doğru / yanlış cevap» değildir; grafikte aramanız gereken görsel imzalardır. Holodepth sahnesinde sağlıklı runtime, canvas’ın L1’de OK durduğu, cyan ve turuncu yolların açık olduğu, L3’ün broker olarak ayakta kaldığı durumdur. Kötü imza kullanıcıya «sekme öldü / siyah kare / iframe dondu» olarak yansır Byteomi’deki crash isolation ve GPU restart kavramlarının sahne diline çevrilmiş hali.

Sağlıklı sahne evreni

  • L3 merkezde; L2 halkası dengeli; tek L1 OK.
  • Cyan Mojo + turuncu compositor ledger’da ON; paketler seyrek.
  • HUD: Orchestrating, IPC stabil, VRAM düşük.
  • Dock: yoğun CRASH / SEVERED yok.

Sakin tab, 10 sn; canvas nabzı baseline.

Sahne evreni kapandı (crash)

  • L1 chip X; o yöne IPC solar / SEVERED.
  • Kart dissolve; toast: example.com crashed · Browser survived.
  • L3 + GPU yaşar diğer sekmelerdeki canvas durmaz.
  • Dock: CRASH … · Browser OK.

Tab freeze; kamera / chrome ölümü değil.

GPU / siyah kare

  • Heavy WebGL → GPU HOT, VRAM %65+, turuncu pulse.
  • Kill GPU → turuncu SEVERED; siyah flash / context lost hissi.
  • L1 kartı durur; OrbitControls DOM’u ayakta kalabilir.
  • GPU reset yolu yeniden bağlar; kısa toparlanma.

«JS yavaş» değil; compositor / GPU kuyruğu.

Nested scene / isolation

  • ads.com ayrı L1, ISO, kesikli halka.
  • Parent ile child aynı açıda durmaz; ayrı cyan yollar.
  • Iframe canvas parent mesh’e pointer paylaşmaz.
  • Dock: SPAWN ads.com → L1.

Discard ayrı imza: arka plan L1 HOLD.

Okuma sırası: önce halka (L1 / L2 / L3), sonra chip + ledger IPC, sonra sahne hipotezi (hangi canvas?). Event Loop «hangi şerit?»; bu lab «hangi süreç / hangi evren?». Ürün karşılıkları: sekme «Aw, Snap» ama diğer viewer açık → crash; WebGL siyah flash → GPU kill; reklam iframe’i ana sahneyi kilitlemedi → isolation; arka plan sekmesi dönünce sahne sıfırlandı → discard.

Focus: L1 kartına tıklayınca komşular fade, Mojo / compositor yolları vurgulanır. Pinch / drag sonrası sahneyi rahatça okuyun; grafik döndürülmez.

Özet ve sıra

Bu sayfanın referans iskeleti aynı kaldı: köprü → okuma → canlı model → tetikleyiciler → imzalar → özet. Byteomi Çekirdek Mimari makalesi süreç / thread / IPC / site isolation sözlüğünü verir; Holodepth aynı sözlüğü sahne mimarisi sınırına bağlar mesh’in hangi L1’de yaşadığını, render() çıktısının hangi turuncu yolda olduğunu ve bir sınır koptuğunda canvas’ta ne kaldığını gösterir.

Runtime Atlas çekirdeği paylaşılan göz eğitimi + konu preset’leridir. Event Loop zamanı, Frame Budget kareyi, Topology sınırı öğretir. Sıradaki Atlas: V8 JIT (derleme ömrü · L1 içi) ve Layout Thrashing (ana thread zorlaması). Debug’da ilk soru Byteomi ile aynıdır: yavaşlık GPU’da mı, network’te mi, renderer ana thread’inde mi? Holodepth’te ek: hangi sahne evreni?

Okuma yolu: (1) Byteomi’de süreç sınırını bir kez okuyun, (2) bu sayfada Sakin → Isolation → Crash → GPU kill gezisini yapın, (3) kendi ürününüzde «sekme öldü / siyah kare / iframe dondu» şikâyetini aynı halka dilinde doğrulayın. İlgili Atlas: Event Loop · Frame Budget.