framework: opt-in client-side router #8

Open
opened 2025-06-13 17:00:20 -07:00 by clo · 0 comments
Owner

my original experimentations in 2022 had a client-side router that was about 2kb, so it could be defer-loaded on every page. it made navigation faster and could perform pre-fetching. my reasons for not having it on this site is:

  • it used a custom binary format for pages, which i did not port over. this format gave layouts unique IDs so it could tell when to switch out the entire page, or just the content. it also knew about client-side component islands, which is a concept that got removed as sitegen no longer follows react-like "use client" boundaries.
  • i wanted to use CSS view transitions, but animated view transitions don't actually look that good.
  • paperclover.net is fast enough once the technology layer was simplified.

it would be cute to have this back though, the tech was really ahead of it's time.

my original experimentations in 2022 had a client-side router that was about 2kb, so it could be defer-loaded on every page. it made navigation faster and could perform pre-fetching. my reasons for not having it on this site is: - it used a custom binary format for pages, which i did not port over. this format gave layouts unique IDs so it could tell when to switch out the entire page, or just the content. it also knew about client-side component islands, which is a concept that got removed as sitegen no longer follows react-like "use client" boundaries. - i wanted to use CSS view transitions, but animated view transitions don't actually look that good. - paperclover.net is fast enough once the technology layer was simplified. it would be cute to have this back though, the tech was really ahead of it's time.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: clo/sitegen#8
No description provided.