I'm not exactly sure what's the root cause here, but playback in-game is different from the animation in the editor.
I've really reduced my example to the point where the animation doesn't make much visual sense, but it's small and demonstrates a difference between runtime and editor animation.
You can check out a screen recording of the playback in the editor here:
Spine Editor Screen Recording
It's basically two images fading in a loop: 1-2-blank-1-2-blank-1-2-blank-1-2-blank-...
Now look at the playback in game (the "blank" part can see through to the game background - that's OK)
Starling Runtime Screen Recording
The cycle is much different, and stutters; hard to describe.
Here's the JSON data. (I can provide source images, too, if that helps)
{
"bones": [
{ "name": "root" },
{ "name": "background", "parent": "root" },
{ "name": "frame010", "parent": "background" },
{ "name": "frame210", "parent": "background" }
],
"slots": [
{ "name": "BonusIntro/frame010", "bone": "frame010", "attachment": "BonusIntro/frame010" },
{ "name": "BonusIntro/frame210", "bone": "frame210", "color": "ffffff00", "attachment": "BonusIntro/frame210" }
],
"skins": {
"default": {
"BonusIntro/frame010": {
"BonusIntro/frame010": { "x": -524, "width": 304, "height": 624 }
},
"BonusIntro/frame210": {
"BonusIntro/frame210": { "x": -520, "y": -8, "width": 296, "height": 608 }
}
}
},
"animations": {
"animation": {
"slots": {
"BonusIntro/frame010": {
"color": [
{ "time": 0.3333, "color": "ffffffff" },
{ "time": 0.6666, "color": "ffffff00", "curve": "stepped" },
{ "time": 1.3333, "color": "ffffff00" },
{ "time": 1.6666, "color": "ffffffff" }
]
},
"BonusIntro/frame210": {
"color": [
{ "time": 1, "color": "ffffff00" },
{ "time": 1.3333, "color": "ffffffff", "curve": "stepped" },
{ "time": 1.6666, "color": "ffffffff" }
]
}
},
"draworder": [
{ "time": 0 },
{
"time": 1.3333,
"offsets": [
{ "slot": "BonusIntro/frame010", "offset": 1 }
]
}
]
}
}
}