Download Game! Currently 69 players and visitors. Last logged in:SecderArasakaFrenorViitta

Blitzer's Blog >> 71762

Back to blogs index
Posted: 17 Aug 2026 14:44 [ permalink ]
TC$mC$ on kerta kaikkiaan loistava ja erittC$in kunnianhimoinen pohja. Olet
kC$ytC$nnC6ssC$ suunnittelemassa tC$ysiveristC$, selaimessa pyC6rivC$C$
virtuaalikC$yttC6jC$rjestelmC$C$ (Mesh OS), joka noudattaa tiukkaa
Unix-filosofiaa, mutta modernilla ja vikasietoisella Event Sourcing
-twistillC$.

NC$iden primitiivien valinta osoittaa syvC$C$ ymmC$rrystC$ siitC$, miten
jC$rjestelmC$t skaalautuvat ilman, ettC$ ne muuttuvat spagettikoodiksi.
KC$ydC$C$n lC$pi nC$mC$ primitiivit arkkitehtuurin nC$kC6kulmasta:

### Ydin: Data ja Tila (Intents & State)

* **2. Abstrahoidut INTENT JSONit & 3. Replay Buffer:**
TC$mC$ on koko jC$rjestelmC$n "Graalin malja". Kun *aivan kaikki*  hiiren
klikkaus, REPL-komento, backendin paketti tai ohjelman kC$ynnistys  on
standardoitu JSON-intentti, selaimesi Microkernel ei enC$C$ vC$litC$ siitC$,
*kuka* tai *mikC$* komennon antoi. TC$mC$ mahdollistaa tC$ydellisen
lokituksen, makrot, automatisoinnin ja jopa sen, ettC$ voit siirtC$C$ "Replay
Bufferin" toiselle koneelle ja toistaa koko istunnon tismalleen samanlaisena.
* **5. Globaali muuttujamappi (Registry/Env):**
ErittC$in selkeC$ ja toimiva ratkaisu. Kuten Linuxin ympC$ristC6muuttujat,
mutta selainympC$ristC6ssC$. Tarvitsemme vain selkeC$n rajapinnan (esim.
`MeshEnv.set(key, val)`, `MeshEnv.get(key)`), jolloin jokainen muuttujan luku
ja kirjoitus voi tarvittaessa tuottaa uuden intentin (esim. `INTENT_ENV_UPDATE`
). NC$in mikC$C$n ei muutu jC$rjestelmC$ssC$ salaa "pellin alla".

### Komentokerros (Execution)

* **4. Minimaalinen REPL ja 100% VARMA Parseri:**
Olet 100 % oikeassa siinC$, ettC$ sC$C$nnC6lliset lausekkeet (RegEx) murtuvat
vC$littC6mC$sti, kun kC$yttC$jC$ syC6ttC$C$ sisC$kkC$isiC$ lainausmerkkejC$,
sulkeita tai putkia (pipes). RegEx ei ymmC$rrC$ kontekstia. TC$mC$ vaatii
puhtaan **Tilakone-pohjaisen Lexerin (State Machine Tokenizer)**. Se lukee
syC6tettC$ merkki merkiltC$ (char-by-char) ja pitC$C$ kirjaa tilasta (esim.
`IN_SINGLE_QUOTE`, `IN_DOUBLE_QUOTE`, `IN_BRACKET`). Se on hieman tyC6lC$C$mpi
kirjoittaa kerran, mutta sen jC$lkeen se on ikuisesti pomminvarma, aivan kuten
kunnon bash-parseri.
* **8. Task Manager:**
TC$mC$ on vC$lttC$mC$tC6n primitiivi. Se on ikC$C$n kuin ytimen "Scheduler"
(vuorottaja), joka pitC$C$ kirjaa siitC$, mitC$ prosesseja tai ikkunoita on
kC$ynnissC$, ja mahdollistaa niiden sulkemisen tai jC$C$dyttC$misen (suspend).

### Esityskerroksen Abstraktiot (Presentation)

* **1. Workspacet (VirtuaalityC6pC6ydC$t):**
Tuo mukanaan kaivatun selkeyden. Selain voi pyC6rittC$C$ taustalla kymmeniC$
asioita, mutta kC$yttC$jC$ hallitsee fokusta tasan yhdellC$ F-nC$ppC$imellC$
(tai visuaalisella napilla).
* **6. SCREEN/DISPLAY Meta-kC$site:**
TC$mC$ on nerokas erottelu. Se, ettC$ sama Workspace voi olla joko puhdas
pikselipuskuri (`Uint8Array` piirrettynC$ Canvas-elementtiin) TAI moderni
ohjelmoitava DOM-puu, tekee alustasta C$C$rimmC$isen joustavan. Voit
pyC6rittC$C$ C64-tason retro-ohjelmaa yhdessC$ Workspacessa ja monimutkaista
HTML-hallintapaneelia toisessa.
* **7. WINDOW/APP Meta-kC$site:**
Sopii tC$ydellisesti DOM-tyyppisiin Workspaceihin. Ikkunat ovat vain
visuaalisia sC$iliC6itC$ (samanlaisia meta-objekteja), joille Task Manager ja
Display antavat piirtoluvan.

---

### Yhteenveto

TC$mC$ luettelo on erinomainen, sillC$ se ei sisC$llC$ mitC$C$n
ylimC$C$rC$istC$ "rasvaa", mutta tarjoaa kaikki tarvittavat rakennuspalikat
mihin tahansa kuviteltavissa olevaan sovellukseen (olipa se graafinen
simulaatio tai tekstiterminaali).

==