LabKit MATLAB Workbench

history

Figure Studio preserves common graphics and styles semantic categories

id: LK-20260720-figure-studio-semantic-restyling
date: 2026-07-20
sequence: 145
type: feat
compatibility: compatible
component: `labkit_FigureStudio_app` | `0.3.1 -> 0.4.0`
component: `labkit.app` | `1.2.0 -> 1.2.1`
scope: Figure Studio
scope: App Framework GUI validation
scope: Test runner

Context

Figures sent from Apps, reopened from FIG files, or recreated from Figure Studio data packages could omit common composite graphics such as bars, error bars, areas, and rectangles. Legends were reconstructed only from display names, and the preset exposed one broad line-width control. This made restyling incomplete and could enlarge unrelated text enough to overlap data. Separately, the official hidden-GUI policy was applied while native App windows were constructed but the final show operation could make direct-entrypoint tests visible.

Decision and rationale

Preserve the supported visible plot structure before applying a presentation preset. Style text and strokes by semantic role so users can establish a coherent baseline and then refine categories that have different visual weights. A preset may style an existing legend, but it retains source placement by default because moving or creating a legend can cover data.

Keep GUI-test visibility in the private native adapter. App authors and test methods should not maintain a second hiding convention, and no new public API is needed for a framework-owned launch consistency rule.

Keep broad tests in one MATLAB process. A complete local comparison showed that three workers increased both wall-clock and CPU time, so portability work around child-process orchestration would preserve cost without user benefit.

Changes

User and data impact

Existing schema 1 documents migrate automatically to schema 2, keeping saved values and supplying defaults only for newly introduced style categories. Supported figures retain more visible content, while unsupported MATLAB chart classes continue to produce explicit warnings. Normal App launches remain visible; only official hidden or minimized validation modes change final window presentation.

Compatibility and migration

No additional migration applies beyond the compatibility information in the preceding impact section.

Validation

Evidence

The validation details above are the supporting evidence for this record.

Known limitations and follow-up

Developer-led visual review remains responsible for aesthetic judgment, unusual third-party chart classes, native window behavior, and plot-specific overlap after manual legend placement.