#!/usr/bin/env rc

today = `{date | awk 'BEGIN{m["Jan"]="01";m["Feb"]="02";m["Mar"]="03";m["Apr"]="04";m["May"]="05";m["Jun"]="06";m["Jul"]="07";m["Aug"]="08";m["Sep"]="09";m["Oct"]="10";m["Nov"]="11";m["Dec"]="12"}{printf "%s/%s/%02d\n", $6, m[$2], $3}'}
daypath = $home/lib/lotus/$today
mkdir -p $daypath

echo '=== Breathing Exercise ==='
echo -n 'Press ENTER to start'
junk = `{read}

results = ()

for(round in 1 2 3 4) {
    echo ''
    echo '--- STARTING ROUND' $round '---'
    
    # Breathing Phase: 30 cycles (In 1.5s, Out 1s)
    for(i in `{seq 1 30}) {
        echo -n 'in '
        sleep 1.5
        echo -n 'out '
        sleep 1
    }
    
    echo 'BREATH IN'
    sleep 2
    echo 'BREATH OUT'
    sleep 2

    echo '--- HOLDING ---'
    echo 'Press ENTER when you cannot hold anymore'

    flag = /tmp/inbe.$pid
    touch $flag
    start_time = `{date -n}
    
    {
        count = 1
        while(test -f $flag) {
            echo -n $count ' '
            sleep 1
            count = `{awk 'BEGIN{print '$count' + 1}'}
        }
    } &

    junk = `{read}
    rm -f $flag 
    
    end_time = `{date -n}
    hold_duration = `{awk 'BEGIN{print '$end_time' - '$start_time'}'}
    results = ($results $hold_duration)
    
    echo 'Hold time:' $hold_duration 'seconds'
    
    echo 'Recovery Hold: 15 seconds'
    for(s in `{seq 1 15}) {
        echo -n $s ' '
        sleep 1
    }
    echo 'Breath out.'
    sleep 3
}

ts = `{date | awk '{gsub(/:/, "", $4); print $4}'}
logfile = $daypath/inbe-^$ts

for(r in $results) {
    echo $r >> $logfile
}

echo '=== ALL ROUNDS COMPLETE ==='
echo 'Results saved to:' $logfile
