#!/usr/bin/env bash
set -eu
: "${PROOF_ROOT:?}"
: "${PROOF_APPIMAGE:?}"
export T3CODE_HOME="$PROOF_ROOT/desktop-home"
export T3CODE_DEV_SEED=0
export XDG_CONFIG_HOME="$PROOF_ROOT/desktop-config"
export XDG_DATA_HOME="$PROOF_ROOT/desktop-data"
ffmpeg -y -f x11grab -video_size 1920x1080 -framerate 10 -i "$DISPLAY" -c:v libx264 -preset ultrafast -pix_fmt yuv420p "$PROOF_ROOT/base-launch.mp4" > "$PROOF_ROOT/video.log" 2>&1 &
record_pid=$!
APPIMAGE_EXTRACT_AND_RUN=1 "$PROOF_APPIMAGE" --no-sandbox --disable-gpu > "$PROOF_ROOT/base-launch.log" 2>&1 &
app_pid=$!
trap 'kill "$app_pid" 2>/dev/null || true; kill -INT "$record_pid" 2>/dev/null || true; wait "$record_pid" 2>/dev/null || true' EXIT
sleep 18
for attempt in $(seq 1 20); do
  import -window root "$PROOF_ROOT/stable-a.png"
  sleep 0.5
  import -window root "$PROOF_ROOT/stable-b.png"
  if cmp -s "$PROOF_ROOT/stable-a.png" "$PROOF_ROOT/stable-b.png"; then
    cp "$PROOF_ROOT/stable-b.png" "$PROOF_ROOT/base-startup.png"
    break
  fi
done
sleep 2
