Constconst [windEffects, setWindEffects] = useState<WindEffect[]>([]);
// On Son technique execution
const handleWindTechnique = (position: [number, number, number], direction: [number, number, number]) => {
setWindEffects([...windEffects, {
id: generateId(),
position,
direction,
intensity: 1.0,
startTime: Date.now(),
}]);
};
<WindParticles3D
effects={windEffects}
enabled={visualEffects.wind}
isMobile={isMobileDevice}
onEffectComplete={(id) => {
setWindEffects(prev => prev.filter(e => e.id !== id));
}}
/>
WindParticles3D Component
Renders physics-based wind particles that swirl along Son (Wind) technique strike paths. Uses instanced rendering for 60fps performance on mobile and desktop.