AURELIUS
DYNAMIC
Dossier · Case Studies

Three systems, examined honestly.

Aurelius is a small engineering studio creating browser-native graphics, simulation, visualization, and experimental computing systems using WebGPU and modern web technologies. These are engineering writeups of three of those systems — each one open to run while you read. Every project carries a status label so you know exactly where it sits:

Production Demo — deployed, measured, stableActive Prototype — working, still evolvingResearch Experiment — investigating a question

CASE 01 · RESEARCH EXPERIMENT

Helix — browser-native plasma simulation

interactive charged-particle simulation · run it at /helix/ →

Overview

Helix is Aurelius' primary browser-native simulation project. It explores how modern browser technologies can deliver interactive scientific computing through a standard web browser: it combines charged-particle simulation, real-time 3D visualization, and live diagnostics in a single system that requires no installation or specialized software.

It is labeled a research experiment deliberately. Helix exists to investigate a specific physical question, and its value is measured by whether that investigation is honest — not by how impressive the visuals are.

The question under test

An RF antenna launches a helical wave; the reactor's magnetic field lines twist with their own pitch. The match number M compares the two helices, and the working hypothesis is that power coupling peaks when they align (M ≈ 1). What makes the simulator interesting as an instrument is that it refuses to assume its own conclusion: it ships three coupling models —

Sweeping M under each model and comparing the responses is the core experiment, and the app's plotting tools are built around exactly that comparison. The project is accompanied by a working paper defining four falsifiable predictions; the simulator's diagnostic instruments mirror those predictions one-for-one.

Architecture

Helix is a static, no-build single-page app. The physics core advances roughly 18,000 macro-electrons — each standing in for a large electron population — through an analytic magnetic field:

UI (React component — SIMULATE / DIAGNOSTICS / PLOTS / GUIDE)
        ↓ step(dt) · setParam()
Physics engine — Boris pusher · Monte-Carlo collisions
        ↓ 64×64×128 density grid · diagnostic series
3D view (three.js) · canvas plotting · dusty-plasma module

Alongside the browser app there is a separate headless research simulator — SI units, measured argon cross sections, absorbing walls — used for the quantitative studies (confinement time versus field-line pitch), with a physics self-test suite and seeded, reproducible runs.

Demonstrated today

Future development

Honest limitations

Helix is a reduced, normalized-unit model: analytic fields, macro-particles, a coarse density grid. It is designed around established numerical techniques commonly used for charged-particle simulation, and it is built to be trusted for trends and comparisons between settings, not absolute values. That caveat is printed in the project's own documentation, and we consider stating it part of the engineering.

Lessons learned


CASE 02 · ACTIVE PROTOTYPE

IKOS — Iterative Knowledge OS

knowledge-graph runtime · run it at /ikos/ →

IKOS is a different kind of problem from Helix — not numerics, but knowledge representation — so this writeup is organized around the design questions the project actually had to answer.

Why one state rendered four ways?

Knowledge tools usually force a choice: linear documents that read well but hide structure, or graph tools that expose structure but read terribly. IKOS's premise is that this is a rendering problem, not a data problem. Concepts are typed nodes, relationships are labeled edges, chapters are paths through the graph — and everything the user sees is a projection of that one structure. The four renderers exist because each answers a question the others can't: the Book answers "what does this mean in order?", the Graph answers "how is this connected?", the Terminal answers "how do I change it fast?", and the Orbit answers "how big is what I know, and where are its centers of gravity?"

The Book is the strongest test of the premise: chapter prose is composed live from the graph — each concept's passage is followed by paragraphs woven from its actual edges, and practice notes quote the user's current mastery back to them. Chapters form automatically as the graph grows. If the projection idea were wrong, the Book is where it would read as nonsense.

How does synchronization across projections work?

