One element of form_answers.coordinates_snapshot (jsonb[]). Mirrors the at-rest v1
shape exactly: spatial fields are STRINGS, id is a number (it matches the numeric
coordinate-id keys inside subfield answer values).
Spatial columns are nullable TEXT in the legacy schema, so these are string | null (matching
TemplateSnapshotCoordinate); a null round-trips as JSON null rather than being coerced to a string.
One element of
form_answers.coordinates_snapshot(jsonb[]). Mirrors the at-rest v1 shape exactly: spatial fields are STRINGS,idis a number (it matches the numeric coordinate-id keys inside subfield answer values).Spatial columns are nullable TEXT in the legacy schema, so these are
string | null(matchingTemplateSnapshotCoordinate); a null round-trips as JSONnullrather than being coerced to a string.