For the past month I've been trying to build a smaller linear propagator using slmake and a new design.
The circuitry mainly consists of 2 Scorbie splitters (on the NE end) and 2 Snarks (on the SW end), forming a glider loop with output, used for construction. One of the splitters is reduced to a color-changing reflector, and will take a glider stream on a transparent lane, so the construction tape can easily be copied. There is a temporary edgy seed for a block+eater combo (block in the original position, the eater in front of it, eating incoming gliders), and a cluster of turners and one-time splitters on the SW end.
The SW end would be constructed first using a target block that's already there. The NE end would be constructed subsequently. The final bit of the recipe is shown in the pattern, a recipe for shooting a glider SW and destroying the elbow block. This glider does a round trip and sends two gliders to activate the block+eater seed, deactivating the parent. This happens late enough to let the entire construction tape through. Yet another glider is sent to activate the child (which has an extra eater to block off its construction output at the start).
Code: Select all
x = 1054, y = 1705, rule = LifeSuper
2.A$A.A$.2A20$24.A$25.A$23.3A21$47.A$45.A.A$46.2A20$69.A$70.A$68.3A
21$91.A$92.2A$91.2A21$115.A$116.A$114.3A21$138.A$136.A.A$137.2A25$
164.A$165.2A$164.2A21$186.A.A$187.2A$187.A25$213.A.A$214.2A$214.A51$
267.A$268.2A$267.2A25$293.A.A$294.2A$294.A52$347.A.A$348.2A$348.A24$
375.A$373.A.A$374.2A47$422.A.A$423.2A$423.A29$453.A.A$454.2A$454.A78$
535.A$533.A.A$534.2A54$590.A$591.2A$590.2A22$613.A.A$614.2A$614.A50$
667.A$668.A$666.3A26$693.A.A$694.2A$694.A55$764.A$762.3A$761.A$761.2A
6$741.2A$741.2A4$743.2A$742.A.A$742.A$741.2A6$752.2A$752.2A$760.2A$
760.A$761.3A$763.A60.A$824.3A$762.A64.A$761.A.A54.A7.2A$761.A.A54.3A$
760.2A.3A30.A24.A$766.A27.3A23.2A$760.2A.3A27.A$760.2A.A29.2A$778.2A$
752.2A25.A$743.2A7.2A25.A.2A$744.A35.A2.A$744.A.A34.2A$745.2A49.2A13.
2A$796.2A13.2A3$765.2A$765.2A3$799.2A.A6.2A$799.2A.3A3.A.A21.2A$750.A
54.A2.A23.A.A$749.A.A47.2A.3A2.2A25.A$749.A.A48.A.A31.2A$750.A37.2A
10.A.A$747.3A38.2A11.A$747.A18$872.2E$872.2E12$893.2E$892.E.E$892.2E
2$886.2D$886.D.D$888.D11.E$888.2D9.E.E$893.2D4.2E$893.2D$874.2E$873.E
2.E$874.2E2$885.2E$884.E2.E$884.E.E$885.E3$880.2E$879.E2.E$880.2E6$
923.C$921.3C$920.C$920.2C6$900.2C$900.2C4$902.2C$901.C.C$901.C$900.2C
6$911.2C$911.2C$919.2C$919.C$920.3C$922.C60.C$983.3C$921.C64.C$920.C.
C54.C7.2C$920.C.C54.3C$919.2C.3C30.C24.C$925.C27.3C23.2C$919.2C.3C27.
C$919.2C.C29.2C$937.2C$911.2C25.C$902.2C7.2C25.C.2C$903.C35.C2.C$903.
C.C34.2C$904.2C49.2C13.2C$955.2C13.2C3$924.2C$924.2C3$958.2C.C6.2C$
958.2C.3C3.C.C21.2C10.2E$909.C54.C2.C23.C.C9.E$908.C.C47.2C.3C2.2C25.
C10.3E$908.C.C48.C.C31.2C11.E$909.C37.2C10.C.C$906.3C38.2C11.C$906.C
39$1052.2C$1052.2C362$206.2A$207.A$205.A$205.5A14.2A$210.A13.A$207.3A
12.A.A$206.A15.2A$206.4A$204.2A3.A3.2A$203.A2.3A4.2A$203.2A.A$206.A$
206.2A3$214.2A$215.A$212.3A$212.A17$253.A$253.3A$256.A$255.2A7$265.2A
$258.2A5.A.A$258.2A7.A$267.2A2$254.A$253.A.A.2A$253.A.A.A.A$250.2A.A.
A.A.A2.A$250.A2.A2.2A.4A$252.2A4.A$258.A.A$259.2A18$285.2A$285.2A40$
365.2C$366.C$364.C$364.5C14.2C$369.C13.C$366.3C12.C.C$365.C15.2C$365.
4C$363.2C3.C3.2C$362.C2.3C4.2C$362.2C.C$365.C$365.2C3$373.2C$374.C$
371.3C$371.C17$412.C$412.3C$415.C$414.2C7$424.2C$417.2C5.C.C$417.2C7.
C$426.2C2$413.C$412.C.C.2C$412.C.C.C.C$409.2C.C.C.C.C2.C$409.C2.C2.2C
.4C$411.2C4.C$417.C.C$418.2C18$444.2C$444.2C68$89.E$88.E.E$89.2E8$
129.2D$128.D.D$130.D2$119.E$118.E.E$117.E2.E$118.2E15.2E$134.E.E$128.
E4.E.E3.2E$127.E.E4.E4.E.E$127.2E11.E2$133.2D$132.D.D$134.D8$132.2E$
131.E.E$132.E5$296.2D$295.D.D$297.D75$228.2E$227.E.E$228.E!
Problems to solve:
Find smaller turner constellation. The one used here is kind of awkward. Glider color must be taken into account. Doesn't matter too much though, and I could probably figure this out.
Find shorter recipe for shooting the glider which destroys the target block at the same time. In the pattern I simply combined the shortest glider emitter recipe with the elbow destroy recipe, but this means that the glider is shot very early compared to the end of the full recipe. That's why the SW turners are very far away compared to the already far away Snarks, I had to somehow demonstrate how the entire tape is let through first. They need to be closer, in order to reduce construction cost.
Make a recipe for the NE end which doesn't pull the elbow block so much. It's a hardcoded slmake behavior and this bloats the minimum possible distance between the parent and the child, thus also bloating the construction cost for the circuitry. Removing part of the recipe doesn't work, because the slow salvo already begins while the block is being retracted.
Extra challenges:
Figure out how to synchronize the parent and the child. The original linear propagator has delayed children, which may go against some people's idea of a true replicator. And I want to innovate anyway. My first idea was to add extra reflectors to the parent to increase its period, so that the child can compensate for the time that the tape needs to reach it. These reflectors would be deactivated and transparent when built for the child, and easy to activate later. I found a recipe which does that with Bandersnatches, but it's impossible to get the phases to match (odd vs even phase). Which brings me to:
Figure out what's the smallest Spartan splitter which takes a glider moving SE, shoots another glider SW and one SE with preserved color, and has a repeat time of 90 (like the Scorbie splitter), but additionally keeps the phase of the SE output the same as the the input. Elementary conduits could probably be combined to make this possible, but I have no clue how, and whether it's worth it.
I hope I can get help on the forums. I already got a lot help on the Discord server, but hopefully I can reach more people this way to finally get this done.