It doesn't — and that is the design. All state (nodes, edges, positions, chapters, books, notes, per-node mastery, installed modules) lives in a single state object, persisted locally. Every renderer reads the same fields of that object; every action writes back to it and triggers a re-render of whatever view is open. There is no synchronization layer, no event bus reconciling copies, no cache to invalidate — because nothing is ever duplicated. The architecture cost of four views is therefore close to the cost of four render functions, which is what made a solo-buildable four-view app feasible at all.

Why offline-first, and why a PWA?

A knowledge tool that dies with the network teaches its user not to trust it with anything important. IKOS is an installable PWA: a service worker keeps the app shell and 3D modules cached, navigations are network-first so new deploys land when online, and the knowledge state itself lives in local storage — the user's graph never depends on a server existing. The install-from-browser path matters for the same reason the URL matters for Helix: distribution is part of the design, not an afterthought.

Why WebGPU for the Orbit view?

The Orbit renders every concept as a spinning wireframe planet on typed orbital shells — with per-connection moons, rings on mastered nodes, comet streaks, and a camera that flies into a planet on click. That is hundreds of animated 3D objects with custom materials and real depth, which is out of reach for SVG and painful at interactive rates on 2D canvas. It runs on WebGPU with TSL node materials by default, with fallback to classic WebGL (the engine in use is shown in-app and can be toggled). It is also the shared-DNA point with the rest of the studio's work: the same TSL material approach used on the Aurelius landing page and Shader Lab drives the Orbit's planets.

What's deliberately conservative

IKOS treats trust as a first-class design constraint, which is unusual for a prototype: AI-suggested nodes are quarantined as pending until explicitly approved, experimental modules are gated behind a mode that can only be changed from the terminal, and a single killswitch command forces safe mode, rejects pending AI content, and disarms module rules. The interesting lesson: those guardrails made it easier to experiment with AI-generated graph content, not harder, because mistakes were cheap to contain.

Future development

IKOS is an active prototype, and its roadmap is exploratory: richer semantic layout in the Orbit, deeper terminal-as-query-language work, and convergence experiments with the studio's other systems. Directions, not commitments.


CASE 03 · PRODUCTION DEMO

The Shader Lab

live TSL material gallery · run it in section 05 →

Why TSL

The browser GPU world is mid-transition: WebGPU (shaders in WGSL) is where capable browsers are; WebGL2 (shaders in GLSL) is the reality everywhere else. Maintaining parallel shader codebases across that split is a tax that compounds with every material. TSL — Three.js Shading Language — resolves the split at the authoring layer: materials are written once as JavaScript node graphs, and the compiler emits WGSL or GLSL per backend. The Shader Lab is our public verification that this holds for non-trivial materials — every material in it runs on both backends from a single source, and the widget's header reports which backend you're on.

TSL's second advantage is composability: a fresnel term, a noise field, a color ramp are JavaScript values, so materials share subexpressions the way code shares functions. The Lab's four materials draw on one shared basis — view vector, fresnel, a global FLUX uniform driven by the on-page slider.

Material architecture

Four materials chosen to cover four distinct shading regimes:

Each material's actual TSL source is displayed beside the running result — parameter control and visible source as proof the graphs are live, not recordings.

Cross-backend findings

Published because they cost real debugging time and are documented almost nowhere:

Measured performance

Numbers from the Shader Lab benchmark runs — headless Chrome at 1600×900 on an NVIDIA GeForce GTX 1060; the widget publishes its own live frame time, so your hardware reports its own truth:

WebGPU · 16.7 ms steady across all four materialsWebGL2 · 16–36 ms depending on material12.8k triangles · pixel ratio capped at 1.5

The spread on the WebGL2 path is the honest story: the additive transparency materials hold 60 fps, while the displacement-plus-noise materials drop to the high-20s on the same rig — the cost profile you'd predict from the extra per-vertex noise evaluations. The widget renders only while on screen and shows its frame time continuously, which is the standard we think any performance claim on the web should meet: measured where you can see it.

Future development

New materials will land in the Lab first as the shared basis grows toward a reusable TSL library — source visible, frame time attached, both backends verified before anything ships.