I used the phrase the other day and it struck me as odd that out is needed. Wiktionary cites the following etymology of sorts:
Disputed. Three schools of thought exist:
From "This will eat your heart out.", suggesting that the recipient of the taunt will have their heart, the core of their being, eaten out with desire, bitterness, or pain.
From the 16th century "to eat one's own heart" (to suffer in silence from anguish or grief), possibly from the Bible "to eat one's own flesh" (to be lazy) The phrase "to eat one's heart out" appears as a formulaic phrase in the Iliad, meaning to experience extreme grief. (For instance, Iliad.24.128, many other locations.)
When used as the taunt "Eat your heart out, [someone]!" a suggestion that the recipient of the taunt "eat up" as much as they like. (From the same construction as "dance your heart out," etc.) Literally, similar to "have all you can eat!" Figuratively more akin to "experience me besting you."
The only one that seems relevant here is the last one which compares the phrase to dance your heart out. I am not familiar with that idiom and, according to this Ngram, it is far less common than eat your heart out:
The only other eat X out idiom I know of is the sexual meaning of eating someone out.
So, why out in eat your heart out? Why not just eat your heart? The out does seem to make a difference, but I don't know if that's just because I am used to the phrase. Is there an explanation for what the out confers to it?