, 2026

1. Exported new STL from FCD files for easy usage.

2. Handle large/high-fps offline analysis by introducing a lazy frame reader with help of Claude. 
   This allows arbitrarily long/high fps data to analyzed. It seems reasonable fast.
   Did a comparison of previous single animal tracking and new version and resulting csv was identical.
   todo: Check other instances where we cna use this, such as multi-animal tracking to make sure we don't
   break code!

3. Create docker file for PiVR offline analysis -> check if it actually works!!

4. Post-hoc analysis: Only print 10% of frame progress, also added %.

5. - Add PyInstaller spec (PiVR.spec) and Inno Setup script (PiVR_installer.iss)
     to build a standalone Windows installer for offline analysis
  - Add BUILD_WINDOWS.md with step-by-step build instructions using a venv
  - Fix PiVR_ROOT_PATH to use sys._MEIPASS when running as a frozen app
  - Fix settings save/load to use %APPDATA%\PiVR\ when frozen, so the app
    works correctly when installed in Program Files (read-only)
  - Fix pandas 3.x incompatibility: cast bool column to object before
    assigning np.nan in common_tracking_classes.py

6. Fixed bug where HP setup presented correct stimulus but reported FRACTIONS of the stimulus presented
   (i.e. 0.2) instead of percentage (20%) if the stimulus wasn't 100%. Now, the reported values are always
   percentages.

7. Fixed 'simulate online tracking' bug such that the HP LED bool gets passed to control tracking

8. Fixed analysis->single animal tracking bug such that the HP LED bool gets passed to control tracking

9. Add a red cross in center of circle where in 'analysis' -> 'Select analysis area (circle)' to make it easier
   for user to re-select an area.

10. Add stimulus overlay and scalebar when saving a tracked experiment as video.

11. Changed image location to stanford google drive as I was running out of space. 
     Todo: compress so that it can eventually go on gitlab.