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.