Repository navigation
Release v4.180.0
Screenplay declares sample-data packs and the ui profile chooses the active one for the whole application. Closes part of #762 (epic Cratis/Scene#96).
Added
- Top-level
sample data <Name>block: optionaltitle, optional BCP 47locale, andshape <ReadModel>blocks ofrowblocks with<field> = <literal>lines (string, number,true,false,null). Design and preview time only: binding reports it as deferred (PLAY0269), it adds nothing to the executable model or ESM output and is never part of a production build. - The
ui profilegains an optionalsample datablock:active <Pack>oractive blueprint <id>, the rareshape <Shape> maps to <ReadModel>andbind <ReadModel> to <Pack>. The active pack is chosen once, there, for the whole application; there is no per-screen, per-slice or per-component selector (decision 0081, which supersedes the spec's per-screen placement). - Diagnostics
PLAY0702-PLAY0715: invalid or duplicate pack, repeated title, locale, shape, field or selection line, a shape naming no read model (warning), a field that is not a property of the read model, a literal that does not fit the property type, an active, mapped or bound pack or read model the document does not declare. - The canonical printer, the syntax walker and index, the folder merge, the typed JSON schema, the contract catalogue (
sampleconstruct, admission probe), the MCPread-ast/propose-asttyped nodes (SampleDataPackSyntax,SampleDataSelectionSyntax,SampleDataSetSyntax,SampleDataRowSyntax,SampleDataFieldSyntax, ...) and the canonical screen composition corpus all carry sample data. - Monaco (highlighting, hover, completion in the root, the pack, its shapes and the profile block) and the VS Code grammar and spelling dictionary know the new words; the TypeScript compiler skips the block whole.
- Documentation page
sample-data.md(grammar,ui-profile.md,diagnostics.md), the Invoicing sample and decision 0081.