Developer Documentation (Web App Architecture)#
This section is a developer-facing map of how the Cellucid web app works: where the important code lives, how state flows through the system, and how to debug/extend features without breaking performance.
It lives in the cellucid-python docs because most developers arrive from the Python side, but the frontend code is in the cellucid/ repo.
Important
If you are a wet-lab user or a general “how do I use the UI?” reader, this section is not the right starting point. Start with the web app user guide landing page: Web App Guide.
Fast Path (Pick Your Goal)#
You want to… |
Start here |
Then read |
|---|---|---|
Run the app locally and reproduce a bug |
||
Understand the big-picture architecture |
State (DataState) and events → Rendering pipeline (WebGL) and performance notes |
|
Learn where the code lives (file map + entry points) |
||
Add a new sidebar feature/module |
||
Add/extend analysis (plots, compute, UI modes) |
||
Work on sessions (save/load) |
||
Work on figure export |
||
Understand loading sources (local/remote/GitHub/Jupyter) |
Data Loading in the Web App (All Paths) (user-facing view) |
What This Section Covers#
Codebase map: how
cellucid/index.htmlboots the app and which folders correspond to state, UI, rendering, and data loading.State model:
DataState, events, per-view contexts, multi-page highlights, caches, and batch updates.Rendering pipeline: the WebGL viewer, buffers, LOD, overlays (smoke + velocity), and performance footguns.
Persistence: the
.cellucid-sessionbundle format, what is saved/restored, and dataset mismatch behavior.Debugging: how to capture minimal repro steps + the exact logs that help fix issues quickly.
Extension points: the safe, repeatable steps for adding a UI module, an analysis mode, or an export renderer.
Note
Privacy/security and telemetry live in a separate user-facing section: Accessibility, Privacy, and Security. This developer section links to it, but does not replace it.