You may want to think in terms of "shared" data — e.g., the time or the fluid level — and "private" data — e.g., the animation data — and possibly some additional configuration data that doesn't change. Then you end up with type signatures like the following:
view : Config -> SharedData -> PrivateData -> Html Msg
update : Config -> Msg -> SharedData -> PrivateData -> (SharedData, PrivateData, Cmd Msg)
And feel free to drop parameters or results that aren't needed since type checking will catch things if you later change your mind.
Mark