Geppetto Simulation Engine¶
Platform Evolution
Geppetto served as OpenWorm's primary simulation and visualization platform from 2014-2020. For Phase 1-2 work, it has been superseded by DD014 (Dynamic Visualization Architecture), which specifies a Trame-based (Python) approach. See Archived Projects for full historical context.
Geppetto is an open-source modular platform to enable multi-scale and multi-algorithm interactive simulation of biological systems. Geppetto features a built-in WebGL visualizer that offers out-of-the-box visualization of simulated models right in the browser.
Geppetto is written in Java and leverages technologies like OSGi, Spring Framework, OpenCL and Maven.
Geppetto's frontend is written using THREE.js and WebGL. Back-end / front-end communication happens via JSON messages through WebSocket.
The definitive documentation for Geppetto is available online.
Why the Evolution?¶
DD014 evaluated Geppetto against alternatives and chose Trame because:
- Language mismatch: Geppetto is Java; most OpenWorm contributors write Python
- Scalability: Requires a server process per client; doesn't work for a public viewer
- Maintenance: Not updated for WebGPU (the next generation of browser graphics)
- Weight: Trame is lighter and actively maintained
Current Visualization Roadmap (DD014)¶
| Phase | Technology | Capability |
|---|---|---|
| Phase 1 | Trame (PyVista) | Organism + tissue scales, live server |
| Phase 2 | Trame + layers | Neuropeptides, organs, validation overlay |
| Phase 3 | Three.js + WebGPU | Molecular scale, static site at wormsim.openworm.org (WormSim 2.0) |
Continue Reading¶
- DD014: Dynamic Visualization Architecture — The next-generation visualization specification
- Archived Projects — Geppetto's historical context
- Worm Browser — The original WebGL anatomy browser
- Projects Overview — All active projects and their governing DDs