feat: grim reaper scythe swing, speech bubbles, and proximity reactions#84
Conversation
Agent-Logs-Url: https://github.com/nitrocode/token-deathclock/sessions/ffd6423b-95ff-4c44-be0e-f357323581ec Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 13 minutes and 16 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
👁️ PR Preview
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #84 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 1
Lines 242 242
Branches 109 109
=========================================
Hits 242 242
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
The grim reaper was a static decoration. This adds interactive behaviour: periodic scythe swings with a visual animation, speech bubbles with thematic quotes, and reactions to mouse proximity and clicks/taps.
Changes
HTML (
index.html)<line>+<path>in<g class="reaper-scythe-group">to enable independent transform animation#reaper-bubblediv inside#grim-reaperfor the speech bubbleCSS (
styles/scary-features.css)@keyframes reaper-scythe-swing— multi-step arc (−26° → +20° → settle) pivoting at grip point viatransform-box: fill-box; transform-origin: 84% 68%.reaper-swinging .reaper-scythe-group— one-shot animation trigger class.reaper-bubble/.reaper-bubble.visible— red-bordered speech bubble with CSS tail arrow, fade transition.reaper-proximity .reaper-eye-inner— intensified eye glow when cursor is nearbyprefers-reduced-motionguards on all new animationsJS (
src/js/18-scary-features.js+21-boot.js)initGrimReaper()wires three interaction modes:mousemovelistener throttled viarAF; triggers on cursor entering a ≤140 px / ≤100 px zone around the reaper; shows hover quote + swing, adds.reaper-proximity; correctly removes it on exitsetTimeout-chain fires every 25–55 s (randomised), shows one of 15 idle quotes + swing; guards against unbounded chain if element is removedTests (
tests/e2e/death-clock.spec.js)