ca38c2b16d
Operator: "the melee ability needs visual clarity, on what it does." The cleave is instant (kept — operator chose instant + VFX), and the arc already matched the exact cone range/half-angle — but it popped whole then faded (read as a flash) and all 3 combo steps looked byte-identical. Client-only, observe-only (PresentationSystemGroup), no sim/netcode change, rollback-safe by construction: - SWEEP: BuildSlashMesh takes a reveal fraction + sweep sign; UpdateSlash rebuilds the crescent each frame so the blade wipes across the arc over the first ~60% of life, then holds + fades. Leading edge is brightest. Sweep direction alternates per combo step -> reads as alternating strikes. - PER-STEP RAMP: TriggerSlash takes step + comboLen; tint/brightness/life ramp per link so the chain visibly builds to the warm-HDR finisher (steps were indistinguishable before). Facing is already snapped at the swing edge. Compiles clean, no runtime exceptions (per-frame 33-vert rebuild is negligible). The on-screen feel is the operator's eyes. Deferred to a feel follow-up (they share the enemy-cache / damage-edge code path): connect-vs- whiff flash, co-op remote-swing rendering, and enemy hit-flash. Investigation: wf_c6c87dc5-9c3 (melee lane). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>