LabKit MATLAB Workbench

history

Searchable MATLAB-generated documentation site and launcher workflow groups

id: LK-20260715-documentation-site
date: 2026-07-15
sequence: 60
type: feat
compatibility: compatible
component: `labkit_launcher` | `1.4.0 -> 1.5.0`
scope: `docs/`
scope: `site/`
scope: `tools/docs/`
scope: `buildfile.m`

Context

The documentation had become a set of large Markdown pages with no generated site, global search, code-entity pages, or enforced relationship between the public MATLAB surface and its reference material. Launcher actions were also presented as a mostly flat list, making routine app launch, installation, maintenance, profiling, and packaging appear equally related.

Decision and rationale

Keep authoring in tracked Markdown, structured navigation/catalog metadata, and MATLAB help blocks, then use one repository-owned MATLAB compiler to emit the tracked static site. Bind every non-private labkit.* API and each explicitly cataloged app-owned scientific API to its source declaration. Keep private helpers out of detailed reference pages.

Group launcher actions by user intent and make documentation regeneration a first-level maintenance action. This follows the separation used by MATLAB and Qt documentation while keeping the build offline and dependency-free.

Changes

User and data impact

Users can browse and search documentation without a MATLAB documentation server, move between related public functions, and regenerate the same site after source changes. Existing app data, projects, calculations, and exports are unchanged. Launcher maintenance actions are easier to distinguish from normal app launch and installation tasks.

Compatibility and migration

The feature is additive. Existing Markdown links remain valid in the source repository. site/ is generated and must not be edited manually. Source-only or P-code app packages that omit documentation tools show the launcher action disabled with an explanatory tooltip.

Validation

The compiler generated 20 narrative pages, 133 public API pages, and 157 tracked files. Focused documentation/build guardrails passed after verifying a byte-for-byte rebuild. Hidden-GUI launcher layout, documentation generation, and missing-tool behavior tests passed 3/3.

Evidence

Known limitations and follow-up

The first generated site still contains transitional narrative pages that must be split into app-family, per-app, framework, and focused API guides. Cataloged scientific APIs need richer standalone examples and algorithm/unit sections before the documentation rewrite is complete.