The services layer contains all business logic. Each dashboard tab has a
dedicated *_tab_logic module, backed by shared supporting services.
| Module | Tab |
|---|
control_tab_logic.py | Control tab — experiment selection and data loading |
experiment_tab_logic.py | Experiment tab — time-series exploration |
metrics_tab_logic.py | Metrics tab — training/prediction statistics |
evaluation_tab_logic.py | Evaluation tab — model vs ground-truth comparison |
| Module | Role |
|---|
data_loader.py | Loads data from backend into DataFrames |
experiment_cache.py | In-memory cache to avoid re-fetching |
experiment_fetcher.py | Orchestrates WebSocket fetching |
experiment_filter.py | Applies user filter criteria |
experiment_loader.py | Cache-first loading coordinator |
experiment_metadata_fetcher.py | Fetches lightweight experiment metadata |
experiment_plotter.py | Generates interactive plots |
experiment_selector.py | Manages experiment selection state |
model_manager.py | Model registry and lifecycle management |
prediction_evaluator.py | Computes evaluation metrics |
settings_service.py | Credentials and config access |
simulation_worker.py | Simulation scenario engine |