Skip to content

Large projects and caching

PageFlow avoids rendering every route as a live document at the same time. Its rendering and caching strategy is bounded so large graphs remain explorable.

Viewport rendering

Only nearby DOM previews and LeaferJS scene objects are mounted. Distant pages use compact representations. One selected page is promoted to a live iframe.

Thumbnail tiers

Nearby pages can use detailed previews. Distant pages use compact WebP thumbnails, and long pages can be split into viewport-mounted tiles. Stale thumbnails stay visible while replacements are captured.

Capture queue

Fonts, images, and a quiet DOM are awaited before capture. Work runs one page at a time, with the selected and visible pages receiving priority.

Layout and lookup

Graphs above 1,000 pages can move layout work to a Worker. A spatial index finds visible pages without scanning the entire graph during every viewport update.

Cache location

Persistent thumbnails are stored under:

text
.unplugin-pageflow/cache

Memory and disk caches use fixed LRU budgets. The directory is disposable development output and can be removed when you need a completely fresh capture.

Practical guidance

  • Group routes with meaningful path segments.
  • Provide stable dynamic parameter samples.
  • Keep preview pages deterministic with fixture data.
  • Use the readiness signal for long-running asynchronous pages.

Released under the MIT License.