The current solution is to add a static buffer around all waveforms that is proportional to the total time, so that way the waveform is always captured (except in the edge case that the physical time offset in the trigger cable is >~10% of the total waveform length), time_offset only affects the generation of the ideal applied voltage trace, since this is not actually measured. The different solution is to have the time offset actually directly tell the scope what offset to take in the x axis, but this is risky because if you get it wrong you will just see nothing, and auto time offset will definitely not work. I am of the opinion that before switching to this, we should also introduce a whole "auto offset detect" feature, where we prompt the user to lift the probes and run some kind of custom routine to figure out the offset. This can be stored in memory and ideally only done once on startup of a new system. That way the risk of lost data is mitigated.
The current solution is to add a static buffer around all waveforms that is proportional to the total time, so that way the waveform is always captured (except in the edge case that the physical time offset in the trigger cable is >~10% of the total waveform length), time_offset only affects the generation of the ideal applied voltage trace, since this is not actually measured. The different solution is to have the time offset actually directly tell the scope what offset to take in the x axis, but this is risky because if you get it wrong you will just see nothing, and auto time offset will definitely not work. I am of the opinion that before switching to this, we should also introduce a whole "auto offset detect" feature, where we prompt the user to lift the probes and run some kind of custom routine to figure out the offset. This can be stored in memory and ideally only done once on startup of a new system. That way the risk of lost data is mitigated.