type and the fields required by that type.
data records.
Return formats
rows and matrix are ordinary variable names when used inside your code. They are only contract fields when returned in an envelope. Prefer one format consistently. A write action returns a receipt such as { jobId }, separately from a view result.
Cell layout
With two unspecified widths, each cell receives half the row. If one cell uses
width: 60, unspecified cells share the remaining 40. If every cell has a width, their proportions are normalized across the row. Use positive widths totaling 100 for predictable authoring, and a positive pixel height when you need a fixed chart area.
The dashboard itself has a 20-column outer grid. Its panel x, y, cols and rows determine where the widget sits. The returned matrix controls only the content inside that panel.
IDs and data fields
These names have different roles. A cell ID does not select a Component or identify a database record.
IDs start with a letter and contain only letters, digits, underscores, dots or hyphens, up to 100 characters. Keep them unique across a frame, including FORM fields.
constructor and prototype are reserved. Keep IDs stable between reads so state and partial refresh can match the same elements.
For a partial refresh, return exactly the requested IDs; see partial refresh. See limits for dashboard and Assistant-card bounds.
