There's got to be more to it than your simplified breakdown.
My first exposure to computer programming was fun and instantly addictive. There was no struggle to learn coding. Same childhood experience for guitar. Nobody was around to push me. There was no need for "discipline to practice". It was simply practice-was-natural-thing-to-do because I enjoyed it. I wasn't a child prodigy. I was finding early joy in programming and guitar -- even though I was very bad at it.
On the other hand, I'm very skilled at cooking and Microsoft Excel. But I do not enjoy making any meals or fiddling with spreadsheets. Likewise, there are a lot of kids out there that hate farming but are actually very good at milking cows and running the tractor because their parents made them do the chores every day. Some kids then grow up to move to the city and leave behind the farm life for good. On the hand, some siblings will cherish farming and happily take over from the parents.
That said, I'm aware of the "No True Scotsman" argument about "joy" : If you _truly_ were skilled at cooking and MS Excel and farming, you'd actually enjoy it.
ok... so the meta question is ..... how does one tell the difference between "skill precedes joy" vs "The beatings will continue until morale improves!" ?
There was a popular "Tiger Mother" book where Amy Chua's daughter has a meltdown in public and didn't want to be forced to play the violin anymore. That finally convinced the mom to stop. On the other hand, the older sister seemed ok with piano lessons. Maybe children are just different.
TLDR of anecdotes above is any theories of optimal child-development has to account for _counterexamples_ to the skill-vs-joy connection : Kids can find joy in things they are bad at. Kids can hate doing things they are good at.
It had its moments during the first 15 years of my life, but it was more of a competitive activity than an entertaining one. Conservatively, every fun hour had about 50 shitty hours when I was a serious piano student. Now it's 100% fun.
If those days suck, chances are you won't get good at it. People like things that are engaging and develop their identity and understanding of themselves and the world, even more so than things they are good at.
same with coding. instantly loved it and choose it as my career. still enjoy it today.
Sometimes. I still hate almost all things I'm good at.
It takes a long time to get good at some things and those days suck.