Что сказать
«PPR fixes all-or-nothing — один cookies() делал whole route dynamic, терял static cache. Next prerenders static shell at build, holes где dynamic в Suspense. Request: shell + fallbacks instantly CDN, server resumes postponed, streams dynamic в holes same HTTP response. Unit static/dynamic — component, не route; Suspense boundaries = seam. Catch: dynamic API outside boundary poisons shell; PPR experimental canary-only Next 15 — не bet production без risk acceptance.»
Итог
PPR pitch: static shell + streamed holes + experimental caveat.