[codex] spread panel feathers across full edge#182
Conversation
|
Warning Review limit reached
More reviews will be available in 43 minutes and 30 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 (8)
📝 WalkthroughWalkthroughReplaces the ChangesPanel Feather Edge Emitter
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/superpowers/plans/2026-06-26-panel-feather-edge-emitter-snippets.md (1)
107-120: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueUse
floating_panel()helper for consistency.The
floating_panel_emits_from_centertest inlines itsPanelRectwhile the other tests use helper functions. The actualtests/side_panel_flourish.rsalready defines and uses afloating_panel()helper (seetests/side_panel_flourish.rs:56-65). Update the snippet to match for consistency and to avoid drift if the helper values change.🤖 Prompt for 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. In `@docs/superpowers/plans/2026-06-26-panel-feather-edge-emitter-snippets.md` around lines 107 - 120, The floating_panel_emits_from_center test is inlining PanelRect instead of using the existing floating_panel() helper, which makes it inconsistent with the other panel tests and easier to drift. Update the test snippet in panel_burst_emitter to construct the panel via floating_panel() and keep the assertion on BurstEmitter::Center using the helper’s center value so it stays aligned with tests/side_panel_flourish.rs.
🤖 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.
Nitpick comments:
In `@docs/superpowers/plans/2026-06-26-panel-feather-edge-emitter-snippets.md`:
- Around line 107-120: The floating_panel_emits_from_center test is inlining
PanelRect instead of using the existing floating_panel() helper, which makes it
inconsistent with the other panel tests and easier to drift. Update the test
snippet in panel_burst_emitter to construct the panel via floating_panel() and
keep the assertion on BurstEmitter::Center using the helper’s center value so it
stays aligned with tests/side_panel_flourish.rs.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: d88058e5-0393-46b9-92ff-52d3f2bf121e
📒 Files selected for processing (7)
docs/superpowers/plans/2026-06-26-panel-feather-edge-emitter-snippets.mddocs/superpowers/plans/2026-06-26-panel-feather-edge-emitter.mddocs/superpowers/specs/2026-06-26-panel-feather-edge-emitter-design.mdsrc/app/panels.rssrc/ui/side_panel/flourish.rssrc/ui/side_panel/mod.rstests/side_panel_flourish.rs
|
CodeRabbit body nitpick addressed: the Fixed in commit The branch was then rebased onto current Local verification:
|
f1364e2 to
775f1c6
Compare
* 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
BurstEmittermodel for full-edge docked panel emitters and center fallback.Validation
cargo fmt --checkcargo test --test side_panel_flourishcargo test app::panels::testscargo clippy --all-targets -- -D warningscargo testNotes
Summary by CodeRabbit
New Features
Bug Fixes