The Bear 'rotation' in Cataclysm is significantly more complex than it was in WotLK (a good thing!). Here is my work so far on modeling those rotations:
Optimally, bears should choose their abilities based on a priority list. However, the order of that priority list can change with gear level. There are effectively 10 elements to a bear priority list, which I have labeled a-k for convenience, in no particular order:
| a | Demo Debuff |
| b | FFF Damage |
| c | [ignored; was Mangle Debuff, but ended up being redundant] |
| d | Mangle Damage |
| e | Lacerate Debuff |
| f | Lacerate Stack |
| g | Lacerate Damage |
| h | Pulverize Buff |
| i | Pulverize Damage |
| j | Thrash Damage |
| k | Swipe Damage |
Next, I evaluated the potential performance of each ability at a very wide variety of gear levels: from practically naked (1000ap), to entry level raiding (10000ap), to what I'd guess is well past Deathwing gear (100000ap). From that, I was able to see which abilities trumped which other abilities, at the varying gear levels. I extrapolated that into a chart:
| | a | b | c | d | e | f | g | h | i | j | k |
| a | X | | | | | | | | | | |
| b | < | X | | | | | | | | | |
| c | > | > | X | | | | | | | | |
| d | > | > | < | X | | | | | | | |
| e | ? | > | < | < | X | | | | | | |
| f | < | ? | < | < | < | X | | | | | |
| g | < | ? | < | < | < | < | X | | | | |
| h | < | > | < | < | < | < | > | X | | | |
| i | < | ? | < | < | < | < | ? | < | X | | |
| j | < | > | < | < | ? | ? | > | ? | ? | X | |
| k | < | ? | < | < | < | ? | ? | < | < | < | X |
Where < means that the ability on top is better than the ability on the left.
And > means that the ability on the left is better than the ability on the top.
And ? means that which ability is better can vary based on gear.
NOTE:Values here are based on damage, threat, and raid utility. Rage cost could potentially be significant, and I hope to redo this with rage cost being weighted as well, but I don't think it will change anything. The primary thing it would change would be to allow FF to beat the things it can already beat, but at earlier gear levels (FFF scales better than Swipe and Lacerate). Regardless, in my experience, you have enough rage, even in entry level gear, to fully fill every GCD; more rage just lets you afford Maul more.
From that chart, I generated a list of possible priority lists. Originally, I found 96 different possible priorities that match the above table. However, any elements in the list after Lacerate Damage or Pulverize Damage end up being irrelevant (since it's always possible to Lacerate Damage, or to Lacerate Stack and then Pulverize Damage). By trimming the lists of anything past those two, and removing the duplicates, I was left with the following 30 possible priority lists:
| daefhi | M | D | Lb | Ls | Pb | Pd | | |
| daefhjbg | M | D | Lb | Ls | Pb | T | FF | Ld |
| daefhjbi | M | D | Lb | Ls | Pb | T | FF | Pd |
| daefhjg | M | D | Lb | Ls | Pb | T | Ld | |
| daefhji | M | D | Lb | Ls | Pb | T | Pd | |
| daefjhbg | M | D | Lb | Ls | T | Pb | FF | Ld |
| daefjhbi | M | D | Lb | Ls | T | Pb | FF | Pd |
| daefjhg | M | D | Lb | Ls | T | Pb | Ld | |
| daefjhi | M | D | Lb | Ls | T | Pb | Pd | |
| daejfhbg | M | D | Lb | T | Ls | Pb | FF | Ld |
| daejfhbi | M | D | Lb | T | Ls | Pb | FF | Pd |
| daejfhg | M | D | Lb | T | Ls | Pb | Ld | |
| daejfhi | M | D | Lb | T | Ls | Pb | Pd | |
| dajefhbg | M | D | T | Lb | Ls | Pb | FF | Ld |
| dajefhbi | M | D | T | Lb | Ls | Pb | FF | Pd |
| dajefhg | M | D | T | Lb | Ls | Pb | Ld | |
| dajefhi | M | D | T | Lb | Ls | Pb | Pd | |
| deafhi | M | Lb | D | Ls | Pb | Pd | | |
| deafhjbg | M | Lb | D | Ls | Pb | T | FF | Ld |
| deafhjbi | M | Lb | D | Ls | Pb | T | FF | Pd |
| deafhjg | M | Lb | D | Ls | Pb | T | Ld | |
| deafhji | M | Lb | D | Ls | Pb | T | Pd | |
| deafjhbg | M | Lb | D | Ls | T | Pb | FF | Ld |
| deafjhbi | M | Lb | D | Ls | T | Pb | FF | Pd |
| deafjhg | M | Lb | D | Ls | T | Pb | Ld | |
| deafjhi | M | Lb | D | Ls | T | Pb | Pd | |
| deajfhbg | M | Lb | D | T | Ls | Pb | FF | Ld |
| deajfhbi | M | Lb | D | T | Ls | Pb | FF | Pd |
| deajfhg | M | Lb | D | T | Ls | Pb | Ld | |
| deajfhi | M | Lb | D | T | Ls | Pb | Pd | |
Added a short version of each ability there, in order, so it's easier to read, without having to reference the top table.
M=Mangle
D=Demo
Lb=Lacerate deBuff
Ls=Lacerate Stack
Ld=Lacerate Damage
T=Thrash
Pb=Pulverize Buff
Pd=Pulverize Damage
FF=Faerie Fire
S=Swipe, but that doesn't matter, since Swipe never ends up before both Lacerate Damage and Pulverize Damage in a priority list
Another way to look at this would be like this:
| Mangle Damage | 1 | | | | | | | | | |
| Demo Debuff | | 2 | 3 | | | | | | | |
| Lacerate Debuff | | 2 | 3 | 4 | | | | | | |
| Lacerate Stack | | | | 4 | 5 | | | | | |
| Thrash Damage | | | 3 | 4 | 5 | 6 | 7 | | | |
| Pulverize Buff | | | | | 5 | 6 | | | | |
| Pulverize Damage | | | | | | 6 | 7 | 8 | 9 | 10 |
| Lacerate Damage | | | | | | | 7 | 8 | 9 | 10 |
| FFF Damage | | | | | | | 7 | 8 | 9 | 10 |
| Swipe Damage | | | | | | | | 8 | 9 | 10 |
That's the possible priorities (1 being highest, 10 being lowest) for each element. From that you can see things like... Mangle is always highest priority. Swipe is generally terrible for single targets, and always is obsoleted by some other ability. Thrash is decent, and scales really well.
OK, now we've got a list of possible priority lists that are useful. Next, how to evaluate them for a given character? Well, that's a very difficult question. Up until now, nothing has been Rawr-specific about any of this. And perfectly accurately evaluating these rotations, which include randomness, in a closed form solution is going to be difficult (though not impossible) and time-consuming. So, in the interest of getting things done faster (since Dec7th is rapidly approaching), but still being as accurate as possible, I've taken a different route
for now (I fully intend to revisit this later on and write a closed form model for it).
That route is to write a separate (outside of Rawr) simulator, to simulate combat using each of these priority lists, and output a count of the uses of each ability. Simulations are good for certain things, and this seems to be one of them. Here's the results, using a 5min (200 GCDs) fight, and assuming you have the Endless Carnage talent:
| | | | | | | | | | FFF | Mangle | Lacerate | Pulverize | Thrash | Swipe | Demo | LacerTick | PulvUptime | DemoUptime |
| daefhi | M | D | Lb | Ls | Pb | Pd | | | 1 | 58.8436 | 97.2774 | 31.9086 | 0 | 0 | 10.9704 | 156.3696 | 192.7075 | 197.6928 |
| daefhjbg | M | D | Lb | Ls | Pb | T | FF | Ld | 19.4614 | 58.7596 | 65.64 | 16.9618 | 28.1895 | 0 | 10.9877 | 220.9119 | 190.8697 | 197.8402 |
| daefhjbi | M | D | Lb | Ls | Pb | T | FF | Pd | 21.5013 | 58.6964 | 63.157 | 20.3334 | 25.3534 | 0 | 10.9585 | 204.4983 | 192.6685 | 197.7428 |
| daefhjg | M | D | Lb | Ls | Pb | T | Ld | | 1 | 58.6842 | 84.2712 | 16.9674 | 28.0885 | 0 | 10.9887 | 221.0396 | 190.9035 | 197.8544 |
| daefhji | M | D | Lb | Ls | Pb | T | Pd | | 1 | 58.9308 | 78.4456 | 25.5391 | 25.1057 | 0 | 10.9788 | 171.4193 | 192.6978 | 197.6587 |
| daefjhbg | M | D | Lb | Ls | T | Pb | FF | Ld | 17.9856 | 59.3309 | 62.9675 | 16.1606 | 32.56 | 0 | 10.9954 | 219.6827 | 184.9858 | 197.8057 |
| daefjhbi | M | D | Lb | Ls | T | Pb | FF | Pd | 21.1176 | 58.8897 | 62.8413 | 20.1688 | 26.0245 | 0 | 10.9581 | 202.4369 | 190.9141 | 197.7312 |
| daefjhg | M | D | Lb | Ls | T | Pb | Ld | | 1 | 59.2509 | 79.9654 | 16.1931 | 32.6001 | 0 | 10.9905 | 219.5779 | 185.0872 | 197.8003 |
| daefjhi | M | D | Lb | Ls | T | Pb | Pd | | 1 | 58.9891 | 77.7767 | 25.3382 | 25.9186 | 0 | 10.9774 | 171.1339 | 191.6037 | 197.5764 |
| daejfhbg | M | D | Lb | T | Ls | Pb | FF | Ld | 13.9783 | 59.6674 | 54.2949 | 15.5579 | 45.5161 | 0 | 10.9854 | 192.1749 | 178.9367 | 197.8568 |
| daejfhbi | M | D | Lb | T | Ls | Pb | FF | Pd | 15.2112 | 59.5445 | 53.6593 | 17.185 | 43.4418 | 0 | 10.9582 | 182.5582 | 184.4907 | 197.591 |
| daejfhg | M | D | Lb | T | Ls | Pb | Ld | | 1 | 59.5337 | 67.269 | 15.5691 | 45.6492 | 0 | 10.979 | 192.1328 | 179.2282 | 197.8665 |
| daejfhi | M | D | Lb | T | Ls | Pb | Pd | | 1 | 59.0001 | 63.6573 | 20.6452 | 44.7084 | 0 | 10.989 | 154.4488 | 189.2127 | 197.7778 |
| dajefhbg | M | D | T | Lb | Ls | Pb | FF | Ld | 13.4299 | 59.3452 | 53.1203 | 15.7295 | 47.3852 | 0 | 10.9899 | 185.9652 | 179.8516 | 197.8205 |
| dajefhbi | M | D | T | Lb | Ls | Pb | FF | Pd | 13.0107 | 59.0294 | 52.4955 | 16.8877 | 47.5855 | 0 | 10.9912 | 173.4 | 184.2615 | 197.8191 |
| dajefhg | M | D | T | Lb | Ls | Pb | Ld | | 1 | 59.674 | 65.2277 | 15.7602 | 47.3417 | 0 | 10.9964 | 185.7284 | 180.0577 | 197.8615 |
| dajefhi | M | D | T | Lb | Ls | Pb | Pd | | 1 | 58.5301 | 61.7141 | 20.0208 | 47.754 | 0 | 10.981 | 144.7811 | 187.7851 | 197.7844 |
| deafhi | M | Lb | D | Ls | Pb | Pd | | | 1 | 59.0332 | 97.3958 | 31.9426 | 0 | 0 | 10.6284 | 156.057 | 192.6206 | 195.5974 |
| deafhjbg | M | Lb | D | Ls | Pb | T | FF | Ld | 19.2757 | 58.8973 | 65.8441 | 16.9206 | 28.2736 | 0 | 10.7887 | 220.7523 | 190.5346 | 196.4658 |
| deafhjbi | M | Lb | D | Ls | Pb | T | FF | Pd | 21.5791 | 58.6521 | 63.0164 | 20.1697 | 25.7166 | 0 | 10.8661 | 204.2588 | 192.5849 | 196.7117 |
| deafhjg | M | Lb | D | Ls | Pb | T | Ld | | 1 | 58.8885 | 84.0619 | 16.9133 | 28.3586 | 0 | 10.7777 | 221.0075 | 190.587 | 196.4502 |
| deafhji | M | Lb | D | Ls | Pb | T | Pd | | 1 | 59.4038 | 78.3401 | 25.5036 | 25.09 | 0 | 10.6625 | 171.417 | 192.5984 | 195.6213 |
| deafjhbg | M | Lb | D | Ls | T | Pb | FF | Ld | 17.9843 | 59.2921 | 63.4859 | 16.0887 | 32.3702 | 0 | 10.7788 | 220.2918 | 184.801 | 196.2362 |
| deafjhbi | M | Lb | D | Ls | T | Pb | FF | Pd | 21.0792 | 58.9054 | 62.7931 | 20.02 | 26.3509 | 0 | 10.8514 | 204.3759 | 190.5308 | 196.5902 |
| deafjhg | M | Lb | D | Ls | T | Pb | Ld | | 1 | 59.5849 | 80.1828 | 16.1027 | 32.3329 | 0 | 10.7967 | 220.1486 | 184.943 | 196.2476 |
| deafjhi | M | Lb | D | Ls | T | Pb | Pd | | 1 | 59.2877 | 77.7976 | 25.3004 | 25.9324 | 0 | 10.6819 | 172.6519 | 191.201 | 195.7976 |
| deajfhbg | M | Lb | D | T | Ls | Pb | FF | Ld | 13.9706 | 59.9444 | 54.385 | 15.5098 | 45.4213 | 0 | 10.7689 | 193.893 | 178.5332 | 196.0783 |
| deajfhbi | M | Lb | D | T | Ls | Pb | FF | Pd | 15.1507 | 60.0903 | 53.9836 | 17.2945 | 42.8879 | 0 | 10.593 | 182.653 | 184.2686 | 195.6078 |
| deajfhg | M | Lb | D | T | Ls | Pb | Ld | | 1 | 59.7992 | 67.3832 | 15.5023 | 45.4911 | 0 | 10.8242 | 194.0206 | 178.5517 | 196.2188 |
| deajfhi | M | Lb | D | T | Ls | Pb | Pd | | 1 | 59.619 | 63.3546 | 20.5743 | 44.6088 | 0 | 10.8433 | 156.6557 | 188.7979 | 196.448 |
FFF=Count of FFF usages
Mangle=Count of Mangle usages
Lacerate=Count of Lacerate usages
Pulverize=Count of Pulverize+3 usages
Thrash=Count of Thrash usages
Swipe=Count of Swipe usages
Demo=Count of Demoralizing usages
LacerTick=Count of Lacerate Ticks, times the number of stacks at the time of the tick
PulvUptime=Count of GCDs that Pulverize was up for
DemUptime=Count of GCDs that Demoralizing was up for
For Rawr4's initial Cataclysm release, Rawr.Bear will include those numbers, just hard-coded in the code, for each of the 30 possible priority lists that it evaluates for each character. From those numbers, we can evaluate the rotation in terms of threat and damage for a given character.
..whew, that was a lot of tables.