#!/usr/bin/env bash # Tier 3 — layout matrix: bar at top/bottom (horizontal) and left (vertical), # plus a HiDPI (scale 2) run. Each must launch and render without a crash or # sanitizer/critical error. Screenshots are uploaded for visual inspection. # # Usage: positions.sh [screenshot-dir] set -euo pipefail DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # shellcheck source=lib.sh source "$DIR/lib.sh" SHOTDIR="${1:-layout-shots}" mkdir -p "$SHOTDIR" smoke::setup trap smoke::stop EXIT fails=() # run_case run_case() { local name="$1" pos="$2" scale="$3" echo "::group::layout: $name (position=$pos scale=$scale)" SCALE="$scale" smoke::start_compositor || { fails+=("$name"); echo "::endgroup::"; return; } local cfg; cfg="$(mktemp --suffix=.json)" cat > "$cfg" <