Fix GradientBlinds scroll drift on mobile #37

Merged
ragusa-it merged 2 commits from fix/gradient-blinds-mobile-scroll-5721743487777744153 into main 2026-01-30 00:17:00 +00:00
ragusa-it commented 2026-01-29 22:09:22 +00:00 (Migrated from github.com)

Modified GradientBlinds effect to be static relative to container on mobile devices (<=768px). This prevents the "ghost drift" effect where the spotlight position shifts during inertia scrolling because the animation loop was updating the target based on scroll offset.

On desktop, the existing behavior (tracking mouse with scroll compensation) is preserved. On mobile, the spotlight updates only on touch/drag events and remains fixed relative to the container during scrolling.


PR created automatically by Jules for task 5721743487777744153 started by @ragusa-it

Modified GradientBlinds effect to be static relative to container on mobile devices (<=768px). This prevents the "ghost drift" effect where the spotlight position shifts during inertia scrolling because the animation loop was updating the target based on scroll offset. On desktop, the existing behavior (tracking mouse with scroll compensation) is preserved. On mobile, the spotlight updates only on touch/drag events and remains fixed relative to the container during scrolling. --- *PR created automatically by Jules for task [5721743487777744153](https://jules.google.com/task/5721743487777744153) started by @ragusa-it*
google-labs-jules[bot] commented 2026-01-29 22:09:23 +00:00 (Migrated from github.com)

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to **Reactive Mode**. When this mode is on, I will only act on comments where you specifically mention me with `@jules`. You can find this option in the **Pull Request** section of your [global Jules UI settings](https://jules.google.com/settings). You can always switch back! New to Jules? Learn more at [jules.google/docs](https://jules.google/docs). --- *_For security, I will only act on instructions from the user who triggered this task._*
chatgpt-codex-connector[bot] (Migrated from github.com) reviewed 2026-01-29 22:11:22 +00:00
chatgpt-codex-connector[bot] (Migrated from github.com) left a comment

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7bc42f8d48

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

### 💡 Codex Review Here are some automated review suggestions for this pull request. **Reviewed commit:** `7bc42f8d48` <details> <summary>ℹ️ About Codex in GitHub</summary> <br/> [Your team has set up Codex to review pull requests in this repo](http://chatgpt.com/codex/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". </details>
chatgpt-codex-connector[bot] (Migrated from github.com) commented 2026-01-29 22:11:22 +00:00

P2 Badge Preserve pointer updates when mouseDampening=0 on mobile

When isMobileRef is true, onPointerMove now clears pointerPosRef. In the render loop, the no‑dampening path (mouseDampening <= 0) only applies mouseTargetRef if pointerPosRef is non‑null, so on mobile the spotlight never updates for users who set mouseDampening to 0. This is a regression from the previous behavior (touch/mouse would still move the spotlight) and will affect any consumer disabling dampening.

Useful? React with 👍 / 👎.

**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub> Preserve pointer updates when mouseDampening=0 on mobile** When `isMobileRef` is true, `onPointerMove` now clears `pointerPosRef`. In the render loop, the no‑dampening path (`mouseDampening <= 0`) only applies `mouseTargetRef` if `pointerPosRef` is non‑null, so on mobile the spotlight never updates for users who set `mouseDampening` to 0. This is a regression from the previous behavior (touch/mouse would still move the spotlight) and will affect any consumer disabling dampening. Useful? React with 👍 / 👎.
Sign in to join this conversation.