The display_synth script is an effort by chris_c in the past year to catalogue syntheses systematically. It's
, and it already supports some oscillator syntheses -- here's the URL to look up a
has all the recipes that are checked in on GitHub (as of right now) (I think)... which makes an apgcode lookup work for all still lifes up to 16 bits. (The link showing a blinker synthesis only works up to 12-bit still lifes.)
Until just now I didn't even dare look at the format of the min_paths.txt file, which stores the incremental recipes. Looks like the following are all of the period-2 oscillators currently covered -- but that includes various cheap constellations, such as
. Ordinarily these wouldn't be assigned an apgcode, they'd be separated into their component parts first -- but here they're used in multi-stage constructions of other objects.
Code: Select all
0;xp2_032hv04a6ze;0;13,-42,28,-91,34,-124;5,5;19,24,22,11;-12,-82,-6,-77,3,-58;8,7,0,1,1,0
0;xp2_032hv04acze;1;14,-47,27,-82,33,-87;4,8;20,27,23,14;-15,-129,-9,-96,2,-63;8,8,0,1,1,0
0;xp2_033ze;1;;0,8;6,7;7,-37;1,1,0,1,1,0
0;xp2_033zs;1;;-14,65;10,8;-19,-94;3,22,1,0,0,-1
0;xp2_0696z7;0;;-3,19;9,8;-1,-32;3,2,1,0,0,1
0;xp2_0696zsy166;1;20,-39;1,6;20,27;-1,-81;19,7,0,-1,1,0
0;xp2_07z4aic;1;;-3,21;9,7;-7,-45;-2,10,0,1,-1,0
0;xp2_07z7;1;;1,5;7,7;3,-20;0,1,0,1,1,0
0;xp2_07zs;1;;-5,29;10,5;0,-42;5,4,1,0,0,1
0;xp2_0c48chbgzy1121z66zyhggg07;1;;-16,139,-8,85,-5,110,0,7,2,71;47,89;-14,-170,-10,-176;34,42,0,-1,-1,0
0;xp2_0c4o7hzggg11074;0;15,-53,22,-60,31,-100,42,-110;8,7,8,38;27,22,35,37;-8,-111,-3,-91;14,16,0,1,-1,0
0;xp2_0dbgyc7z2ldxsy2cicz011;0;;-10,47,-10,160,13,97,14,6;74,122,80,154;10,-173;33,47,0,1,-1,0
0;xp2_0s01110sy733zg8g222z0p4jzw11;0;20,-70;4,7,14,21;39,26;0,-85,4,-293,11,-97;7,-6,0,1,1,0
0;xp2_1110ok8;0;;0,8;8,11;-9,-52;2,8,0,1,-1,0
0;xp2_1110oo;0;;1,5;16,36;-5,-48;7,17,1,0,0,-1
0;xp2_1110s;0;;-1,14;13,5;9,-27;14,4,-1,0,0,-1
0;xp2_1118kic;0;;0,8;6,8;-2,-25;8,7,-1,0,0,1
0;xp2_111y0s;0;;0,7;7,12;-3,-29;1,1,0,1,1,0
0;xp2_111y1ey98kk8;0;28,-105;3,8;33,23,50,92;-15,-180;14,10,0,1,1,0
0;xp2_1784ozx34a4zzy67;1;;-5,29,-4,49,5,8;17,27,23,20,24,46,31,49;0,-82;19,22,0,-1,-1,0
0;xp2_253y2s;0;;-6,31;17,6;-4,-54,5,-44;4,12,1,0,0,-1
0;xp2_2552ze;1;;-5,28;12,5;0,-41;8,10,-1,0,0,-1
0;xp2_2552zy6e;0;;;2,5,17,29;-10,-41,-8,-59;5,13,0,-1,-1,0
0;xp2_2596zy1ggg070gggzy5e;0;;-3,21,1,43;15,5;-2,-91;17,20,0,-1,-1,0
0;xp2_2a54;0;7,-20;5,6;15,8;3,-22;6,2,0,1,1,0
0;xp2_318c;0;;0,8;6,8;1,-21;8,3,-1,0,0,1
0;xp2_33ws;0;;-1,13;10,6;5,-26;8,3,-1,0,0,1
0;xp2_33y97;0;;0,7;17,40;-5,-52;10,13,0,-1,-1,0
0;xp2_33yfs;1;23,-85;3,7;42,72;-14,-154;13,10,0,1,1,0
0;xp2_33ze;0;;1,5;10,22;-12,-68;4,6,1,0,0,1
0;xp2_33zy0888y1sx33;1;;-13,62,11,8;26,44,32,21,40,28;-5,-109;8,22,1,0,0,-1
0;xp2_33zy5e;1;;-2,16;6,7;-3,-33;5,-2,0,-1,1,0
0;xp2_33zyb7;0;;;4,16,8,7;-3,-29;13,5,-1,0,0,1
0;xp2_66x7e;1;;-21,91;16,8;-23,-107;7,25,0,-1,1,0
0;xp2_696o8gy8ezw32023;1;;-20,112,-1,38,0,64,1,6;38,40,46,43,54,102;-13,-173,2,-125;19,26,0,1,1,0
0;xp2_699m88gzx121ze;0;8,-19,12,-41;5,6;13,5;4,-33;12,9,-1,0,0,-1
0;xp2_7;0;;0,7;;-4,-31;7,3,1,0,0,1
0;xp2_7e;0;;-3,21;11,8;0,-34;1,8,0,1,1,0
0;xp2_7xs;1;;;2,9,10,5;-1,-21;1,4,0,-1,1,0
0;xp2_7zw6952;1;;;1,5;0,-17;-3,7,0,1,-1,0
0;xp2_7zx33;1;;;2,7,11,32;-4,-45;-3,12,0,1,-1,0
0;xp2_7zy733;1;;;2,7;-7,-37,6,-20;-4,4,1,0,0,-1
0;xp2_7zzzyhezyd1110s0111;1;;0,7;96,220;-16,-232;34,32,0,1,1,0
0;xp2_8o0u93z01221zy6e;0;24,-86;-7,53,2,27,7,6;23,8;-15,-179,0,-66;-2,21,1,0,0,-1
0;xp2_exgbhc84czx1221;0;15,-39,22,-45,30,-58;1,6,9,26;30,20;14,-56;10,5,0,1,1,0
0;xp2_g88mp2sgz11zy5e;0;16,-56,41,-98,50,-169;1,16;20,6,34,40;5,-103;22,15,0,-1,-1,0
0;xp2_ggg070gggzy0ezx8kk8w33;1;;-11,57,-3,22;9,6,20,45;-5,-69;1,4,1,0,0,1
0;xp2_gw7z3;0;;;2,8,11,8;-3,-20;1,0,1,0,0,1
0;xp2_og8lb8ozx32ggg070gggzy5e;1;26,-94,36,-114;-12,81;29,8;-8,-177,-6,-147,3,-130;16,20,-1,0,0,1
0;xp2_ow7z1;0;;;4,8;-5,-21,-4,-49;5,5,0,-1,1,0
0;xp2_s01110sx4aa4zw222;0;13,-45;3,6;22,33;-7,-71;5,2,0,1,1,0
0;xp2_s01110szw222;0;;0,7;;-5,-36;1,1,1,0,0,1
0;xp2_s01110szw222y2cc;0;;-4,25;13,8;8,-38;13,-1,0,-1,1,0
0;xp2_s01110szw222zzyacc;0;;0,10;6,6;-16,-93;3,-13,-1,0,0,1
0;xp2_w7zccx356zy066y0111;1;;-5,29;7,6;0,-41;4,-2,-1,0,0,1
0;xp2_wog4cj96ze;0;19,-49,20,-70,33,-93;1,7,3,37;29,27,30,10;-5,-106;11,11,1,0,0,-1
0;xp2_x2596zkq2koz12452xo4ozy51ggg;0;19,-66,37,-86;7,18;23,7,40,7;15,-70,18,-30;11,6,0,1,1,0
0;xp2_x62sgc453z7;0;;;6,25,14,8;-5,-37,-1,-43;-2,6,1,0,0,1
0;xp2_xccy3252zgw8kicz3;1;;;2,8;-3,-20;10,7,0,-1,-1,0
0;xp2_xggy02552w66xooz6ao74z032zy56996wgzyb3;0;14,-46,33,-122;5,5;26,9,27,33;-9,-110,-4,-127;-9,18,1,0,0,-1
0;xp2_y2696zyc8kcz66yje;1;15,-53,33,-87;-2,41,3,7,17,18;41,9;13,-67,23,-61;9,18,1,0,0,-1
0;xp2_y3352y469d2sgzwgggy8ey01023zey1ezw111;1;25,-71,30,-90;-4,58,0,8,10,33;26,21,38,16;-8,-157;20,6,0,-1,1,0
It's not exactly a human-friendly format, but it's definitely compact, and it works at the object level. Looks like there are lists of pairs of (lane, timing) values, for each of the four input directions in NE, SE, SW, NW order, if I'm reading it all right ...? And the final ";x,y,0,1,1,0" specifies an orientation, in the same affine-transformation format that's used by various Golly scripting commands.
So this is a very limited special-purpose format -- it wouldn't be so easy to adapt it to allow *WSS inputs, for example. I suppose it might be doable by adding three more (lane, timing) lists, but you wouldn't want to call them "glider_lists"...
builds a tree structure from these mysterious streams of numbers, and uses that to figure out what incremental recipes need to be displayed -- see
for details.
No idea what the most efficient way would be to contribute new objects directly to this database... @chris_c?