The animated t-SNE landscape delivered points in embedding-dict order, not
chronological order. The front-end cumulative filter (p.month <= frame) then
inserted new points mid-array between frames, so Plotly's index-based frame
transition animated existing markers flying to other drafts' coordinates.
Visible symptom: a couple of points jumping around instead of a growing map.
Sorting points by (month, name) makes each frame's per-category marker list
an append-only prefix of the next, so transitions only add markers.
Verified on the live DB: 188 non-append-only frame transitions before, 0 after.