Download Game! Currently 74 players and visitors. Last logged in:SearcAhvensurmaWicksiusDraxx

Blitzer's Blog >> 71428

Back to blogs index
Posted: 13 Jul 2026 12:10 [ permalink ]
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?