Overview
One simulation clock supplies time to live signals. Pausing stops that clock; changing sweep, gain or panel visibility changes the view rather than the physiological state. Specialized studies can hold a representative respiratory phase or use a constructed provocation timeline.
The UI draws on canvas/SVG with stable samples and bounded caches. It does not generate a new random waveform every frame. Deterministic signal generation is essential for pause, replay, measurements and precise mouse/touch inspection.
Sample lattice and cache
Pressure/pleth drawing uses a 250 Hz absolute time lattice; ECG uses 500 Hz with additional stimulus samples. A moving viewport translates existing time points instead of moving the sampling grid through narrow peaks. Drawing clips points at the viewport edge.
Caches hold recent pressure/voltage samples and beat-level volume results; model changes invalidate them. Device-pixel-ratio and graphic-quality helpers adjust rendering detail, not pressure or flow. Measurement completion follows simulation time independently of whether its graph is visible.
Scale and comparison
Time windows and gain change how much history and amplitude fit on screen. Clinical values retain their units. The hemodynamic overlay defaults to a common pressure scale, with ECG in a separate timing lane; optional normalization permits shape comparison but removes direct amplitude comparison.
PV axes reserve appropriate headroom and expand only as necessary within a clinical state. Display-only smoothing does not alter calculated measurements. Narrow MCS/low-flow pulses remain narrow rather than being individually normalized into misleading healthy contours.
Inspection logic
Paused pointer/touch position is converted to simulation time and the appropriate signal sample or nearest curve segment. The explanation combines channel identity, phase and active morphology. An arrow/cursor marks location; tooltips are placed to preserve access to the trace and controls.
ECG highlights use curated finding metadata. PV/Wiggers share a cardiac cursor; overlay uses a common time marker; case/circuit traces expose teaching explanations at the appropriate stage. These are deterministic explanations of generated data, not machine interpretation of arbitrary external recordings.
Interface and saved state
Panel pinning, visibility, active navigation, help search, tutorial progression and local progress storage belong to the presentation layer. The application’s learning-access gate is separate from physiology. No help query runs a new diagnostic or generative model: it searches the written index.
Reset actions intentionally rebuild selected state; they are not physiological treatments. If a saved preference or progress record is unavailable, the interface must fall back without changing the numerical meaning of a disease.
References & further reading