Deterministic stagger delays for a given payload key
(runKey: string, tileCount: number, maxDelayMs: number)
| 66 | |
| 67 | /** Deterministic stagger delays for a given payload key */ |
| 68 | function staggerDelaysForRunKey(runKey: string, tileCount: number, maxDelayMs: number): number[] { |
| 69 | const delays: number[] = []; |
| 70 | for (let i = 0; i < tileCount; i++) { |
| 71 | let n = 0; |
| 72 | const s = `${runKey}:${i}`; |
| 73 | for (let j = 0; j < s.length; j++) { |
| 74 | n = (n * 31 + s.charCodeAt(j) * (j + 1)) % 2147483647; |
| 75 | } |
| 76 | delays.push(n % maxDelayMs); |
| 77 | } |
| 78 | return delays; |
| 79 | } |
| 80 | |
| 81 | const receiveAuxStyles = StyleSheet.create({ |
| 82 | headerCloseButton: { |