Skip to content

fix(cursor): full 3D click press at the named bounce levels, click impact under click bounce - #846

Merged
EtienneLescot merged 2 commits into
integration/demo-never-uglyfrom
claude/click-bounce-3d-impact-row
Sep 26, 2026
Merged

EtienneLescot merged 2 commits into
integration/demo-never-uglyfrom
claude/click-bounce-3d-impact-row

Conversation

@EtienneLescot

@EtienneLescot EtienneLescot commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Two cursor pane fixes, from testing the click impact change (#836).

  • 3D cursor click press: MODEL_CLICK_BOUNCE_REF was still 2.5, the old default. Since the named levels (None 0, Light 1, Strong 2), Light gave the modelled cursor 40% of its designed press and Strong 80%, so the three levels barely differed. It is now 1, the default: Light is the designed press, Strong twice it (the old slider maximum). At the trough, Light goes from 22° to 28° of pitch, 88% to 70% thickness and a 40% ring to a full one; Strong from 26° to 38°, 76% to 55%, and a full ring 1.25× larger. The flat sprite is unchanged.
  • Click impact sits right under Click bounce instead of at the top of the pane. Still hidden while the cursor is hidden.

Related issue

None.

Type of change

  • Bug fix
  • Feature
  • Enhancement
  • Documentation
  • Refactor / maintenance
  • Performance
  • Security

Release impact

  • Patch
  • Minor
  • Major / breaking change
  • No release note needed

Desktop impact

  • Windows
  • macOS
  • Linux
  • Installer / packaging
  • Not platform-specific

Screenshots / video

Not attached.

Testing

  • cargo test -p openscreen-compositor --lib: 373 pass. D3D11 cursor_model_render, cursor_tap_render, device_frame_render: 30 pass. Their scenes pass 2.5, so they now exercise Strong.
  • Cursor pane tests (new: the impact row follows the bounce levels), tsc app and tests, Biome: clean.
  • Full unit suite, locally on Windows: 274 of 275 files pass. The red one is .github/scripts/stable-release-notes.test.mjs, which fails on any CRLF checkout and passes on Linux. ci.yml does not run on PRs to this base.
  • Not run: a check in the real app.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • Click-bounce levels now directly control the modeled cursor’s pitch and thickness changes, as well as the click-impact ring’s size and opacity.
    • The “Click impact” toggle now appears after the click-bounce level controls in the Cursor pane.

…vels

MODEL_CLICK_BOUNCE_REF was still 2.5, the old default. Since the named
levels (None 0, Light 1, Strong 2), Light gave the modelled cursor 40% of
its designed press and Strong 80%, so the levels barely differed. It is
now 1, the default: Light is the designed press, Strong twice it.
@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 680e6b7c-e8c9-48db-bed3-1e2e45b4cf81

📥 Commits

Reviewing files that changed from the base of the PR and between fb4718e and a053e70.

📒 Files selected for processing (4)
  • crates/compositor/src/frame_geometry.rs
  • docs/3d-effects-v2.md
  • src/components/ai-edition/CursorPane.levels.test.tsx
  • src/components/ai-edition/RightPanes.tsx

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 1 remain after this review.


📝 Walkthrough

Walkthrough

The modeled cursor’s click-bounce reference changes from 2.5 to 1.0. The effect documentation uses clickBounce directly. The Cursor pane moves the click-impact toggle after the click-bounce control and adds a test for its position.

Changes

Cursor click effects

Layer / File(s) Summary
Click-bounce reference and modeled effects
crates/compositor/src/frame_geometry.rs, docs/3d-effects-v2.md
The model reference changes to 1.0, and documentation formulas use clickBounce directly. Compositor tests use the reference constant instead of the former literal; their assertions remain unchanged.
Click-impact control placement
src/components/ai-edition/RightPanes.tsx, src/components/ai-edition/CursorPane.levels.test.tsx
The click-impact toggle moves after the click-bounce control. Its visibility condition and update behavior remain unchanged. A layout test checks the control order.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to a053e

Light and Strong retain their intended 3D press levels, and Click impact moves below Click bounce without changing its setting behavior. The change is ready to merge after normal checks.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies both primary cursor fixes: full 3D click press at named bounce levels and moving Click impact below Click bounce.
Description check ✅ Passed The description follows the required template and includes a clear summary, change type, release impact, platform impact, and detailed testing results. It also documents the known full-suite failure a…
Docstring Coverage ✅ Passed Docstring coverage is 80.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 3 files. (1 skipped: 1 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Warning

Some tools did not complete. Review the errors below.

🔧 Clippy (1.98.1)

Clippy execution failed


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@EtienneLescot

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@EtienneLescot
EtienneLescot merged commit 3207df2 into integration/demo-never-ugly Sep 26, 2026
5 checks passed
@EtienneLescot
EtienneLescot deleted the claude/click-bounce-3d-impact-row branch September 26, 2026 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant