Thanks for the reminder! This list brought up a vague memory of a project that I worked on back in 2010. Amazingly enough, when I pulled that old code out of storage and ran it on the glider-to-weekender-to-glider loop, the "recognizer" script worked like a charm.
It wrote out the following script, which has the advantage that it's a short enough representation of the loop pattern that it fits in a code box instead of having to be an attachment. Just copy the code out and use
in Golly.
It's under 23K just as it stands, or under 6K compressed, compared to 44K for the gzipped RLE. Compression could be improved quite a bit more if the script were adjusted to support recursive definitions -- e.g., building the various 180-degree reflectors out of "syringe", "eater", "eater2", "block", and so on.
Code: Select all
import golly as g
from glife import *
g.setrule("Life")
all = pattern()
splitter_weld2 = pattern(g.parse('13bo$12bobo$12bobo$13bo2$2o$bo$bobo$2b2o3$23b2o$23bo$21bobo$21b2o3$6bob2o$4b3ob2o$3bo$4b3ob2o$6bobo$6bobo$7bo$30b2o$25b2o2bo2bo$10b2o13bobo2b2o$9bobo16b2o$9bo19bo$8b2o16bo2bob2o$25bobob2obo$26bobo$27bo2b2o$28b2ob3o$34bo$13b2o13b2ob3o$13bo14b2obo$14bo$13b2o5b2o$12bo7b2o$12bo$11b2obo$10bo2b2o$10b2o3$33b2o$33b2o5$18bo$17bobo$17bobo$18bo$15b3o$15bo!',-13,0))
splitter_welded = pattern(g.parse('7b2o$7bo$7bo20b2o$7bobo18bo$8b2o16bobo$13bo12b2o$12bobo$12bobo$13bo2$2o$bo$bobo$2b2o3$23b2o$23bo$21bobo$21b2o3$6bob2o$4b3ob2o$3bo$4b3ob2o$6bobo$6bobo$7bo$30b2o$25b2o2bo2bo$10b2o13bobo2b2o$9bobo16b2o$9bo19bo$8b2o16bo2bob2o$25bobob2obo$26bobo$27bo2b2o$28b2ob3o$34bo$28b2ob3o$28b2obo2$20b2o$11b2o7b2o$12bo$12bobo$13b2o4$33b2o$33b2o5$18bo$17bobo$17bobo$18bo$15b3o$15bo!',-7,0))
splitter = pattern(g.parse('10b2o11bo$10b2o10bobo$22bobo2b2o3bo$21b2ob2o2bo2bobo$25bobo3bobo$21b2obo2b4obo$21b2obobo3bo$25bobo3bo$26bobo3bo$27bo3b2o$46bo$44b3o$43bo$18b2o23b2o$18b2o$3b2o$2bo2bo$bob2o$bo$2o$15b2o38b2o$15bo38bo2bo$16b3o36b2o$18bo11b2o$31bo$28b3o6bob2o17b2o$28bo6b3ob2o17bo$34bo24b3o$35b3ob2o20bo$37bobo$37bobo$38bo10b2o$49bo$50b3o$52bo!',-10,0))
A1_welded = pattern(g.parse('22bob2o$22b2obo$26b2o$28bo$28bo$26bob2o$26b2o2bo$29b2o4$32bo$8bo21b3o$8b3o18bo$11bo17b2o$10b2o5$9b2o$8bobo$8bo$7b2o3$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-22,0))
A1 = pattern(g.parse('28b2o$28bo$26bobo$26b2o5$32bo$8bo21b3o$8b3o18bo$11bo17b2o$10b2o5$9b2o$8bobo$8bo$7b2o3$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-28,0))
A2C4_weld3 = pattern(g.parse('15bo11bo$15b3o7b3o$18bo5bo$17b2o5b2o8$9b2o20b2o$9b2o20b2o8$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo3bo$2b2obo2bo15b4o$2bob2obobo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-15,0))
A2C4_weld2 = pattern(g.parse('15bo11bo$15b3o7b3o$18bo5bo$17b2o5b2o8$9b2o20b2o$9b2o20b2o8$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bob3o$16bo3bo$12b2o5bo$12bo2bo$14b2o$15bo$13bo$13b2o!',-15,0))
A2C4_welded = pattern(g.parse('15bo11bob2o$15b3o7b3ob2o$18bo5bo$17b2o5b2o8$9b2o20b2o$9b2o20b2o8$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-15,0))
A2C4 = pattern(g.parse('15bo11bo$15b3o7b3o$18bo5bo$17b2o5b2o8$9b2o20b2o$9b2o20b2o8$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-15,0))
B1 = pattern(g.parse('52bo$50b3o$49bo$49b2o3$33b2o14b2o$34bo14bobo$34bobo13bo$35b2o8$25bo$23b3o$7bo14bo$7b3o12b2o$10bo$9b2o$53bo$52bobo$10b2o41b2o$10b2o4$30b2o$30b2o3$3b2o37b2o$2bo2bo2b2o33bo$3b2o2bobo30b3o$5b2o16b2o15bo$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-52,0))
B2_welded = pattern(g.parse('41b2o$33bo7b2o31b2o$33b3o38bobo$36bo38b2o$35b2o2$27b2o$28bo$28bobo$18bo10b2o$16b3o$15bo57b2o$2bo12b2o56bo$3bo70b3o$3bo72bo$2ob2o$obo2bo$3b2o$18b2o$18b2o31b2o$52bo$41b2o6b3o$41b2o2b2o2bo$27bo3b2o12bobobo$26bobo3bo14bob2o$25bobo3bo15bo$21b2obobo3bo15b2o$21b2obo2b4obo$25bobo3bobo$21b2ob2o2bo2bobo$22bobo2b2o3bo$10b2o10bobo$10b2o11bo!',-41,0))
B2 = pattern(g.parse('18b2o9b2o$19bo9bobo$19bobo8b2o$20b2o21$12b2o$11bobo$8bo2bo$8b4o2$6b4o$6bo3bo$9b2o3$10b2o19b2o$10b2o19b2o5$28b2o$28bobo$30bo$3b2o25b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo$17b3o$19bo!',-18,0))
C1_welded = pattern(g.parse('33b2o$33bo$35bo$13bob2o14b5o$10b2obo2bo13bo$10b2ob2obobo12b3o$15bob2o15bo$15bo15b4o$13b3o10b2o3bo3b2o$12bo13b2o4b3o2bo$12b2o20bob2o$34bo$33b2o3$25b2o$25bo$2b2o22b3o$bobo5b2o17bo$bo7b2o$2o2$14bo$10b2obobo$9bobobobo$6bo2bobobobob2o$6b4ob2o2bo2bo$10bo4b2o$8bobo$8b2o!',-33,0))
C1 = pattern(g.parse('33b2o$33bo$35bo$15b2o14b5o$13bo2bo13bo$13b2obobo12b3o$15bob2o15bo$15bo15b4o$13b3o10b2o3bo3b2o$12bo13b2o4b3o2bo$12b2o20bob2o$34bo$33b2o3$25b2o$25bo$2b2o22b3o$bobo5b2o17bo$bo7b2o$2o2$14bo$10b2obobo$9bobobobo$6bo2bobobobob2o$6b4ob2o2bo2bo$10bo4b2o$8bobo$8b2o!',-33,0))
C2_welded = pattern(g.parse('26b2o$27bo$27bobo$17bo10b2o$15b3o$14bo$2o12b2o$o48b2o$o48b2o$ob2o$bo2bo$2b2o$17b2o$17b2o4$26bo3b2o$25bobo3bo$24bobo3bo$20b2obobo3bo$20b2obo2b4obo$24bobo3bobo6b2o$20b2ob2o2bo2bobo6b2o$21bobo2b2o3bo$9b2o10bobo$9b2o11bo!',-26,0))
C2 = pattern(g.parse('27b2o$28bo$28bobo$18bo10b2o$16b3o$15bo$15b2o$2o48b2o$bo48b2o$bob2o$2bo2bo$3b2o$18b2o$18b2o4$27bo3b2o$26bobo3bo$25bobo3bo$21b2obobo3bo$21b2obo2b4obo$25bobo3bobo6b2o$21b2ob2o2bo2bobo6b2o$22bobo2b2o3bo$10b2o10bobo$10b2o11bo!',-27,0))
C3 = pattern(g.parse('52b2o$52bo$50bobo$33b2o15b2o$34bo$34bobo17bo$35b2o15b3o$51bo$27b2o22b2o$28bo$28bobo$18bo10b2o$16b3o$15bo36b2o$15b2o35bobo$2o52bo$bo52b2o$bob2o$2bo2bo$3b2o$18b2o$18b2o2$41b2o$41b2o2b2o$27bo3b2o12bobo$26bobo3bo14bo$25bobo3bo15b2o$21b2obobo3bo$21b2obo2b4obo$25bobo3bobo$21b2ob2o2bo2bobo$22bobo2b2o3bo$10b2o10bobo$10b2o11bo!',-52,0))
D1 = pattern(g.parse('2o$bo$bobo$2b2o7$b2o4b2o$b2o4b2o4$6b2o$2b2o2b2o$bobo$bo12b2o$2o11bobo$13bo$12b2o5$14b2o$13bobo$13bo$12b2o$11bo$11b3o$14bo$13b2o6$11b2o$11b2o$35b2o$35bobo$37bo$37b2o4$11b2o$10bo2bo2b2o$11b2o2bobo$13b2o$13bo$10b2obo2bo$10bob2obobo$14bobo$11b2o2bo$9b3ob2o$8bo$9b3ob2o$11bob2o2$21b2o$21b2o7b2o$30bo$28bobo$28b2o4$8b2o$8b2o5$24bo$23bobo$23bobo$24bo$25b3o$27bo',0,0))
D2_welded = pattern(g.parse('15bo11bo$15b3o7b3o$18bo5bo$17b2o5b2o8$9b2o20b2o$9b2o20b2o8$3b2o$2bo2bo2b2o$3b2o2bobo$5b2o16b2o$5bo17bo$2b2obo2bo15b3o$2bob2obobo16bo$6bobo$3b2o2bo$b3ob2o$o$b3ob2o$3bob2o2$13b2o$13b2o7b2o$22bo$20bobo$20b2o4$2o$2o5$16bo$15bobo$15bobo$16bo3bo$17b4o!',-15,0))
D2 = pattern(g.parse('41b2o$41b2o4$52b2o$27b2o23bo$28bo21bobo$28bobo19b2o$18bo10b2o$16b3o$15bo$15b2o$2o$bo48b2o$bob2o45bobo$2bo2bo46bo$3b2o47b2o$18b2o$18b2o3$41b2o$27bo3b2o8b2o$26bobo3bo$25bobo3bo$21b2obobo3bo$21b2obo2b4obo$25bobo3bobo$21b2ob2o2bo2bobo$22bobo2b2o3bo$10b2o10bobo$10b2o11bo!',-41,0))
weld_m = pattern(g.parse('89bo$78b2o7b3o$73bo5bo6bo$73b3o3bobo4b2o$76bo3b2o$75b2o2$100bo$98b3o$97bo$97b2o$34b2o$b2o31b2o7bo$obo38b3o52b2o$2o38bo55b2o$40b2o2$48b2o$48bo$46bobo29b2o$46b2o10bo20bo$58b3o15b3o$2b2o57bo14bo26b2o$3bo56b2o12bobo21b2o2bo2bo$3o70bobo22bobo2b2o$o72bobobo2bo2b2o16b2o$72b2obob4o3bo17bo$71bo2bo6b3o15bo2bob2o$72b2o5bo2bo15bobob2obo$57b2o20b2o3bo14bobo$24b2o31b2o24b2o15bo2b2o$24bo76b2ob3o$25b3o6b2o71bo$27bo2b2o2b2o65b2ob3o$27bobobo12b2o3bo51b2obo$26b2obo14bo3bobo$29bo15bo3bobo41b2o$29b2o15bo3bobob2o28b2o7b2o$44bob4o2bob2o29bo$43bobo3bobo33bobo$43bobo2bo2b2ob2o30b2o$44bo3b2o2bobo$52bobo10b2o$53bo11b2o$106b2o$106b2o5$91bo$90bobo$90bobo$91bo$88b3o$88bo!',-89,0))
snark = pattern(g.parse('9b2o$8bobo$2b2o4bo$o2bo2b2ob4o$2obobobobo2bo$3bobobobo$3bobob2o$4bo2$17b2o$8b2o7bo$8b2o5bobo$15b2o7$5b2o$6bo$3b3o$3bo!',-9,0))
snark_v2 = pattern(g.parse('13bo$11b3o$10bo$10b2o3$18b2o$19bo$19bob2o$11b2o4b3o2bo$11b2o3bo3b2o$16b4o$2b2o15bo$bobo12b3o$bo13bo$2o14b5o$20bo$16b2o$16b2o!',-13,0))
snark_welded = pattern(g.parse('2b4o$2bo3bo$5b2o7$15b2o$8b2o5bobo$8b2o7bo$17b2o2$4bo$3bobob2o$3bobobobo$2obobobobo2bo$o2bo2b2ob4o$2b2o4bo$8bobo$9b2o!',-2,0))
rectifier = pattern(g.parse('25bob2o$25b2obo2$23b5o$23bo4bo2b2o$26bo2bo2bo$26b2obobo$23bo5bob2o$22bobo4bo$22bo2bo2b2o$23b2o9$15b2o$15b2o8$b2o22b2o$o2bo21bo$b2o23b3o$28bo6$18b2o$18bo$19b3o$21bo!',-25,0))
weekender_to_glider = pattern(g.parse('18bo$16b3o$15bo$2o13b2o$2o5$25bo$23b3o$22bo$22b2o$2o$2o6$12b2o$12b2o$26b2o$26b2o$30b2o$30b2o14$6b2o$6bobo$7bo12$25bo$23b3o$22bo$22b2o7$27b2o$27bo$25bobo$25b2o3$11b2o$10bobo$10bo$9b2o3$27b2obo$27bob2o2$20b2o$20b2o14$31bo$29b3o$28bo$28b2o10$8b2o$8b2o9$23b2o$23b2o!',-18,0))
eater = pattern(g.parse('2b2o$bobo$bo$2o!',-2,0))
glider = pattern(g.parse('2o$b2o$o!',0,0))
all += snark(3718,1215)
all += splitter(3662,1260,swap_xy)
all += glider[1](3778,1289,flip_x)
all += splitter(3585,1374,swap_xy)
all += C3(3813,1504,swap_xy)
all += B2(3739,1481,swap_xy)
all += splitter(3521,1475,swap_xy)
all += splitter(3458,1575,swap_xy)
all += A1(3691,1596,swap_xy)
all += A2C4(3625,1689,swap_xy)
all += B1(3537,1815,swap_xy)
all += C1(4099,1961,swap_xy)
all += splitter(2693,2377,swap_xy)
all += A2C4(2797,2591,swap_xy)
all += A2C4(4704,2733,flip)
all += A2C4(5141,3333,flip)
all += splitter(1746,3361,swap_xy)
all += snark(5315,3541,swap_xy_flip)
all += splitter(3786,3557,rcw)
all += B1(1825,3601,swap_xy)
all += splitter(5185,3645,swap_xy)
all += splitter(3851,3659,rcw)
all += splitter(3914,3759,rcw)
all += A2C4(3686,3775,rcw)
all += splitter(5075,3792,swap_xy)
all += C3(3585,3851,rcw)
all += A1(5282,3876,swap_xy)
all += A2C4(3679,3906,flip_y)
all += B2(3770,3876,rcw)
all += splitter(3992,3874,rcw)
all += C3(5370,3923,swap_xy)
all += splitter(1244,3900,swap_xy)
all += splitter(4959,3945,swap_xy)
all += B1(3841,4005,rcw)
all += splitter(1215,3966,swap_xy)
all += splitter(4055,3974,rcw)
all += C2(3721,4012,rcw)
all += B2(5150,4015,swap_xy)
all += eater(1223,4012)
all += splitter(4900,4041,swap_xy)
all += C2(5290,4067,swap_xy)
all += snark(5794,4057)
all += B2(3906,4086,rcw)
all += snark(3346,4095,rccw)
all += A2C4(1348,4114,swap_xy)
all += splitter(4165,4121,rcw)
all += A2C4(4405,4164,flip)
all += C1(3793,4146,rcw)
all += C2(3444,4155,flip)
all += D1(3365,4137)
all += A2C4(5059,4163,swap_xy)
all += snark_welded(3470,4150)
all += B1(3971,4209,rcw)
all += C2(5648,4186,flip_y)
all += B2(1296,4183,swap_xy)
all += C1(3888,4214,rcw)
all += snark_welded(5622,4181,flip_x)
all += splitter(4786,4192,swap_xy)
all += C2(5671,4214,rccw)
all += C3(5183,4262,swap_xy)
all += snark_welded(3394,4217,swap_xy)
all += C2(3533,4243,flip)
all += C1(5991,4249,flip)
all += snark_welded(3559,4238)
all += snark_welded(5676,4240,rcw)
all += splitter(4260,4253,rcw)
all += A1(4995,4274,swap_xy)
all += D1(3486,4258)
all += C2(5092,4293,swap_xy)
all += splitter(4726,4289,swap_xy)
all += C2(3620,4325,flip)
all += C2(5508,4326,flip_y)
all += A2C4(4056,4330,rcw)
all += A2C4(1546,4372,flip)
all += snark_welded(3646,4320)
all += snark_welded(5482,4321,flip_x)
all += D1(5564,4329,flip_x)
all += snark_welded(3515,4338,swap_xy)
all += C1(3986,4373,rcw)
all += A1(6101,4402,flip)
all += splitter(4332,4362,rcw)
all += splitter(4689,4363,swap_xy)
all += D1(3590,4357)
all += A2C4(5859,4386,swap_xy)
all += C2(3704,4406,flip)
all += A2C4(4895,4401,swap_xy)
all += snark_welded(3730,4401)
all += snark_welded(5535,4409,rcw)
all += C1(3160,4443,flip_y)
all += C2(5378,4444,flip_y)
all += snark(6388,4432,swap_xy_flip)
all += splitter(4374,4441,rcw)
all += C1(4987,4466,swap_xy)
all += snark_welded(3619,4437,swap_xy)
all += splitter(4643,4446,swap_xy)
all += snark_welded(5352,4439,flip_x)
all += C2(4102,4471,rcw)
all += D1(5440,4452,flip_x)
all += A1(4165,4486,rcw)
all += D1(3700,4471)
all += splitter(6323,4508,flip)
all += B1(5931,4544,flip)
all += A1(3108,4538,flip_y)
all += A2C4(4835,4498,swap_xy)
all += C2(5299,4522,flip_y)
all += C2(3825,4523,flip)
all += C1(3286,4538,flip_y)
all += C2(5708,4537,flip)
all += snark_welded(5273,4517,flip_x)
all += snark_welded(3851,4518)
all += snark_welded(5411,4532,rcw)
all += snark_welded(3729,4551,swap_xy)
all += A2C4(2921,4611,flip)
all += C1(4961,4597,swap_xy)
all += C3(4850,4617,swap_xy)
all += B2(4766,4584,swap_xy)
all += A1(4237,4595,rcw)
all += C2(4158,4596,rcw)
all += C2(3830,4595,swap_xy_flip)
all += splitter(4545,4581,swap_xy)
all += D1(5319,4573,flip_x)
all += splitter(4488,4592,rcw)
all += C1(3415,4612,flip_y)
all += B1(3250,4652,flip_y)
all += splitter(6171,4623,flip)
all += D1(3908,4599,swap_xy)
all += splitter(2886,4644,flip_y)
all += A2C4(5774,4665,flip)
all += C2(5566,4642,flip)
all += C2(5176,4644,flip_y)
all += snark_welded(3825,4621,swap_xy)
all += A2C4(1946,4677,flip)
all += eater(4553,4627)
all += snark_welded(3988,4628)
all += eater(4480,4638,flip_x)
all += snark_welded(5150,4639,flip_x)
all += B2(4299,4664,rcw)
all += B2(4718,4669,swap_xy)
all += snark_welded(5290,4653,rcw)
all += C2(4187,4688,rcw)
all += C2(3923,4689,swap_xy_flip)
all += B1(3370,4735,flip_y)
all += C3(3565,4707,flip_y)
all += C2(5181,4705,rccw)
all += C2(4847,4710,swap_xy)
all += C2(5095,4720,flip_y)
all += splitter(3015,4736,flip_y)
all += C2(4041,4735,flip)
all += snark_welded(3918,4715,swap_xy)
all += snark_welded(5069,4715,flip_x)
all += A2C4(5632,4770,flip)
all += C2(3636,4748,flip_y)
all += C2(5453,4754,flip)
all += snark_welded(5186,4731,rcw)
all += splitter(5994,4763,flip)
all += snark_welded(4067,4730)
all += A2C4(3484,4813,flip_y)
all += C2(5021,4792,flip_y)
all += B2(4631,4793,swap_xy)
all += C2(4112,4804,flip)
all += C2(5303,4805,flip)
all += splitter(3135,4819,flip_y)
all += snark_welded(4995,4787,flip_x)
all += C2(5079,4811,rccw)
all += B2(4411,4813,rcw)
all += D1(4021,4797)
all += snark_welded(4138,4799)
all += C1(4727,4836,swap_xy)
all += C3(4316,4857,rcw)
all += B2(5498,4887,flip)
all += B2(3580,4892,flip_y)
all += C1(3751,4855,flip_y)
all += C2(4953,4857,flip_y)
all += splitter(5852,4868,flip)
all += snark_welded(5084,4837,rcw)
all += snark_welded(4927,4852,flip_x)
all += C2(5194,4885,flip)
all += snark_welded(4050,4877,swap_xy)
all += splitter(3266,4913,flip_y)
all += B2(3692,4967,flip_y)
all += A1(5369,4949,flip)
all += C2(4145,4920,swap_xy_flip)
all += C2(4246,4931,flip)
all += C2(4955,4944,rccw)
all += snark_welded(4272,4926)
all += splitter(5721,4962,flip)
all += splitter(3357,4967,flip_y)
all += C2(4847,4962,flip_y)
all += snark_welded(4140,4946,swap_xy)
all += snark_welded(4821,4957,flip_x)
all += C1(3931,4988,flip_y)
all += C3(5016,4999,flip)
all += snark(7261,4974,swap_xy_flip)
all += snark_welded(4960,4970,rcw)
all += B2(5266,5045,flip)
all += C2(4027,5014,flip_y)
all += splitter(5602,5044,flip)
all += C2(4261,5036,swap_xy_flip)
all += splitter(3480,5053,flip_y)
all += A1(3877,5085,flip_y)
all += snark_v2(7164,5031)
all += snark_welded(4256,5062,swap_xy)
all += splitter(5489,5120,flip)
all += A2C4(3961,5142,flip_y)
all += B1(5097,5156,flip)
all += A2C4(4166,5117,rcw)
all += splitter(3655,5191,flip_y)
all += A1_welded(4410,5171)
all += B2(4090,5254,flip_y)
all += splitter(5341,5231,flip)
all += splitter(3741,5240,flip_y)
all += eater(5295,5223,swap_xy_flip)
all += splitter(4350,5246)
all += eater(4396,5254,swap_xy)
all += C2_welded(4429,5265)
all += snark_welded(4490,5283,rccw)
all += A1_welded(4383,5279)
all += B2(4817,5281,flip_x)
all += C2(4495,5309,rcw)
all += splitter(4275,5284)
all += splitter(3873,5335,flip_y)
all += splitter(4913,5311,flip_x)
all += eater(4867,5319,rcw)
all += A1(4315,5319)
all += eater(3919,5327,rccw)
all += splitter(4192,5330)
all += C1_welded(4400,5336)
all += snark_welded(4425,5353,rccw)
all += A2C4(4897,5344,flip_x)
all += C2(4430,5379,rcw)
all += C1_welded(4796,5355,flip_x)
all += splitter(4999,5360,flip_x)
all += splitter(4121,5364)
all += A2C4_welded(4222,5365)
all += snark_welded(4732,5392,swap_xy_flip)
all += B1(4978,5389,flip_x)
all += C2(4727,5418,swap_xy)
all += snark_welded(4371,5410,rccw)
all += B1(4155,5396)
all += C3(4353,5398)
all += snark(4524,5407)
all += C2(4376,5436,rcw)
all += snark(4601,5421,flip_x)
all += snark_welded(4473,5444,flip_y)
all += splitter(4023,5425)
all += snark(4548,5439,rcw)
all += snark_welded(4812,5446,swap_xy_flip)
all += splitter(5108,5432,flip_x)
all += C3(4831,5435,flip_x)
all += snark(4494,5460,flip_y)
all += C2(4447,5439,flip_x)
all += D1(4841,5526,flip)
all += C1(4278,5448)
all += snark(4572,5458,swap_xy)
all += snark_welded(4311,5471,rccw)
all += A2C4_weld2(4470,5459)
all += A2C4_welded(4053,5460)
all += snark(4495,5469,swap_xy)
all += D1(4715,5498,swap_xy_flip)
all += splitter(3947,5464)
all += A1(5083,5466,flip_x)
all += A2C4(4157,5484,swap_xy_flip)
all += C2(4316,5497,rcw)
all += D2_welded(4535,5489,swap_xy_flip)
all += snark(4622,5485,rcw)
all += B1(4571,5484,rccw)
all += splitter(5200,5487,flip_x)
all += snark_welded(4407,5509,flip_y)
all += C1_welded(4636,5497,rccw)
all += B1(3981,5496)
all += C2(4381,5504,flip_x)
all += snark_welded(4233,5523,rccw)
all += splitter_welded(4472,5511)
all += snark_welded(4729,5534,flip)
all += A1(5175,5521,flip_x)
all += D1(4204,5603,flip_y)
all += snark_welded(4877,5539,swap_xy_flip)
all += C2(4953,5527,flip_x)
all += splitter(3845,5529)
all += A2C4(4104,5546,swap_xy_flip)
all += C3(4422,5532,swap_xy_flip)
all += C2(4755,5529)
all += splitter(5286,5536,flip_x)
all += C2(4872,5565,swap_xy)
all += A2C4(4476,5561,swap_xy_flip)
all += B2(3857,5562)
all += B2(5284,5563,flip_x)
all += snark_welded(4327,5587,flip_y)
all += C2(5055,5572,flip_x)
all += splitter(4575,5631,rccw)
all += C2(4301,5582,flip_x)
all += eater(4583,5585,flip_y)
all += C3(4701,5589,rccw)
all += snark_welded(4181,5605,rccw)
all += splitter(3742,5595)
all += splitter(5385,5598,flip_x)
all += splitter(4448,5651,swap_xy_flip)
all += C3(4010,5601)
all += C2(4186,5631,rcw)
all += B1(4604,5610,rccw)
all += snark_welded(4959,5625,swap_xy_flip)
all += A2C4(5121,5626,rccw)
all += snark_welded(4808,5632,flip)
all += A2C4(4319,5616)
all += D1(4888,5661,swap_xy_flip)
all += C2(4954,5651,swap_xy)
all += B2(5383,5625,flip_x)
all += B1(4419,5630,swap_xy_flip)
all += A1(3782,5630)
all += splitter(3657,5643)
all += C2(3857,5650)
all += A2C4(5233,5675,rccw)
all += snark_welded(4112,5676,rccw)
all += snark_welded(4257,5682,flip_y)
all += splitter(5488,5664,flip_x)
all += D1(4177,5711,rccw)
all += B1(3691,5675)
all += C2(4117,5702,rcw)
all += snark_welded(4874,5702,flip)
all += snark_welded(5031,5700,swap_xy_flip)
all += splitter(4645,5738,rccw)
all += C1(4772,5697,rccw)
all += D1(4954,5731,swap_xy_flip)
all += A1(5463,5698,flip_x)
all += C2(5026,5726,swap_xy)
all += eater(4356,5706,flip_y)
all += splitter(3559,5704)
all += splitter_weld2(4361,5707)
all += splitter(5569,5708,flip_x)
all += C3(5349,5710,flip_x)
all += B1(4674,5717,rccw)
all += C2(4258,5745,swap_xy_flip)
all += C2(3805,5731)
all += snark_welded(4960,5761,flip)
all += B2(4356,5755,swap_xy_flip)
all += A2C4(5553,5741,flip_x)
all += snark_welded(5114,5759,swap_xy_flip)
all += snark_welded(4029,5760,rccw)
all += splitter(5646,5748,flip_x)
all += snark_welded(4170,5772,flip_y)
all += C2(4986,5756)
all += D1(5143,5839,flip)
all += C2(4034,5786,rcw)
all += D1(4090,5801,rccw)
all += C3(4809,5775,rccw)
all += A2C4(3724,5794,swap_xy_flip)
all += B1(5625,5777,flip_x)
all += splitter(4706,5836,rccw)
all += C1(5419,5785,flip_x)
all += A2C4(4739,5820,rccw)
all += splitter(4313,5860,swap_xy_flip)
all += splitter(5744,5809,flip_x)
all += snark_welded(4078,5835,flip_y)
all += snark_welded(3955,5838,rccw)
all += snark_welded(5193,5841,swap_xy_flip)
all += C1(5496,5825,flip_x)
all += C2(4052,5830,flip_x)
all += C1(4205,5834,swap_xy_flip)
all += B2(5742,5836,flip_x)
all += C2(3960,5864,rcw)
all += D1(5222,5921,flip)
all += B1(3487,5842)
all += B2(4286,5862,swap_xy_flip)
all += C2(4885,5879,rccw)
all += splitter(4755,5922,rccw)
all += splitter(5843,5871,flip_x)
all += splitter(3349,5877)
all += C1(5603,5877,flip_x)
all += snark_welded(3999,5913,flip_y)
all += A1(4789,5897,rccw)
all += snark_welded(3881,5914,rccw)
all += splitter(4254,5956,swap_xy_flip)
all += snark_welded(5273,5923,swap_xy_flip)
all += C2(3973,5908,flip_x)
all += A2C4(5712,5927,rccw)
all += C1(4132,5916,swap_xy_flip)
all += C2(3886,5940,rcw)
all += D1(5302,6003,flip)
all += C2(3472,5940)
all += A1(3360,5941)
all += B2(4227,5958,swap_xy_flip)
all += splitter(3235,5954)
all += splitter(4810,6014,rccw)
all += snark_welded(5332,5979,swap_xy_flip)
all += snark_welded(3226,5975,flip_x)
all += D1(5361,6059,flip)
all += snark_welded(3924,6013,flip_y)
all += snark_welded(5193,6016,flip)
all += splitter(4195,6052,swap_xy_flip)
all += D1(3844,6042,rccw)
all += C2(4051,6029,swap_xy_flip)
all += D1(5273,6045,swap_xy_flip)
all += B1(4166,6031,swap_xy_flip)
all += snark_welded(5403,6048,swap_xy_flip)
all += C2(3377,6036)
all += D1(5432,6128,flip)
all += snark_welded(3835,6072,flip_y)
all += A2C4(5982,6059,flip_x)
all += C2(3809,6067,flip_x)
all += snark_welded(5266,6089,flip)
all += splitter(6086,6077,flip_x)
all += D1(5346,6118,swap_xy_flip)
all += snark_welded(3696,6100,rccw)
all += snark_welded(6095,6098)
all += C2(3701,6126,rcw)
all += splitter(4123,6161,swap_xy_flip)
all += snark_welded(5478,6126,swap_xy_flip)
all += D1(5507,6206,flip)
all += snark_welded(3753,6152,flip_y)
all += A2C4_weld3(4009,6133)
all += snark_welded(5339,6164,flip)
all += C1(5090,6148,rccw)
all += B2_welded(4061,6145)
all += C2(3727,6147,flip_x)
all += B1(5003,6157,rccw)
all += D1(5419,6193,swap_xy_flip)
all += C2(5918,6185,flip_x)
all += C2(3941,6223,swap_xy_flip)
all += snark_welded(3678,6227,flip_y)
all += splitter(4061,6260,swap_xy_flip)
all += snark_welded(5441,6237,flip)
all += snark(3620,6239,flip)
all += C2(3652,6222,flip_x)
all += A2C4(5147,6224,flip_x)
all += splitter(5035,6276,rccw)
all += C2(5467,6232)
all += A2C4(4038,6258,swap_xy_flip)
all += snark(8748,6253,rcw)
all += A1(5069,6251,rccw)
all += snark_welded(5520,6309,flip)
all += splitter(4008,6350,swap_xy_flip)
all += A2C4(3865,6301)
all += C2(5546,6304)
all += splitter(5084,6362,rccw)
all += B1(3979,6329,swap_xy_flip)
all += B1(5113,6341,rccw)
all += C2(5201,6366,rccw)
all += snark_welded(5605,6386,flip)
all += snark(5664,6397,flip_y)
all += C2(5631,6381)
all += C1(3837,6396,swap_xy_flip)
all += splitter(3942,6453,swap_xy_flip)
all += splitter(5156,6471,rccw)
all += A2C4(3919,6451,swap_xy_flip)
all += C1(5265,6440,rccw)
all += B2(5183,6469,rccw)
all += glider[1](8508,6479,swap_xy_flip)
all += splitter(3900,6532,swap_xy_flip)
all += splitter(5213,6565,rccw)
all += weld_m(5329,6538)
all += glider(8394,6593,swap_xy_flip)
all += A2C4(5396,6611,flip_x)
all += splitter(5279,6668,rccw)
all += snark(3766,6655,flip)
all += A1(5313,6643,rccw)
all += splitter(5328,6754,rccw)
all += glider[1](8278,6706)
all += snark(5414,6829,flip_y)
all += glider(8164,6820)
all += glider[1](8051,6936,swap_xy_flip)
all += glider(7937,7050,swap_xy_flip)
all += glider[1](7821,7163)
all += glider(7707,7277)
all += glider[1](7594,7393,swap_xy_flip)
all += glider(7480,7507,swap_xy_flip)
all += glider[1](7364,7620)
all += glider(7250,7734)
all += glider[1](7137,7850,swap_xy_flip)
all += glider(7023,7964,swap_xy_flip)
all += glider[1](6907,8077)
all += glider(6793,8191)
all += glider[1](6680,8307,swap_xy_flip)
all += glider(6566,8421,swap_xy_flip)
all += glider[1](6450,8534)
all += glider(6336,8648)
all += glider[1](6223,8764,swap_xy_flip)
all += glider(6109,8878,swap_xy_flip)
all += glider[1](5993,8991)
all += glider(5879,9105)
all += glider[1](5766,9221,swap_xy_flip)
all += glider(5652,9335,swap_xy_flip)
all += glider[1](5536,9448)
all += glider(5422,9562)
all += glider[1](5309,9678,swap_xy_flip)
all += glider(5195,9792,swap_xy_flip)
all += glider[1](5079,9905)
all += glider(4965,10019)
all += glider[1](4852,10135,swap_xy_flip)
all += rectifier(4618,10201)
all += snark(4539,10235)
all += snark(4505,10261,rccw)
all += weekender_to_glider(4581,10276)
all += snark(4540,10304,flip)
all += snark(4543,10313,swap_xy)
all += snark(4543,10347,swap_xy)
g.new("Script-Output")
all.put()
g.fit()
It would take quite a bit more work for the script to figure out all the logical connections between all the pieces listed here. But this makes an interesting start at the "recognition" stage, anyway.
The previous p687+ weekender-to-glider converter has been replaced with the new p454+ weekender-to-Herschel converter, by the way, and the chain of test signals is now spaced at 457 ticks.
Also, I discovered some "litter" in the original pattern, which I cleaned up during the registration process. There were just a few leftover single cells and marked diagonals here and there, and a couple of components used several dozen times each, that contained an extra block near the syringe (the same one Freywa noticed and mentioned a while back, I believe.)