[codex] smooth panel feather motion#184
Conversation
|
Warning Review limit reached
More reviews will be available in 45 minutes and 17 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughIntroduces a ChangesPanel Feather Motion
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai full review |
✅ Action performedFull review finished. |
f1364e2 to
775f1c6
Compare
371ee2a to
7039ec9
Compare
|
@coderabbitai full review |
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/ui/side_panel/flourish.rs`:
- Around line 260-269: `class_params` is deriving `variant` from `i % 3`, but
because `feather_class()` already buckets by `i % 6`, that value is fixed for
each `FeatherClass` and never varies per particle. Update `class_params` so the
size/speed/wobble tuning is driven by the class itself (or another per-particle
source) instead of `i % 3`, and keep the logic aligned with `FeatherClass` and
`feather_class()`.
- Around line 321-322: The drag_factor helper currently applies a linear clamp,
which makes motion vary with frame cadence and can zero out velocity on long
frames. Update drag_factor in flourish::drag_factor to compute drag using
elapsed time in a frame-rate-independent way so the same total time yields the
same result regardless of how it is split across frames. Keep the fix localized
to the drag_factor function and any callers that rely on its returned
multiplier.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: d0ffd0c0-91cf-4466-a07f-13dff1cb7cf1
📒 Files selected for processing (7)
docs/superpowers/plans/2026-06-26-panel-feather-edge-emitter-snippets.mddocs/superpowers/plans/2026-06-27-panel-feather-motion.mddocs/superpowers/specs/2026-06-27-panel-feather-motion-design.mdsrc/ui/side_panel/flourish.rssrc/ui/side_panel/flourish_view.rssrc/ui/side_panel/mod.rstests/side_panel_flourish.rs
|
CodeRabbit finishing-touch item handled: the unit-test suggestion was addressed in 24046dd by adding regression coverage for same-class particle variation and long-frame drag behavior ( |
* refactor(ui): address panel-feather flourish review follow-ups Review follow-ups for the merged #182/#184 feather work: - Remove the dead close-burst path. Feathers emit on panel *open* only; the Close transition just clears them. The `transition` parameter threaded through emit -> seed_particles -> seed_particle and the Close `rotation_bias` branch were unreachable from the app (only a test still seeded with Close). Drop them. - panel_burst_emitter now falls back to Center on a zero-length edge (a panel collapsed to zero height/width) instead of seeding a degenerate edge line that stacks every particle on one point. Pinned with a test. - De-brittle the motion tests: assert the dust-vs-feather ordering invariants instead of absolute pixel margins coupled to current tuning, and assert lateral spread across the feather set rather than hunting for two particles with byte-identical seeds (which panicked on any seeding refactor). - Split the now over-budget side_panel_flourish.rs (>400) into emitter-geometry and motion suites sharing a flourish_support module. - Small cleanup: compute wobble phase advance once per tick; reconcile the design spec's Non-Goals with the shipped open-only behavior. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * style: apply cargo fmt to flourish tests Fixes the CI lint (cargo fmt --check) failure on this branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs: sync feather emitter spec with shipped emit API The spec still showed the removed transition parameter on PanelFlourish::emit, mentioned the dropped close-transition rotation bias, and omitted the side_panel_flourish_emitter test binary. Addresses CodeRabbit nitpick on PR #188. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ci(deny): ignore quick-xml RUSTSEC-2026-0194/0195 pending upstream bump Both advisories are DoS-via-untrusted-XML in quick-xml < 0.41. The sole consumer is wayland-scanner, a build-time proc-macro parsing vendored Wayland protocol XML; no untrusted XML is parsed at runtime, so neither issue is reachable in the shipped binary. wayland-scanner 0.31.10 (latest) still pins quick-xml ^0.39 — drop these ignores when it moves to 0.41. Closes #192. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Summary
Validation
cargo fmt --checkcargo test --test side_panel_flourishcargo test app::panels::testscargo clippy --all-targets -- -D warningscargo testcargo build --releasewc -l src/ui/side_panel/flourish.rs src/ui/side_panel/flourish_view.rs tests/side_panel_flourish.rs docs/superpowers/plans/2026-06-27-panel-feather-motion.md docs/superpowers/specs/2026-06-27-panel-feather-motion-design.mdgit diff --checkCloses #183.
Summary by CodeRabbit
New Features
Bug Fixes
Tests