diff --git a/docs/re/captures/roll-gametime.csv b/docs/re/captures/roll-gametime.csv new file mode 100644 index 0000000..fe4120b --- /dev/null +++ b/docs/re/captures/roll-gametime.csv @@ -0,0 +1,314 @@ +phase,t,fx,fy,fz +slow,0.046,5.36441810913306e-07,0.8829469811387421,-0.4694727132621171 +slow,0.124,-0.0037028938908542333,0.8829408973863202,-0.4694695520472787 +slow,0.175,-0.029433192564468726,0.8825644180942943,-0.4692693630414654 +slow,0.225,-0.047907995026344505,0.8819330671344229,-0.46893377902154315 +slow,0.276,-0.05494452988794276,0.8816131314630001,-0.4687636772056853 +slow,0.327,-0.05494452988794276,0.8816131314630001,-0.4687636772056853 +slow,0.377,-0.05494452988794276,0.8816131314630001,-0.4687636772056853 +slow,0.427,-0.05494452988794276,0.8816131314630001,-0.4687636772056853 +slow,0.478,-0.2805405845010285,0.8474894135274412,-0.4506203217862406 +slow,0.529,-0.3464401476183601,0.828267481843762,-0.440400048408674 +slow,0.579,-0.4933270963841563,0.7680254218881261,-0.4083691066997395 +slow,0.629,-0.5646325672888053,0.7287328660233411,-0.3874770624621025 +slow,0.679,-0.663984471662157,0.6602195443081346,-0.35104810881855686 +slow,0.729,-0.6795143538879752,0.6477839998044589,-0.3444359627819725 +slow,0.782,-0.6795143538879752,0.6477839998044589,-0.3444359627819725 +slow,0.832,-0.6795143538879752,0.6477839998044589,-0.3444359627819725 +slow,0.883,-0.6795143538879752,0.6477839998044589,-0.3444359627819725 +slow,0.933,-0.8636404059341753,0.44509990979031433,-0.23666710701427646 +slow,0.983,-0.9034235025038042,0.37856180077666735,-0.20128819666459757 +slow,1.033,-0.9208475303349151,0.34428010688112226,-0.18306019196431236 +slow,1.084,-0.9823258963987413,0.1652676638242847,-0.08787737227792251 +slow,1.134,-0.9946318488171882,0.09136350259329508,-0.048581845502070904 +slow,1.188,-0.9965908416220451,0.07284426607901787,-0.03873509125422061 +slow,1.238,-0.9965908416220451,0.07284426607901787,-0.03873509125422061 +slow,1.288,-0.9965908416220451,0.07284426607901787,-0.03873509125422061 +slow,1.338,-0.9965908416220451,0.07284426607901787,-0.03873509125422061 +slow,1.388,-0.9887775514835899,-0.13190930729666128,0.0701347868794932 +slow,1.438,-0.9556714469692192,-0.2599717478297875,0.13822726134190855 +slow,1.489,-0.8922483691415248,-0.39869133958378805,0.21198599837058513 +slow,1.539,-0.8508838444950022,-0.46386065972493185,0.24663732794724316 +slow,1.589,-0.7907927164969744,-0.5404386826976731,0.28735502393266027 +slow,1.64,-0.7777418936805442,-0.5550070379438635,0.29510122779646286 +slow,1.691,-0.7777418936805442,-0.5550070379438635,0.29510122779646286 +slow,1.741,-0.7777418936805442,-0.5550070379438635,0.29510122779646286 +slow,1.791,-0.5952358692207049,-0.7094937017300517,0.377243882917219 +slow,1.841,-0.5604049203743158,-0.7312739567343891,0.38882480042081646 +slow,1.892,-0.45017479352935263,-0.7884196750580088,0.4192100562393852 +slow,1.942,-0.3527042657551637,-0.8262047790273792,0.4393009947979067 +slow,1.993,-0.2515210843607131,-0.8545622769363128,0.454379201724106 +slow,2.048,-0.21020554253366847,-0.8632198721332542,0.4589826600672126 +slow,2.098,-0.21020554253366847,-0.8632198721332542,0.4589826600672126 +slow,2.148,-0.21020554253366847,-0.8632198721332542,0.4589826600672126 +slow,2.199,-0.21020554253366847,-0.8632198721332542,0.4589826600672126 +slow,2.249,0.06423144170165734,-0.8811238583231025,0.46850300766455694 +slow,2.3,0.12787323617667282,-0.8756985100693347,0.46561846498184756 +slow,2.35,0.2327336093496518,-0.858701653919306,0.45658135817763307 +slow,2.423,0.3547279040834424,-0.8255283263615021,0.43894315855170307 +slow,2.479,0.5260315144840211,-0.7509151987562808,0.3992708479797423 +slow,2.529,0.5961056688939317,-0.7089229256787852,0.3769433869423229 +slow,2.581,0.5961056688939317,-0.7089229256787852,0.3769433869423229 +slow,2.631,0.5961056688939317,-0.7089229256787852,0.3769433869423229 +slow,2.681,0.5961056688939317,-0.7089229256787852,0.3769433869423229 +slow,2.732,0.5961056688939317,-0.7089229256787852,0.3769433869423229 +slow,2.782,0.8295924682130262,-0.4930097696572142,0.26214061819328877 +slow,2.832,0.8741827941510458,-0.4287555674072037,0.22797610801923318 +slow,2.882,0.9439064628362973,-0.29155959525346875,0.15502771310802138 +slow,2.932,0.9571066736003423,-0.25582037216180104,0.1360248232371042 +slow,2.982,0.9861968747582776,-0.14619466320861924,0.07773573609560003 +slow,3.032,0.9966905224322332,-0.07177339798264935,0.03816519141555759 +slow,3.083,0.9992422961997571,-0.03436404433766335,0.01827418786692905 +slow,3.133,0.9992422961997571,-0.03436404433766335,0.01827418786692905 +slow,3.184,0.9992422961997571,-0.03436404433766335,0.01827418786692905 +slow,3.234,0.9992422961997571,-0.03436404433766335,0.01827418786692905 +slow,3.286,0.9667885938062846,0.22566239526859874,-0.11998457504073406 +slow,3.336,0.9415539672577656,0.2974325173987048,-0.15814557956209666 +slow,3.386,0.8910494227865149,0.4007762840154738,-0.21309457131181636 +slow,3.437,0.8493271610881868,0.46607942161808097,-0.24781716280765573 +slow,3.487,0.761860256786668,0.5719223062697806,-0.30409509157499987 +slow,3.537,0.748009652602088,0.586002088637891,-0.3115816293142661 +slow,3.587,0.748009652602088,0.586002088637891,-0.3115816293142661 +slow,3.637,0.748009652602088,0.586002088637891,-0.3115816293142661 +slow,3.688,0.591663947524308,0.7118191730405439,-0.3784801686902885 +slow,3.738,0.539041368473937,0.7436887413829951,-0.3954256681273002 +slow,3.789,0.40803721926756004,0.8061006144181252,-0.4286110441030633 +slow,3.839,0.36886970856393964,0.8206831516383724,-0.4363648733810532 +slow,3.89,0.24776263895916018,0.8554178600934551,-0.4548339910001527 +slow,3.94,0.16475926423798679,0.8708809062626716,-0.46305597065027154 +slow,3.992,0.14387633165971442,0.8737609544059406,-0.46458733919873835 +slow,4.042,0.14387633165971442,0.8737609544059406,-0.46458733919873835 +slow,4.093,0.14387633165971442,0.8737609544059406,-0.46458733919873835 +slow,4.143,0.14387633165971442,0.8737609544059406,-0.46458733919873835 +slow,4.196,-0.1733023236078747,0.869586949506304,-0.46236872934967393 +slow,4.247,-0.21515127447977428,0.86226908085857,-0.4584778743680502 +slow,4.297,-0.3579950095311995,0.8244282743035451,-0.4383578374794213 +slow,4.347,-0.3974270950667179,0.8102218773848151,-0.43080414751236507 +slow,4.397,-0.5648254471144367,0.7286167551161777,-0.3874142982079373 +slow,4.448,-0.6161812577464959,0.6954125799901635,-0.36975938283344584 +slow,4.498,-0.6161812577464959,0.6954125799901635,-0.36975938283344584 +slow,4.55,-0.6161812577464959,0.6954125799901635,-0.36975938283344584 +slow,4.6,-0.6161812577464959,0.6954125799901635,-0.36975938283344584 +slow,4.65,-0.7949436150360499,0.5356686009745564,-0.2848223987740045 +slow,4.706,-0.8320602692300713,0.4897569720337153,-0.26041086135787 +slow,4.756,-0.9052591628184888,0.37512792417883484,-0.1994614966213956 +slow,4.824,-0.9519766029552919,0.2703318015873179,-0.14374026741403262 +slow,4.874,-0.983175920401433,0.1612793283684674,-0.08575597812287565 +slow,4.925,-0.992798606527993,0.10577208861815067,-0.05624226298282666 +slow,4.975,-0.992798606527993,0.10577208861815067,-0.05624226298282666 +slow,5.025,-0.992798606527993,0.10577208861815067,-0.05624226298282666 +slow,5.075,-0.992798606527993,0.10577208861815067,-0.05624226298282666 +slow,5.125,-0.9909352442124001,-0.11861635420392577,0.06306744241746298 +slow,5.177,-0.971089850817662,-0.21077290020723444,0.11206822108502636 +slow,5.227,-0.9473137584186095,-0.2828150426309014,0.15037385002881865 +slow,5.278,-0.8692337732689488,-0.43653100062660777,0.23210629655517379 +slow,5.329,-0.8474958640779253,-0.4686708632974702,0.24919546999657635 +slow,5.379,-0.7866667561433955,-0.5451126777938068,0.2898406170420097 +slow,5.43,-0.7734621510586307,-0.5596500718853581,0.29757032432430053 +slow,5.48,-0.7734621510586307,-0.5596500718853581,0.29757032432430053 +slow,5.531,-0.7734621510586307,-0.5596500718853581,0.29757032432430053 +slow,5.581,-0.6062043205372735,-0.7022162337138214,0.3733747217886052 +slow,5.632,-0.5541510145645213,-0.734979908569316,0.39079558218658444 +slow,5.682,-0.42418330732008847,-0.7995763915406578,0.42514246539461586 +slow,5.732,-0.3852348981801229,-0.8148002884614528,0.4332373058120499 +slow,5.783,-0.243946035449459,-0.8562723940695657,0.45528883024171124 +slow,5.833,-0.16070912377840446,-0.8714704720337134,0.4633700399332204 +slow,5.883,-0.0975990723650993,-0.8787317852366855,0.4672310677686361 +slow,5.934,-0.0975990723650993,-0.8787317852366855,0.4672310677686361 +slow,5.984,-0.0975990723650993,-0.8787317852366855,0.4672310677686361 +slow,6.034,-0.0975990723650993,-0.8787317852366855,0.4672310677686361 +slow,6.085,0.1775602464395945,-0.8689168079517865,0.46201292161928603 +slow,6.135,0.2607328887465965,-0.8524065164179079,0.45323447738906825 +slow,6.185,0.36194842063416144,-0.8230812569371999,0.4376420743931222 +slow,6.235,0.4398997578876258,-0.7929274597606337,0.4216091158501638 +slow,6.285,0.5682409772730201,-0.7265432946265349,0.38631209246025844 +slow,6.336,0.6359981125758746,-0.6813614183433645,0.36228858440895406 +slow,6.386,0.7140739082487315,-0.6181244196428086,0.32866495919039396 +slow,6.436,0.7140739082487315,-0.6181244196428086,0.32866495919039396 +slow,6.487,0.7140739082487315,-0.6181244196428086,0.32866495919039396 +slow,6.539,0.7140739082487315,-0.6181244196428086,0.32866495919039396 +slow,6.589,0.7140739082487315,-0.6181244196428086,0.32866495919039396 +slow,6.639,0.9065680252911018,-0.37265567940138744,0.1981468145837393 +slow,6.691,0.9392685544638382,-0.3030117042642596,0.16111638549285018 +slow,6.741,0.965104771584189,-0.2312113232646016,0.12293943167130032 +slow,6.792,0.9973294370055789,-0.06448454199620153,0.034289035064803325 +slow,6.842,0.9999278161305012,0.010609508165090861,-0.005639225565755396 +slow,6.892,0.9930188796365541,0.1041492959551682,-0.055375345031933365 +slow,6.943,0.9930188796365541,0.1041492959551682,-0.055375345031933365 +slow,6.993,0.9930188796365541,0.1041492959551682,-0.055375345031933365 +slow,7.043,0.9930188796365541,0.1041492959551682,-0.055375345031933365 +slow,7.093,0.9386688966024551,0.30445842560916364,-0.16188196201775823 +slow,7.144,0.9311374675345754,0.32198368527382176,-0.17120024232104936 +slow,7.223,0.8558381442539132,0.4566995610987047,-0.24283035587065402 +slow,7.273,0.7831408512856074,0.5490564200014606,-0.29193741572952536 +slow,7.324,0.7560444192777931,0.5779075266990185,-0.30727793064834297 +slow,7.374,0.6509683314574719,0.6702500769547218,-0.3563777010163019 +slow,7.425,0.6509683314574719,0.6702500769547218,-0.3563777010163019 +slow,7.475,0.6509683314574719,0.6702500769547218,-0.3563777010163019 +slow,7.525,0.6509683314574719,0.6702500769547218,-0.3563777010163019 +slow,7.576,0.4196485397802218,0.8014397844240222,-0.42613304847512623 +slow,7.626,0.3806332297410603,0.8164846784795214,-0.43413259981839836 +slow,7.676,0.23917773281080557,0.8573206036655484,-0.4558458014044032 +slow,7.727,0.13481190457623585,0.8748870865403633,-0.46518634566100775 +slow,7.777,0.007896542705130004,0.8829196865934407,-0.4694576356169389 +slow,7.828,-0.055613100836188686,0.8815807152851224,-0.46874580046412767 +slow,7.878,-0.055613100836188686,0.8815807152851224,-0.46874580046412767 +slow,7.934,-0.055613100836188686,0.8815807152851224,-0.46874580046412767 +slow,7.984,-0.055613100836188686,0.8815807152851224,-0.46874580046412767 +fast,0.044,-0.468564632951404,0.7800211366930896,-0.4147459596658374 +fast,0.094,-0.468564632951404,0.7800211366930896,-0.4147459596658374 +fast,0.147,-0.6532919035228096,0.6684843531374839,-0.3554410758507007 +fast,0.197,-0.6740804102157376,0.6521956099667656,-0.346780170862553 +fast,0.253,-0.7406633321896331,0.593230936921181,-0.31542809613185546 +fast,0.303,-0.8067414530300762,0.521736964591286,-0.27741443318975423 +fast,0.354,-0.8364927453434133,0.4838350279608412,-0.25726164250811173 +fast,0.404,-0.8572846408021899,0.4545782991663938,-0.24170563620165925 +fast,0.454,-0.8572846408021899,0.4545782991663938,-0.24170563620165925 +fast,0.505,-0.8572846408021899,0.4545782991663938,-0.24170563620165925 +fast,0.555,-0.8572846408021899,0.4545782991663938,-0.24170563620165925 +fast,0.605,-0.9267948315707897,0.33160599382699485,-0.17632017760790408 +fast,0.656,-0.9368960066831657,0.30868477952212847,-0.16413281071288688 +fast,0.706,-0.9657135503823218,0.22922111730247924,-0.12188116339522719 +fast,0.756,-0.9779586730613649,0.18435730681493703,-0.09802661479413445 +fast,0.807,-0.9943971478546243,0.09333425614443461,-0.04962891262715385 +fast,0.857,-0.9977694134078435,0.058940059911640835,-0.031341139184466044 +fast,0.907,-0.9977694134078435,0.058940059911640835,-0.031341139184466044 +fast,0.957,-0.9977694134078435,0.058940059911640835,-0.031341139184466044 +fast,1.007,-0.9977694134078435,0.058940059911640835,-0.031341139184466044 +fast,1.057,-0.9960740012037427,-0.0781633335984552,0.041558120827859354 +fast,1.108,-0.9915869770276278,-0.11429142880777064,0.06076788864432451 +fast,1.158,-0.9830488997220782,-0.16188358013218335,0.08607303433014432 +fast,1.208,-0.9654882699749504,-0.22996141302144335,0.12227080216453375 +fast,1.258,-0.9421438137516855,-0.2959725872352957,0.15736982498139357 +fast,1.308,-0.9183006336633192,-0.3495452280775043,0.1858549965478247 +fast,1.359,-0.9183006336633192,-0.3495452280775043,0.1858549965478247 +fast,1.409,-0.9183006336633192,-0.3495452280775043,0.1858549965478247 +fast,1.459,-0.9183006336633192,-0.3495452280775043,0.1858549965478247 +fast,1.509,-0.852788869570223,-0.4611250554621998,0.24518325220561926 +fast,1.561,-0.8457836830587759,-0.47107600317640114,0.25047427153877355 +fast,1.611,-0.7990683904573951,-0.5308639797392242,0.28226431298919213 +fast,1.661,-0.7576916738262323,-0.5762231745752734,0.30638240892191654 +fast,1.712,-0.7039218688816332,-0.6271380249228601,0.3334544949555229 +fast,1.763,-0.6851467559103143,-0.6431437685849701,0.34196493357637503 +fast,1.813,-0.6560905528050488,-0.6663450550269401,0.3543013606537654 +fast,1.863,-0.6560905528050488,-0.6663450550269401,0.3543013606537654 +fast,1.913,-0.6560905528050488,-0.6663450550269401,0.3543013606537654 +fast,1.964,-0.6560905528050488,-0.6663450550269401,0.3543013606537654 +fast,2.014,-0.5163993954213524,-0.7561103236758572,0.40203089786638574 +fast,2.064,-0.4546015920025061,-0.7864369179669822,0.4181559118407643 +fast,2.142,-0.3807299710798536,-0.8164494585717856,0.4341140065920148 +fast,2.193,-0.2820279695634007,-0.8471052048351421,0.45041424969150085 +fast,2.244,-0.23157561174253732,-0.8589461445197458,0.4567102548232671 +fast,2.294,-0.1805137900613878,-0.8684427065467883,0.46175971786564723 +fast,2.344,-0.1805137900613878,-0.8684427065467883,0.46175971786564723 +fast,2.395,-0.1805137900613878,-0.8684427065467883,0.46175971786564723 +fast,2.445,-0.1805137900613878,-0.8684427065467883,0.46175971786564723 +fast,2.496,-0.024830674288472077,-0.8826749954107264,0.46932748703975774 +fast,2.55,0.016627909997720097,-0.8828251361547534,0.4694073833914936 +fast,2.6,0.111726663405662,-0.8774189869035709,0.46653303645652927 +fast,2.651,0.13780214292537876,-0.874523580821017,0.4649936300565413 +fast,2.701,0.2656103428096974,-0.8512318793390828,0.45260958163672177 +fast,2.751,0.31554354506824306,-0.8378380863926662,0.4454880606207544 +fast,2.801,0.34018885207653954,-0.8302853882293821,0.4414722177166199 +fast,2.851,0.34018885207653954,-0.8302853882293821,0.4414722177166199 +fast,2.901,0.34018885207653954,-0.8302853882293821,0.4414722177166199 +fast,2.952,0.34018885207653954,-0.8302853882293821,0.4414722177166199 +fast,3.003,0.4940800181283668,-0.7676483628437457,0.4081677678474743 +fast,3.053,0.5530560650928253,-0.7356216755844609,0.39113902806336104 +fast,3.103,0.5974397882275826,-0.7080469991770619,0.3764772853691691 +fast,3.154,0.6185047351113914,-0.6938025932733614,0.3689035838968582 +fast,3.206,0.6881042365676635,-0.6406762784960411,0.34065593461746135 +fast,3.256,0.7514898864756772,-0.5825188958027513,0.3097332506488721 +fast,3.306,0.7931845845529396,-0.5376975001965116,0.2859014045261112 +fast,3.357,0.8009798300561773,-0.5286119824350076,0.28107060299737585 +fast,3.407,0.8009798300561773,-0.5286119824350076,0.28107060299737585 +fast,3.458,0.8009798300561773,-0.5286119824350076,0.28107060299737585 +fast,3.508,0.8009798300561773,-0.5286119824350076,0.28107060299737585 +fast,3.566,0.9079615585910537,-0.37000119040604634,0.19673567856139682 +fast,3.618,0.9289873638512246,-0.3267879327407989,0.1737588122074601 +fast,3.668,0.951171266364975,-0.27253270223930237,0.14491082862158244 +fast,3.718,0.97558673482976,-0.1939070387891802,0.10310471925289769 +fast,3.768,0.9897808982513759,-0.1259042544228822,0.06694693551550773 +fast,3.819,0.9931410372296491,-0.10323546390051833,0.05489370786949623 +fast,3.869,0.9931410372296491,-0.10323546390051833,0.05489370786949623 +fast,3.943,0.9931410372296491,-0.10323546390051833,0.05489370786949623 +fast,3.993,0.9999376400959273,0.009861411882843249,-0.005241037594265275 +fast,4.045,0.998654861608302,0.04578216735335978,-0.024340512289846263 +fast,4.095,0.992907801560002,0.10497188750958387,-0.05581218893717397 +fast,4.145,0.9853453521738103,0.15060635068109599,-0.08007661383945096 +fast,4.195,0.9656808627762835,0.22933012769607466,-0.12193508026222302 +fast,4.245,0.9584524128068335,0.25186373612958607,-0.13391650685261142 +fast,4.295,0.9422656297525576,0.295670151705548,-0.15720891952250804 +fast,4.346,0.9422656297525576,0.295670151705548,-0.15720891952250804 +fast,4.396,0.9422656297525576,0.295670151705548,-0.15720891952250804 +fast,4.446,0.9422656297525576,0.295670151705548,-0.15720891952250804 +fast,4.496,0.872076362854367,0.43208850957625344,-0.22974406900477443 +fast,4.547,0.8580093568921251,0.45351256088827063,-0.24113544036935863 +fast,4.598,0.8132252153454199,0.5138310229603692,-0.2732076663819958 +fast,4.648,0.7815435931024417,0.5508278891839419,-0.29287923889836937 +fast,4.699,0.7210023605142103,0.6118235759463857,-0.32531140165864775 +fast,4.752,0.7119253398407421,0.6200549034607505,-0.32968807559104 +fast,4.802,0.7119253398407421,0.6200549034607505,-0.32968807559104 +fast,4.852,0.7119253398407421,0.6200549034607505,-0.32968807559104 +fast,4.902,0.7119253398407421,0.6200549034607505,-0.32968807559104 +fast,4.952,0.5717137662325098,0.7244172953808695,-0.38517911632551577 +fast,5.003,0.5489901411529138,0.7379931951737293,-0.392397590199244 +fast,5.053,0.4917898196021908,0.7687948374153668,-0.40877533107946273 +fast,5.104,0.42168183785580987,0.8006073549916201,-0.42569036958318496 +fast,5.154,0.37379846714844805,0.8189426822227043,-0.43543953563193305 +fast,5.204,0.33726198026341786,0.8312163487333023,-0.44196576594491466 +fast,5.255,0.33726198026341786,0.8312163487333023,-0.44196576594491466 +fast,5.306,0.33726198026341786,0.8312163487333023,-0.44196576594491466 +fast,5.357,0.33726198026341786,0.8312163487333023,-0.44196576594491466 +fast,5.407,0.33726198026341786,0.8312163487333023,-0.44196576594491466 +fast,5.459,0.13407634499561424,0.8749752241040766,-0.46523315758513817 +fast,5.509,0.1067327874409669,0.8779037141803553,-0.4667902962931195 +fast,5.561,0.02627950826709677,0.8826423614597066,-0.46930997134311153 +fast,5.611,-0.05263072139273397,0.8817235042090142,-0.4688215751125975 +fast,5.662,-0.10470500798344481,0.8780938562969806,-0.46689189416468185 +fast,5.712,-0.14352498907655858,0.8738056992414621,-0.46461185680491773 +fast,5.762,-0.14352498907655858,0.8738056992414621,-0.46461185680491773 +fast,5.812,-0.14352498907655858,0.8738056992414621,-0.46461185680491773 +fast,5.862,-0.14352498907655858,0.8738056992414621,-0.46461185680491773 +fast,5.912,-0.295103523640452,0.843625197837987,-0.4485648625425387 +fast,5.962,-0.33420756849144506,0.8321770526698412,-0.44247785726832983 +fast,6.013,-0.4219355057458717,0.8005024328118661,-0.42563632839932636 +fast,6.063,-0.44551813189673,0.790478394286142,-0.42030643858743166 +fast,6.113,-0.5364964099008817,0.7451210147911475,-0.396189696332547 +fast,6.163,-0.5798139907491607,0.719379824283596,-0.38250281638863076 +fast,6.213,-0.6213904831858549,0.6917895911437915,-0.3678328818786537 +fast,6.265,-0.6213904831858549,0.6917895911437915,-0.3678328818786537 +fast,6.316,-0.6213904831858549,0.6917895911437915,-0.3678328818786537 +fast,6.366,-0.6213904831858549,0.6917895911437915,-0.3678328818786537 +fast,6.416,-0.6213904831858549,0.6917895911437915,-0.3678328818786537 +fast,6.467,-0.7697685939313547,0.5636049336495432,-0.2996761427989206 +fast,6.517,-0.8188294015799512,0.5068436537072459,-0.26949568049397077 +fast,6.567,-0.8407379772940358,0.4780642012631092,-0.2541933771879171 +fast,6.618,-0.8928806068283204,0.39758464497224594,-0.21140168408076437 +fast,6.668,-0.904333371419307,0.3768648333400775,-0.20038475672801448 +fast,6.719,-0.9150935727512862,0.35604033442654803,-0.18931200007056712 +fast,6.769,-0.9150935727512862,0.35604033442654803,-0.18931200007056712 +fast,6.819,-0.9150935727512862,0.35604033442654803,-0.18931200007056712 +fast,6.87,-0.9150935727512862,0.35604033442654803,-0.18931200007056712 +fast,6.92,-0.9695072843499856,0.21637647177545588,-0.11505150174735601 +fast,6.97,-0.9840519374844526,0.15705915122674283,-0.08351171983039263 +fast,7.021,-0.9950416541582717,0.08781629148940584,-0.04669481169271156 +fast,7.071,-0.9994288190771032,0.029837554381306492,-0.015866819047602072 +fast,7.122,-0.9990051683116948,-0.03937536594069818,0.020934522768823672 +fast,7.172,-0.9983402523657028,-0.05085064211870806,0.027036136974427062 +fast,7.222,-0.9983402523657028,-0.05085064211870806,0.027036136974427062 +fast,7.272,-0.9983402523657028,-0.05085064211870806,0.027036136974427062 +fast,7.322,-0.9983402523657028,-0.05085064211870806,0.027036136974427062 +fast,7.372,-0.9773662273888087,-0.18679204232103552,0.09931762424315102 +fast,7.423,-0.9642049478456077,-0.23412130178924356,0.12448306952577433 +fast,7.473,-0.9484068324824643,-0.27994440727138714,0.14884760306451283 +fast,7.545,-0.9099733991029075,-0.36612944116866886,0.194673175436727 +fast,7.595,-0.8747228862138969,-0.42789759461639953,0.22751597934019752 +fast,7.646,-0.8618665613775525,-0.44777421714659554,0.23808460857011965 +fast,7.696,-0.8618665613775525,-0.44777421714659554,0.23808460857011965 +fast,7.746,-0.8618665613775525,-0.44777421714659554,0.23808460857011965 +fast,7.796,-0.8618665613775525,-0.44777421714659554,0.23808460857011965 +fast,7.847,-0.7556758579959296,-0.5782831810950133,0.3074777392019586 +fast,7.897,-0.7097083644940697,-0.6220330202188311,0.3307400174224341 +fast,7.948,-0.6909634215042433,-0.6382740408720933,0.3393756014977489 +fast,7.998,-0.6322370482773051,-0.6840859490030367,0.3637344211952114 diff --git a/docs/re/flight-speed-law.md b/docs/re/flight-speed-law.md index 045ed32..7a02d35 100644 --- a/docs/re/flight-speed-law.md +++ b/docs/re/flight-speed-law.md @@ -384,3 +384,39 @@ image still parses, and the scans quietly report `0 moving triples` / "player en not found" — which reads like a tooling bug. `pgrep -x xenia_canary` does **not** help: zombies match it. `speed_law.require_live_emulator()` now checks the process *state letter* and refuses to measure a corpse, naming the stale image in its error. + +--- + +# ⚠️ The roll result is WITHDRAWN — the probe was not isolating roll + +Re-running the roll phases with 5 s settles and in-run clock brackets +([`tools/re-capture/roll_gametime.py`](../../tools/re-capture/roll_gametime.py)): + +``` +this run's clock: TIME 00:34.93 -> 00:45.97 = 11.04 s game in 7.98 s wall = 1.383 +minimum speed: 90.6 °/wall-s ÷ 1.383 -> 65.5 °/game-s (AV_Roll_Min 200) +maximum speed: 59.1 °/wall-s ÷ 1.383 -> 42.7 °/game-s (AV_Roll_Max 125) +``` + +Two things are wrong with reading this as "roll". + +* The corrected numbers — **65.5 and 42.7** — are within a few per cent of the + **pitch** run's **67.8 and 40.9**. Two different stick axes producing the same + rates is the signature of a measurement that is not separating them. +* Watching a non-forward matrix row sees **any** rotation that moves that row, and + pitch moves it as much as roll does. The forward row was the wrong thing to avoid; + what is needed is the rotation **about** the forward axis — project the row onto + the plane perpendicular to forward and track the angle of that projection. + +So the earlier conclusion — *"roll shows no speed dependence, unlike pitch"* — is +**withdrawn**. It rested on 2 s settles (which this session has twice shown to +produce wrong answers) and on a row that mixes the axes. The two runs do not even +agree with each other (144/150 then, 90.6/59.1 now), which is itself the tell. + +What survives: `AV_Roll_{Min,Max}` are **not** confirmed, and the axis question — +does roll follow the same speed rule as pitch? — is **open**, with the correct +measurement specified above. + +**The clock ratio has now been measured three times in three flights: 1.260, 1.311, +1.383.** It is not a property of the machine but of the moment, so any rate probe +must bracket its own phases. diff --git a/tools/re-capture/roll_gametime.py b/tools/re-capture/roll_gametime.py new file mode 100644 index 0000000..f5e921d --- /dev/null +++ b/tools/re-capture/roll_gametime.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +"""Is the clock factor universal, or does it apply only to linear motion? + +The mission clock runs ~1.26x wall time, which fully explains the linear +measurements. Applied to the angular ones it predicts a wall-time pitch rate of +~94 deg/s for `AV_Roll_Min` 75 — but the settled measurement read 74.9. +Either that was luck inside a noisy sample or angular integration is frame-based. + +The flaw in comparing across runs is that the emulator's speed depends on scene +load, so the clock ratio is not a constant of the machine. This measures BOTH in +the same run: a HUD screenshot brackets each turn phase, so the mission clock's +own advance over that phase converts wall seconds to game seconds. + +Usage: roll_gametime.py [dwell_s] (then read the HUD TIME off the shots) +""" +import json, math, os, struct, subprocess, sys, time +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +import speed_law + +def pad(*a): + subprocess.run(["vgamepad", *a], capture_output=True) + +def shot(n): + subprocess.run(["screenshot", f"/sylph-home/re/shots/{n}.png"], capture_output=True) + +def row_at(fd, off, cfg, row): + at = off + cfg["rot_delta"] + row * cfg["rot_stride"] + v = struct.unpack(">3f", os.pread(fd, 12, at)) + n = math.sqrt(sum(c * c for c in v)) or 1.0 + return tuple(c / n for c in v) + +def ang(a, b): + return math.degrees(math.acos(max(-1.0, min(1.0, sum(a[i] * b[i] for i in range(3)))))) + +def main(): + out_csv = sys.argv[1] + dwell = float(sys.argv[2]) if len(sys.argv) > 2 else 8.0 + cfg = json.load(open("/tmp/nav-live.json")) + w, off, nm = speed_law.find_player() + if not w: + sys.exit("player entity not found after retries") + print(f"# locked on {nm}") + # Roll turns the craft about its FORWARD axis, so the forward row barely moves — + # watch another row of the rotation matrix instead. + fwd = 1 if cfg.get("fwd_row", 0) != 1 else 2 + rows = [] + for label, (trig, tv) in (("slow", ("LT", 1.0)), ("fast", ("RT", 1.0))): + pad("trig", "RT", "0.0"); pad("trig", "LT", "0.0"); pad("axis", "LX", "0.0") + pad("trig", trig, str(tv)) + time.sleep(5.0) + shot(f"roll_{label}_a") # HUD TIME at the start of the phase + t0 = time.time() + pad("axis", "LY", "1.0") # nose down = Roll + seq = [] + while time.time() - t0 < dwell: + seq.append((round(time.time() - t0, 3), *row_at(w.fd, off, cfg, fwd))) + time.sleep(0.05) + pad("axis", "LX", "0.0") + wall = seq[-1][0] + shot(f"roll_{label}_b") # HUD TIME at the end + rows += [(label, *s) for s in seq] + total = sum(ang(seq[i][1:], seq[i + 1][1:]) for i in range(len(seq) - 1)) + print(f"# {label:<5} wall {wall:5.2f}s swept {total:7.1f}deg " + f"rate {total / wall:6.1f} deg/wall-s " + f"(x1.26 -> {total / wall * 1.26:6.1f} deg/game-s if the clock applies)") + pad("trig", "RT", "0.0"); pad("trig", "LT", "0.0"); pad("reset") + with open(out_csv, "w") as f: + f.write("phase,t,fx,fy,fz\n") + for r in rows: + f.write(",".join(str(x) for x in r) + "\n") + print("# read HUD TIME off roll_slow_a/b and roll_fast_a/b to get the run's own ratio") + +if __name__ == "__main__": + main()