Release 1.30.0
28 Sep 2026 · pinned package [email protected]
Pages never show unstyled, and moving between them looks finished. web-runtime.js: a feature's stylesheets (its dependencies' too, rt.stylesOf(name)) start downloading together with its markup fragment, and the fragment is inserted only once they have loaded (or timed out), so a route no longer flashes unstyled markup for a moment. New rt.enter(section, work, { label }): the page's content stays hidden while its route loads, keeping its space (no layout jump), and is shown when the work settles, failure included. On the first in-site move the runtime fetches the new route-transition.js from next to itself (a browser file in files.js, export openvibe-shared/route-transition): a progress bar across the top, after 150 ms a centred "Loading Content…" line with the current phase under it (<prefix>:phase events: "applying styles", "starting up", or the site's own rt.status(text)), then an opacity-only fade-in (a transform would make the page the containing block of its fixed children). Theme tokens colour it; reduced motion gets none of the animation. The first page of a visit is never animated (it arrived server-rendered). The runtime's usage notes moved to the README ("The web runtime"), keeping it at 6.2 KB brotli (budget 6.5); the transition layer is 1.6 KB and loads only when someone moves.
Rules4 Calm makes motion smaller and slower. Only Off removes it.20 Status is a word, never colour alone.