I'm implementing a platformer in C++ using SFML and a port of Artemis. Right now, I'm currently working on a System that will animate my sprites. My understanding is that in ECS, components should only ever hold raw data (no resizable containers, objects, etc), but the best way I can conceptualize an AnimationSystem would be that every Entity that needs to be animated will have an Animation component, which would contain a list of Frames. Each frame would just hold data -- the x and y position within the texture, the width and height of the frame, and the relative duration of the animation.
If I implement that, the code will work just fine, but I feel like I'd have broken some golden NO-OBJECTS rule of entity design. I've implemented animations in other fashions but they don't have quite the capability --- I've not been able to put multiple animations on a single altas, or have animations where the frame width and height could change.
Has anybody had any experience with this? I'd like to get some guidance here :)