Switch initiator to @onpointerdown; capture the pointer on the knob element through a new knob.ts helper so pointermove/up/cancel reach the knob even when the cursor leaves the window. Accurate comment; IAsyncDisposable cleanup.