Helix Studio: Core GUI Features Checklist
This is the “Genome IDE” surface area Helix Studio should expose as first-class UX.
Must-have (core IDE)
-
Project/workspace
- Open/save project (
.helix_project.json) - Recent projects + recent sessions
- Deterministic “demo” path (always works offline)
- Open/save project (
-
Authoring
- CRISPR / Prime / PCR authoring UI (Sim Builder)
- Backend selection + capability status (CPU/GPU, deterministic, versions)
- Presets (load/save)
-
Simulation + artifacts
- Run execution + run history
- Snapshot/EVS persistence (so results are reproducible + shareable)
-
Visualization
- Realtime 3D viewport (rails/helix) + outcome highlighting
- 2.5D workflow visualization (timeline/bars/heat) + outcome context
- Edit DAG graph visualization (nodes/edges, probability mass, stages)
-
Analysis
- Outcome Explorer (ranking, filters, overlays/baseline compare)
- Guide ranking + guide-level comparison
- Run-level comparison (baseline vs candidate) + overlay into explorer
-
Export
- HTML report export
- Evidence export (schema’d JSON)
- Resolve clip export (zip:
clip.gif+metadata.json; optionalclip.mp4when an encoder is available; optionalspec.jsonvia toggle) - Snapshot bundle export for support/debugging
“Nice to have” (next tier)
-
Interactive DAG inspection
- Click node → show genome diff, metadata, parent/child navigation
- Filter by probability / depth / stage
- Compare two DAGs visually (A/B overlay)
-
3D/2.5D capture
- One-click resolve clip export (zip) that’s shareable evidence
- Save viewport frames as PNG for reports (camera + time locked)
- Deterministic camera presets for reproducible screenshots / docs
-
Workflow ↔ DAG ↔ outcomes linkage
- Selecting an outcome highlights corresponding DAG path + workflow bars
- Selecting a DAG leaf opens its outcome in Outcome Explorer
-
Plugin spine
- Commands + panels (including Layer 2 web panels) (see
docs/studio/plugins.md)
- Commands + panels (including Layer 2 web panels) (see
Continuity (stateful center tabs)
Helix Studio should feel continuous across restarts. Persist and restore:
- Last active center tab
- Realtime (3D) camera + toggles (when ModernGL is available)
- 2.5D Workflow camera (when ModernGL is available)
- Edit DAG layout + selected node id
Persisted view-state blobs should be versioned so camera/layout schema changes remain backwards compatible.
Center tab contracts (minimal interfaces)
Treat center tabs as first-class artifacts with explicit, stable contracts:
- Accepts run context: run id + EVS/snapshot payload
- Accepts DAG: edit DAG payload (from runtime)
- Emits selection: outcome selection / DAG node selection / run selection
Avoid reaching into private widget fields from main_window.py; prefer a small adapter interface per tab.