each render quantum
          for (let k = 0; k < kData.length; k += BLOCK) {
            const slice = kData.slice(k, k + BLOCK);
            assert_all_close(slice, slice[0],
                `Panner ${param.name} k‑rate frames [` +
                `${k}, ${k + slice.length - 1}]`
            );
          }

          // (No strict requirement on a‑rate slice variability, so we skip.)
        }, `Panner k‑rate vs a‑rate – ${param.name}`);
      });

      // Test k-rate automation of the listener