### `wai.live.compose`: ad frames, a squeeze and a double box

- **The layouts** ([live-compose](extensions/live-compose.md) §5.9): layout 3, a squeeze, the
  program in a window in one corner over the ad, which shows in the L around it; layout 4, a
  double box, the program and the ad in two boxes side by side, each tile 16:9 (or of the
  descriptor's aspect) in its box. The ad participant is the one whose `pip_attr` attribute is
  `true`; the program, the first of the others, a featured one first. The frame gives the
  program's tile, the ad's tile, and the ad's region as rectangles, and its share of the
  picture, as integer functions of the descriptor's fields, which stitched-presentation's
  records reuse. §3.3 holds a frame's fields: two tiles, a window smaller than the canvas both
  ways, a double box's side. The corpus gains squeezes in every corner, double boxes on both
  sides and under aspect auto, the program alone, the ad alone, a featured program, and four
  descriptors refused `compose_invalid`; `live_compose_verify.py` lays them out itself.

