Skip to content

Morphs the DOM on content edits instead of reloading the whole page - #177

Merged
breezykermo merged 1 commit into
mainfrom
feat/idiomorph-reload
Sep 17, 2026
Merged

breezykermo merged 1 commit into
mainfrom
feat/idiomorph-reload

Conversation

@breezykermo

@breezykermo breezykermo commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Following forester's example, we can do more granular updates in the HTML dev server using idiomorph.

The dev server split one reload event into two. A rebuild triggered only by .typ sources now refetches the page and morphs it into the live DOM, so scroll position, focus, selection, open and media playback survive an edit. A rebuild that touched a declared asset, a copy-glob match, a font or rheo.toml still navigates, since the browser holds those bytes under an unchanged URL and a morph would never refetch them.

The watcher now reports which, and serves Idiomorph plus the client from /.rheo/live.js.

@breezykermo
breezykermo marked this pull request as ready for review September 17, 2026 15:45
@breezykermo
breezykermo merged commit 43b6d34 into main Sep 17, 2026
14 of 15 checks passed
@breezykermo
breezykermo deleted the feat/idiomorph-reload branch September 17, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant