Phase 4b shipped Seed + RenderFaded + Tick + Refresh against the
sdkfade primitives but the test file still only covered the original
no-fade behavior. These add:
- Add() populates Seed
- RenderFaded == Render when d <= N (safe period)
- RenderFaded masks underscores once d crosses the safe period
- Tick drops entries past the M% threshold + leaves fresh ones
- Refresh resets LastRefreshAtTurn + regenerates Seed