The path from a click to a computation
A fixed experiment command goes to a dedicated browser worker. ZIPP’s Python-enabled WebAssembly engine runs the experiment code. That code submits data-only compute graphs through ZIPP’s host bridge. The selected backend executes the arithmetic and returns bounded outputs to Python.
The page draws the returned state using a lightweight canvas. A ring graphic alone is not proof of GPU computation: the backend indicator names the compute path actually selected.
What executes where?
In memory mode, matrix writes, reads and decoding use compute graphs; Python owns the packet and local matrices. In language mode, dense matrix operations use compute graphs, while nonlinearities, sampling and causal caches run in Python inside ZIPP WASM. The Life control submits the fixed local-rule kernel.
This is not full PyTorch in a browser. It is a deliberately small inference port of the source equations and supplied checkpoints. Training remains in the native research code.
Hardware is an explicit choice
WebGL2 mode requests a hardware graphics context and floating-point render targets through the bundled ZIPP backend. A reported software renderer is rejected rather than labelled as a hardware GPU. Some browsers, drivers or privacy settings may prevent the required context.
The CPU reference option is selected explicitly. Python still runs in ZIPP WASM, but the graph arithmetic runs in the bundled JavaScript float32 reference. This mode is useful for inspection and functional comparison; it is not accelerated GPU execution.
Reading the instruments
“Graphs” counts completed compute graphs in the current experiment state. “Last command” includes Python, host work and transfers for the most recent request. A heatmap shows actual signed matrix or state values, normalised for display. Colour intensity is not a probability or a benchmark score.
The memory packet display shows partial accumulation while travelling; an answer is labelled only after the full eight-step protocol. In language mode, next-byte probabilities are derived from the current logits and selected temperature.
Privacy and persistence
The delivered site contains no analytics, tracking cookies, account system or remote inference endpoint. Prompts and experiment state stay in the running page and worker. Exporting a snapshot saves a file on your device. Reloading or stopping the engine removes the current in-memory session.
The hosting provider still receives ordinary web requests and may keep access logs. Adding hosting analytics or other third-party services would change the deployed site’s privacy behaviour.