Population: 83477
Puffer velocity: (207,164)c/3484871. The circuitry itself is p3484000.
(871 is added to account for the delay that the child needs to reach the same phase as the parent)
The 4000th descendant will have an identical phase to the original pattern.
Bounding box: 217858 x 217836
Used tools: pslmake (to create efficient slow salvos), slmake (to convert one of the salvos into a 90° recipe, not for actually making the recipes because they are inefficient), improved version of dvgrn's build0deg.py (to build the 0° recipe, which slmake can't do correctly), Goldtiger997's script (which converts a slow salvo into lane numbers).
Blueprint:
Code: Select all
x = 955, y = 890, rule = LifeSuper
529.2A$529.A.A$531.A$531.2A16$561.A$559.3A$558.A$558.2A6$538.2A$538.
2A4$540.2A$539.A.A$539.A$538.2A6$549.2A$549.2A$557.2A$557.A$558.3A$
560.A60.A$621.3A$559.A64.A$558.A.A54.A7.2A$558.A.A54.3A$557.2A.3A19.A
10.A24.A$563.A16.A.A8.3A23.2A$557.2A.3A18.2A7.A$557.2A.A29.2A$575.2A$
549.2A25.A$540.2A7.2A25.A.2A$541.A35.A2.A$541.A.A34.2A$542.2A49.2A13.
2A$593.2A13.2A3$562.2A$562.2A3$596.2A.A6.2A$596.2A.3A3.A.A21.2A$547.A
54.A2.A23.A.A$546.A.A47.2A.3A2.2A25.A$546.A.A48.A.A31.2A$547.A37.2A
10.A.A$544.3A38.2A11.A$544.A63$732.E$731.E.E$731.2E7$739.2D$739.D.D$
739.D9$732.D$730.D.D$731.2D2$746.2E$736.2D7.E.E$736.D.D6.2E$738.D$
738.2D2$710.D42.E$710.D.D11.2E26.E.E$710.2D11.E2.E19.2D4.2E$724.2E20.
2D2$735.2E$734.E2.E$734.E.E$735.E3$730.2E$729.E2.E$730.2E$768.C$766.
3C$765.C$765.2C5$773.3D14.2E$745.2C28.D14.E.E$745.2C27.D16.E4$747.2C$
746.C.C$746.C$745.2C6$756.2C$756.2C$764.2C$764.C15.2E$765.3C11.E.E$
767.C12.E47.C$828.3C$766.C64.C$765.C.C54.C7.2C$765.C.C54.3C$764.2C.3C
30.C24.C$770.C27.3C23.2C$764.2C.3C27.C$764.2C.C29.2C$782.2C$756.2C25.
C$747.2C7.2C25.C.2C$748.C35.C2.C$748.C.C34.2C$749.2C49.2C13.2C$800.2C
13.2C3$769.2C$769.2C3$803.2C.C6.2C$803.2C.3C3.C.C21.2C10.2E$754.C54.C
2.C23.C.C9.E$753.C.C47.2C.3C2.2C25.C10.3E$753.C.C48.C.C31.2C11.E$754.
C37.2C10.C.C$751.3C38.2C11.C$751.C95$953.2C$953.2C258$3.2A$4.A$2.A$2.
5A14.2A$7.A13.A$4.3A12.A.A$3.A15.2A$3.4A$.2A3.A3.2A$A2.3A4.2A$2A.A$3.
A$3.2A3$11.2A$12.A$9.3A$9.A17$50.A$50.3A$53.A$52.2A7$62.2A$55.2A5.A.A
$55.2A7.A$64.2A2$51.A$50.A.A.2A$50.A.A.A.A$47.2A.A.A.A.A2.A$47.A2.A2.
2A.4A$49.2A4.A$55.A.A$56.2A73$142.2A$142.2A10.D$154.D.D13.2D$154.2D
13.D.D$171.D2$160.E$159.E.E$146.E11.E2.E$145.E.E11.2E$146.2E$169.E14.
2D$168.E.E12.D.D$168.2E15.D3$173.E$172.E.E$171.E2.E$172.2E2$182.E$
181.E.E$181.2E11$210.2C$211.C$209.C$209.5C14.2C$214.C13.C$211.3C12.C.
C$210.C15.2C$210.4C$208.2C3.C3.2C$207.C2.3C4.2C$207.2C.C$210.C$210.2C
3$218.2C$219.C$216.3C$216.C17$257.C$257.3C$260.C$259.2C7$269.2C$262.
2C5.C.C$262.2C7.C$271.2C2$258.C$257.C.C.2C$257.C.C.C.C$254.2C.C.C.C.C
2.C$254.C2.C2.2C.4C$256.2C4.C$262.C.C4.2D$263.2C3.D.D$270.D8$253.D$
254.D$252.3D5.2E$260.2E3$255.2E$255.2E57$349.2C$349.2C!
Construction:
- SW circuitry, using a 90° recipe
- Construction elbow and target block are re-positioned
- NE circuitry, using a 0° recipe
- Elbow destroy (5-glider recipe found using speedydelete's "lifeweb" software which is still in development)
- Final glider to trigger a sequence of 1-time turners and splitters (shown in the blueprint)
- Insert entire recipe
What do the turners and splitters do?
While thinking of a design, I figured that it would be the most efficient to use the same lane for construction and recipe duplication (different from dvgrn's 2013 linear propagator). The parent had to be disabled from constructing, after it is done constructing the child, which can be done by placing an eater on that glider lane. But how would one do that while still being able to duplicate the recipe? The placement of the eater just needs to be delayed enough. The turners are constructed to let the final glider take a round trip from the NE end to the SW end and back, and activate a seed which places a block in the original location of the construction elbow, as well as an eater in front of it. This activation happens late enough to let the entire stream of gliders into the child's circuitry, and the seed does not interfere with the stream, as it is an edgy seed.
Goldtiger found the edgy eater seed, I found the edgy block seed, both are activated sequentially.
The child is constructed with an extra eater so it doesn't touch the construction elbow while the stream passes through it. It is destroyed by a glider, also guided by turners and splitters, after the entire stream leaves the splitter.
Why pslmake?
Because it generates smaller slow salvos than slmake.
Why not slmake?
Because it forces the construction elbow to be ridiculously far away from the actual thing being constructed. This increases the minimum distance between the parent and the child, which in turn increases the construction cost. As if trying to find the optimal spacing wasn't already painful...
Future goals:
Reduce the single-channel recipes using speedydelete's lifeweb (once they develop the software fully and it finds an optimized construction toolkit)
Add a delay circuit, which has a transparent variant that's easy to turn on. The parent would have a fully functional delay circuit, the child would have the transparent variant of that delay circuit. This would allow the duplicated stream to pass through the child's glider loop faster, compensating for any delay, caused by the gliders passing from the parent to the child. One-time turners would then be used to activate the child's delay circuit, making it identical to the parent. Both the parent and child would have identical phases.
Make it Hashlife-friendly. The construction is not aligned to power-of-two generations whatsoever, so the pattern runs terribly slowly. That's another thing speedydelete is luckily working on.
Special thanks to dvgrn (providing scripts, helping with ideas), Goldtiger997 (providing scripts), speedydelete (getting the software to work, spiritual support).