SSGOI 6.6.10
This release rolls up everything added since the previous GitHub release, v6.6.0, and brings the complete package family back into lockstep.
All seven packages are published to npm with the latest tag at 6.6.10:
@ssgoi/core@ssgoi/angular@ssgoi/qwik@ssgoi/react@ssgoi/solid@ssgoi/svelte@ssgoi/vue
More faithful outgoing pages and route matching
- Real outgoing DOM reuse: unmounted pages now animate using the detached original node instead of
cloneNode(true). Live input values, canvas contents, media state, and scroll position survive through the exit transition. (#360) - Stronger path matching: route matching now normalizes paths, supports segment parameters plus
*and**wildcards, and resolves overlapping rules by specificity. React apps also gained pathname-based transition boundary helpers for layout-level routing. (#362) - Middleware-aware scroll preservation: routes rewritten by
SsgoiConfig.middlewarenow record, restore, and calculate outgoing scroll under the same resolved identity, preventing the leaving page from snapping to the top. (#364)
New Sheet blur and better overlay behavior
sheet({ type: "blur" }) adds a third Sheet tone alongside static and scale. The background page recedes and dims while a separate full-viewport backdrop-filter layer sits between it and the incoming sheet.
The same work fixed shared overlay and scroll behavior:
- scrolled background pages retain their full content height instead of exposing a white band;
- blur overlays remain anchored to the live viewport inside a scrolling container;
- Zoom blur receives the same viewport-overlay fix.
The new Voyage demo shows the effect in a travel-story compose flow. (#365)
Media-aware Hero and Zoom transitions
Hero and Zoom now share an automatic media-geometry resolver. For compatible image endpoints, SSGOI can infer:
- intrinsic aspect ratio;
- computed
object-fitand centered media placement; - the visible clipping window;
- simple uniform border radius;
- the translation, scale, crop, and radius interpolation needed to move between the two rendered images.
Ambiguous or unsupported structures fall back atomically to the existing bounding-box transition. Deprecated manual aspect/radius attributes remain runtime-compatible, while the public docs and demos now use automatic inference. (#374)
Smoother timing and WAAPI startup
Animation startup received several layers of hardening:
- new WAAPI animations are held at
0msuntil the browser acknowledges the pending pause and reaches the rendering barrier; - live poses are sampled from WAAPI
currentTimeinstead of a separate wall clock; - a shared
requestAnimationFramescheduler protects the mount-sensitive startup window, capping one delayed rendering opportunity at 33.3 ms of animation progress; - after two stable frames, playback returns to native WAAPI so eligible effects can continue on the compositor;
- sequence and stagger children start from the preceding child's live progress instead of a timer that could run before the animation was visibly ready.
Motion was also retuned across the snappy x-axis, static Sheet, Drill parallax, and Zoom blur presets for softer or tighter settling where appropriate. (#371, #373, #377)
Qwik, SolidStart, and release tooling
- Added the
@ssgoi/qwikadapter and a Qwik City reference template, including QRL config resolution and updated setup documentation. (#366) - Added a SolidStart SSR template with nested product/category transition boundaries and SSR-compatible Solid exports. (#367)
- Added lockstep release tooling that auto-discovers every publishable
packages/*package, supports sync/bump/build/publish flows, and rolls version files back after a failed build. - Deduplicated Rollup through workspace overrides, fixing the Vue build type mismatch at its source. (#368)
Docs and demos
- Added a nested-boundaries guide and reusable mobile tab/detail shells. Tab content can animate without remounting its persistent bottom navigation, while the entire shell still transitions when opening a detail route.
- Rolled the persistent-main / nav-free-detail pattern across the mobile demos.
- Restructured
llms.txtinto a React-first core guide with linked framework-specific, bottom-navigation, and internals references. - Refreshed the blog and added a View Transition API limitations and workarounds deep dive with recorded demos and per-post social metadata.
- Added a KakaoTalk long-chat fixture that mounts and auto-scrolls during transition startup.
Compatibility and verification
- No breaking public API changes are required for existing applications.
- Core test suite: 12 files, 82 tests passed.
- Core lint passed.
- All seven packages built and published successfully.
- Published framework adapters resolve
@ssgoi/coreas^6.6.10.