I don't want to derail from the core question above of how to make a Cell itself vary continuously, but I was thinking more about this:
The classic analogy is to vector vs. bitmap graphics, so I'll give it a shot using that.
The useful thing about vector graphics is not that they can be scaled infinitely without losing information - but rather, that they can be scaled to SD, HD, 2K, 4K, 8K, or whatever you specify at export - without losing information.
In order to support that, the vector format must be capable of scaling to infinite resolution, but that's simply a means to an end.
Internally, the type of a graphic vector is something like Resolution -> Point -> Color
. In english "give me a target resolution and a pixel coordinate, and I'll tell you what color it is with perfect precision - no matter how large the resolution"
Similarly, the type of an animation could be represented by a Cell/Behavior which is internally something like Time -> Bone -> Position
. In english: "give me a target time and a bone object and I'll tell you its position with perfect precision - no matter how precise the timestamp"
In order to be able to answer a query for any resolution - vector graphics must be defined as continuous functions. In order to be able to answer a query for any timestamp - cells/behaviors must also be defined as continuous functions.
Assuming all that is right - the following is where I'm on shakier ground:
Internally the idea of Transactions (which is Sodium's way of dealing with time) must be mapped over some sort of continuous function...
Is that in the ballpark?