guide
App SDK API
Use this page to move from the App Framework concepts to exact MATLAB contracts. These links stay within the Framework reading path; each function page provides syntax, inputs, outputs, options, errors, and related APIs.
Start With The Core Contract
- Definition declares an App.
- layout assembles the semantic workbench.
- Snapshot presents derived visible state.
- CallbackContext exposes runtime capabilities to callbacks.
Browse By Capability
| Capability | API entry point |
|---|---|
| Layout and controls | App SDK layout API |
| View snapshots | App SDK view API |
| Typed events | App SDK event API |
| Projects and sources | App SDK project API |
| Results | App SDK result API |
| Managed interactions | App SDK interaction API |
| Plot mechanics | App SDK plot API |
| Diagnostics and dialogs | App SDK diagnostic API and dialog API |
Related Topics
Complete App SDK API
Open a function for exact MATLAB syntax, arguments, outputs, behavior, and source.
labkit.app.layout
| Function | Purpose |
|---|---|
labkit.app.layout.button | Add a push button with one explicit pressed callback. |
labkit.app.layout.dataTable | Add a tabular data display with optional editing and selection. |
labkit.app.layout.field | Add a text, numeric, choice, or logical input field. |
labkit.app.layout.fileList | Add file selection and portable-source controls. |
labkit.app.layout.group | Arrange related child elements without a titled boundary. |
labkit.app.layout.logPanel | Add a text display for App log messages. |
labkit.app.layout.plotArea | Add one or more axes rendered by an App-owned renderer. |
labkit.app.layout.rangeField | Add an input for a numeric lower and upper bound. |
labkit.app.layout.section | Arrange related child elements under a visible title. |
labkit.app.layout.slider | Add a bounded numeric slider. |
labkit.app.layout.statusPanel | Add a text display for current App status. |
labkit.app.layout.tab | Add a named tab containing related child elements. |
labkit.app.layout.workbench | Assemble controls and a central workspace into the root layout. |
labkit.app.layout.workspace | Define the App's central working area and optional pages. |
labkit.app.view
| Function | Purpose |
|---|---|
labkit.app.view.Snapshot | Build one immutable complete visible-state snapshot. |
labkit.app.event
| Function | Purpose |
|---|---|
labkit.app.event.IntervalScroll | Describe one normalized interval scroll gesture. |
labkit.app.event.ListSelection | Describe selected file or list item identities. |
labkit.app.event.TableCellEdit | Describe one validated table-cell edit signal. |
labkit.app.event.TableCellSelection | Describe selected cells in a semantic data table. |
labkit.app.interaction
| Function | Purpose |
|---|---|
labkit.app.interaction.anchorPath | Declare an editable open or closed path on one plot axis. |
labkit.app.interaction.interpolateAnchorPath | Build a visible path through image anchor points. |
labkit.app.interaction.interval | Declare an editable one-dimensional plot interval. |
labkit.app.interaction.pairedAnchors | Declare matching editable points across plot axes. |
labkit.app.interaction.pointSlots | Declare a fixed set of editable labeled point positions. |
labkit.app.interaction.rectangle | Declare an editable rectangular plot region. |
labkit.app.interaction.regionSelection | Declare a transient click-or-drag region gesture. |
labkit.app.interaction.scaleBarGeometry | Compute serializable image scale-bar overlay geometry. |
labkit.app.interaction.scaleCalibration | Convert a known image distance into pixels per unit. |
labkit.app.interaction.scaleReference | Declare an editable two-point scale reference. |
labkit.app.plot
| Function | Purpose |
|---|---|
labkit.app.plot.clampPointToAxes | Keep data coordinates inside the visible axes box. |
labkit.app.plot.clearAxes | Prepare an axes for an app-owned redraw. |
labkit.app.plot.enablePopout | Add a standalone-figure action to an axes context menu. |
labkit.app.plot.fitAxesToGraphics | Fit axes limits to finite plotted X/Y data. |
labkit.app.plot.fitCanvasToSource | Fit a preview axes into a fixed-aspect pixel frame. |
labkit.app.plot.offsetPointByAxesFraction | Move data coordinates by normalized axes fractions. |
labkit.app.plot.showMessage | Show a centered empty-state message in an axes. |
labkit.app.project
| Function | Purpose |
|---|---|
labkit.app.project.Schema | Declare one durable App project contract. |
labkit.app.project.emptySourceRecords | Create an empty portable source collection. |
labkit.app.project.sourceRecord | Create a portable source value during project migration. |
labkit.app.result
| Function | Purpose |
|---|---|
labkit.app.result.File | Declare one validated result-package output. |
labkit.app.result.Package | Declare one App-owned result manifest request. |
labkit.app.dialog
| Function | Purpose |
|---|---|
labkit.app.dialog.Choice | Represent a typed dialog choice or cancellation. |
labkit.app.diagnostic
| Function | Purpose |
|---|---|
labkit.app.diagnostic.Artifact | Describe one anonymous diagnostic-sample artifact. |
labkit.app.diagnostic.Options | Configure one App SDK diagnostic session. |
labkit.app.diagnostic.SampleContext | Provide bounded folders for anonymous debug samples. |
labkit.app.diagnostic.SamplePack | Describe one typed anonymous App reproduction scenario. |
Change history
- 2026-07-21 - Callback-safe native layout synchronizationfix | compatible
- 2026-07-21 - Cross-platform validation exits cleanly after settled plot fittingfix | compatible
- 2026-07-21 - App SDK supports equal-data-unit plot fittingfix | compatible
- 2026-07-20 - Figure Studio preserves common graphics and styles semantic categoriesfeat | compatible
- 2026-07-20 - App tools and presentation controls become more deliberatefeat | compatible
- 2026-07-20 - App actions require explanatory hover helpfeat | compatible
- 2026-07-19 - App SDK explicit contract replaces the retired UI runtimerefactor | breaking