[Cat] Modelling limitations?

The current Cat model, works on a model that looks at the whole fight as a single thing: calculate total energy available in the fight, subtract energy to keep rake, mangle and SR up. Use remaining energy, to generate CPs to spend on RIP/FB/both. It doesn't
worry about the details of what ability to use next.

I just checked in Patch 33030. This patch adds checks to the Cat model, to cater for the variability of CP generation due to crits, i.e. if your on 4 CP and get a crit, the 6th CP is wasted. (The result is that the predicted DPS of the cat model will drop slightly.
Mine was about 2%).
For Savage Roar, CP listed, is the normal value you would use, but a crit might allow you to use a longer duration SR. (But if you normally aim for 5, the crit will again just be wasted).
The result of this, is that 4pt SR works slightly more favourable than 5pt.

This starts modelling the discrete nature of CPs slightly better. What is still bothering me in the model, is the relative timing that isn't being modelled (this is important due to the limited energy pool and that finishers use all CPs, you cannot have carry-over
between them). With a short SR duration (2/3 pts), I can see how you can create a "cycle" where the RIP and SR buffs are equal lengths. Extra CP+Energy could become FB.
For longer SR durations, you need to look at refreshing RIP, before SR, this means at some point, you have a sequence: ...,
SR1, build CP1, RIP1, build CP2, RIP2, build CP3, SR2, build CP4, RIP3,...
My problem is that RIP1, only needs to last for build CP2 (5CPs), before
RIP2 gets applied, while RIP2, needs to last for
build CP3, SR2, build CP4 (10CPs?). Does that mean we clipped
RIP1 badly, or rested during build CP2 (wasting energy?)or had a FB in there as well? Or does RIP2, drop off before we get to apply
RIP3? Or where does the energy for the faster CP generation in
build CP3 and build CP4 come from? Tigers Fury and a full energy bar at
SR2, can help some, but doesn't seem enough to me. Mangle spam as a cheaper source of energy here? Whichever way you go seems to result in lost dps to me.

I did a quick test against a target dummy yesterday and was about 15% below rawr's dps value. But I'm guessing better players can get closer.

So the question is, how accurate do we want or need to model? And how close can good players get to the ratings reported by rawr?
Hopefully someone can give me hints on how this works, so that only my dps gets boosted and the model doesn't need to get nerfed.

(Note to developers: Do not modify the functionality of other peoples models without asking. If you're just adding a param to an overridden method or something, and need to replicate the change in all models, or anything like that, that's fine. But don't
change actual functionality without asking.)

I've undone these changes, and will work on implementing accurate variability of combo point usage when I have time.