The hard part
Porting a game usually means rewriting it and hoping it feels the same. Racing is the hardest case, because the physics is chaotic: a rounding difference on the first lap becomes a different winner by the third. "Feels about right" is not a test anyone can run.
Everything that can be worked out ahead of time is baked in Python: the track in the game's own vertex format, the textures, collision data, 310 rule constants and the course's 412 sounds. Only the rules that run on each physics tick are rewritten, in JavaScript on WebGL2. The JavaScript version then races against recordings of the Python original, tick by tick, so any difference is a failing test rather than a vague impression. The baking runs across a fleet of machines, and the result is playable at voxelblox-notes.pages.dev/play.
7,200 of 7,200 recorded physics ticks identical; an eight-car race matching within a millionth over 5,400 ticks; a 1.62 M-quad course drawn in 7 draw calls at about 57 fps.
What the measurements mean
Only what is unusual for this project. Every sentence names the field it came from; nothing here is asserted that cannot be checked against the data.
- At 304,065 authored lines it is one of the larger things here, roughly 36x the median project in this estate. authored_linesfrom authored_lines
- It exists in 2 folders under the same name, so which one is current has to be established rather than assumed. possible-copy single_copysee the evidencefrom family
- It declares port 8330, so it runs as a service rather than a script.from assets.routes, assets.ports
- It was changed within the last week, so this is work in progress. activefrom mtime_newest_code
How it works
It started from a kit taken from VoxelStrike: the same stack (pygame, ModernGL, Numba), its worker processes over shared memory, and its diagnostic tools. The height field was replaced by a three-dimensional grid of chunks meshed by Numba, running a fixed 60 Hz simulation. The world has cities, airports, ferry ports and a hydro dam, and nothing in it is painted or recorded: textures, models, sound and music are all produced by code. Voxel Racers is a racing game inside that world. Press P and a course is built onto the land around you, with more than twenty courses, voiced rivals and a live announcer. Carrying it into the browser followed the method its playbook sets out. Everything that can be prepared ahead is baked in Python (meshes in the game's own vertex format, textures, collision, the 310 rule constants and the sounds), and only the per-tick rules are rewritten in JavaScript on WebGL2. The JavaScript is then checked against recordings of the Python game: car physics matched on all 7,200 recorded ticks, and an eight-car race stayed within a millionth over 5,400. The baking runs on the machine fleet, and the result plays at voxelblox-notes.pages.dev/play. In multiplayer, the host's machine has the final say, connected over WebRTC with a signed handshake. A Cloudflare Worker only passes pairing codes, and there is an optional relay; two fleet machines measured round trips of 13 to 18 ms. The mesher and the export scheme were reused again for NBLidar.
What it is built from
Each bar is one of this project's own modules, sized by how many times the rest of the project imports it. The counts are measured, not estimated, and the module at the top is the one the rest of the project leans on most.
What kind of engineering this is
Six signals counted from the source: files that run models locally, that act without being asked each time, that check their own output, that survive failure, that touch parsers and protocols, and that were measured then improved. Every axis carries its file count.
What it is written in
Share of code bytes. Vendored bundles and generated output are set aside before this is computed, which is why it differs from a simple file count.
What stands out
- Every texture, model, sound and piece of music is generated in code
- Voxel Racers was carried into the browser and checked against the Python game: all 7,200 physics ticks identical
- WebRTC multiplayer with a signed handshake, with round trips of 13 to 18 ms measured between two machines
- Its mesher and browser-export scheme were reused by NBLidar
Capabilities
- Voxel Racers -- a game within a game
Grade
Every check names the field it measured. Checks that cannot apply are excluded, never counted as failures.
- provenance100.0%
- documentation100.0%
- runnability100.0%
- maintenance50.0%
- integrity90.0%
Architecture
Directories carrying real modules, largest first.
(root)90 modules
Data model
Typed structures and tables found in the source.
- Col
- Tool
- Tunable
Vulnerable dependencies
1 declared dependency matches a published advisory. Checked offline against the OSV database; only pinned versions can be checked, so anything unpinned here is unknown rather than clean.
- Act now.
dnspython2.8.0→ 2.9.2GHSA-vvf4-9x63-8xvv, GHSA-45c3-73f7-pv4m
Vocabulary
Parsed 600 of 910 Python file(s); the rest were over the size budget. Counts are exact; the names below are a sample.
Classes
Envenv.py:151__init__, _gen, _build, _drop, close, __enter__, __exit__, resetHandsenv.py:492__init__, __getattr__, __setattr__, process_event, step, takeJobsPolicyenv.py:520__init__, __call__Fuzzerfuzz.py:31__init__, ev, key, tap, mouse, look, type_command, frames_Botjobs.py:78__init__, keys, press, mouse, pitch_at, turn_to, set_pitch, fly_planeToldjobs.py:1477appendTunabletune.py:97PMClearn.py:236Poollearn.py:262__init__, _start, _adopt, map, closeLearnerlearn.py:351__init__, save, evaluate_many, rate, learnRecbounds.py:157__init__, _row, call, check, fail, out_EventLoglabkit.py:89__init__, clearProbepieces.py:46__init__, _stage, _snap, _screen, free, _reset, _diff, _lookLandingsshapes.py:497__init__, land, closeStudiostudio.py:250__init__, block_names, close, shots, _corners, _planCameragallery.py:53__init__, grab, shootWatchlanrace.py:73__init__, frame, reportWirempbench.py:47__init__, closeRunnettest.py:39__init__, step, writeColtoolkit.py:47to_json, from_jsonResulttoolkit.py:65__init__, columns, row, metric, problem, keyed, name_of, valueTooltoolkit.py:244_Stubhudbench.py:18__getattr__, __call__PEprogress.py:242
Functions
_no_windowenv.py:46default_rewardenv.py:65_pgenv.py:81encodeenv.py:86decodeenv.py:103key_codeenv.py:117gen_textenv.py:121mission_ofenv.py:129vehicle_forenv.py:134_jsonableenv.py:480idle_policyenv.py:545random_policyenv.py:549episodeenv.py:559parserenv.py:588_envenv.py:610_run_indicesenv.py:614run_workersenv.py:624oneenv.py:634_stripenv.py:664benchenv.py:680mainenv.py:706nearestfit.py:26surveyfit.py:44buildingfit.py:56
Command line
- new
- list
- ui
- run
- chain
- history
- baselines
- tune
- match
- --mode
- --rev
- --wav
- --n
- --town
- --powers
- --form
- --mistake
- --built
- --drivers
Depth
Signals counted from the code, not asserted.
1243 commits across 43 separate working days over 1.7 months, 50 of them revising existing behaviour
Built from scratch
- Parser / lexer
- Custom indexing / search
- Renderer / graphics pipeline
- Concurrency primitives
- Protocol / wire format
Closes its own loop
- Memory / accumulated state
Proves itself
- Benchmarks
- Golden / baseline files
- Backtesting / evaluation
- Reconciliation / audits
Survives failure
- Timeouts
- Logging / observability
- Rate limiting
- Recovery / restore
- Retry / backoff
- Fallback paths
Systems
Distributed systems
- Worker orchestration
- Provisioning / bootstrap
Environment engineering
- Virtual environments
- Runtime detection
- Dependency isolation
Working within limits
- Timeout budgets
- Throttling / rate limits
Networking
- Service discovery
- Tunnels / reverse proxy
Operating-system internals
- Win32 API
Languages
- Python285,100
- JavaScript15,427
- Batchfile83
- SQL20
Built with
- NumPy
- Pillow
- Pygame
- ModernGL
- Numba
- Cloudflare Workers
- Helm
- Python packaging
- pip
Recurring themes in the commit history
- web
- game
- race
- car
- course
- you
- check
- road
- arena
- off
Evidence
Taken from the code itself: a module docstring or the opening of the README.
VoxelBlox: dig, collect, build. `run.bat` sets up Python 3.13 and the venv, then runs this.
At a glance
- Status
- active
- Primary language
- Python
- First commit
- 2026-09-22
- Last activity
- 2026-11-13
- Domain
- Games & graphics
- Agent docs
- CLAUDE.md, AGENTS.md, .claude