Summary
Help users format their input data correctly by example. Add a "Save template…" menu/toolbar action that writes a small example CSV/TXT file demonstrating the reader-accepted input format — column headers exactly as the app's readers expect, with 2–3 replicas and a few concentration→signal rows. This is an I/O-level, assay-agnostic convenience; the goal is to show a valid format, not to encode any assay.
Source
Reported via the fitting-app feedback channel.
Acceptance criteria
Scope & file boundaries
Package C (bundled with the DBA simulator unit; they share only main_window.py in one session). Touch:
gui/main_window.py (action)
- new example asset / small generator (and a small
core/io helper only if needed)
Must NOT modify plotting widgets, fitting_session.py, or the fit pipeline.
Parallelization
Package C — runs in parallel with packages A, B, D.
Summary
Help users format their input data correctly by example. Add a "Save template…" menu/toolbar action that writes a small example CSV/TXT file demonstrating the reader-accepted input format — column headers exactly as the app's readers expect, with 2–3 replicas and a few concentration→signal rows. This is an I/O-level, assay-agnostic convenience; the goal is to show a valid format, not to encode any assay.
Source
Reported via the fitting-app feedback channel.
Acceptance criteria
core/ioreaders accept.uv run ruff check/formatclean.Scope & file boundaries
Package C (bundled with the DBA simulator unit; they share only
main_window.pyin one session). Touch:gui/main_window.py(action)core/iohelper only if needed)Must NOT modify plotting widgets,
fitting_session.py, or the fit pipeline.Parallelization
Package C — runs in parallel with packages A, B, D.