Repository navigation
Release v4.26.0
Scene gains sample-data packs: demo rows per shape that a design surface or preview shows, with a deterministic generator when no pack has them. The active pack is chosen once, on the application's UI profile. Closes part of the spec epic #96.
Added
- Sample-data model in C# and TypeScript (and
scene-model-shape.json):SampleDataPack,SampleShape,SampleShapeField,SampleFieldKind,SampleDataSelectionandScenePackage.sampleData(a Blueprint package ships its packs assampleData/*.json). UiProfile.sampleDataselects the active pack once for the whole application (own or from a blueprint), plus the rare shape-to-read-model mappings and per-read-model bindings. There is no per-screen, slice or component selector; the preview strip's choice is the session-onlysessionActivePackof the resolve context.resolveSampleData/SampleDataResolver.Resolveimplement the resolution order bound pack, UI profile active pack (or session override), blueprint default pack, generated data; nothing resolves unlessisDesignOrPreviewis true, so a Stage production build gets no sample data.generateSample/SampleDataGenerator.Generate: a seeded xoshiro128** generator typed by field kind (ids, names, companies, emails, phones, cities, text, numbers, amounts, booleans, dates, enums), honouring nullability,min/maxand pack locale (en-GB,en-US,nb-NO,sv-SE,de-DE), byte-identical in both engines for a seed.validateSampleDataPack,validateSampleDataSelection,validateSampleDataPackagesanddescribeSampleDataCatalog(C#:SampleDataValidation,SampleDataCatalogs) check what blueprint packages ship and build the selector content (generated, own, then each blueprint's group).findDescriptorSampleRowLiterals/findTemplateSampleRowLiteralsdetect row literals in component descriptors and templates;verify-package-contents.jsfails when sample data is packed outsidesampleData/.sample-data-resolution-fixtures.json, asserted independently byEngine.Specs/for_SampleDataandengine/for_sampleData, and the documentation pageblueprints/sample-data.md.