• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

humanspeak / svelte-motion / 28749693314
60%
main: 57%

Build:
Build:
LAST BUILD BRANCH: fix/presence-exit-placeholder-slot
DEFAULT BRANCH: main
Ran 05 Jul 2026 05:57PM UTC
Jobs 1
Files 254
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Jul 2026 05:55PM UTC coverage: 59.772%. First build
28749693314

push

github

web-flow
fix(interaction): honor resolved transition for whileTap, delegate to motion springs (#433)

whileTap ignored the resolved transition entirely: a component `transition`
prop / `<MotionConfig>`, an inline `whileTap.transition`, and the base
variant's transition all had no effect on the tap. Both press and release ran
a hardcoded cubic-bezier (`[0.22, 1.1, 0.36, 1]`) — a tween pretending to be a
spring, matching neither framer's spring feel nor a clean settle.

Resolve the gesture transition with framer-motion's precedence instead:
- press:   inline `whileTap.transition` -> component/MotionConfig -> defaults
- release: base variant `animate` transition -> component/MotionConfig -> defaults
- when none is set, pass no transition so motion-dom applies its own per-value
  defaults (scale/other-transform springs, ease for the rest) — exact parity,
  inheriting upstream tuning for free.

The inline `whileTap.transition` is now split out (mirrors splitHoverDefinition)
so it can drive the press and never leaks into the animated keyframes. The
hover-reapply-after-tap path now honors the hover definition's own transition.

The hardcoded tweens originally existed to dodge a spring "velocity
accumulation" runaway during rapid press/release. That was tied to now-removed
manual transform rebasing; motion values are reused across taps so velocity is
continuous. A new rapid-tap e2e hammers 25 press/release cycles at the spring's
resonant cadence and asserts scale stays bounded and settles to rest.

Verified against upstream (~/Github/motion):
- motion-dom/.../utils/default-transitions.ts (getDefaultTransition)
- motion-dom/.../interfaces/motion-value.ts (per-value application)
- motion-dom/.../interfaces/visual-element-target.ts (component precedence)
- motion-dom/.../generators/spring.ts:260 (scale 550/30 is underdamped, ~7%
  overshoot by design — not critically damped)

- Add tap-only rapid-tap demo page + e2e; link from tests index
- Document tap-transition tuning... (continued)

852 of 1647 branches covered (51.73%)

Branch coverage included in aggregate %.

3292 of 5286 relevant lines covered (62.28%)

23.28 hits per line

Jobs
ID Job ID Ran Files Coverage
1 node-22 - 28749693314.1 05 Jul 2026 05:56PM UTC 254
59.77
GitHub Action Run
Source Files on build 28749693314
  • Tree
  • List 254
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28749693314
  • 5d49ae65 on github
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc