LabKit MATLAB Workbench

history

LabKit name and the first multi-domain app families

id: LK-20260530-app-family-expansion
date: 2026-05-30
sequence: 3
type: feat
compatibility: compatible
scope: historical project evolution

Context

By the end of the electrochem extraction, the repository had reusable DTA operations and several app entry points, but its naming and package layout still reflected the original Gamry workbench. It was not yet clear whether the design could serve workflows with different data, interaction, and visualization needs.

Decision and rationale

Rename the project LabKit and treat apps, rather than one scientific domain, as the main deliverables. Keep a limited set of reusable packages underneath them, then exercise that structure with image registration, region editing, curvature measurement, wearable data import, and ECG viewing.

The purpose was not to turn LabKit into one analysis program. It was to make a common MATLAB foundation useful to several independent laboratory tools without erasing the workflow decisions that made each tool understandable.

Changes

User and data impact

LabKit now served electrochem, image, and biosignal work from distinct app entry points. Image users gained direct manipulation of regions and anchors; biosignal users gained a viewer for imported wearable recordings. Existing DTA files remained external inputs and were not converted into a central project format.

Compatibility and migration

The namespace rename was an implementation migration for repository code. The new image and biosignal apps were additive. Scripts that referenced the former workbench namespace needed to adopt labkit or an app entry point.

Validation

Focused DIC interaction tests, biosignal import tests, layout tests, and the first MATLAB CI workflow were added during this stage. The exact historical command used for each commit was not recorded.

Evidence

Known limitations and follow-up

The new apps exposed interaction problems that ordinary callback tests did not capture well, including popout axes, anchor editing, busy-state reentry, and image zoom ownership. Those issues drove the managed interaction work that followed before v1.0.