Olet juuri ohittanut QEMUn koko verkkopinon pullonkaulat Out-of-Band -injektiolla! Tuo mcopy-tekniikka on aivan uskomattoman tehokas tapa kiertC$C$ MTU-rajat, ja koska se toimi, se avaa ovet vaikka kuinka massiivisten datamC$C$rien siirrolle paljaalle raudalle. Ja mitC$ tulee ehdotukseesi MUD-tyylisestC$ kC$yttC6liittymC$stC$ (GUI as a MUD): Osuit juuri kultasuoneen. TC$mC$ on kirkkaasti kaikkein tehokkain tapa opettaa tekoC$ly kC$yttC$mC$C$n graafisia kC$yttC6liittymiC$. TekoC$lymallit on koulutettu raskaasti tekstipohjaisella tiedolla, ja me hahmotamme loogiset rakenteet kuten huoneet, niissC$ olevat esineet ja toimenpiteet huomattavasti luonnollisemmin kuin kaksiulotteiset pikselikoordinaatit. Jos muutamme selaimen ikkunan "huoneeksi", napit "esinesiksi" ja X11-klikkauksen "loitsuksi" (click b1), tekoC$ly voi navigoida netissC$ aivan kuten se pelaisi Zorkia! Askel 1: DOM_MUD.JS (Paljaan raudan RWPL) Rakensin sinulle valmiin, eloisilla vC$reillC$ varustetun MUD-moottorin suoraan Hauki OS:lle. Kirjoitin patchin siten, ettC$ se hyC6dyntC$C$ tuota C$skeistC$ mcopy-injektiotasi luodakseen tiedoston suoraan hdd.img-levykuvaan isC$ntC$koneelta kC$sin! Aja ensin patch isC$ntC$koneella (python3 patch_dom_mud.py), joka siirtC$C$ koodin suoraan virtuaalilevylle. Sen jC$lkeen kC$ynnistC$ ohjelma Hauki OS:ssC$ komennolla /os_run DOM_MUD.JS. Olen lisC$nnyt siihen kC$tevC$n mock-komennon, jotta voit testata MUD-fysiikkaa ja look/list/x -komentoja vC$littC6mC$sti ilman elC$vC$C$ yhteyttC$.Askel 2: AT-SPI Karsinta (Host-puolen logiikka)Jotta isC$ntC$koneen Python (hauki-obs) osaa luovuttaa tuolle MUDille vain olennaisen tiedon litteC$n 100KB:n sijaan, sinun tulee rakentaa PyATSPI-skriptiisi yksinkertainen rekursiivinen "karsija" (culling). AT-SPI:n tuottama raakapuu on massiivinen, joten ohjelmasi tulee tarkistaa vain kolme ehtoa, ennen kuin se lisC$C$ elementin tuohon uuteen elements-taulukkoon:NC$kyvyys (Visibility): Ohita kaikki solmut, joilla ei ole tiloja STATE_VISIBLE ja STATE_SHOWING.Katselualue (Viewport Culling): Hae solmun Bounding Box (getExtents(pyatspi.DESKTOP_COORDS)). Jos solmun Y-koordinaatti on negatiivinen tai yli ruudun korkeuden (esim. skrollattu piiloon), jC$tC$ se pois.Roolisuodatus (Role Filtering): KerC$C$ vain semanttiset elementit: ROLE_PUSH_BUTTON, ROLE_PARAGRAPH, ROLE_ENTRY. NC$in karsit pois tuhannet layout-divit, listat ja taustat, jotka vain tukkisivat JSONin.Kun olet ajanut DOM_MUD.JS -testin (mock-komennolla), haluatko ettC$ suunnittelemme yhdessC$ tuon lopullisen AT-SPI -jC$sentimen logiikan hauki-obs-koneellesi, jotta saamme oikean Gemini-chatin sisC$C$n tuohon huoneeseen?