Monorepo for Aesthetic.Computer
aesthetic.computer
Suck Function - Direction & Wrapping Fixes Applied ✅#
🔧 Major Fixes Applied:#
✅ Corrected Direction Logic#
- FIXED:
direction = suckAccumulator > 0 ? 1 : -1 - Positive values (suck 1) = inward motion toward center ✅
- Negative values (suck -1) = outward motion away from center ✅
- Direction now works intuitively as expected!
✅ Fixed Wrapping for True Circulation#
- FIXED:
srcDistance = distance - (direction * displacementSteps) - Proper modulo wrapping using while loops for complete circulation
- True wrap-around: pixels that move past edges emerge from opposite side
- No more incomplete circulation - patterns will fully reset and flow
✅ Pixel-Perfect Preservation#
- Nearest neighbor sampling only - no blur from interpolation
- Discrete integer steps prevent fuzzy artifacts
- No center holes - minimum radius prevents burning
- Lossless pixel copying with direct RGBA transfer
🌊 True Circulation Behavior:#
- Inward Flow (suck 1): Pixels move toward center, wrap to outer edges
- Outward Flow (suck -1): Pixels move away from center, wrap from edges
- Complete Reset: Patterns will eventually return to original state through wrapping
- Continuous Evolution: Each frame builds on previous for living animation
🎯 Fixed Control:#
(suck 0.5)- Gentle inward spiral ✅(suck 1)- Moderate inward vortex ✅(suck -0.5)- Gentle outward expansion ✅(suck -1)- Moderate outward flow ✅
🎨 Clean Results:#
- Sharp, pixel-perfect motion with no blur
- True directional control that matches intuition
- Complete circulation where inside becomes outside
- Reversible effects that can return to original state
🧪 Test Commands:#
Try these to verify the fixes:
(suck 1)followed by(suck -1)- should work in opposite directions correctly!(s0.1 (suck 0.5))- continuous inward spiral(s0.1 (suck -0.5))- continuous outward expansion
The suck function should now behave exactly as intended with proper directionality and true circulation! 🌪️✨