#!/usr/bin/env bash
# Restart .250 lab gameplay synth — TID E001 default; override LAB_GAMEPLAY_GAMES per smoke.
set -euo pipefail
cd ~/EtherGold/dev
pkill -f pog422_fixture_bridge 2>/dev/null || true
pkill -f pog422_uartd 2>/dev/null || true
sudo systemctl stop fixture-prod 2>/dev/null || true
sleep 2
mkdir -p ~/EtherGold/logs/lab_gameplay_pilot ~/EtherGold/dev/lab_gameplay_templates
TID="${LAB_GAMEPLAY_TID:-E001}"
GAMES="${LAB_GAMEPLAY_GAMES:-touch6,superpick,bingo,poker,keno,spinjack,triple7s}"
# Persist so source_fixture_env cannot clobber mid-launch.
ENVF=~/EtherGold/fixture-bridge.env
touch "$ENVF"
for key in LAB_GAMEPLAY_SYNTH LAB_GAMEPLAY_TID LAB_GAMEPLAY_GAMES LAB_GAMEPLAY_TOUCH6_REPLICATE; do
  sed -i "/^${key}=/d" "$ENVF" 2>/dev/null || true
done
{
  echo "LAB_GAMEPLAY_SYNTH=1"
  echo "LAB_GAMEPLAY_TID=${TID}"
  echo "LAB_GAMEPLAY_GAMES=${GAMES}"
  echo "LAB_GAMEPLAY_TOUCH6_REPLICATE=1"
} >>"$ENVF"
LOG=~/EtherGold/logs/lab_gameplay_pilot/bridge.log
nohup env \
  FIXTURE_POS=1 \
  PI_LABEL=topbox250 \
  CHANNEL=machine \
  CLEAR_CAPTURE=1 \
  FIXTURE_MODE=debug \
  FIXTURE_PROD=0 \
  FIXTURE_DEV_LIGHT=1 \
  LAB_GAMEPLAY_SYNTH=1 \
  LAB_GAMEPLAY_TID="${TID}" \
  LAB_GAMEPLAY_GAMES="${GAMES}" \
  LAB_GAMEPLAY_TOUCH6_REPLICATE=1 \
  LAB_GAMEPLAY_SESSION_S=300 \
  LAB_GAMEPLAY_PERIOD_S=3 \
  LAB_GAMEPLAY_JITTER_S=0.5 \
  LAB_GAMEPLAY_SYNTH_ALLOW_PROD=0 \
  FIXTURE_EARLY_WIN_PHASE1=0 \
  FIXTURE_EARLY_WIN_PHASE2_SLOTS=0 \
  FIXTURE_EARLY_WIN_PHASE2_KENO=0 \
  bash /home/topbox/EtherGold/dev/run_bridge_jun11_good.sh \
  >"$LOG" 2>&1 &
echo $! >~/EtherGold/logs/lab_gameplay_pilot/bridge.pid
sleep 10
echo "pid=$(cat ~/EtherGold/logs/lab_gameplay_pilot/bridge.pid) tid=$TID games=$GAMES"
grep -E "LAB gameplay|lab_gameplay|parser_build|session_start|FATAL|TypeError|WARNING: LAB" "$LOG" | head -40
pgrep -af 'pog422_fixture_bridge' | head -2
