HTML and CSS feel fundamentally better suited for slide decks than JSON. At their core, most slides just boil down to simple flexbox structures:

  ┌─────────────────────────────────────────┐
  │ ┌─ Row 1 Container ───────────────────┐ │
  │ │ ┌─ 4-way padding ─────────────────┐ │ │
  │ │ │ [ Text Content ]  (child node)  │ │ │
  │ │ └─────────────────────────────────┘ │ │
  │ └─────────────────────────────────────┘ │
  │                  ↕ gap                  │
  │ ┌─ Row 2 Container ───────────────────┐ │
  │ │ ┌─ 4-way padding ─────────────────┐ │ │
  │ │ │ [ Text Content ]  (child node)  │ │ │
  │ │ └─────────────────────────────────┘ │ │
  │ └─────────────────────────────────────┘ │
  │                  ↕ gap                  │
  │ ┌─ Row 3 Container ───────────────────┐ │
  │ │ ┌─ 4-way padding ─────────────────┐ │ │
  │ │ │ [ Text Content ]  (child node)  │ │ │
  │ │ └─────────────────────────────────┘ │ │
  │ └─────────────────────────────────────┘ │
  └─────────────────────────────────────────┘
Layouts like this are naturally expressed using CSS and a layout tree, rather than forced into hardcoded coordinates.

For layouts that need to be static with a fixed page size like PowerPoint slides it's better to have specific placement, otherwise you will be constantly fighting with the layout engine. It's just a tradeoff I guess.