As I expected, this is a priority issue. Unfortunately one, that’s not easy to solve. I doubt it’s possible without forcing the scene to update twice, hurting performance heavily.
Think about it:
In order to solve the Cloner ID issue, you request the cache of the cloner in Xpresso’s Python node. So the cloner needs to be evaluated first and it clones, what’s there at its input (a Text spline with default parameter “Text”). Only then, you are able to get all the clones and overwrite the actual text. But for C4D the work on the cloner is already done. Basically all you are seeing is lagging one frame behind. Kind of chicken and egg…
It may even be a bit worse. I have some doubts, what you are trying to do to MoGraph here, is a bit outside its specification. The more I’m playing around with the scene, the more I doubt, it can be fixed at all.
As you, John, already proposed, an additional frame -1 could help. Still, one would need to keep in mind, everything is lagging a frame behind. Not relevant, as long it’s more or less random values. But if the data shown is supposed to represent accurate scene data, this would be noticeable.
Another indicator, that there’s something happening, C4D is not really expecting or prepared for, have an instance of the Cloner. This will always show “Text”…
I have to admit, I failed to get this approach working. Sorry.
Maybe you could use a different approach. Just thinking, instead of trying to “fix” the text after cloning, do it vice versa. As far as I can see, you don’t actually need the clone IDs. You just need equally many values in Text as you have clones, right? Create just one Text object with all values for the clones, one per line. And then, not sure, you’d need to fracture it first, have MoGraph just position those words for you. I don’t know, if this can work or if it would work for you. But I really think, you will need to find different approach, which somehow provides the correct text parameter before MoGraph starts cloning.
Cheers