The Bun-based benchmark alone is misleading: Bun's JavaScriptCore engine
optimizes Array.shift() well enough that it shows almost no difference
between the old and new implementation, even though this component runs
in users' browsers (predominantly V8), where the gap is real and grows
with graph size. Added bench-cluster-assignments-v8.mjs, a standalone
zero-dependency script runnable with plain `node`, so the V8 numbers are
independently reproducible rather than just asserted. Both benchmarks now
print a warning when run under the wrong engine and go up to 100k nodes.