Density Reference
Densification fills the gaps in mock data: it takes a target tag group whose records are sparse and completes missing values from a chosen source, under an explicit strategy and a record limit. This page is the reference the density page's in-app help links into — one section per control.
Density is an administrative surface. It changes the shared data pool that mock APIs read; it never changes your model.
Target tag group
The slice of the pool being densified. A tag group is the normalized set of tags records were imported with, and it is the consistency boundary of the pool: densification fills gaps within this group only, and never mixes values across groups.
Pick the tag group whose records show empty cells in previews or runtime results. The page lists each group with its record count and fill level so sparse groups are easy to spot.
Source dump
Where the fill values come from. A densification run reads from one selected dump — a concrete, analyzed snapshot of a data source — rather than from "anywhere", so every filled value has a traceable origin.
Choose a dump whose columns overlap the target's missing columns. The analysis sidecar (field list, quality metrics) shown next to each dump tells you whether it can actually supply what is missing.
Source tags
An optional tag filter on the source side: only source records carrying these tags are considered as fill material. Use it when a dump is broader than the context you want to borrow from — for example, filling a vehicles group only from source records that are themselves tagged vehicles, even though the dump also contains other domains.
Left empty, the whole selected dump is eligible.
Strategy
How values are chosen when filling a gap. The strategy decides the trade-off between realism and coverage:
| Strategy concern | What it protects |
|---|---|
| Row affinity | values filled into one record stay plausible together (a city fills with its own country's data, not a random one) |
| Derived fields | computed/derived columns are skipped rather than overwritten with unrelated values |
| Scope | gaps are filled within the target table and tag group only — never across tables |
The default strategy is conservative: it completes what can be completed consistently and leaves a gap open rather than inventing an implausible value.
Record limit
Caps how many records one densification run may touch. The limit keeps a run reviewable (you can inspect the result before running the next slice) and keeps load on the pool predictable. Runs are repeatable — a second run continues where the first stopped, so a low limit costs nothing but an extra pass.
Where this fits
Densification acts on data brought in by imports and shows up wherever mock data is read — previews, the runtime API, and exports. The mapping between your model and this data is described in Data Sources & Mapping; the downstream effects of model changes are in the Causality Reference.