- Modified rainbow() to distribute colors along the physical length
- Each LED gets a different hue based on its position
- n1 parameter controls how many times the rainbow cycles (nodes)
- Split rainbow tests into test/rainbow/ directory with 9 numbered test files
- Each test runs forever until interrupted
- Added main.py to run all tests in sequence repeatedly
radiate: origins every n1, step by delay, stop when full, dark wave outward, ensure strip off at end, run once
alternating: use n1 as ON width and n2 as OFF width; phase via self.step
pulse: attack (n1), hold (delay), decay (n2); stop at end
tests: add specto sweep (n1_sequence) and radiate demo; include n index per message; use nested {name:{...}} schema; support iterations/repeat-delay