#!/bin/bash
set -euo pipefail
side=$1
count=$2
theme=$3
state=$4
out=$5
agent-device settings appearance "$theme" --session badge-proof >/dev/null
if [ "$state" = expanded ]; then
  agent-device click "label=\"$count subagents, $count done\"" --settle --session badge-proof > "$out/$count-$theme-$state-action.txt"
fi
for attempt in 1 2 3; do
  agent-device screenshot "$out/$count-$theme-$state-check.png" --crop-on "label=\"$count subagents, $count done\"" --pixel-density 3 --session badge-proof >/dev/null
  sleep 0.5
  agent-device screenshot "$out/$count-$theme-$state.png" --crop-on "label=\"$count subagents, $count done\"" --pixel-density 3 --session badge-proof >/dev/null
  metric=$(compare -metric AE "$out/$count-$theme-$state-check.png" "$out/$count-$theme-$state.png" null: 2>&1 || true)
  if [ "$metric" = 0 ]; then break; fi
  if [ "$attempt" = 3 ]; then echo "Screenshots did not settle: $side $count $theme $state" >&2; exit 1; fi
done
if [ "$state" = expanded ]; then
  agent-device screenshot "$out/$count-$theme-$state-full.png" --pixel-density 3 --session badge-proof >/dev/null
  agent-device click "label=\"$count subagents, $count done\"" --settle --session badge-proof > "$out/$count-$theme-$state-collapse.txt"
fi
echo "$side $count $theme $state stable"
