Page 2 of 3
Re: JavaLifeSearch
Posted: December 30th, 2017, 5:18 pm
by praosylen
The manual appears to mention the existence of "frozen unchecked" cells, which I should be able to create with X + I, but when I try that on my copy, nothing happens when I press "I". Is the problem with my copy of JLS, the manual, or my own misunderstanding?
Re: JavaLifeSearch
Posted: January 4th, 2018, 4:39 am
by wildmyron
In case you hadn't figured it out yet, this seems to be an error in the documentation. 'i' and 'I' clear all unchecked cells in the selection, and 'o' and 'O' set all unset cells to unchecked. The frozen / unfrozen state is retained with 'i' and 'o' as indicated in the manual - you just need the opposite operation. As usual, 'Shift' applies the operation to all generations.
Re: JavaLifeSearch
Posted: October 5th, 2018, 5:07 pm
by Sarp
It seems like the web page is broken, are there any alternative links?
Re: JavaLifeSearch
Posted: October 5th, 2018, 5:12 pm
by Apple Bottom
Sarp wrote:It seems like the web page is broken, are there any alternative links?
Here's a ZIP file containing a saved copy of the JAR file for 1.7 and the accompanying manual:
- JLS-1.7.zip
- JLS 1.7 binary and manual
- (623.99 KiB) Downloaded 1631 times
Re: JavaLifeSearch
Posted: October 5th, 2018, 5:30 pm
by Sokwe
Apple Bottom wrote:Here's a ZIP file containing a saved copy of the JAR file for 1.7 and the accompanying manual
Thanks. I've updated the original post to link to your post.
Re: JavaLifeSearch
Posted: November 8th, 2018, 11:33 pm
by Entity Valkyrie
How do I use JavaLifeSearch to find a suitable p3 reflector for this?
Code: Select all
x = 29, y = 25, rule = B3/S23
18bobo$19b2o$19bo6$o$3o$3bo$2b2o11b2o11bo$15b2o9b3o$6b3o17bobo$4b2o20b
o$4b2obob2o$4b4o2bo$5bo4bo$6b4o$6b2o2$27b2o$28bo$25b3o$25bo!
EDIT: This is p51.
Re: JavaLifeSearch
Posted: November 9th, 2018, 2:02 am
by wildmyron
Entity Valkyrie wrote:How do I use JavaLifeSearch to find a suitable p3 reflector for this?
Code: Select all
x = 29, y = 25, rule = B3/S23
18bobo$19b2o$19bo6$o$3o$3bo$2b2o11b2o11bo$15b2o9b3o$6b3o17bobo$4b2o20b
o$4b2obob2o$4b4o2bo$5bo4bo$6b4o$6b2o2$27b2o$28bo$25b3o$25bo!
EDIT: This is p51.
I'm not sure this problem is at a stage where JLS can be used to find a solution, but it depends very much on what you are trying to reflect, the timing of that reflection and where it needs to go. If I understand what you are trying to do correctly, then you want to use the p3 reflector to shuttle the glider which knocks out the FNG of the eastern herschel allowing the R-> H progression to work. What you need to do first is work out the timing and output lane of the reflector that's required, and then survey all the known p3 reflectors to see if there's anything that matches. If you find something but it doesn't fit, then you can use JLS to find an oscillator which uses the same mechanism and also fits in the space that is available. If there's nothing that matches then it is going to be very hard to find something starting with just JLS.
If you do want to tackle this problem then the way to do it would be to set up JLS with a period of 51 gen, and manually set the as much of the pattern as possible until you have the input and output gliders defined throughout the interaction. In this case you may need to work forwards from Gen 0 and backwards from the last gen to work out where and when the interaction will take place. In the middle you'll need to leave a number of cells unconstrained (which is where the interaction will take place) and then border that region with cells constrained to be p3. To start with there should be a thin border of p3 cells surrounded by a larger area of Unchecked p3 cells. I tackle these problems by starting with as small an area as possible for the interaction and gradually increase that area when no results are found. You'll see that there are errors where signals (including gliders) come into and go out of the conduits. These errors can be resolved with Unset cells in the last generation.
You can save a lot of time in setting up these searches by pasting in a pattern from Golly into JLS, manually setting the unknown areas throughout the evolution and letting it work out the subsequent generations everywhere else. I've attached a JLS file which sets up this kind of search from an adapted version of the pattern on the Gun Discussion thread (with alternate p3 sparker) combined with the pattern here. With the current setup the search finds 0 solutions after about 3 minutes. Note the Sort order used (in particular "Process all cells in a generation first") and the use of "Use combinations of solutions to prune search" in the Search Options. The later option has no effect on this search as it's set up, but as you expand the search it's a very useful option.
I suspect that even if you manage to find a solution to this problem it's going to be very difficult to make it fit with all the other circuitry you require, for example, there's no way it can coexist with the 2G -> H you used in the pattern from the Gun Discussion thread.
Good Luck
Re: JavaLifeSearch
Posted: November 10th, 2018, 6:27 pm
by Entity Valkyrie
wildmyron wrote:Entity Valkyrie wrote:How do I use JavaLifeSearch to find a suitable p3 reflector for this?
Code: Select all
x = 29, y = 25, rule = B3/S23
18bobo$19b2o$19bo6$o$3o$3bo$2b2o11b2o11bo$15b2o9b3o$6b3o17bobo$4b2o20b
o$4b2obob2o$4b4o2bo$5bo4bo$6b4o$6b2o2$27b2o$28bo$25b3o$25bo!
EDIT: This is p51.
I'm not sure this problem is at a stage where JLS can be used to find a solution, but it depends very much on what you are trying to reflect, the timing of that reflection and where it needs to go. If I understand what you are trying to do correctly, then you want to use the p3 reflector to shuttle the glider which knocks out the FNG of the eastern herschel allowing the R-> H progression to work. What you need to do first is work out the timing and output lane of the reflector that's required, and then survey all the known p3 reflectors to see if there's anything that matches. If you find something but it doesn't fit, then you can use JLS to find an oscillator which uses the same mechanism and also fits in the space that is available. If there's nothing that matches then it is going to be very hard to find something starting with just JLS.
If you do want to tackle this problem then the way to do it would be to set up JLS with a period of 51 gen, and manually set the as much of the pattern as possible until you have the input and output gliders defined throughout the interaction. In this case you may need to work forwards from Gen 0 and backwards from the last gen to work out where and when the interaction will take place. In the middle you'll need to leave a number of cells unconstrained (which is where the interaction will take place) and then border that region with cells constrained to be p3. To start with there should be a thin border of p3 cells surrounded by a larger area of Unchecked p3 cells. I tackle these problems by starting with as small an area as possible for the interaction and gradually increase that area when no results are found. You'll see that there are errors where signals (including gliders) come into and go out of the conduits. These errors can be resolved with Unset cells in the last generation.
You can save a lot of time in setting up these searches by pasting in a pattern from Golly into JLS, manually setting the unknown areas throughout the evolution and letting it work out the subsequent generations everywhere else. I've attached a JLS file which sets up this kind of search from an adapted version of the pattern on the Gun Discussion thread (with alternate p3 sparker) combined with the pattern here. With the current setup the search finds 0 solutions after about 3 minutes. Note the Sort order used (in particular "Process all cells in a generation first") and the use of "Use combinations of solutions to prune search" in the Search Options. The later option has no effect on this search as it's set up, but as you expand the search it's a very useful option.
I suspect that even if you manage to find a solution to this problem it's going to be very difficult to make it fit with all the other circuitry you require, for example, there's no way it can coexist with the 2G -> H you used in the pattern from the Gun Discussion thread.
Good Luck
Thanks for the file. I didn't know how to set up JavaLifeSearch until now.
Re: JavaLifeSearch
Posted: November 12th, 2018, 2:41 am
by 77topaz
Could you please not quote entire page-long posts just to add a single line of response to the bottom?
Re: JavaLifeSearch
Posted: March 2nd, 2020, 1:45 am
by LaundryPizza03
JLS's error detection is buggy when finding spaceships. For example, it prevents me from attempting to extend the following c/5o partial because of the top three sparks:
Code: Select all
x = 19, y = 14, rule = B3/S3
9bo2$7bo3bo$3b2o9b2o$5b2ob3ob2o$b2o3bo5bo3b2o$b2o3bo5bo3b2o$2bo3bo5bo
3bo$bo3bo7bo3bo$2b4o7b4o$2o5b5o5b2o$5bobo3bobo$4b2o7b2o$2bob2o2b3o2b2o
bo!
EDIT: Without the spaceship requirement, do you know why I'm getting only solutions where the rows behind the last functional one disappear after 1 period?
Re: JavaLifeSearch
Posted: March 4th, 2020, 10:39 pm
by wildmyron
LaundryPizza03 wrote: March 2nd, 2020, 1:45 am
JLS's error detection is buggy when finding spaceships. For example, it prevents me from attempting to extend the following c/5o partial because of the top three sparks:
Code: Select all
x = 19, y = 14, rule = B3/S3
9bo2$7bo3bo$3b2o9b2o$5b2ob3ob2o$b2o3bo5bo3b2o$b2o3bo5bo3b2o$2bo3bo5bo
3bo$bo3bo7bo3bo$2b4o7b4o$2o5b5o5b2o$5bobo3bobo$4b2o7b2o$2bob2o2b3o2b2o
bo!
This partial seems to work fine for me in JLS, but the search doesn't go very far before it's complete. Here are the settings which need to be adjusted from default to run a search (with the partial in the same orientation as shown above):
- Edit -> Properties -> Edit field:
- Columns (width) - 21 (or slightly larger odd value)
- Rows (height) - some number larger than 18 (50 is reasonable, less is OK, more gets awkward but will be necessary for long ships)
- Generations (depth) - 5
- Symmetry - Horizontal mirror
- Edit -> Properties -> Tiling/translation
- After the last generation is... Generation 0, shifted -1 cells down
- Edit -> Properties -> Rule
- Select the top 14 rows and press 'a' to set cells to Off.
- Select the centre 19 columns of the top 14 rows and paste the partial pattern (Edit -> Paste or Ctrl-V)
- In order to run any reasonable search you also need to change the search order - Search -> Options -> Sorting
- Area - Vertical
- (Optional) Start at Column 10 (Should be the centre column [(width - 1) / 2] )
- Search -> Options -> Processing
- Display search status on screen - every 1 seconds (Personal preference)
This search won't get far - it ends almost immediately at width 23. If you keep just the top 7 rows of the partial you can run a decent search. (Still no results at width 23 though.)
Personally I find searching for vertically traveling spaceships in JLS / WLS awkward - the defaults are more tailored to leftward traveling ships. To set up such a search you just need to adjust the period, the displacement (set "After the last generation is..." to Generation 0, shifted
-x cells to the right, where "x" is the desired displacement), and set symmetry to
Vertical mirror (if desired). (And optionally change the sorting options to Start at Row
r, where r is the centre row.)
EDIT: Without the spaceship requirement, do you know why I'm getting only solutions where the rows behind the last functional one disappear after 1 period?
I don't understand what you mean - you can't run an oscillator search with this partial...
Re: JavaLifeSearch
Posted: May 12th, 2020, 2:03 am
by LaundryPizza03
The spaceship search option is still proving unusably buggy for me. I'm trying to find a glide-symmetric 2c/8d in B368/S35678 by attaching a rear end to a wickstretcher. The spaceship is traveling northwest, so the correct option is to have the pattern shifted up 1 cell and left 1 cell, reflected diagonally backward. But then the ten cells highlighted in red and white at the northwest end of the pattern return an error, despite working exactly as intended. Even when specifying simple translation, it still doesn't work.
Code: Select all
x = 14, y = 14, rule = B368/S35678History
14B$3B4D7B$2B5AC6B$BD8A4B$BD8A4B$BD10A2B$BD10A2B$2BC10AE$3B9A2E$3B8A
3E$5B5A4E$6B3A5E$6B2A6E$8B6E!
That said, JLS works fine for searches that don't involve unknown moving patterns, though I'd still like to build a GUI for custom LLS searches because it's faster and more diverse.
Re: JavaLifeSearch
Posted: May 12th, 2020, 9:15 am
by wildmyron
LaundryPizza03 wrote: May 12th, 2020, 2:03 am
The spaceship search option is still proving unusably buggy for me. I'm trying to find a glide-symmetric 2c/8d in B368/S35678 by attaching a rear end to a wickstretcher. The spaceship is traveling northwest, so the correct option is to have the pattern shifted up 1 cell and left 1 cell, reflected diagonally backward. But then the ten cells highlighted in red and white at the northwest end of the pattern return an error, despite working exactly as intended. Even when specifying simple translation, it still doesn't work.
Code: Select all
x = 14, y = 14, rule = B368/S35678History
14B$3B4D7B$2B5AC6B$BD8A4B$BD8A4B$BD10A2B$BD10A2B$2BC10AE$3B9A2E$3B8A
3E$5B5A4E$6B3A5E$6B2A6E$8B6E!
That said, JLS works fine for searches that don't involve unknown moving patterns, though I'd still like to build a GUI for custom LLS searches because it's faster and more diverse.
Unfortunately JLS doesn't fully support diagonal glide reflect spaceships. There was a brief mention of this issue at the end of page 1 of this thread. I'm not sure about the partial you are trying to extend (because you haven't shown it here) but as you note glide reflect with (-1,-1) does work in this rule. The glider in CGoL is glide reflect with (-1,0) and that doesn't work in JLS. Similarly, 2c/8d spaceships could be glide-reflect with (-2,0), and that doesn't work in JLS. It could be that your partial requires (-2,0) rather than (-1,-1).
Re: JavaLifeSearch
Posted: December 12th, 2024, 11:39 pm
by Timelord Missionary
What if I accidentally post four generations (gen 0, gen 1, gen 2, and gen 3) into a JLS search for an oscillator that I know can only be p3? Will it autocorrect somehow? I did not post any live cells on Gen 3
Re: JavaLifeSearch
Posted: December 13th, 2024, 12:07 am
by Sokwe
Timelord Missionary wrote: December 12th, 2024, 11:39 pm
What if I accidentally post four generations (gen 0, gen 1, gen 2, and gen 3) into a JLS search for an oscillator that I know can only be p3? Will it autocorrect somehow? I did not post any live cells on Gen 3
JLS defaults to period 4, and you can't really run a period-3 search at period-4. To change the period, go to Edit->Properties, and change the number in the "Generations (depth)" box to 3. This will eliminate gen 3.
Also, I moved your post to the JLS discussion thread.
Re: JavaLifeSearch (JLS)
Posted: December 16th, 2024, 1:17 pm
by Timelord Missionary
OK, how do I keep my MacBook running for a long time so it can let JLS run? Am I doing this wrong, possibly by not highlighting anything, and that's why it is taking longer than I thought it would? It has currently run through ~210 billion scenarios, with no results so far.
Re: JavaLifeSearch (JLS)
Posted: December 16th, 2024, 3:57 pm
by LaundryPizza03
Timelord Missionary wrote: December 16th, 2024, 1:17 pm
OK, how do I keep my MacBook running for a long time so it can let JLS run? Am I doing this wrong and that's why it is taking longer than I thought it would? It has currently run through ~210 billion scenarios.
This is just a hardware question. Keep it on the charger, don't put it into sleep mode, and try not to run too many processes at the same time. I'd use my own MacBook which is newer and faster than the desktop I'm using, but I have reserved it for Ph.D.-oriented work.
Re: JavaLifeSearch (JLS)
Posted: December 19th, 2024, 1:27 am
by Sokwe
Timelord Missionary wrote: December 16th, 2024, 1:17 pm
Am I doing this wrong, possibly by not highlighting anything, and that's why it is taking longer than I thought it would? It has currently run through ~210 billion scenarios, with no results so far.
I would need to see what you're trying to accomplish. Can you save the state of the search as a .txt file and attach it to a post here on the forums?
You will almost always want to bound your rotor cells on either side with two rows of stator cells (hover over them and press '1'), followed by several rows of 'X' cells, like this:
Code: Select all
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
11111111111111
11111111111111
??????????????
??????????????
??????????????
??????????????
11111111111111
11111111111111
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
Re: JavaLifeSearch (JLS)
Posted: December 19th, 2024, 4:44 pm
by Timelord Missionary
This is what I was searching for, sans the obligatory pre-spark:
Code: Select all
x = 16, y = 15, rule = B3/S23
2$14b2o$13b3o$7bo5b2o$7bo5b2o$5bo4bo2b3o$5bo3b2o3bo$6bobo2bo2bo$9b2o!
I think I would have had better chances if I had read the instruction manual.
Re: JavaLifeSearch (JLS)
Posted: December 19th, 2024, 6:56 pm
by Sokwe
Timelord Missionary wrote: December 19th, 2024, 4:44 pm
This is what I was searching for, sans the obligatory pre-spark:
Code: Select all
x = 16, y = 15, rule = B3/S23
2$14b2o$13b3o$7bo5b2o$7bo5b2o$5bo4bo2b3o$5bo3b2o3bo$6bobo2bo2bo$9b2o!
I think I would have had better chances if I had read the instruction manual.
Here are some general guidelines for searching with JLS:
- Learn the hotkeys by selecting "Help->Controls Reference". For some reason this opens at the bottom of the reference sheet, so you will have to scroll up to see the rest. Read JLS_manual.pdf to get a detailed explanation of the various options.
- You can set a cell to the same state in all generations by holding the shift key while setting the state. This is especially useful for setting the 'X' cells on the side of the search area, or for clearing an area with the 'C' key.
- Use subperiodic cells (especially p1 cells) and 'X' cells. As I described above, it's generally best to set up a search with a narrow strip of rotor cells bounded by a 2-cell-thick strip of stator cells, followed by 'X' cells. A group of cells can be set to subperiodic by selecting them and pressing '1', '2', '3', '4', '5', or '6', with the subperiods defined in the Edit->Properties menu. So you can set stator cells by selecting the cells and pressing the '1' key. The 'X' cells are those that won't be set during the search unless they are forced. You can set 'X' cells by selecting them and pressing the 'X' key. 'X' cells can also be set to be subperiodic.
- Put unset cells (with the 'U' key) at the end of your rotor strip and start with a small rotor width. If a search along a strip ending in unchecked cells finds nothing, then you know that there is nothing to find, so you can increase the width of the rotor and search again. If the search reaches the unchecked cells, then you probably have a nice long partial result.
- Pause ("Search->Pause") and save ("File->Save...") the search state when you see an interesting looking partial. Then you can start another instance of JLS, open the saved file, and select "Search->Accept displayed state" to start playing around with the interesting partial. Note that JLS does not add the ".jdf" file extension automatically, so if you save a JLS file without the extension, you will have to select "Files of Type: All Files" when opening the file.
- Make sure the direction of the search matches the direction of your rotor strip. You can change the direction of the search by selecting "Search->Options" and going to the "Sorting" tab.
- Before pasting a partial result into an empty JLS grid, first select all cells in gen. 0 and set them to dead (right click or press 'A'). This is because pasting a pattern into JLS only pastes the live cells. Now the cell preprocessor will fill in the rest of the generations with the evolved state. You can then select "Search->Accept displayed state". There will of course be errors at the edge of your partial result, so you will need to clear some cells there (select them and use Shift+'C').
- Split the search into multiple parts, if possible. The above potential p3 consists of sparks on either side, but you will only want to search one side at a time. You can use 'X' cells on the side you don't want to search to prevent cell errors.
Re: JavaLifeSearch (JLS)
Posted: December 20th, 2024, 6:54 pm
by hotcrystal0
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS:
https://www.mediafire.com/file/mk052nqt ... l.pdf/file
Re: JavaLifeSearch (JLS)
Posted: December 20th, 2024, 8:11 pm
by confocaloid
If someone doesn't have access to JLS posted as an attachment in this forum thread, then they probably will not have access to your post, and the external link is more likely to break than an attachment.
hotcrystal0 wrote: December 20th, 2024, 6:54 pm
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: [...]
Re: JavaLifeSearch (JLS)
Posted: December 20th, 2024, 8:58 pm
by hotcrystal0
confocaloid wrote: December 20th, 2024, 8:11 pm
If someone doesn't have access to JLS posted as an attachment in this forum thread, then they probably will not have access to your post, and the external link is more likely to break than an attachment.
hotcrystal0 wrote: December 20th, 2024, 6:54 pm
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: [...]
Unfortunately, when I try to attach it, it says invalid file format. Here’s a direct link to the PDF:
https://download1501.mediafire.com/0mno ... manual.pdf
Re: JavaLifeSearch (JLS)
Posted: December 20th, 2024, 9:04 pm
by confocaloid
It's already posted here in this thread as an attachment.
viewtopic.php?p=64413#p64413
hotcrystal0 wrote: December 20th, 2024, 8:58 pm
confocaloid wrote: December 20th, 2024, 8:11 pm
If someone doesn't have access to JLS posted as an attachment in this forum thread, then they probably will not have access to your post, and the external link is more likely to break than an attachment.
hotcrystal0 wrote: December 20th, 2024, 6:54 pm
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: [...]
Unfortunately, when I try to attach it, it says invalid file format. [...]
Re: JavaLifeSearch (JLS)
Posted: February 4th, 2025, 11:59 pm
by Sokwe
Tawal wrote: February 4th, 2025, 1:10 pm
Is there a way to weld the green catalyst from Snark64 and the white Eater2 ?
Of course keeping each functionality.
Code:
Select all
x = 17, y = 12, rule = LifeHistory
17B$4B.7B2.3B$4B2.5B4.B$4B3.3BA2B$3B6.ABA4B$2.2C.C4.A.A.2A$2.2C.3CA.A
.ABABA$8.2A.A4.A$2.2C.3C3.A.3A$3.C.C5.A.A$3.C.C6.A$4.C!
Here is how I would look for such a weld with JLS.
- If you don't have a specific reaction in mind, create separate patterns that induce the basic catalyses:
Code: Select all
x = 34, y = 17, rule = B3/S23
24b3o$23bo3bo$22bo5bo$bo20bo5bo$2bo19bo5bo$3o20bo3bo$24b3o2$27bo$26bob
o$6b2obo17bobob2o$6b2ob3o13bobobobobo$12bo12b2obo4bo$6b2ob3o16bob3o$7b
obo18bobo$7bobo19bo$8bo!
Notice that I placed the glider so that the eater 2 reaction starts after the chucklebait reaction is finished. This is to prevent a solution from unintentionally relying on the mutual timing of the two reactions, although in this case the reactions are far enough apart that it wouldn't matter. Notice further that both catalyses are finished by generation 18, so we will eventually set the depth of our JLS search to 18+1=19 generations.
- Overlap these patterns in the desired positions:
Code: Select all
x = 21, y = 17, rule = B3/S23
11b3o$10bo3bo$9bo5bo$bo7bo5bo$2bo6bo5bo$3o7bo3bo$11b3o2$14bo$13bobo$6b
2obo4bobob2o$6b2ob4obobobobo$12b2obo4bo$6b2ob3o3bob3o$7bobo5bobo$7bobo
6bo$8bo!
If the stator cells from one catalyst go too close to the rotor cells of the other, you may need to trim the stator cells away before overlapping them. In this case it wasn't necessary.
- Open an instance of JLS, select "Edit->Properties...", set the width, height, and depth to be large enough to contain the entire desired reaction (in this case I chose 35x35 and a depth of 19 generations). Then click on the "Tiling/translation" tab and for "After the last generation is..." select "Unknown". Finally, click "OK".
- In JLS, make sure you are in generation 0 (see bottom left corner of window). Select the entire grid using CTRL+A, and then set all of the cells in generation 0 to OFF by pressing 'A'.
- In your Life editor program (e.g., Golly or LifeViewer) select the pattern constructed in step 2 with enough room around the edges to capture the entire reaction through all generations. In this case, I chose the following box:
Code: Select all
x = 30, y = 30, rule = B3/S23
8$16b3o$15bo3bo$14bo5bo$6bo7bo5bo$7bo6bo5bo$5b3o7bo3bo$16b3o2$19bo$18b
obo$11b2obo4bobob2o$11b2ob4obobobobo$17b2obo4bo$11b2ob3o3bob3o$12bobo
5bobo$12bobo6bo$13bo!
[[ ZOOM 8 ]]
[[ POLYALPHA 0.25 ]]
[[ POLYFILL -0.5 -0.5 30.5 -0.5 30.5 30.5 -0.5 30.5 -0.5 -0.5 8 ]]
Copy the pattern with CTRL+C, then go to JLS, make sure you are in generation 0, and paste the pattern with CTRL+V. JLS will then evolve the pattern through all generations, and these generations can be scrolled through using your mouse scroll wheel or the scroll bar in the bottom left corner of the window. Notice that what should be the stator cells of our catalysts fall apart due to the unresolved stator overlap. We will need to fix this.
- Go to generation 0 and take note of all cells that should be stator cells. Then go to generation 1 and make note of which of these cells have their state changed. In each case where the state of a desired stator cell changed from gen. 0 to gen. 1, hold the SHIFT key and right or left click (right for ON, left for OFF) to change the state in gen. 1 to match the state in gen. 0. Holding SHIFT will set the cell to that state in all generations. Note that some of these cells and their neighbors will be highlighted in red, but that doesn't matter at this stage.
- After applying step 6 for each desired stator cell that had changed, you should now see that all of the stator cells are no longer highlighted, meaning that they are now the same state in all generations. Once this occurs, select "Search->Accept displayed state".
- Select a box containing only stator cells (both ON and OFF), and press the '1' key. This sets those cells to have period 1 (they will be highlighted in yellow). Keep doing this until you have highlighted the entire stator in yellow. Additionally, extend the area of period 1 cells around the original catalyst stators to allow for a weld with a bigger bounding box.
- After setting all stator cells to period 1, select the yellow-highlighted cells again, and clear them by pressing the 'C' key. Note that because they are set to period 1, this will clear them in all generations. If they were set to some other period, you would need to press SHIFT+C to clear them in all generations.
- After clearing all stator cells, you can try searching for a weld by selecting "Search->Start". If you get no solutions or you get an error warning, expand the stator area of the search and try searching again.
- If you get no solutions or an error warning in step 10, it might be the case that welds exist. To prove this, select the off cells that border the stator area and are not part of the catalysis reaction, and press SHIFT+U to make them "unset" cells. This means that the Life rules will never be checked in those cells, and they will never be set during the search. I tend to use a two-cell thick layer of unset cells, but presumably a 1-cell thick layer is sufficient. Now run the search again by selecting "Search->Start". If there are still errors or you get no solutions, then the weld is impossible.
Unfortunately, a weld is impossible in the case above. I have attached a zip archive containing a JLS save file (JLS-weld-example.jdf) that shows what the setup should look like after step 11: