From 3D models to twins that explain their own future.
Seven open browser experiments chart the four generations of digital twins: descriptive model, connected shadow, simulating twin, and the fourth generation — a 4D causal twin that separates what was observed from what is predicted, branches counterfactual futures from any moment, and explains why they diverge. Two fourth-generation twins now exist: a plant, where state is a function of time, and a midstream pipeline network, where state is a function of space and time. The fourth generation is where our research sits.
Four generations of digital twins
Each generation answers a harder question about the physical system. The projects below are placed by the hardest question they can actually answer, not by how they look.
Digital Model
- Faithful 3D structure from authoritative datasets
- Facts and physics of the object are known and fixed
- No live state, no time axis, no prediction
Digital Shadow
- Observations flow one way into the model
- State is estimated from imperfect measurements with error bounds
- Monitoring, not intervention
Digital Twin
- A process simulation runs in step with the system
- Scenarios, dispatch decisions and control loops feed back
- Time is a slider over one trajectory
4D Causal Twin
- Time is a first-class dimension: immutable observed history · current estimated state · predicted futures with uncertainty
- Counterfactual futures branch from any moment and share the same past
- Causality is derived from trajectory differences, not scripted: events, time-to-effect, explanation chains
- Intervention preview before commit; recovery experiments; parameters from validated scientific models
Capability matrix
The difference between generations is not visual fidelity — every project renders in real-time 3D. It is which questions the state machine underneath can answer.
| Capability | Gen 1 · Model | Gen 2 · Shadow | Gen 3 · Twin | Gen 4 · Causal twin |
|---|---|---|---|---|
| 3D structure from authoritative data | ● | ● | ● | ● |
| State estimated from observations | — | ● | ◐ | ● |
| Process simulation in step with the system | — | — | ● | ● |
| Scenarios and control decisions fed back | — | — | ● | ● |
| Observed history kept immutable; prediction recomputed from “now” | — | — | — | ● |
| Branching counterfactual futures from any day | — | — | ◐ | ● |
| Causality derived from the data: what, when, why, how it propagates | — | — | — | ● |
| Intervention preview, commit, and recovery experiments | — | — | — | ● |
| Uncertainty that widens with the prediction horizon | — | ◐ | — | ● |
| Every organ, metric and chart derived from one state | — | — | ● | ● |
The seven experiments
All run in the browser with no account. Each is deterministic and reproducible; the data sources are listed inside every app.

Octopus Facility Twin · Care
CARE · OPERATIONSSee the facility as it operates — people, space, appointments, assets, risk and events in one 4D operational twin. Explore a furnished two-storey care centre, follow moving visitors and staff, and inspect synchronized synthetic camera views.
- Five stories: arrival, access, environment, evacuation and a fall-risk drill
- Replay events, review a response and compare early prevention with late assistance
- Private-room person exclusion, role-based views and optional path-traced stills

4D Midstream Digital Twin
GEN 4 · STATE(x, t)A fictional 255 km products pipeline with tank farm, pump stations, block valves, metering, a branch and a delivery terminal, plus a gas-compression demonstration. Pressure, flow, temperature and inventory evolve through space and time in a 1-D transient model; 47 synthetic sensors observe it, a twin model produces expectations, and residuals feed evidence-based anomaly analysis.
- Observed vs expected vs estimated for every sensor, with quality flags; a synthetic loss is told apart from sensor drift by competing hypotheses
- SPACE × TIME heatmap, pipeline profile, derived causal chain, WHY / WHY NOT, estimated anomaly region — no hardcoded timestamps
- Four simulation-only futures from the same estimated state (continue, reduce throughput, isolate, change pump); 43 tests, 12 golden scenarios, 42 browser checks

4D Plant Digital Twin
GEN 4 · STATE(t)A tomato (and nine other crops) growing from emergence to ripening over 120 days as PlantState(t) = f(environment, physiology). Change the light, water, temperature, CO₂ or nutrients on any day: the past stays frozen, the future is recomputed, and two or three futures can be run side by side from the identical state.
- Causal event timeline, animated causal graph and “why is this leaf smaller?” chains derived from trajectory differences
- What-if preview before committing an intervention; drought → recovery experiments
- Species parameters pulled from DSSAT CROPGRO genotype files, organ geometry generated from the simulated state

Digital Energy Factory
GEN 3 · TWINAn industrial campus with solar PV, battery storage, green hydrogen, grid connection and factory loads. An energy-management simulation dispatches every step with an exact energy balance; workers and traffic move; scenarios include a grid outage.

Fieldwork — Visual Localization
GEN 2 · SHADOWWhere is the vehicle, given only what its camera sees? Reference and live images are independent renders of the same synthetic terrain; classical, feature-based, semantic and hybrid localizers correct an inertial drift, with measured error bounds.

Universe Explorer
GEN 1 · MODELPlanets → solar system → 60-light-year neighbourhood → Milky Way → Local Group → Laniakea → observable universe, every layer from public datasets: NASA/USGS maps, JPL and IAU ephemerides, Gaia DR3, Cosmicflows-2, 2MRS, Planck.

Human Body Explorer
GEN 1 · MODELA whole-body anatomical atlas of about 1,300 named parts from BodyParts3D and the HuBMAP Human Reference Atlas, with audited physiology facts and a copilot that navigates to any organ.
Research direction: the fourth generation
A 3D model shows structure. A 4D model shows change through time. A digital twin connects observation, state, cause, intervention and predicted futures — and a fourth-generation twin can explain the connection.
Studying the plant and factory codebases side by side showed that the generational jump is not a bigger framework. It is a small, domain-free runtime: a pure step function over a plain state, driven by a piecewise input schedule, cached as a trajectory whose past is immutable and whose future is recomputable, branched by structural sharing, with causality read off trajectory differences. The plant twin implements all of it in roughly 400 lines; everything domain-specific — organs or power flows, days or hours — stays outside. Our work is to harden that kernel, feed it real observations (imaging, IoT, LiDAR) through a data-assimilation step, and replace demonstration models with validated ones without touching the twin logic.
THE TWIN RUNTIME KERNEL
- Pure stepper ·
S × Inputs × dt → S - Input schedule: piecewise inputs by time; change from day D, keep everything before
- Trajectory: recompute from t, clone with shared history
- Variable registry + divergence detection → events, time-to-effect, explanation chains
- Deterministic RNG + invariant checks: same seed, same future
Research reports and data
Generated from the repository at build time; every report links to the raw results it was computed from and states what was computed versus illustrated.
4D Midstream Digital Twin
Architecture, the simplified transient hydraulic model and its calibration lessons, sensor and estimation layers, risk evidence, prediction and counterfactuals, provenance, performance table, 43 tests, 24 acceptance captures, limitations and the real-telemetry integration plan.
GEN 2 · SHADOWFieldwork — visual localization
27 scenario cases · 2,300 records · 4 algorithms · learning replay 2.815 → 2.767 m at 85 % success · 6 memory admissions, 0 wrong · 33/33 tests. Methods, results, ablations, charts, JSON/CSV.
GEN 4 · ARCHITECTUREThe twin runtime inside Plant and Factory
What the two twins share (a ~500-line domain-free kernel) and what must stay in the domain — with every claim pointing at existing code.
GEN 3 · ENGINEERINGFactory performance profile
Paired in-session frame-time measurements, the transmission-pass root cause (41 → 24 ms), stage ladder and feature toggles, and the fix with its acceptance numbers.