The Algorithmic Universe · Build dossier
A pass over the project’s own repository: what is implemented, what is partial, what stayed on paper.
A browser application: React on Vite with an importmap, PIXI v8 for rendering, Rapier2D in WASM for physics and @google/genai for the AI tabs. There is no backend; Tailwind and fonts come from a CDN.
2 implemented · 2 partial · 1 not implemented · 1 on roadmap
What the code says
10,000 particles, a 256-bit universe string and a 60 Hz cognitive loop
Source
constants.ts16 λ weights in the law dictionary; it is mutable, so a new law can be registered at runtime
Source
services/analysis/law_dictionary.tsObjective A = L − λ₁H − λ₂F + ΣλᵢΨᵢ, 32 candidates, Metropolis temperature 2.0
Source
services/physics.tsPhysics defaults to Rapier2D (Rust/WASM) on the main thread
Source
hooks/useSimulation.ts50 telemetry fields per frame: 34 metrics plus 16 λ values
Source
hooks/useSimulation.tsThe repository contains no automated tests and no CI configuration
Source
package.json, .github/
Module state
implemented
Conductor and cognitive loop
A state engine, structure and spatial scanners, a bestiary and an event bus seeded by xoshiro128ss.
Source
services/conductor.tspartial
Dual physics path and shared memory
SharedArrayBuffer is used only when available; no cross-origin isolation headers are configured anywhere, so on static hosting it degrades to a plain ArrayBuffer.
Source
services/visualization/matter/MatterState.tspartial
AI layer with fallbacks, except the Oracle
Senate, Scientist and Chronicler fall back to rule-based paths without a key; the unprotected path is the Ask tab, which throws.
Source
services/ai/implemented
PIXI WebGL renderer and IndexedDB snapshots
10,000 particles, a thermal ramp, a potential grid and a Rapier debug layer; named saves carry a thumbnail.
Source
services/visualization/rendering/CosmicRenderer.tsnot implemented
WebGPU solver and the worker migration
Both exist only as 18-byte "Deprecated file" stubs; the worker migration is recorded as blocked in the optimisation log.
Source
services/visualization/physics/gpu/WebGPUSolver.tson roadmap
Quadtree broad-phase, a CAS and ONNX
Items from the optimisation log and technology radar; absent from the source.
Source
OPTIMIZATION_LOG.md
How this was checked
The build contains no key
The bundle holds only the literal PLACEHOLDER_API_KEY; 0 matches for a Google key pattern.
The active physics backend is Rapier WASM
solverBackend: 'rapier_wasm' in default state, plus RAPIER.init() in the initialiser.
One implemented screen is unreachable from the interface
The tab type and the panel render exist, but no control calls setActiveTab('Bestiary').
The build matches the committed state
A clean tree, with dist produced one minute before the HEAD commit.
No behaviour is confirmed by tests
0 test files, no test/lint/typecheck scripts, 0 CI configurations.
Limits of these claims
- "10,000 particles at 60 fps" is an optimisation-log target, not a measured result: no benchmark artifact is committed.
- Two disagreeing dependency declarations: the importmap in index.html and package.json name different major versions.
- Version identity is inconsistent: folder v8, README v6.5, package.json 0.0.0, technology radar v7.0.
- Interaction is pointer-centric: no touch handlers exist and the meta tag blocks zooming.
- tsconfig has no strict flag and @types/react is 18 under React 19: typing is looser than the docs imply.
- The tree still holds 18-byte deprecated stubs and three unused components, and two reset functions are empty bodies.
Live build
Live buildalgorithmic-universe.moonsugar.space ↗
The page loads Tailwind and fonts from a third-party CDN, so styling degrades without network access. The Ask tab is inactive without a Gemini key: this build was produced with a literal placeholder instead of a key, while every other mode works.
The page itself does not confirm availability: the host is checked when the build is published.