Summary
DataLab-Web delegates interactive Gaussian, Lorentzian and Voigt fitting to Sigima inside Pyodide. Sigima is replacing the historical area-based amp parameter with a versioned amplitude parameter representing signed peak height above the baseline. The browser runtime must require that release and persist the same canonical fit metadata as Sigima and DataLab desktop.
Required changes
- Require
sigima>=1.1.6 in the CPython test dependencies.
- Require
sigima>=1.1.6 in both Pyodide installation paths: the main runtime and secondary macro/notebook workers.
- Add
amplitude to the interactive fit label map while retaining amp for unrelated models that still use that parameter name.
- Let fit initialization and slider evaluation consume Sigima's
amplitude keys directly.
- When auto-fitting, remove all keys declared by
FIT_PARAMS_METADATA_KEYS; peak dictionaries now also contain fit_params_version and the non-numeric peak_parameterization marker.
- On commit, use
sigima.tools.signal.fitting.create_fit_params() rather than assembling metadata manually. Include residual RMS and interactive: true.
Compatibility behavior
Do not add a browser-side alias that maps historical amp values to amplitude. Old values are integrated areas and cannot be reinterpreted safely. Runtime startup must fail dependency resolution rather than load a Sigima wheel older than 1.1.6 and expose the old scientific contract under the new UI.
DataLab-Web does not currently persist editable creation DataSets independently from Sigima, so the desktop Creation-tab migration UX is out of scope. Historical HDF5 objects may remain displayable, but any future action that reuses historical peak parameters must delegate to Sigima's strict validation and explicit converter.
Tests
- CPython lifecycle test: catalogue -> init -> evaluate -> auto-fit -> commit.
- Assert Gaussian descriptors contain
amplitude and not amp.
- Assert committed peak metadata contains
fit_params_version: 2, peak_parameterization: "height", interactive: true and amplitude.
- Run the complete Python suite against the sibling Sigima 1.1.6 source until the wheel is published.
- Run the mandatory Prettier, ESLint and Vitest checks.
- After the 1.1.6 wheel is available to Pyodide, exercise the visible Gaussian interactive-fit dialog with Playwright and assert that committing the fit adds a visible result curve without a runtime error.
Acceptance criteria
- Main-thread and worker-hosted runtimes resolve Sigima 1.1.6 or later.
- Auto-fit does not attempt to coerce schema metadata such as
"height" to a float.
- Interactive peak commits produce the same canonical
fit_params contract as Sigima and DataLab desktop.
- No compatibility path silently treats integrated area as peak height.
- Python, TypeScript and browser-driven tests pass with the published dependency.
Release ordering
- Publish Sigima 1.1.6.
- Verify the Pyodide-compatible wheel is visible to
micropip.
- Run the DataLab-Web Playwright regression against that wheel.
- Merge/release DataLab-Web with the new minimum requirement.
Related issues
Summary
DataLab-Web delegates interactive Gaussian, Lorentzian and Voigt fitting to Sigima inside Pyodide. Sigima is replacing the historical area-based
ampparameter with a versionedamplitudeparameter representing signed peak height above the baseline. The browser runtime must require that release and persist the same canonical fit metadata as Sigima and DataLab desktop.Required changes
sigima>=1.1.6in the CPython test dependencies.sigima>=1.1.6in both Pyodide installation paths: the main runtime and secondary macro/notebook workers.amplitudeto the interactive fit label map while retainingampfor unrelated models that still use that parameter name.amplitudekeys directly.FIT_PARAMS_METADATA_KEYS; peak dictionaries now also containfit_params_versionand the non-numericpeak_parameterizationmarker.sigima.tools.signal.fitting.create_fit_params()rather than assembling metadata manually. Include residual RMS andinteractive: true.Compatibility behavior
Do not add a browser-side alias that maps historical
ampvalues toamplitude. Old values are integrated areas and cannot be reinterpreted safely. Runtime startup must fail dependency resolution rather than load a Sigima wheel older than 1.1.6 and expose the old scientific contract under the new UI.DataLab-Web does not currently persist editable creation DataSets independently from Sigima, so the desktop Creation-tab migration UX is out of scope. Historical HDF5 objects may remain displayable, but any future action that reuses historical peak parameters must delegate to Sigima's strict validation and explicit converter.
Tests
amplitudeand notamp.fit_params_version: 2,peak_parameterization: "height",interactive: trueandamplitude.Acceptance criteria
"height"to a float.fit_paramscontract as Sigima and DataLab desktop.Release ordering
micropip.Related issues