All panels below come from just website-figures
(uv run python -m src.plot_results_figures).
Files live under results/figures/, named after each *.json under results/.
Each eval JSON under results/ produces four files in results/figures/: <stem>_heatmap.png/.pdf and <stem>_block_rate.png/.pdf, where <stem> matches the JSON path (nested dirs use __). Threshold τ = 0.75.