sots-re/verify/harness/profiling/turnloop.sh

24 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
# End Turn repeatedly; stop when the strategy-screen chrome disappears (encounter query / dialog)
S=/tmp/claude-1000/-home-alex/ec8e34f8-af37-4ef2-a309-ed6a15293097/scratchpad
N=${1:-25}
mkdir -p $S/turns
printf 'fg\nclick 100 714\nsleep 500\n' > $S/turns/cmd.txt
convert $S/move6.png -crop 260x40+5+105 $S/turns/base_hdr.png # Research/Design/Build buttons
for i in $(seq 1 $N); do
scp -q $S/turns/cmd.txt re@192.168.10.139:C:/SOTS/ui/cmd.txt
ssh -o BatchMode=yes re@192.168.10.139 'schtasks /Run /TN SOTSUI | Out-Null'
sleep 16
# wait until stable: two screenshots identical-ish
for k in 1 2 3 4 5 6; do
ssh spicy 'echo "screendump /tmp/t.ppm" | qm monitor 140' >/dev/null; scp -q spicy:/tmp/t.ppm $S/turns/t.ppm
convert $S/turns/t.ppm $S/turns/turn_$i.png
convert $S/turns/turn_$i.png -crop 260x40+5+105 $S/turns/hdr.png
d=$(compare -metric RMSE $S/turns/base_hdr.png $S/turns/hdr.png null: 2>&1 | sed 's/.*(\(.*\))/\1/')
echo "$(date +%H:%M:%S) turn-iter $i probe $k rmse=$d" >> $S/turns/log.txt
if awk -v d="$d" 'BEGIN{exit !(d<0.08)}'; then break; fi
sleep 5
done
if ! awk -v d="$d" 'BEGIN{exit !(d<0.08)}'; then echo "$(date +%H:%M:%S) SCREEN CHANGED at iter $i rmse=$d" >> $S/turns/log.txt; exit 0; fi
done
echo "$(date +%H:%M:%S) loop done" >> $S/turns/log.txt