#!/usr/bin/env bash
set -euo pipefail
root=$1
out=$2
server_log=$3
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
mkdir -p "$out"
gnome-terminal --hide-menubar --title='T3 Code Evidence' --geometry=138x43 -- bash -c 'while [ ! -f "$2/start" ]; do sleep 0.1; done; node "$4/record-run.mjs" "$1" "$2" "$3"; sleep 8' evidence "$root" "$out" "$server_log" "$script_dir" &
terminal_launcher=$!
sleep 2
window_id=$(xdotool search --name '^T3 Code Evidence$' | head -1)
xdotool windowsize "$window_id" 1280 800
ffmpeg -y -loglevel error -f x11grab -video_size 1280x800 -framerate 10 -i "$DISPLAY" -c:v libx264 -preset ultrafast -crf 23 -pix_fmt yuv420p "$out/recording.mp4" > "$out/ffmpeg.log" 2>&1 &
recorder_pid=$!
touch "$out/start"
while [ ! -f "$out/done" ]; do sleep 1; done
sleep 3
import -window root "$out/final-1.png"
sleep 0.5
import -window root "$out/final-2.png"
kill -INT "$recorder_pid"
wait "$recorder_pid" || true
wait "$terminal_launcher" || true
