To explore this some more, I did the following:
- Drew a 10x10 rectangle at the origin on the z=0 plane
- Drew a diagonal from the midpoint of one side to the midpoint of the adjacent side, dividing the rectangle into a triangle and a 5-sided polygon.
- Attached a leader text to the approximate center of each of the two faces
Examining the model’s entities, as expected there is a face with 5 edges in its outer loop, another face with 3 edges in its outer loop, and the two text entities.
Then I deleted the diagonal edge drawn in the second step above, leaving just a rectangle again.
The label attached to the triangular Face blew up. The label attached to the 5-sided Face shifted over a bit but stayed present, evidently attached to the restored rectangle, but not updated for its new area. I could see no rationale for the new anchor point of the text. It seemed to swap the x coordinate into the y position and create a new arbitrary x value.
At this point I re-examined the model’s entities and found that the 5-sided face had been reused (same id) but converted to 4 edges again, the triangular face no longer existed, and the two texts were still present.
The results say to me that, as @TIG speculated, the Text contains some link to the original Face - though this is not exposed in the Ruby API and not accessible via its #point method - and goes singular when that Face is deleted.
Edit: evidence that the Text does contain a link to the Face: if you select and move the face, the text moves along with it!