Troubleshooting (Web App): Start Here#
This page is a triage map: what you see → what to check → where the real fixes live.
If you can load a demo dataset but not yours, it’s usually data loading / dataset format.
2‑minute triage (do this first)#
Confirm WebGL2 works on this machine: System requirements
Check you’re not in a “looks broken but isn’t” state:
Visible cells: do you have
0 visibledue to filters? → Troubleshooting (filtering)Active view: are you editing the intended panel (live vs snapshot)? → View layout: Live + Snapshots (small multiples)
Reload in a clean state (private window; extensions off)
If only one dataset fails, try a known-good demo dataset (if available)
Open DevTools → Console and copy the first error (for bug reports)
Choose your problem (symptom picker)#
What you’re seeing |
Start here |
|---|---|
App won’t open / blank page / WebGL2 message |
|
Dataset won’t load / spinner forever / missing embeddings |
|
Blank canvas after load / “context lost” / choppy FPS |
|
Selection tools feel wrong / highlights disappear / counts don’t match |
|
Analysis is empty / DE or markers look wrong / windows don’t restore |
|
Export fails / downloads blocked / SVG/PNG looks wrong |
|
Community annotation Pull/Publish/consensus issues |
Deep-dive troubleshooting (where most fixes live)#
Data loading: Troubleshooting (data loading)
Rendering/performance: Troubleshooting (performance)
Fields & legends: Troubleshooting (fields & legends)
Filtering: Troubleshooting (filtering)
Highlighting & selection: Troubleshooting (highlighting and selection)
Cross-highlighting (if enabled in your build): Troubleshooting (cross-highlighting)
Analysis: Troubleshooting (analysis)
Vector field / velocity overlay: Troubleshooting (velocity overlay)
Sessions (save/load/auto-restore): Troubleshooting (sessions) — fast fixes
Figure export: Troubleshooting (figure export)
Bug-report / developer playbook: Debugging playbook
Before you assume it’s a bug#
Most “it’s broken” reports reduce to one of these mismatches:
Filters vs visibility: you hid the cells you expected to interact with.
Active view: you’re editing a different panel than the one you’re looking at (live vs snapshot).
Membership vs visibility: highlight pages store membership; filters only change visibility.
Dataset identity mismatch: sessions/annotation won’t apply cleanly to a different dataset export/version.
Installation & environment#
Use this section when Cellucid doesn’t start, your environment blocks required capabilities (WebGL2, file picking, downloads), or you’re running locally and the app won’t boot.
Fast checks
Try a modern desktop browser (Chrome/Edge are often the least frustrating).
Confirm WebGL2 works: System requirements
Try a private window (rules out extensions and stale cached state).
If embedded in an iframe/Jupyter, open Cellucid in a standalone tab (iframes can block file access, pointer lock, fullscreen).
Common symptoms → where to go
Symptom |
What it usually means |
Where to go |
|---|---|---|
|
WebGL2 unavailable (device/policy) |
|
Blank page or “module script failed to load” |
Boot/deployment or local-server issue |
|
File/folder picker doesn’t open |
Browser restrictions / unsupported file API |
|
Downloads blocked (“Save State”, “Export”) |
Browser download permissions / extension interference |
Troubleshooting (sessions) — fast fixes, Troubleshooting (figure export) |
If you’re running locally (developer / power user)
Local setup/build: Local development setup, Build, run, and deployment
Minimal repro + logs: Debugging playbook
Data loading failures#
This is for “my dataset won’t load”, “spinner forever”, “missing embeddings”, or “loaded but missing fields/genes”.
First: identify your loading path
Export folder (recommended) → Browser File Picker (No Python Setup)
Server mode (
cellucid serve ...) → Server Mode (CLI + Python) — Recommended for Large DatasetsJupyter notebook integration → Jupyter Integration (Notebook Embedding)
GitHub-hosted exports → Local & Remote Demo (Share Without Running a Server)
If you’re not sure which applies: Data Loading Overview (All 14 Options).
Fast checks
If demos fail too, this is likely an environment/browser issue → System requirements
If you loaded a large
.h5addirectly in the browser, switch to server mode → Server Mode (CLI + Python) — Recommended for Large DatasetsDevTools → Network: look for 404/CORS/timeout errors (don’t guess)
“Loaded but empty” can be filters/visibility → Troubleshooting (filtering)
Go to the deep dive (primary)
Related:
Missing fields/legends → Troubleshooting (fields & legends)
Missing velocity/vector overlay → Troubleshooting (velocity overlay)
Rendering & GPU issues#
Use this section when Cellucid is slow, the canvas is blank, or you see WebGL-related errors (including “context lost”).
Fast checks (safe first)
Confirm WebGL2 is hardware-accelerated: System requirements
Switch to Points render mode while debugging (smoke + heavy overlays can hide root causes).
Reduce GPU load:
clear snapshots (single view),
disable heavy overlays (vector fields, bloom),
make the window smaller.
If you see “WebGL context lost”: reload, then re-try with reduced load.
Go to the deep dives
Performance symptoms (FPS, stutter, context lost): Troubleshooting (performance)
Velocity/vector overlay rendering/perf: Troubleshooting (velocity overlay)
If the issue reproduces on a demo dataset (or across multiple datasets), capture a bug report:
Selection & highlight issues#
Selection/highlighting problems are often mismatches between:
membership (what a highlight page/group contains),
visibility (what filters make visible),
and view context (live vs snapshot).
Fast checks
Check Active filters (most “missing highlights” are just hidden): Troubleshooting (filtering)
Confirm the active highlight page and that the group checkbox is enabled.
Confirm you are interacting with the intended panel: View layout: Live + Snapshots (small multiples)
Confirm the tool’s modifier keys (
Alt,Shift+Alt,Ctrl/Cmd+Alt).
Go to the deep dives
Highlighting/selection (primary): Troubleshooting (highlighting and selection)
Cross-highlighting (analysis plots → highlights, if enabled): Troubleshooting (cross-highlighting)
Analysis issues#
Analysis issues usually come from one of four root causes:
no (or empty) highlight pages/groups to analyze,
confusing visibility (filters) with membership (highlight pages),
missing required data (gene expression, fields),
dataset/session mismatch.
Fast checks
Do you have a non-empty highlight page to analyze? → Highlighting and Selection (Groups, Pages, Tools)
Are you on the view you think you are (live vs snapshot)? → View layout: Live + Snapshots (small multiples)
Does gene search work (if your analysis is expression-based)? → Troubleshooting (fields & legends)
Go to the deep dives
Analysis symptom map (primary): Troubleshooting (analysis)
If restore/sharing is involved: Troubleshooting (sessions) — fast fixes
Export issues#
Use this section when exports fail, downloads are blocked, or your PNG/SVG output doesn’t match what you expected.
Fast checks
Export a tiny PNG (e.g., ~600×450 at 150 DPI) to confirm downloads work.
Confirm you are exporting the intended panel (live vs snapshot vs grid view).
Confirm visibility: exporting “0 visible points” produces an empty figure.
If large exports fail, cut size/DPI in half and try again.
Check DevTools → Console for
[FigureExport]messages.
Go to the deep dives
Figure export troubleshooting (primary): Troubleshooting (figure export)
Quality knobs and sizing strategy: Quality knobs and best practices
Community annotation issues#
This section is for problems in Community Annotation (GitHub sync, Pull/Publish, consensus, “why don’t I see other people’s votes?”).
Fast checks (fixes many reports)
Confirm you are online (annotation is offline-first, but Pull/Publish require network).
Confirm you are connected to the intended repo + branch (teams must agree on this).
Click Pull latest before debugging anything else.
If others can’t see your work: you must Publish (or your PR must be merged).
If you see dataset mismatch behavior, stop and fix dataset identity first:
Deep dives (where the real fixes live)
Overview + “fast fix” map: Community Annotation (Voting + Consensus; GitHub Sync)
Annotator workflow (vote/suggest/publish): Community Annotation — Annotator Guide (UI + Voting)
Author workflow (repo setup + config): Community Annotation — Author Guide (Repo Setup + Operations)
UI reference + error states: Community Annotation — UI Reference + Troubleshooting
Related:
Session/identity troubleshooting (often confused with annotation state): Troubleshooting (sessions) — fast fixes
Bug report checklist / DevTools capture: Debugging playbook
Reporting a bug (what to include)#
If you’re asking for help (or filing an issue), include:
Where you ran Cellucid (hosted URL vs local app vs embedded in Jupyter)
Browser + OS (include versions)
Dataset source and loading path (export folder / server mode / Jupyter / GitHub)
Dataset identity (id/fingerprint, if available)
Exact steps to reproduce (numbered; include whether snapshots/filters/highlights were involved)
First Console error + any failing Network request (status code + URL)
Developer-focused capture checklist: