customer-presentation/protected
Jonathan Hvid 0c4b3a438e overview: pin-with-scrub-release on cards & roadmap; fix dot-nav
initCards and initRoadmap now use a pin-with-scrub-release pattern
instead of a simple scroll-tied fade. Each section fades in over ~50vh
as it approaches viewport centre, locks in place for 100vh of scroll
input (cards extends to 150vh and fades out while still pinned;
roadmap stays visible as the page ends), then releases. Scroll itself
is never blocked — wheel/keyboard/touch all advance scroll normally
against the pin budget. platform-cards is removed from bifrost's
sticky-damping list since the new pin handles the dwell.

Dot-nav fixes for the new pins:
- activatePage now also calls __platform.init() in the same tick as
  __bifrost.init(), so pin spacers exist before scrollTo reads
  target offsets. Previously platform's MutationObserver-driven init
  fired ~80ms after scrollTo, leaving roadmap.offsetTop pointing at
  the pre-spacer position (empty space between cards and roadmap).
- scrollTo walks the offsetParent chain via offsetTopWithin() instead
  of reading target.offsetTop directly. ScrollTrigger's pinSpacing
  wraps pinned sections in a pin-spacer with position:relative, which
  becomes the section's offsetParent and makes target.offsetTop
  return ~0 — collapsing every dot click to scrollY=0 (hero).
- getSceneAnchorOffset adds cases for platform-cards / platform-roadmap
  returning (section.height - vh) / 2, so the user lands exactly at
  the pin-engagement point with the full pin budget remaining.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:53:01 +02:00
..
_archive customer-presentation: convert deck from Bifrost invitation to customer-facing 2026-05-20 12:56:30 +02:00
fenja major great updates 2026-04-23 14:54:25 +02:00
mobile mobile: enlarge masthead logo, add breathing room, kill underline 2026-04-24 11:08:27 +02:00
vendor Merge Project Bifrost scenes into the Overview page 2026-04-22 17:48:44 +02:00
bifrost.js overview: pin-with-scrub-release on cards & roadmap; fix dot-nav 2026-05-20 14:53:01 +02:00
deepdive.html deepdive: add Beat-5 'Everything Client-Managed' frame around platform stack 2026-05-19 15:11:05 +02:00
index.html roadmap: replace section headline with 'One foundation, many use cases.' 2026-05-20 13:50:28 +02:00
platform.css roadmap: rename Wave cards to Knowledge/Tools/Agents, drop duration meta 2026-05-20 13:26:55 +02:00
platform.js overview: pin-with-scrub-release on cards & roadmap; fix dot-nav 2026-05-20 14:53:01 +02:00
timeline.js overview: pin-with-scrub-release on cards & roadmap; fix dot-nav 2026-05-20 14:53:01 +02:00