# You're the OS OS simulation, process state machine, CPUs, RAM/disk swap, I/O queue. ```{raw} html ▶ Run in browser

Upstream: https://github.com/plbrault/youre-the-os

``` **Tags:** `port` `tier-2` # You're the OS: SimVX Port (Tier 2 #26) Port of [plbrault/youre-the-os](https://github.com/plbrault/youre-the-os). Engine test only: upstream is GPLv3, so this port is **not** promoted to `simvx/games/`. The point is the head-to-head against pygbag for web export. ## Run ```bash # Interactive uv run python ported_games/youre_the_os/simvx_port/main.py # Headless screenshot capture uv run python ported_games/youre_the_os/simvx_port/main.py --test # Web export uv run simvx export web /home/fezzik/dev/ported_games/youre_the_os/simvx_port/main.py \ -o /home/fezzik/dev/ported_games/youre_the_os/simvx_port/web/index.html ``` ## Layout ``` simvx_port/ ├── main.py # OsRoot + App boot + --test mode ├── pyproject.toml # [tool.simvx] root = "OsRoot" ├── nodes/ │ ├── theme.py # Colour palette, ASCII face glyph map │ ├── state.py # Pure-Python simulation (state machine + tick()) │ └── stage.py # StageNode: renders the simulation, polls input ├── harness.py # Scripted screenshot harness ├── screenshots/ # 6+ PNGs from --test └── web/ # `simvx export web` output ``` ## Scope Single-difficulty (Normal) gameplay loop. See `PLAN.md` for the IN/OUT list and rationale. ## Source ```{literalinclude} ../../examples/ports/youre_the_os/main.py :language: python :linenos: ```