Skip to content

Interactive Explorer

The primary interactive UI is the Jupyter/ipywidgets explorer in warpfactory.interactive: live metric and stress-energy plots, light-cone tilt with horizon and ergosphere markers, energy-condition verdicts, and the Ford-Roman quantum inequality assessment updating as sliders move.

Run it in your browser

No local install needed:

Binder Open In Colab

Note

On Colab, install the package in the first cell before running the notebook:

!pip install "warpfactory[jupyter] @ git+https://github.com/JohnsterID/WarpFactory"

Run it locally

pip install ".[jupyter]"
from warpfactory.interactive import JupyterExplorer

JupyterExplorer().display()

Sliders recompute on release by default, keeping the UI responsive (each recompute runs the full pipeline plus a redraw). Pass continuous_update=True for live per-tick updates, and use set_parameters({...}) to move several sliders with a single recompute in scripted sweeps:

explorer = JupyterExplorer(continuous_update=True)
explorer.set_parameters({"v_s": 4.0, "sigma": 2.0})

Scripting the same pipeline

The explorer is a thin front end over ExplorerModel, which you can drive directly for reproducible, scripted analysis:

from warpfactory.interactive import ExplorerModel

model = ExplorerModel()
result = model.evaluate(
    "Alcubierre", {"v_s": 2.0, "R": 1.0, "sigma": 4.0}, diagnostics=True
)
print(result.conditions)           # energy condition verdicts
print(result.quantum_inequality)   # Ford-Roman wall-thickness check

Every catalog metric (Alcubierre, Lentz, Van Den Broeck, Modified Time, ...) runs through the identical pipeline, so comparisons are apples-to-apples. See examples/interactive_explorer.ipynb for a full walkthrough including parameter sweeps.

Desktop GUI (maintenance-only)

A PyQt6 desktop explorer is kept working in warpfactory.gui but no longer gains features; both front ends share the same ExplorerModel compute pipeline.

pip install ".[gui]"   # needs Qt6 system libraries, see Installation