Implement a simulated useDebounce returning a debounced setter.
solve(delay, ops) with simulated time. Each op is { time, value }.
The debounced state updates only when no new value comes within delay ms.
Return the final committed values in chronological order.
Sample tests