STICKY LIGHT SHOW — TWO-GROUP COLOR CHASE + DECODED VENUE PATCH

NEW TEST: test-two-groups/SSAutoLoop116.ssfile
Mini RF1 (ID 1406, universe 1, address 001) and first BO-IR4 ceiling group
(ID 1323, universe 1, address 251) exchange green and blue once per bar.
Odd bars: RF1 GREEN / ceiling group 1 BLUE.
Even bars: RF1 BLUE / ceiling group 1 GREEN.
16 bars, 16 adjacent color events on each of those two native fixture tracks.
These are color swaps; original intensity programming remains. Fixtures that
physically share address 251 will all follow that ceiling group.

INSTALL INTO A COPY
1. Close SoundSwitch and copy/back up the existing project.
2. In the copy, replace only SSAutoLoop116.ssfile with the same-named file from
   test-two-groups. Keep the exact filename. Do not replace the venue binary.
3. Reopen, select Sticky Light Show and the same Bank 4 / Random Autoloop 32
   used for the successful RF1 timing test.
4. Inspect Mini RF1 and the first BO-IR4 color tracks: each should have 16
   contiguous regions, with opposite colors. Play and check bar boundaries.

RESTORE
Close SoundSwitch and use previous-working-rf1/SSAutoLoop116.ssfile to restore
its user-confirmed 16-event RF1 sequence; original-blue restores the upload.

VENUE ANALYSIS
venue-patch.json lists all 13 native fixture entries with exact measured byte
offsets for their address fields, native IDs, profiles, modes and ranges.
The two supplied venue snapshots have identical recovered patch assignments.
Addresses are native zero-based offsets plus one, calibrated with RF1 CH:1.
All 13 footprints fit universe 1 without overlaps, using 429 channels.
The venue spans 001–512 with unused gaps. Do not sequentially readdress it.
The 81 AutoLoop rows include fixture zones, not 81 independent physical lights.

LIGHTING LAB MAPPING
Ceiling groups: 251 / 261 / 271 / 281.
Three paired tube groups: 011 / 091 / 171, using the venue's Rock Saber Mode 5
profile (80 channels / 16 cells), replacing the demo's 40-channel assumption.
Movers: 371 / 393. Geyser: 415. Washes, in source order: 473 / 430.
RF1: 001. Physical clone counts/placement remain from the earlier Lab layout;
the binary alone does not establish those. Shared PAR compatibility still
follows the user's existing arrangement and is not independently verified.

VALIDATION AND LIMITS
- Reparsed all 81 tracks, all 10 measured absolute references, and both event
  arrays after insertion. Both edit orders produce identical output.
- Reversing the two edits restores the uploaded file byte for byte.
- Only selected color counts/events and required pointer relocations change.
- No movement, fog, laser, intensity, or venue address bytes were edited.
- This new two-group native test needs SoundSwitch reopen/playback validation.
  Prior RF1 single-color and multi-event tests were confirmed by the user.
- This remains a template-based native experiment, not a general show exporter.

analyze_venue.py is read-only and sample-specific; native_writer.py and
build_test.py are reproducible guarded experiments. validation.json includes
hashes and checks. Original venue binaries are not duplicated in this package.
