# Apply identical privacy masks to both sides; cache readout remains unmodified.
import subprocess, sys
from pathlib import Path
root=Path(sys.argv[1]); out=root/'public'
mask='drawbox=x=275:y=154:w=740:h=32:color=black:t=fill,drawtext=text=Environment label redacted:x=280:y=159:fontsize=14:fontcolor=gray,drawbox=x=275:y=373:w=740:h=145:color=black:t=fill,drawtext=text=Unrelated history import suggestions redacted:x=280:y=405:fontsize=14:fontcolor=gray'
# Window positions change during startup. Hide that region until bounds settle.
startup="drawbox=x=0:y=0:w=1280:h=1080:color=black:t=fill:enable='not(between(t,20,25)+between(t,55,58))',drawtext=text=App startup or shutdown - private setup details hidden:x=180:y=530:fontsize=20:fontcolor=gray:enable='not(between(t,20,25)+between(t,55,58))'"
for side,folder in [('before','run-20261110-base-2'),('after','run-20261110-head-2')]:
 subprocess.run(['ffmpeg','-v','error','-y','-i',str(root/folder/(side+'.mp4')),'-vf',mask+','+startup,'-c:v','libx264','-preset','fast','-crf','22','-pix_fmt','yuv420p',str(out/(side+'-recording.mp4'))],check=True)
 subprocess.run(['ffmpeg','-v','error','-y','-i',str(out/(side+'-recording.mp4')),'-vf','fps=1/3,scale=640:360,tile=4x6','-frames:v','1',str(out/(side+'-recording-review.png'))],check=True)
