Difference between revisions of "LifeViewer"

From LifeWiki
Jump to navigation Jump to search
 
(155 intermediate revisions by 9 users not shown)
Line 3: Line 3:
|url            = https://lazyslug.com/lifeviewer
|url            = https://lazyslug.com/lifeviewer
|purpose        = [[Conway's Game of Life|Life]] simulation
|purpose        = [[Conway's Game of Life|Life]] simulation
|createdby      = [[User:rowett|Chris Rowett]]
|createdby      = [[Chris Rowett]]
|platform        = HTML5 / Javascript
|platform        = HTML5 / Javascript
|image          = true
}}
}}
'''LifeViewer''' is a scriptable pattern viewer and editor used to simulate [[Life]] and a wide range of other 1D and 2D [[cellular automata]].
'''LifeViewer''' is a browser-based scriptable pattern viewer and editor used to simulate [[Life]] and a wide range of other 1D and 2D [[cellular automata]].
 
* If you are looking for script instructions, see [[LifeViewer/Scripts]]
* If you want instructions for using the user interface, see [[LifeViewer/User Interface]]
* If you want to use LifeViewer on your own site, see [[Tutorials/LifeViewer JavaScript plug-in]]


If you want to use LifeViewer on your own site then the latest release can be downloaded [http://lazyslug.com/lifeview/plugin/js/release/ here].


<div style="float: right;">{{LV:Viewer|
<div style="float: right;">{{LV:Viewer|
Line 32: Line 36:
#C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]}}</div>
#C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]}}</div>


==LifeViewer features==
== LifeViewer features ==
* Smooth non-integer zoom with anti-aliasing and rotation.
* Smooth non-integer zoom with anti-aliasing and rotation.
* Colour themes with cell history and longevity.
* Colour [[#Themes|themes]] with cell history and longevity.
* Square, hexagonal and triangular grids.
* Pseudo 3D layers and stars.
* Pseudo 3D layers and stars.
* Multiple ways to automatically track patterns with the camera as they evolve.
* Multiple ways to automatically track patterns with the camera as they evolve.
* Script language that allows many features to be customized including Waypoint animations.
* [[#Scripts|Script]] language that allows many features to be customized including Waypoint animations.
* Support for multiple embedded LifeViewers and/or a single popup LifeViewer.
* Support for multiple embedded LifeViewers and/or a single popup LifeViewer.
* Ability to step back to earlier generations for all patterns and reverse playback for reversible Margolus and PCA patterns.
* Ability to step back to earlier generations for all patterns and reverse playback for reversible Margolus and PCA patterns.
* Random pattern and rule generation.
* Random pattern and rule generation.
* Real time auto-scaling population graph.
* Real time auto-scaling [[LifeViewer/User_Interface#Population_Graph|population graph]].
* Pattern annotation with Labels, Arrows, Lines and Polygons.
* [[LifeViewer/Scripts#Annotations|Pattern annotation]] with Labels, Arrows, Lines and Polygons.
* Programatically pasting cells onto the grid at defined intervals (for example: glider injection).
* Programatically pasting cells onto the grid at defined intervals (for example: glider injection).
* Ability to build patterns from RLE recipes with transformations.
* Ability to build patterns from RLE recipes with transformations.
* Identification of oscillator and spaceship periods.
* [[#Pattern Identification|Identification]] of still life patterns, oscillator and spaceship periods.
* Automatic scaling for high DPI displays including smartphones and tablets.
* Automatic scaling for high DPI displays including smartphones and tablets.
* Editor with unlimitied undo/redo and multiple clipboards.
* Editor with unlimitied undo/redo and multiple clipboards.


==Rule support==
== Rule support ==
LifeViewer supports the following rule families:
 
=== Built-in rules ===
* 2-state [[Margolus]] rules.
* 2-state [[Margolus]] rules.
** Example: Critters (M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0) {{LV:Viewer|x = 63, y = 34, rule = critters
* 2-state [[Totalistic Life-like cellular automaton|outer-totalistic Life-like cellular automata]] (from ranges 1 to 500, supporting a wide variety of pre-programmed neighbourhood families, as well as custom neighbourhoods and weighted neighbourhoods).
* 2-state [[isotropic non-totalistic cellular automata]] (for range-1 Moore and range-1 hexagonal).
* 2-state [[non-isotropic cellular automata]] (for range-1 Moore, hexagonal and von Neumann).
* [[Generations]] rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces).
* [[Alternating rule]]s.
* [[Partitioned cellular automata]] (PCA) rules.
* [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata (even numbers only).
* [[LifeHistory|[R]History]] rules.
* [https://conwaylife.com/forums/viewtopic.php?f=7&t=4279#p88223 <nowiki>[R]Super</nowiki>] rules.
* [R]Investigator rules (a generalisation of [[Rule:StateInvestigator|StateInvestigator]]).
* [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] rules (either inline or from a [[#Repository Rules|Rule Repository]]).
* Non-deterministic rules.
 
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view example patterns for each rule family.
<div class="mw-collapsible-content">
: 2-state [[Margolus]] rules.
:: Example: Critters (M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0) {{LV:Viewer|x = 63, y = 34, rule = critters
9$52bo9$48b2o$39bo$47bo2bo3$47bo$48bo$5bo31bo20bo$6bo31bo18bo$6bo31bo
9$52bo9$48b2o$39bo$47bo2bo3$47bo$48bo$5bo31bo20bo$6bo31bo18bo$6bo31bo
17bo$5bo31bo17bo!
17bo$5bo31bo17bo!
[[ RLE input o$bo$bo$o! PASTET EVERY 64 PASTE input 5 24 ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ RLE input o$bo$bo$o! PASTET EVERY 64 PASTE input 5 24 ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* 2-state [[Totalistic Life-like cellular automaton|Outer-totalistic Life-like cellular automata]] (from ranges 1 to 500, including [[Larger than Life]]).
: 2-state [[Totalistic Life-like cellular automaton|Outer-totalistic Life-like cellular automata]] (from ranges 1 to 500, including [[Larger than Life]]).
** Example: Soldier Bugs (R7,C2,M1,S65..114,B65..95,NM) {{LV:Viewer|x = 113, y = 113, rule = R7,C2,M1,S65..114,B65..95,NM
:: Example: Soldier Bugs (R7,C2,M1,S65..114,B65..95,NM) {{LV:Viewer|x = 113, y = 113, rule = R7,C2,M1,S65..114,B65..95,NM
49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b
49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b
9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b
9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b
Line 78: Line 103:
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* 2-state [[non-totalistic Life-like cellular automata|Isotropic non-totalistic Life-like cellular automata]] (for range-1 Moore and range-1 hexagonal).
: 2-state [[non-totalistic cellular automata|Isotropic non-totalistic cellular automata]] (for range-1 Moore and range-1 hexagonal).
** Example: Just Friends (B2-a/S12) {{LV:Viewer|x = 65, y = 74, rule = B2-a/S12
:: Example: Just Friends (B2-a/S12) {{LV:Viewer|x = 65, y = 74, rule = B2-a/S12
63bo$63bo4$61bo$64bo$59bobo2bo46$18bo$19b2o12$4bo$4bo4$2bo$5bo$obo2bo!
63bo$63bo4$61bo$64bo$59bobo2bo46$18bo$19b2o12$4bo$4bo4$2bo$5bo$obo2bo!
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* 2-state [[Non-isotropic Life-like cellular automata]] (for range-1 Moore, hexagonal and von Neumann).
: 2-state [[Non-isotropic cellular automata]] (for range-1 Moore, hexagonal and von Neumann).
** Example: MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA {{LV:Viewer|x = 1, y = 1, rule = MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA:T80,40
:: Example: MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA {{LV:Viewer|x = 1, y = 1, rule = MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA:T80,40
o!
o!
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [[Generations]] rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces).
: [[Generations]] rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces).
** Example: Fireworks (2,13,21) {{LV:Viewer|x = 200, y = 100, rule = 2/13/21:T200,100
:: Example: Fireworks (2,13,21) {{LV:Viewer|x = 200, y = 100, rule = 2/13/21:T200,100
#C Fireworks
#C Fireworks
#C An admirably beautiful rule by John Elliott
#C An admirably beautiful rule by John Elliott
Line 95: Line 120:
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
</td><td></td><td>
</td><td></td><td>
* [[Alternating rule|Alternating]] rules.
: [[Alternating rule|Alternating]] rules.
** Example: alternlife (B13/S012345678|B/S15) {{LV:Viewer|x = 21, y = 9, rule = alternlife  
:: Example: alternlife (B13/S012345678|B/S15) {{LV:Viewer|x = 21, y = 9, rule = alternlife  
3.A13.A2$.2A15.2A2$A19.A4$9.A!
3.A13.A2$.2A15.2A2$A19.A4$9.A!
[[ ZOOM 12 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 12 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [[Partitioned cellular automata]] (PCA) rules.
: [[Partitioned cellular automata]] (PCA) rules.
** Example: PCA_4 (2PCA4,0,2,4,12,8,5,9,7,1,6,10,11,3,13,14,15) {{LV:Viewer|x = 49, y = 29, rule = PCA_4
:: Example: PCA_4 (2PCA4,0,2,4,12,8,5,9,7,1,6,10,11,3,13,14,15) {{LV:Viewer|x = 49, y = 29, rule = PCA_4
AB45.AB$HD45.HD24$21.A20.D$20.E$AB19.B20.F4.AB$HD39.D5.HD!
AB45.AB$HD45.HD24$21.A20.D$20.E$AB19.B20.F4.AB$HD39.D5.HD!
[[ STEP 20 ZOOM 6 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ STEP 20 ZOOM 6 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [[Weighted]] rules.
: [[Weighted]] rules.
** Example: R2,C2,S2-3,B4,7-8,NW0010001210120210121000100 {{LV:Viewer|x = 9, y = 9, rule = R2,C2,S2,3,B4,7,8,NW0010001210120210121000100:T80,40
:: Example: R2,C2,S2-3,B4,7-8,NW0010001210120210121000100 {{LV:Viewer|x = 9, y = 9, rule = R2,C2,S2,3,B4,7,8,NW0010001210120210121000100:T80,40
3A6.$3A6.$2A.A3.A.$2.A5.A$9.$9.$9.$2.A6.$3.A5.!
3A6.$3A6.$2A.A3.A.$2.A5.A$9.$9.$9.$2.A6.$3.A5.!
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata (even numbers only).
: [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata (even numbers only).
** Example: Wolfram 30 (W30) {{LV:Viewer|x = 1, y = 1, rule = W30:P100,40
:: Example: Wolfram 30 (W30) {{LV:Viewer|x = 1, y = 1, rule = W30:P100,40
o!
o!
#CXRLE Pos=0,-20
#CXRLE Pos=0,-20
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [[LifeHistory|[R]History]] rules.
: [[LifeHistory|[R]History]] rules.
** Example: LifeHistory {{LV:Viewer|x = 457, y = 155, rule = LifeHistory
:: Example: LifeHistory {{LV:Viewer|x = 457, y = 155, rule = LifeHistory
59.3B64.B125.B$58.BFBF2B60.4BF122.3B$58.6BF.B.F.F.B.F.F.B.F.F.B.F.F.B
59.3B64.B125.B$58.BFBF2B60.4BF122.3B$58.6BF.B.F.F.B.F.F.B.F.F.B.F.F.B
.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F7B5.BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.
.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F7B5.BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.
Line 224: Line 249:
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [https://www.conwaylife.com/forums/viewtopic.php?f=7&t=4279#p88223 <nowiki>[R]Super</nowiki>] rules.
: [https://conwaylife.com/forums/viewtopic.php?f=7&t=4279#p88223 <nowiki>[R]Super</nowiki>] rules.
** Example: LifeSuper {{LV:Viewer|x = 312, y = 156, rule = LifeSuper:T312,156
:: Example: LifeSuper {{LV:Viewer|x = 312, y = 156, rule = LifeSuper:T312,156
69.M.M6.M.M49.2Q.Q6.Q3.3Q117.S.2S2.S.S2.2S.S10.U.2U2.U.U2.2U.U$20.2O.
69.M.M6.M.M49.2Q.Q6.Q3.3Q117.S.2S2.S.S2.2S.S10.U.2U2.U.U2.2U.U$20.2O.
2O2.2O.2O39.M6.M44.2Q5.Q.Q8.3Q4.Q85.2O34.S.S22.U.U$20.2O2.O2.O2.2O36.
2O2.2O.2O39.M6.M44.2Q5.Q.Q8.3Q4.Q85.2O34.S.S22.U.U$20.2O2.O2.O2.2O36.
Line 391: Line 416:
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


* [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] rules from a [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 repository].
: [R]Investigator rules.
** Example: Byl-loop {{LV:Viewer|x = 5, y = 5, rule = Byl-Loop:P200,100
:: Example: B3S23Investigator {{LV:Viewer|x = 98, y = 57, rule = B3S23Investigator
35.R26.R$35.E26.E8$51.E$25.E20.E25.E$24.E21.E7.C18.E$23.E28.EBDE18.E$
45.CE5.2E$21.CD2.DE43.2ED2.DC$19.E3.DE18.C22.E3.D3ED3.E$42.EDBE4.ER
13.3E3.E$44.2E15.E3.D2.E2.D14.C.ECB$13.C30.ED3.E12.E3.E3.D.E11.CE.D2.
E$8.D4.D30.E3.E14.E2.D2E.C13.D.E.D$7.E4.D2.E28.D2.E17.D16.E2.D3.E$12.
E3.E28.D19.C15.E3.E$12.ED3.E27.C21.E12.E3.DE$13.E10.2E39.2DE4.2E10.E
6.E$11.E12.ED3.E34.3E.E3.DE$5.E17.2E3.E4.DE28.ED4.E3.2E17.E$10.E4.E7.
CD2.E3.CD2.DE24.ED2.DC3.E2.DC7.E4.E$14.E10.D46.D10.E$9.E3.E11.CE5.2E
19.E10.2E5.EC11.E3.E$26.D5.D.E14.E3.D9.E.D5.D$DA8.ECD2.DE9.ED3.DE2.E
14.E3.2E6.E2.ED3.DE9.ED2.DCE8.AD$DA11.DE4.2A6.CD.DC19.E2.DE10.CD.DC6.
2A4.ED11.AD$18.E.A2.C.E4.C22.D13.C.C4.C2.A.E$4.E6.E5.ED6.D2.E.E7.2A
13.2C3.2A7.E11.DE5.E6.E$5.E4.ED5.DE4D.E6.E5.E.A2.C12.C2.A.E5.E8.4DED
5.DE4.E$10.2ED3.DE.4EB.C6.E4.D22.D4.E8.B3E2.ED3.D2E$6.E3.DECD.DEC2.DE
2.E8.E3.E4D14.4DE3.E8.E6.CED.DCED3.E$7.E3.E.2E4.E5.C11.5EB12.B5E11.C
10.2E.E3.E$8.E2.D.CD5.D.EC.D4.ED2.DCE2D21.D.CD2.DE4.D2.ED6.DC.D2.E$
10.D.2E.DC3.E3.D2.E4.ED26.D3.DE4.E2.D3.E3.CD.2E.D$10.CE3.E4.E2.2E3.E
5.2E24.E.2E5.E3.2E7.E3.EC$10.E5.E7.ED3.E3.E25.C4.E3.E3.DE7.E5.E$10.D
5.D2.E4.2E6.E5.E26.E6.2E4.E2.D5.D$10.ED3.DE2.D3.E2.E4.E6.DE26.E4.E2.E
3.D2.ED3.DE$11.CD.DC2.E3.E4.E7.E3.EDEC11.CEDE4.E7.E4.E3.E2.CD.DC$12.C
.CE2.D2.E7.CD2.DE6.DE2.C5.C2.ED7.ED2.DC7.E2.D2.EC.C$16.2E.D11.D3E7.D
2.D5.D2.D8.E.ED11.D.2E$12.E5.EC10.E2.EDE7.ED7.DE7.EDE2.2E10.CE5.E$12.
D5.D4.EDE2.EDE2.E.DC.E3.DECE.E.E.ECED3.E.CD.E2.EDE2.EDE5.D5.D$12.ED3.
DEDE.C2.DC.E.DC4.DC3.DCE9.ECD3.CD4.CD.E.CD5.EDED3.DE$12.CED.DC2.DC2E
2.D4.D8.DE2.2D5.2D2.ED8.D4.D5.CD2.CD.DEC$15.3E3.D5.E4.E3.DC2.D4.ED3.D
E4.D2.CD3.E4.E4.ECD3.3E$15.DC5.E3.D4.D3.DC3.C4.CED.DC5.C3.CD3.D4.D10.
CD$13.CD6.D.E.DC3.DC.EDE12.3E10.EDE.CD3.CD3.CD6.DC$20.DC.EDE2.EDE17.D
C16.EDE2.EDE2.CD$18.EDE25.CD29.EDE$49.A!
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY Y -9 LOOP 900 ]]}}
 
: [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] rules from a [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 repository].
:: Example: Byl-loop {{LV:Viewer|x = 5, y = 5, rule = Byl-Loop:P200,100
3.C$4.B2$B$.C!
3.C$4.B2$B$.C!
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}


==Grid and neighbourhood support==
: Non-deterministic rules.
* square grid:
:: Example: Non-deterministic Soldier Bugs {{LV:Viewer|x = 113, y = 113, rule = R7,C2,S64-113,B65-95,P100,#,#
49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b
9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b
7o$18b13o14b12o14b3o6b6o$17b5o3b6o15b10o15b3o6b6o$17b2o7b5o16b7o17b3o
6b6o$17b2o7b5o18b3o20b3obo2b7o$17b3o5b6o41b13o$17b3o2b9o42b11o$18b3ob
8o44b8o$19b10o46b6o16b5o$20b7o50b2o17b8o$21b5o69b4o2b4o$94b3o4b5o$93b
3o5b5o$93b5o4b5o$93b5o4b5o$93b5o4b5o$93b6o2b5o$94b12o$9b5o81b10o$8b7o
80b9o$7b9o80b8o$6b10o81b6o$6b11o$5b13o$5b5o3b5o$4b5o5b5o$4b5o5b5o$5b4o
4b5o$5b3o6b4o$6b4o3b4o$7b9o$8b7o$10b3o3$104b4o$102b8o$101b10o$100b4o4b
4o$100b3o5b4o$99b4o5b5o$99b5o4b5o$99b5o4b5o$100b13o$100b12o$101b10o$4b
6o91b10o$3b8o91b8o$2b10o91b6o$2b10o$b12o$13o$5o4b5o$5o4b5o$5o5b4o$b4o
5b3o$b4o4b4o$2b10o$3b8o$5b4o3$100b3o$98b7o$97b9o$96b4o3b4o$95b4o6b3o$
95b5o4b4o$94b5o5b5o$94b5o5b5o$95b5o3b5o$95b13o$96b11o$10b6o81b10o$9b8o
80b9o$9b9o80b7o$8b10o81b5o$7b12o$7b5o2b6o$6b5o4b5o$6b5o4b5o$6b5o4b5o$
7b5o5b3o$7b5o4b3o$8b4o2b4o69b5o$9b8o17b2o50b7o$11b5o16b6o46b10o$31b8o
44b8ob3o$29b11o42b9o2b3o$28b13o41b6o5b3o$27b7o2bob3o20b3o18b5o7b2o$27b
6o6b3o17b7o16b5o7b2o$27b6o6b3o15b10o15b6o3b5o$27b6o6b3o14b12o14b13o$27b
7o4b3o14b8o2b3o15b12o$28b9ob3o14b6o5b3o16b9o$29b11o15b6o5b3o17b7o$30b
9o16b6o5b3o19b3o$32b6o17b6o5b3o$34b2o19b13o$56b12o$57b10o$59b7o$60b4o!
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY RANDSEED 1695741111763 LOOP 1000 ]]}}
</div>
</div>
 
=== Repository Rules ===
LifeViewer can load rules from the [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 Rule:] namespace here on LifeWiki.
The rules must be in [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] format. LifeViewer supports both @TABLE and @TREE
format rules. Typically @TREE rules run much faster so if possible ensure there is an @TREE version of the rule before the @TABLE
version (if present).
LifeViewer supports the @COLORS section and the @NAMES section but does not support the @ICONS section (which will be ignored if present), although this may be supported in future.<ref name="post87414" />
 
=== Aliases ===
LifeViewer contains a large list of alias names for particular rules. This list of rule name aliases can be found by clicking the Aliases button under Help.
 
== Grid and neighbourhood support ==
LifeViewer supports many different neighbourhoods on square, hexagonal or triangular grids.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the full list of supported neighbourhoods per grid type.
<div class="mw-collapsible-content">
* [[square tiling]]:
** outer-totalistic:
** outer-totalistic:
*** [[Moore neighbourhood|Moore]]
*** [[Moore neighbourhood|Moore]]
Line 407: Line 500:
*** star
*** star
*** checkerboard
*** checkerboard
*** aligned checkerboard
*** hash
*** hash
*** custom (CoordCA)
*** custom (CoordCA)
** non-totalistic
*** Gaussian
*** custom weighted
*** far corners/edges
** non-totalistic R1 Moore
** non-isotropic
** non-isotropic
** Margolus
** Margolus
** PCA
** PCA
** Weighted
* hexagonal or offset-square grid: {{LV:Viewer|x = 50, y = 136, rule = B2/S34H
* hexagonal or offset-square grid: {{LV:Viewer|x = 50, y = 136, rule = B2/S34H
$24bo$22bo$24bo$22b3o$25bo$23b3o$25bobo$25bobo$24b2o$22bo5bo$23bo$27b
$24bo$22bo$24bo$22b3o$25bo$23b3o$25bobo$25bobo$24b2o$22bo5bo$23bo$27b
Line 424: Line 520:
*** asterisk
*** asterisk
*** custom (CoordCA)
*** custom (CoordCA)
*** custom weighted
** non-totalistic
** non-totalistic
** non-isotropic
** non-isotropic
Line 435: Line 532:
*** triangular inner
*** triangular inner
*** triangular outer
*** triangular outer
*** triangular biohazard
*** triangular radiation
*** custom (CoordCA)
*** custom (CoordCA)
*** custom weighted
</div></div>


===[[Bounded grid]] types===
=== [[Bounded grid]] types ===
LifeViewer supports patterns on "unbounded" grids (maximum 16384x16384 in size) and the following bounded grid types:
* Plane
* Plane
* Cylinder (with optional shift)
* Cylinder (with optional shift)
Line 443: Line 545:
* Klein-bottle (with optional shift)
* Klein-bottle (with optional shift)
* Cross-surface
* Cross-surface
* Sphere
* Sphere (either diagonal)
For range 2+ neighbourhoods only Plane, and Torus (without shift) are supported.
For range 2+ neighbourhoods, hexagonal, triangular, PCA and Margolus rules only Plane and Torus (without shift) are supported.
 
Native support for [[BSFKL]], [[Extended Generations]] and [[deficient]] rules is also planned.<ref name="post68678" /><ref name="post68691" /><ref name="post86409" /> Support for 1D totalistic rules may also be planned.<ref name="post84188" />
 
===Aliases===
The current list of rule name aliases can be found by clicking the Aliases button under Help.


==Keyboard commands==
Native support for [[BSFKL]], [[Extended Generations]] and [[deficient]] rules is also planned.<ref name="post68678" /><ref name="post68691" /><ref name="post86409" /> Support for 1D totalistic rules and multiple neighbourhoods rules may also be planned.<ref name="post84188" /><ref name="post75775" />


A visual map of keyboard shortcuts is shown below:
== User Interface ==
{{main|LifeViewer/User Interface}}


[[File:hotkeys.png|1024px]]
== Themes ==
 
Themes are used to define the colours of cells, the background and the grid lines for 2-state and Generations patterns. Some Themes also specify whether major grid lines are used and if so on what interval.
==Playback controls==
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>Enter</td><td>toggle play / pause</td></tr><tr>
<td>Space</td><td>pause / next generation</td></tr><tr>
<td>B</td><td>pause / previous generation</td></tr><tr>
<td>Backspace</td><td>pause / previous generation</td></tr><tr>
<td>Tab</td><td>pause / next step</td></tr><tr>
<td>Shift Tab</td><td>pause / previous step</td></tr><tr>
<td>Esc</td><td>pause if playing</td></tr><tr>
<td>R</td><td>reset to generation 0</td></tr><tr>
<td>-</td><td>decrease generation speed</td></tr><tr>
<td>+</td><td>increase generation speed</td></tr><tr>
<td>Shift -</td><td>minimum generation speed</td></tr><tr>
<td>Shift +</td><td>maximum generation speed</td></tr><tr>
<td>D</td><td>decrease step size</td></tr><tr>
<td>E</td><td>increase step size</td></tr><tr>
<td>Shift D</td><td>minimum step size</td></tr><tr>
<td>Shift E</td><td>maximum step size</td></tr><tr>
<td>0</td><td>reset step and speed</td></tr><tr>
<td>Alt T</td><td>toggle throttling</td></tr><tr>
<td>W</td><td>toggle waypoint playback and loop</td></tr><tr>
<td>Shift P</td><td>toggle just loop</td></tr><tr>
<td>Alt O</td><td>toggle autostart</td></tr><tr>
</table>
 
==Multi-Viewer controls==
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>Shift R</td><td>reset all LifeViewers to generation 0</td></tr><tr>
<td>Z</td><td>stop playback in all other LifeViewers</td></tr><tr>
<td>Shift Z</td><td>stop playback in all LifeViewers</td></tr>
</table>
 
==Camera controls==
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>V</td><td>restore saved camera position</td></tr><tr>
<td>Shift V</td><td>save current camera position</td></tr><tr>
<td>F</td><td>fit pattern to display</td></tr><tr>
<td>Shift F</td><td>toggle autofit</td></tr><tr>
<td>Shift H</td><td>toggle autofit history mode</td></tr><tr>
<td>Ctrl F</td><td>fit selection to display</td></tr><tr>
<td>Ctrl M</td><td>center pattern on display</td></tr><tr>
<td>[</td><td>zoom out</td></tr><tr>
<td>]</td><td>zoom in</td></tr><tr>
<td>Shift [</td><td>halve zoom</td></tr><tr>
<td>Shift ]</td><td>double zoom</td></tr><tr>
<td>1</td><td>1x zoom</td></tr><tr>
<td>2</td><td>2x zoom</td></tr><tr>
<td>4</td><td>4x zoom</td></tr><tr>
<td>8</td><td>8x zoom</td></tr><tr>
<td>6</td><td>16x zoom</td></tr><tr>
<td>3</td><td>32x zoom</td></tr><tr>
<td>Shift 3</td><td>64x zoom</td></tr><tr>
<td>Shift 1</td><td>integer zoom</td></tr><tr>
<td>Shift 2</td><td>-2x zoom</td></tr><tr>
<td>Shift 4</td><td>-4x zoom</td></tr><tr>
<td>Shift 8</td><td>-8x zoom</td></tr><tr>
<td>Shift 6</td><td>-16x zoom</td></tr><tr>
<td>Left</td><td>pan left</td></tr><tr>
<td>Right</td><td>pan right</td></tr><tr>
<td>Up</td><td>pan up</td></tr><tr>
<td>Down</td><td>pan down</td></tr><tr>
<td>Shift Left</td><td>pan north west</td></tr><tr>
<td>Shift Right</td><td>pan south east</td></tr><tr>
<td>Shift Up</td><td>pan north east</td></tr><tr>
<td>Shift Down</td><td>pan south west</td></tr><tr>
<td><</td><td>rotate left</td></tr><tr>
<td>></td><td>rotate right</td></tr><tr>
<td>Shift <</td><td>rotate left 90 degrees</td></tr><tr>
<td>Shift ></td><td>rotate right 90 degrees</td></tr><tr>
<td>5</td><td>reset angle</td></tr>
</table>
 
==View controls==
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>Q</td><td>increase number of layers</td></tr><tr>
<td>A</td><td>decrease number of layers</td></tr><tr>
<td>P</td><td>increase layer depth</td></tr><tr>
<td>L</td><td>decrease layer depth</td></tr><tr>
<td>C</td><td>next colour theme</td></tr><tr>
<td>Shift C</td><td>previous colour theme</td></tr><tr>
<td>Alt C</td><td>default theme</td></tr>
</table>
 
==Display controls==
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>G</td><td>toggle generation statistics</td></tr><tr>
<td>Shift G</td><td>toggle generation display mode</td></tr><tr>
<td>Y</td><td>toggle population graph</td></tr><tr>
<td>Shift Y</td><td>toggle graph lines</td></tr><tr>
<td>7</td><td>decrease graph opacity</td></tr><tr>
<td>9</td><td>increase graph opacity</td></tr><tr>
<td>Shift W</td><td>toggle performance warning</td></tr><tr>
<td>/</td><td>toggle cell type for hex and triangular grids</td></tr><tr>
<td>T</td><td>toggle timing information</td></tr><tr>
<td>Shift T</td><td>toggle extended timing information</td></tr><tr>
<td>I</td><td>toggle pattern and engine information</td></tr><tr>
<td>Shift I</td><td>toggle information bar</td></tr><tr>
<td>Ctrl Q</td><td>toggle cell anti-aliasing</td></tr><tr>
<td>Alt B</td><td>toggle cell borders</td></tr><tr>
<td>X</td><td>toggle gridlines</td></tr><tr>
<td>Shift X</td><td>toggle major gridlines</td></tr><tr>
<td>Ctrl G</td><td>toggle auto gridlines</td></tr><tr>
<td>Alt G</td><td>convert pattern to [Rule]Super</td></tr><tr>
<td>Alt H</td><td>convert pattern to [Rule]History</td></tr><tr>
<td>Alt J</td><td>convert pattern to [Rule]Standard</td></tr><tr>
<td>Ctrl L</td><td>toggle kill escaping gliders</td></tr><tr>
<td>S</td><td>toggle stars</td></tr><tr>
<td>O</td><td>open screenshot in separate window</td></tr><tr>
<td>Shift O</td><td>open population graph in separate window</td></tr><tr>
<td>Shift U</td><td>toggle UI</td></tr>
<td>Alt W</td><td>toggle rainbow mode</td></tr>
</table>
 
==Pattern controls==
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>Alt N</td><td>new pattern</td></tr><tr>
<td>Alt R</td><td>change rule</td></tr><tr>
<td>Ctrl O</td><td>open original or last saved pattern</td></tr><tr>
<td>Ctrl+Shift O</td><td>open clipboard as pattern</td></tr><tr>
<td>Ctrl S</td><td>save pattern</td></tr><tr>
<td>Alt Z</td><td>randomize pattern and rule</td></tr><tr>
<td>Ctrl+Alt Z</td><td>randomize pattern only</td></tr><tr>
<td>F6</td><td>toggle oscillator and spaceship identification</td></tr><tr>
<td>Ctrl+F6</td><td>fast identification</td></tr>
</table>


==External clipboard controls==
Themes are primarily used to provide a visual representation of cell history and longevity.
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>Alt S</td><td>toggle sync cut and copy with external clipboard</td></tr><tr>
<td>Ctrl+Shift C</td><td>copy original pattern</td></tr><tr>
<td>Ctrl C</td><td>copy current selection</td></tr><tr>
<td>Ctrl+Alt C</td><td>copy current selection with comments</td></tr><tr>
<td>Ctrl+Shift X</td><td>cut original pattern</td></tr><tr>
<td>Ctrl X</td><td>cut current selection</td></tr><tr>
<td>Ctrl+Alt X</td><td>cut current selection with comments</td></tr><tr>
<td>Ctrl J</td><td>copy rule definition</td></tr><tr>
<td>K</td><td>copy camera position</td></tr><tr>
<td>Shift K</td><td>copy camera position and view</td></tr>
</table>


==Edit controls==
The default Theme is "Blues"
<table border=1 cellspacing=0 width=500><tr>
but this can be changed by clicking Theme in the Settings menu or with the THEME script command.
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>F1</td><td>toggle draw/pan mode</td></tr><tr>
<td>F2</td><td>draw mode</td></tr><tr>
<td>Shift F2</td><td>toggle smart drawing</td></tr><tr>
<td>F3</td><td>pick mode</td></tr><tr>
<td>F4</td><td>select mode</td></tr><tr>
<td>F5</td><td>pan mode</td></tr><tr>
<td>Ctrl A</td><td>select all</td></tr><tr>
<td>Shift A</td><td>shrink selection</td></tr><tr>
<td>Alt A</td><td>toggle auto-shrink selection</td></tr><tr>
<td>Ctrl C</td><td>copy</td></tr><tr>
<td>Ctrl I</td><td>invert selection</td></tr><tr>
<td>Ctrl K</td><td>remove selection</td></tr><tr>
<td>Ctrl V</td><td>paste</td></tr><tr>
<td>Ctrl+Shift V</td><td>paste to selection</td></tr><tr>
<td>Ctrl X</td><td>cut</td></tr><tr>
<td>Ctrl Y</td><td>redo edit</td></tr><tr>
<td>Ctrl Z</td><td>undo edit</td></tr><tr>
<td>Ctrl+Shift Z</td><td>redo edit</td></tr><tr>
<td>Ctrl Space</td><td>advance selection</td></tr><tr>
<td>Shift Space</td><td>advance outside</td></tr><tr>
<td>Shift L</td><td>cycle paste location</td></tr><tr>
<td>Shift M</td><td>cycle paste mode</td></tr><tr>
<td>Shift 5</td><td>random fill</td></tr><tr>
<td>Alt K</td><td>pick cell state to replace with drawing state</td></tr><tr>
<td>Ctrl+Alt K</td><td>clear current drawing state cells</td></tr><tr>
<td>Del</td><td>clear cells in selection</td></tr><tr>
<td>Shift Del</td><td>clear outside selection</td></tr><tr>
<td>></td><td>rotate selection clockwise</td></tr><tr>
<td><</td><td>rotate selection counter-clockwise</td></tr><tr>
<td>Alt X</td><td>flip selection horizontally</td></tr><tr>
<td>Alt Y</td><td>flip selection vertically</td></tr><tr>
<td>Alt Left</td><td>nudge selection 1 cell left</td></tr><tr>
<td>Alt Right</td><td>nudge selection 1 cell right</td></tr><tr>
<td>Alt Up</td><td>nudge selection 1 cell up</td></tr><tr>
<td>Alt Down</td><td>nudge selection 1 cell down</td></tr><tr>
<td>Esc</td><td>hide paste</td></tr><tr>
<td>Enter</td><td>perform paste</td></tr><tr>
<td>Ctrl 0</td><td>select state 0 for drawing</td></tr><tr>
<td>Ctrl 1</td><td>select state 1 for drawing</td></tr><tr>
<td>Alt 0</td><td>make clipboard 0 active</td></tr><tr>
<td>Alt 1</td><td>make clipboard 1 active</td></tr><tr>
<td>Alt 2</td><td>make clipboard 2 active</td></tr><tr>
<td>Alt 3</td><td>make clipboard 3 active</td></tr><tr>
<td>Alt 4</td><td>make clipboard 4 active</td></tr><tr>
<td>Alt 5</td><td>make clipboard 5 active</td></tr><tr>
<td>Alt 6</td><td>make clipboard 6 active</td></tr><tr>
<td>Alt 7</td><td>make clipboard 7 active</td></tr><tr>
<td>Alt 8</td><td>make clipboard 8 active</td></tr><tr>
<td>Alt 9</td><td>make clipboard 9 active</td></tr>
</table>


==Help controls==
{{LV:Viewer|x = 3, y = 3, rule = Life
<td><table border=1 cellspacing=0 width=500><tr></td></tr><tr>
3o$2bo$bo!
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
[[ AUTOSTART THUMBNAIL GRID STOP 128 ZOOM 8 X 32 Y -31 HEIGHT 560 ]]}}
<td>Up</td><td>scroll up one line</td></tr><tr>
<td>Down</td><td>scroll down one line</td></tr><tr>
<td>Page Up</td><td>scroll up one page</td></tr><tr>
<td>Page Down</td><td>scroll down one page</td></tr><tr>
<td>Shift Page Up</td><td>scroll up one section</td></tr><tr>
<td>Shift Page Down</td><td>scroll down one section</td></tr><tr>
<td>Home</td><td>go to first help page</td></tr><tr>
<td>End</td><td>go to last help page</td></tr>
</table>


==Themes==
=== Grid ===
Themes are used to provide a visual representation of cell history and longevity and also define grid colours.
Some Themes define specific GridLine colours for standard and Major GridLines and also the major GridLine interval.


===Grid===
GRID: grid line colour<br />
GRID: grid line colour<br />
GRIDMAJOR: major grid line colour and interval
GRIDMAJOR: major grid line colour and interval


===Two-state Themes===
=== Two-state Themes ===
BACKGROUND: cell never occupied<br />
For two-state Themes there are five colours that are used for defining the cell colours:
ALIVE: cell just born<br />
ALIVERAMP: cell alive for several generations<br />
DEAD: cell just died<br />
DEADRAMP: cell dead for several generations
 
There are 63 (AGESTATES) states from ALIVE to ALIVERAMP.<br />
There are 63 (HISTORYSTATES) states from DEAD to DEADRAMP.
 
<table border=1 cellspacing=0 width=500><tr>
<table border=1 cellspacing=0 width=500><tr>
<td>Name</td><td>Mono</td></tr><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>BACKGROUND</td><td>cell never occupied</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>cell just born</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVERAMP</td><td>cell alive for at least AGESTATES generations (default 63)</td></tr>
<td></td></tr><tr>
<td>DEAD</td><td>cell just died</td></tr>
<td>Name</td><td>Blues</td></tr><tr>
<td>DEADRAMP</td><td>cell dead for at least HISTORYSTATES generations (default 63)</td></tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>ALIVERAMP</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>255</td><td>Blue</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>0</td><td>47</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Fire</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>144</td><td>0</td></tr><tr>
<td>ALIVERAMP</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DEAD</td><td>160</td><td>0</td><td>0</td></tr><tr>
<td>DEADRAMP</td><td>32</td><td>0</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Poison</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>ALIVERAMP</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>0</td><td>128</td><td>0</td><td>Green</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>24</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Yellow</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>32</td><td>128</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>ALIVERAMP</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>128</td><td>0</td><td>128</td><td>Purple</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>47</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Gray</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>176</td><td>176</td><td>176</td></tr><tr>
<td>ALIVERAMP</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DEAD</td><td>104</td><td>104</td><td>104</td></tr><tr>
<td>DEADRAMP</td><td>16</td><td>16</td><td>16</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Inverse</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DEAD</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Day</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>255</td><td>Blue</td></tr><tr>
<td>ALIVERAMP</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DEAD</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>DEADRAMP</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Occupied</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DEAD</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Red</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DEAD</td><td>160</td><td>0</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>LifeHistory</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>0</td><td>240</td><td>0</td></tr><tr>
<td>ALIVERAMP</td><td>16</td><td>255</td><td>16</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>160</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>0</td><td>96</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Generations</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>ALIVERAMP</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>255</td><td>0</td><td>0</td><td>Red</td></tr><tr>
<td>DEADRAMP</td><td>64</td><td>0</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Golly</td></tr><tr>
<td>BACKGROUND</td><td>48</td><td>48</td><td>48</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>48</td><td>48</td><td>48</td></tr><tr>
<td>GRID</td><td>80</td><td>80</td><td>80</td></tr><tr>
<td>GRIDMAJOR</td><td>112</td><td>112</td><td>112</td></tr><tr>
<td>GRIDMAJOR</td><td>10</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>MCell</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>GRID</td><td>64</td><td>0</td><td>0</td></tr><tr>
<td>GRIDMAJOR</td><td>99</td><td>3</td><td>1</td></tr><tr>
<td>GRIDMAJOR</td><td>5</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Catagolue</td></tr><tr>
<td>BACKGROUND</td><td>192</td><td>255</td><td>238</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DEAD</td><td>160</td><td>221</td><td>204</td></tr><tr>
<td>GRID</td><td>160</td><td>221</td><td>204</td></tr><tr>
<td>GRIDMAJOR</td><td>160</td><td>221</td><td>204</td></tr><tr>
<td>GRIDMAJOR</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Caterer</td></tr><tr>
<td>BACKGROUND</td><td>54</td><td>57</td><td>62</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>54</td><td>57</td><td>62</td></tr><tr>
<td>GRID</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>GRIDMAJOR</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>GRIDMAJOR</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Life32</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>128</td><td>Navy</td></tr><tr>
<td>DEAD</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>GRID</td><td>192</td><td>192</td><td>192</td><td>Silver</td></tr><tr>
<td>GRIDMAJOR</td><td>128</td><td>128</td><td>128</td><td>Gray</td></tr><tr>
<td>GRIDMAJOR</td><td>5</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Margolus</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>ALIVERAMP</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>128</td><td>Navy</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>0</td><td>47</td></tr><tr>
<td>GRID</td><td>32</td><td>32</td><td>255</td></tr><tr>
<td>GRIDMAJOR</td><td>64</td><td>64</td><td>128</td></tr><tr>
<td>GRIDMAJOR</td><td>2</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>PCA</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>176</td><td>176</td><td>176</td></tr><tr>
<td>ALIVERAMP</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DEAD</td><td>64</td><td>64</td><td>64</td></tr><tr>
<td>DEADRAMP</td><td>24</td><td>24</td><td>24</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Book</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DEAD</td><td>192</td><td>220</td><td>255</td></tr><tr>
<td>DEADRAMP</td><td>255</td><td>220</td><td>192</td></tr><tr>
<td>GRID</td><td>192</td><td>192</td><td>192</td><td>Silver</td></tr><tr>
<td>GRIDMAJOR</td><td>209</td><td>209</td><td>209</td></tr><tr>
<td>GRIDMAJOR</td><td>0</td></tr>
</table>
 
===Multi-state Themes===
BACKGROUND: cell never occupied<br />
ALIVE: cell alive<br />
DYING: cell just starting dying<br />
DYINGRAMP: cell about to die<br />
DEAD: cell just died<br />
DEADRAMP: cell dead for several generations
 
Rule defines states from DYING to DYINGRAMP<br />
63 (HISTORYSTATES) states from DEAD to DEADRAMP
 
<table border=1 cellspacing=0 width=500><tr>
<td>Name</td><td>Mono</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DYING</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Blues</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>DYING</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>0</td><td>255</td><td>Blue</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>128</td><td>Navy</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>0</td><td>47</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Fire</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>144</td><td>0</td></tr><tr>
<td>DYING</td><td>255</td><td>144</td><td>0</td></tr><tr>
<td>DYINGRAMP</td><td>240</td><td>0</td><td>0</td></tr><tr>
<td>DEAD</td><td>160</td><td>0</td><td>0</td></tr><tr>
<td>DEADRAMP</td><td>32</td><td>0</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Poison</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>DYING</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>192</td><td>0</td></tr><tr>
<td>DEAD</td><td>0</td><td>128</td><td>0</td><td>Green</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>24</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Yellow</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>32</td><td>128</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYING</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYINGRAMP</td><td>192</td><td>64</td><td>64</td></tr><tr>
<td>DEAD</td><td>128</td><td>0</td><td>128</td><td>Purple</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>47</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Gray</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DYING</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DYINGRAMP</td><td>160</td><td>160</td><td>160</td></tr><tr>
<td>DEAD</td><td>104</td><td>104</td><td>104</td></tr><tr>
<td>DEADRAMP</td><td>16</td><td>16</td><td>16</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Inverse</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DYING</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DYINGRAMP</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DEAD</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Day</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>255</td><td>Blue</td></tr><tr>
<td>DYING</td><td>0</td><td>0</td><td>255</td><td>Blue</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>255</td><td>255</td><td>Aqua</td></tr><tr>
<td>DEAD</td><td>0</td><td>192</td><td>192</td></tr><tr>
<td>DEADRAMP</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Occupied</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DYING</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DEAD</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Red</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>DYING</td><td>160</td><td>160</td><td>160</td></tr><tr>
<td>DEAD</td><td>160</td><td>0</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>LifeHistory</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>16</td><td>255</td><td>16</td></tr><tr>
<td>DYING</td><td>16</td><td>255</td><td>16</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>128</td><td>160</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>160</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>0</td><td>96</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Generations</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYING</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYINGRAMP</td><td>255</td><td>0</td><td>0</td><td>Red</td></tr><tr>
<td>DEAD</td><td>128</td><td>0</td><td>0</td><td>Maroon</td></tr><tr>
<td>DEADRAMP</td><td>64</td><td>0</td><td>0</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Golly</td></tr><tr>
<td>BACKGROUND</td><td>48</td><td>48</td><td>48</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYING</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYINGRAMP</td><td>255</td><td>0</td><td>0</td><td>Red</td></tr><tr>
<td>DEAD</td><td>48</td><td>48</td><td>48</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>MCell</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYING</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>255</td><td>0</td><td>Lime</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Catagolue</td></tr><tr>
<td>BACKGROUND</td><td>192</td><td>255</td><td>238</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DYING</td><td>2</td><td>129</td><td>2</td></tr><tr>
<td>DYINGRAMP</td><td>96</td><td>192</td><td>139</td></tr><tr>
<td>DEAD</td><td>160</td><td>221</td><td>204</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Caterer</td></tr><tr>
<td>BACKGROUND</td><td>54</td><td>57</td><td>62</td></tr><tr>
<td>ALIVE</td><td>255</td><td>170</td><td>0</td></tr><tr>
<td>DYING</td><td>255</td><td>170</td><td>0</td></tr><tr>
<td>DYINGRAMP</td><td>255</td><td>85</td><td>0</td></tr><tr>
<td>DEAD</td><td>54</td><td>57</td><td>62</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Life32</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>128</td><td>Navy</td></tr><tr>
<td>DYING</td><td>0</td><td>0</td><td>128</td><td>Navy</td></tr><tr>
<td>DYINGRAMP</td><td>0</td><td>0</td><td>64</td></tr><tr>
<td>DEAD</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Margolus</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYING</td><td>255</td><td>255</td><td>0</td><td>Yellow</td></tr><tr>
<td>DYINGRAMP</td><td>64</td><td>64</td><td>128</td></tr><tr>
<td>DEAD</td><td>0</td><td>0</td><td>128</td><td>Navy</td></tr><tr>
<td>DEADRAMP</td><td>0</td><td>0</td><td>47</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>PCA</td></tr><tr>
<td>BACKGROUND</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>ALIVE</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DYING</td><td>240</td><td>240</td><td>240</td></tr><tr>
<td>DYINGRAMP</td><td>160</td><td>160</td><td>160</td></tr><tr>
<td>DEAD</td><td>64</td><td>64</td><td>64</td></tr><tr>
<td>DEADRAMP</td><td>24</td><td>24</td><td>24</td></tr><tr>
<td></td></tr><tr>
<td>Name</td><td>Book</td></tr><tr>
<td>BACKGROUND</td><td>255</td><td>255</td><td>255</td><td>White</td></tr><tr>
<td>ALIVE</td><td>0</td><td>0</td><td>0</td><td>Black</td></tr><tr>
<td>DYING</td><td>128</td><td>128</td><td>128</td><td>Gray</td></tr><tr>
<td>DYINGRAMP</td><td>24</td><td>24</td><td>24</td></tr><tr>
<td>DEAD</td><td>192</td><td>220</td><td>255</td></tr><tr>
<td>DEADRAMP</td><td>255</td><td>220</td><td>192</td></tr>
</table>
 
==Scripts==
Scripts must be embedded in pattern comments.  Commands must be surrounded by whitespace.
 
For example loading the following pattern into LifeViewer will start playback automatically (AUTOSTART) and then stop at generation 30 (STOP 30).
<nowiki>
#C [[ AUTOSTART STOP 30 ]]
x = 3, y = 3, rule = Life
o$
obo$
2o!
</nowiki>
 
It's also valid to have script commands after the RLE since this is also treated as comments.
<nowiki>
x = 3, y = 3, rule = Life
o$
obo$
2o!
[[
  ANGLE 30
  GPS 5
  AUTOSTART
  THEME Fire
]]
</nowiki>
 
<nowiki>
Only text surrounded by [[ and ]] is interpreted as script commands.
</nowiki>
<nowiki>
#C An example [[ ZOOM 16 ]] with camera settings [[ X -4 Y 5 ]]
#C and [[ GRID ]] grid lines.
x = 3, y = 3, rule = Life
o$
obo$
2o!
</nowiki>
 
===Parameter conventions===
<table border=1 cellspacing=0 width=500><tr>
<td>A|B</td><td>either A or B</td></tr><tr>
<td>(A)</td><td>A is optional</td></tr><tr>
<td>A*</td><td>zero or more A</td></tr><tr>
<td>A+</td><td>one or more A</td></tr><tr>
<td><1..3></td><td>integer range</td></tr><tr>
<td><1.0..3.0></td><td>decimal range</td></tr>
</table>
 
===General===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>[[</td><td>start script section</td></tr><tr>
<td>]]</td><td>end script section</td></tr><tr>
<td>SUPPRESS</td><td>suppress overwrite warning</td></tr>
</table>
 
===Playback===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>AUTOSTART (OFF)</td><td>start play automatically</td></tr><tr>
<td>LOOP <1..>|OFF</td><td>loop at generation</td></tr><tr>
<td>STOP <1..>|OFF</td><td>stop at generation</td></tr><tr>
<td>GPS <1..60></td><td>set steps per second</td></tr><tr>
<td>STEP <1..64></td><td>set generations per step</td></tr><tr>
<td>HARDRESET</td><td>always use hard reset</td></tr><tr>
<td>VIEWONLY</td><td>disable playback</td></tr><tr>
<td>NOSTEPBACK</td><td>disable step back</td></tr><tr>
<td>NOREPORT</td><td>disable stop messages</td></tr><tr>
<td>NOPERFWARNING</td><td>disable performance warning</td></tr><tr>
<td>NOTHROTTLE</td><td>disable playback throttling</td></tr><tr>
<td>EXCLUSIVEPLAY</td><td>starting playback pauses others</td></tr><tr>
<td>IGNOREEXCLUSIVE</td><td>ignore other pause requests</td></tr>
</table>
 
===Camera===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>ANGLE <0..359></td><td>set camera angle</td></tr><tr>
<td>X <-4096..4096></td><td>set camera x position</td></tr><tr>
<td>Y <-4096..4096></td><td>set camera y position</td></tr><tr>
<td>ZOOM <-16.0..64.0></td><td>set camera zoom</td></tr><tr>
<td>Z</td><td>same as ZOOM</td></tr><tr>
<td>AUTOFIT (OFF)</td><td>fit pattern to display</td></tr><tr>
<td>HISTORYFIT (OFF)</td><td>autofit uses pattern history</td></tr><tr>
<td>STATE1FIT (OFF)</td><td>autofit only uses state 1</td></tr><tr>
<td>TRACK X Y</td><td>camera tracking</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;X</td><td>horizontal speed cells/gen</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;Y</td><td>vertical speed cells/gen</td></tr><tr>
<td>TRACKBOX E S W N</td><td>camera box tracking</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;E</td><td>east edge speed cells/gen</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;S</td><td>south edge speed cells/gen</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;W</td><td>west edge speed cells/gen</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;N</td><td>north edge speed cells/gen</td></tr><tr>
<td>TRACKLOOP P X Y</td><td>camera tracking with loop</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;P</td><td>period</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;X</td><td>horizontal speed cells/gen</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;Y</td><td>vertical speed cells/gen</td></tr>
</table>
 
===Waypoints===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>T <0..></td><td>waypoint at generation</td></tr><tr>
<td>PAUSE <0.0..></td><td>pause for time</td></tr><tr>
<td>LINEAR ALL|X|Y|ZOOM</td><td>linear motion</td></tr><tr>
<td>BEZIER ALL|X|Y|ZOOM</td><td>bezier motion (default)</td></tr><tr>
<td>TIME</td><td>save timing at waypoint start</td></tr>
</table>
 
===Points of interest===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>POI</td><td>define point of interest</td></tr><tr>
<td>POIT <0..></td><td>start POI at generation</td></tr><tr>
<td>POIRESET</td><td>reset generation at POI</td></tr><tr>
<td>POIPLAY</td><td>start playback at POI</td></tr><tr>
<td>POISTOP</td><td>stop playback at POI</td></tr><tr>
<td>POITRANS <0..200></td><td>set POI transition speed</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;<command>|ALL INITIAL</td><td>use initial value for POI</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;"<string>"</td><td>define message</td></tr>
<td>POIADDLABELS</td><td>add Labels as POIs</td></tr><tr>
</table>
 
===Annotations===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>LABEL X Y ZOOM</td><td>define label at position</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(MAXZOOM) (FIXED)</td><td>... zoom range and fixed position</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;"<string>"</td><td>... label text</td></tr><tr>
<td>LABELSIZE <4..128></td><td>define label font size</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(FIXED)</td><td>... optionally fix size</td></tr><tr>
<td>LABELALPHA <0.0..1.0></td><td>define label font alpha</td></tr><tr>
<td>LABELT <0..> <0..> <0..></td><td>generation range / fade</td></tr><tr>
<td>LABELANGLE <0..359></td><td>label angle</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(FIXED)</td><td>... optionally fix angle</td></tr><tr>
<td>LABELTARGET X Y D|OFF</td><td>label target and distance</td></tr><tr>
<td>LABELTRACK DX DY|FIXED</td><td>label move per generation</td></tr><tr>
<td>ARROW X1 Y1 X2 Y2 ZOOM</td><td>define arrow at position</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(MAXZOOM) (FIXED)</td><td>... zoom range and fix position</td></tr><tr>
<td>ARROWSIZE <1..64> <0.0..1.0></td><td>line width and head multiple</td></tr><tr>
<td>ARROWALPHA <0.0..1.0></td><td>define arrow alpha</td></tr><tr>
<td>ARROWT <0..> <0..> <0..></td><td>generation range / fade</td></tr><tr>
<td>ARROWANGLE <0..359></td><td>arrow angle</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(FIXED)</td><td>... optionally fix angle</td></tr><tr>
<td>ARROWTARGET X Y D|OFF</td><td>arrow target and distance</td></tr><tr>
<td>ARROWTRACK DX DY|FIXED</td><td>arrow move per generation</td></tr><tr>
<td>POLYLINE X1 Y1 X2 Y2 .. ZOOM</td><td>define outline polygon</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(MAXZOOM) (FIXED)</td><td>... zoom range and fix position</td></tr><tr>
<td>POLYFILL X1 Y1 X2 Y2 .. ZOOM</td><td>define filled polygon</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(MAXZOOM) (FIXED)</td><td>... zoom range and fix position</td></tr><tr>
<td>POLYSIZE <1..64></td><td>line width</td></tr><tr>
<td>POLYALPHA <0.0..1.0></td><td>define polygon alpha</td></tr><tr>
<td>POLYT <0..> <0..> <0..></td><td>generation range / fade</td></tr><tr>
<td>POLYANGLE <0..359></td><td>polygon angle</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(FIXED)</td><td>... optionally fix angle</td></tr><tr>
<td>POLYTARGET X Y D|OFF</td><td>polygon target and distance</td></tr>
</table>
 
===Display===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>WIDTH <560..4096></td><td>set LifeViewer width</td></tr><tr>
<td>HEIGHT <240..4096></td><td>set LifeViewer height</td></tr><tr>
<td>POPUPWIDTH <560..4096></td><td>set popup width</td></tr><tr>
<td>POPUPHEIGHT <240..4096></td><td>set popup height</td></tr><tr>
<td>TITLE "<string>"</td><td>set popup window title</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#B</td><td>program build number</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#N</td><td>pattern name</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#O</td><td>pattern originator</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#R</td><td>rule name</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#A</td><td>rule alias</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#T</td><td>program title</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;#0..9</td><td>saved timing as average fps</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;##</td><td># symbol</td></tr><tr>
<td>LAYERS <1..10></td><td>set number of layers</td></tr><tr>
<td>DEPTH <0.0..10.0></td><td>set layer depth</td></tr><tr>
<td>GRID (OFF)</td><td>display gridlines</td></tr><tr>
<td>GRIDMAJOR <0..16></td><td>set major grid line interval</td></tr><tr>
<td>AGESTATES <0..63></td><td>number of age states to draw</td></tr><tr>
<td>HISTORYSTATES <0..63></td><td>number of history states to draw</td></tr><tr>
<td>STARS (OFF)</td><td>display stars</td></tr><tr>
<td>HEXCELLS</td><td>hexagonal cells for hexagonal grid</td></tr><tr>
<td>TRIANGULARCELLS</td><td>triangular cells for triangular grid</td></tr><tr>
<td>SQUARECELLS</td><td>square cells for hexagonal or triangular grid</td></tr><tr>
<td>CELLBORDERS</td><td>display cell borders</td></tr><tr>
<td>NOGUI</td><td>disable menus and hotkeys</td></tr><tr>
<td>AUTOHIDEGUI</td><td>hide menus during playback</td></tr><tr>
<td>SHOWTIMING</td><td>show timing information</td></tr><tr>
<td>EXTENDEDTIMING</td><td>extended timing information</td></tr><tr>
<td>SHOWGENSTATS</td><td>show generation statistics</td></tr><tr>
<td>SHOWINFOBAR</td><td>show information bar</td></tr>
<td>RAINBOW</td><td>use rainbow colours</td></tr>
</table>
 
===Thumbnails===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>THUMBNAIL (OFF)</td><td>start at 1/4 size</td></tr><tr>
<td>THUMBSIZE <2..4></td><td>set thumbnail divisor</td></tr><tr>
<td>THUMBLAUNCH (OFF)</td><td>thumbnail launches viewer</td></tr><tr>
<td>THUMBZOOM <-16.0..64.0></td><td>set thumbnail zoom</td></tr><tr>
<td>THUMBSTART</td><td>start playback on thumbnail expand</td></tr>
</table>
 
===Population Graph===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>GRAPH</td><td>display population graph</td></tr><tr>
<td>GRAPHOPACITY <0.0..1.0></td><td>population graph opacity</td></tr><tr>
<td>GRAPHPOINTS</td><td>population graph use points</td></tr><tr>
<td>NOGRAPH</td><td>disable population graph</td></tr>
</table>
 
===Colours===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>THEME <0..19>|name</td><td>set theme</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;name = CUSTOM</td><td>set custom theme</td></tr><tr>
<td>COLOR BACKGROUND R G B</td><td>set theme background</td></tr><tr>
<td>COLOR ALIVE R G B</td><td>set theme alive color</td></tr><tr>
<td>COLOR ALIVERAMP R G B</td><td>set theme alive ramp</td></tr><tr>
<td>COLOR DEAD R G B</td><td>set theme dead color</td></tr><tr>
<td>COLOR DEADRAMP R G B</td><td>set theme dead ramp</td></tr><tr>
<td>COLOR DYING R G B</td><td>set theme dying color</td></tr><tr>
<td>COLOR DYINGRAMP R G B</td><td>set theme dying ramp</td></tr><tr>
<td>COLOR BOUNDARY R G B</td><td>set boundary color</td></tr><tr>
<td>COLOR <0..1> R G B</td><td>set state color</td></tr><tr>
<td>COLOR BOUNDED R G B</td><td>set bounded color</td></tr><tr>
<td>COLOR SELECT R G B</td><td>set select color</td></tr><tr>
<td>COLOR PASTE R G B</td><td>set paste color</td></tr><tr>
<td>COLOR ADVANCE R G B</td><td>set advance color</td></tr><tr>
<td>COLOR GRID R G B</td><td>set grid color</td></tr><tr>
<td>COLOR GRIDMAJOR R G B</td><td>set grid major color</td></tr><tr>
<td>COLOR STARS R G B</td><td>set star color</td></tr><tr>
<td>COLOR TEXT R G B</td><td>set waypoint message color</td></tr><tr>
<td>COLOR ERROR R G B</td><td>set error message color</td></tr><tr>
<td>COLOR GRAPHBG R G B</td><td>set graph background color</td></tr><tr>
<td>COLOR GRAPHAXIS R G B</td><td>set graph axis color</td></tr><tr>
<td>COLOR GRAPHALIVE R G B</td><td>set graph alive color</td></tr><tr>
<td>COLOR GRAPHBIRTH R G B</td><td>set graph birth color</td></tr><tr>
<td>COLOR GRAPHDEATH R G B</td><td>set graph death color</td></tr><tr>
<td>COLOR LABEL R G B</td><td>set label text color</td></tr><tr>
<td>COLOR ARROW R G B</td><td>set arrow line color</td></tr><tr>
<td>COLOR POLY R G B</td><td>set polygon color</td></tr><tr>
<td>COLOR UIFOREGROUND R G B</td><td>set UI foreground color</td></tr><tr>
<td>COLOR UIBACKGROUND R G B</td><td>set UI background color</td></tr><tr>
<td>COLOR UIHIGHLIGHT R G B</td><td>set UI highlight text color</td></tr><tr>
<td>COLOR UISELECT R G B</td><td>set UI selected color</td></tr><tr>
<td>COLOR UILOCKED R G B</td><td>set UI locked color</td></tr><tr>
<td>COLOR UIBORDER R G B</td><td>set UI border color</td></tr><tr>
<td>COLOUR</td><td>same as COLOR</td></tr>
</table>
 
===Pattern===
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>XOFFSET <-4096..4096></td><td>set pattern x offset</td></tr><tr>
<td>YOFFSET <-4096..4096></td><td>set pattern y offset</td></tr><tr>
<td>DELETERANGE <1..16></td><td>set boundary delete range</td></tr><tr>
<td>NOCOPY</td><td>disable pattern source copy</td></tr><tr>
<td>NOSOURCE</td><td>hide pattern source</td></tr><tr>
<td>MAXGRIDSIZE <9..14></td><td>set maximum grid size 2^n</td></tr><tr>
<td>RECIPE name X Y (<1..>)+</td><td>create a named recipe</td></tr><tr>
<td>RLE name rle</td><td>create a named rle</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(X Y) (TRANS)</td><td>... X Y and transformation</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;IDENTITY</td><td>identity</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;FLIP</td><td>flip</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;FLIPX</td><td>flip X</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;FLIPY</td><td>flip Y</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;SWAPXY</td><td>swap X and Y</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;SWAPXYFLIP</td><td>swap X and Y and flip</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;RCW</td><td>rotate clockwise</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;RCCW</td><td>rotate counter-clockwise</td></tr><tr>
<td>PASTE name|rle (X Y)</td><td>paste rle at optional X Y</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(TRANS)</td><td>... optional transformation</td></tr><tr>
<td>PASTET <0..></td><td>set paste generation</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(recipe|<1..>+)*</td><td>... optional delta list</td></tr><tr>
<td>PASTET EVERY <1..></td><td>set paste interval</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;(<0..> (<1..>))</td><td>... optional start and end</td></tr><tr>
<td>PASTEDELTA X Y</td><td>set position delta for PASTET EVERY</td></tr><tr>
<td>PASTEMODE <0..15>|mode</td><td>set paste mode</td></tr><tr>
<td></td><td> &nbsp;0 0000  ZERO<br />
&nbsp;1  0001  AND<br />
&nbsp;2  0010  0010<br />
&nbsp;3  0011  X|COPY<br />
&nbsp;4  0100  DIFF<br />
&nbsp;5  0101  Y<br />
&nbsp;6  0110  XOR<br />
&nbsp;7  0111  OR<br />
&nbsp;8  1000  NOR<br />
&nbsp;9  1001  XNOR<br />
10  1010  NOTY<br />
11  1011  1011<br />
12  1100  NOTX<br />
13  1101  1101<br />
14  1110  NAND<br />
15  1111  ONE</td></tr><tr>
<td>KILLGLIDERS</td><td>suppress escaping gliders</td></tr>
</table>
</table>
New cells are drawn in the ALIVE colour.


===Randomize===
If cells stay alive they fade from the ALIVE colour to the ALIVERAMP colour over the next AGESTATES (default 63) generations. This provides a visual representation of cell longevity.
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>RANDOMIZE</td><td>create random pattern</td></tr><tr>
<td>RANDSEED <string></td><td>set random seed</td></tr><tr>
<td>RANDWIDTH <1..1024></td><td>set random pattern width</td></tr><tr>
<td>RANDHEIGHT <1..1024></td><td>set random pattern height</td></tr><tr>
<td>RANDFILL <1..100></td><td>set random pattern fill percentage</td></tr><tr>
<td>RANDCHANCE FIXED</td><td>keep rule fixed</td></tr><tr>
<td>RANDCHANCE <item> <0..100></td><td>set percentage chance for <item></td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;ALL</td><td>all conditions</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;B</td><td>all birth conditions</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;S</td><td>all survival conditions</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;B<0..n></td><td>specified birth condition</td></tr><tr>
<td>&nbsp;&nbsp;&nbsp;S<0..n></td><td>specified survival condition</td></tr>
</table>


==Colours==
Cells are drawn in the DEAD colour when they die.


The following names can be used in place of R G B. For example: [[ COLOUR ALIVE Green ]]
If they stay dead they fade from the DEAD colour to the DEADRAMP colour over the next HISTORYSTATES (default 63) generations. This provides a visual representation of cell history.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to see the definitions of the available two-state Themes.
<div class="mw-collapsible-content">
{| class="wikitable"
{| class="wikitable"
| AliceBlue
! Mono
| 240
|-
| 248
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 255
| 255
| 255
| 255
| style="background-color:#f0f8ff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| AntiqueWhite
| DEAD
| 250
| 0
| 235
| 0
| 215
| 0
| style="background-color:#faebd7;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
! Blues
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| ALIVE
| 0
| 255
| 255
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| Aqua
| Aqua
|-
| ALIVERAMP
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| DEAD
| 0
| 0
| 0
| 255
| 255
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| Blue
|-
| DEADRAMP
| 0
| 0
| 47
| style="background-color:#00002f;" | &nbsp;&nbsp;&nbsp;
|
|-
! Fire
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 255
| 255
| style="background-color:#00ffff;" |
| 144
| 0
| style="background-color:#ff9000;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVERAMP
| 255
| 255
| 0
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
| DEAD
| 160
| 0
| 0
| style="background-color:#a00000;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEADRAMP
| 32
| 0
| 0
| style="background-color:#200000;" | &nbsp;&nbsp;&nbsp;
|
|-
! Poison
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| Aquamarine
| ALIVE
| 127
| 0
| 255
| 255
| 212
| 255
| style="background-color:#7fffd4;" |
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| Aqua
|-
|-
| Azure
| ALIVERAMP
| 240
| 255
| 255
| 255
| 255
| 255
| style="background-color:#f0ffff;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| Beige
| DEAD
| 245
| 0
| 245
| 128
| 220
| 0
| style="background-color:#f5f5dc;" |
| style="background-color:#008000;" | &nbsp;&nbsp;&nbsp;
| Green
|-
| DEADRAMP
| 0
| 24
| 0
| style="background-color:#001800;" | &nbsp;&nbsp;&nbsp;
|
|-
! Yellow
|-
| BACKGROUND
| 0
| 32
| 128
| style="background-color:#002080;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVE
| 255
| 255
| 0
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| Bisque
| ALIVERAMP
| 255
| 255
| 255
| 255
| 228
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| 196
| White
| style="background-color:#ffe4c4;" |
|-
|-
| DEAD
| 128
| 0
| 128
| style="background-color:#800080;" | &nbsp;&nbsp;&nbsp;
| Purple
|-
| DEADRAMP
| 0
| 47
| 0
| style="background-color:#002f00;" | &nbsp;&nbsp;&nbsp;
|
|-
! Gray
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
| Black
|-
| ALIVE
| 176
| 176
| 176
| style="background-color:#b0b0b0;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVERAMP
| 240
| 240
| 240
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 104
| 104
| 104
| style="background-color:#686868;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEADRAMP
| 16
| 16
| 16
| style="background-color:#101010;" | &nbsp;&nbsp;&nbsp;
|
|-
! Inverse
|-
| BACKGROUND
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| ALIVE
| 0
| 0
| 0
| 0
| 0
| 0
| style="background-color:#000000;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| BlanchedAlmond
| DEAD
| 255
| 255
| 255
| 235
| 255
| 205
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffebcd;" |
| White
|-
|-
! Day
|-
| BACKGROUND
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| ALIVE
| 0
| 0
| 255
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| Blue
| Blue
|-
| ALIVERAMP
| 0
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| DEAD
| 0
| 0
| 255
| 255
| style="background-color:#0000ff;" |
| 255
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| Aqua
|-
| DEADRAMP
| 240
| 240
| 240
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
! Occupied
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 240
| 240
| 240
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 240
| 240
| 240
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
! Red
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 240
| 240
| 240
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 160
| 0
| 0
| style="background-color:#a00000;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| BlueViolet
! LifeHistory
| 138
| 43
| 226
| style="background-color:#8a2be2;" |
|-
|-
| Brown
| BACKGROUND
| 165
| 0
| 42
| 0
| 42
| 0
| style="background-color:#a52a2a;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| BurlyWood
| ALIVE
| 222
| 0
| 184
| 240
| 135
| 0
| style="background-color:#deb887;" |
| style="background-color:#00f000;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVERAMP
| 16
| 255
| 16
| style="background-color:#10ff10;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| CadetBlue
| DEAD
| 95
| 0
| 158
| 0
| 160
| 160
| style="background-color:#5f9ea0;" |
| style="background-color:#0000a0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEADRAMP
| 0
| 0
| 96
| style="background-color:#000060;" | &nbsp;&nbsp;&nbsp;
|
|-
! Generations
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 255
| 255
| 0
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
| ALIVERAMP
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| Chartreuse
| DEAD
| 127
| 255
| 255
| 0
| 0
| style="background-color:#7fff00;" |
| 0
| style="background-color:#ff0000;" | &nbsp;&nbsp;&nbsp;
| Red
|-
|-
| Chocolate
| DEADRAMP
| 210
| 64
| 105
| 0
| 30
| 0
| style="background-color:#d2691e;" |
| style="background-color:#400000;" | &nbsp;&nbsp;&nbsp;
|
|-
! Golly
|-
|-
| Coral
| BACKGROUND
| 48
| 48
| 48
| style="background-color:#303030;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVE
| 255
| 255
| 127
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| DEAD
| 48
| 48
| 48
| style="background-color:#303030;" | &nbsp;&nbsp;&nbsp;
|
|-
| GRID
| 80
| 80
| 80
| style="background-color:#ff7f50;" |
| 80
| style="background-color:#505050;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| CornflowerBlue
| GRIDMAJOR
| 100
| 112
| 149
| 112
| 237
| 112
| style="background-color:#6495ed;" |
| style="background-color:#707070;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Cornsilk
| GRIDMAJOR
| 255
| 10
| 248
| 220
| style="background-color:#fff8dc;" |
|-
|-
| Crimson
! MCell
| 220
| 20
| 60
| style="background-color:#dc143c;" |
|-
|-
| Cyan
| BACKGROUND
| 0
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 255
| 255
| 255
| 255
| style="background-color:#00ffff;" |
| 0
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| DarkBlue
| DEAD
| 0
| 0
| 0
| 0
| 0
| 139
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#00008b;" |
| Black
|-
|-
| DarkCyan
| GRID
| 64
| 0
| 0
| 0
| 139
| style="background-color:#400000;" | &nbsp;&nbsp;&nbsp;
| 139
|
| style="background-color:#008b8b;" |
|-
| GRIDMAJOR
| 99
| 3
| 1
| style="background-color:#630301;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| DarkGoldenRod
| GRIDMAJOR
| 184
| 5
| 134
| 11
| style="background-color:#b8860b;" |
|-
|-
| DarkGray
! Catagolue
| 169
| 169
| 169
| style="background-color:#a9a9a9;" |
|-
|-
| DarkGreen
| BACKGROUND
| 192
| 255
| 238
| style="background-color:#c0ffee;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVE
| 0
| 0
| 100
| 0
| 0
| style="background-color:#006400;" |
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| DEAD
| 160
| 221
| 204
| style="background-color:#a0ddcc;" | &nbsp;&nbsp;&nbsp;
|
|-
| GRID
| 160
| 221
| 204
| style="background-color:#a0ddcc;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| DarkKhaki
| GRIDMAJOR
| 189
| 160
| 183
| 221
| 107
| 204
| style="background-color:#bdb76b;" |
| style="background-color:#a0ddcc;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| DarkMagenta
| GRIDMAJOR
| 139
| 0
| 0
| 139
| style="background-color:#8b008b;" |
|-
|-
| DarkOliveGreen
! Caterer
| 85
|-
| 107
| BACKGROUND
| 47
| 54
| style="background-color:#556b2f;" |
| 57
| 62
| style="background-color:#36393e;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| DarkOrange
| ALIVE
| 255
| 255
| 255
| 255
| 140
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| DEAD
| 54
| 57
| 62
| style="background-color:#36393e;" | &nbsp;&nbsp;&nbsp;
|
|-
| GRID
| 0
| 0
| 0
| 0
| style="background-color:#ff8c00;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| DarkOrchid
| GRIDMAJOR
| 153
| 0
| 50
| 0
| 204
| 0
| style="background-color:#9932cc;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| GRIDMAJOR
| 0
|-
! Life32
|-
| BACKGROUND
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| DarkRed
| ALIVE
| 139
| 0
| 0
| 0
| 0
| style="background-color:#8b0000;" |
| 128
| style="background-color:#000080;" | &nbsp;&nbsp;&nbsp;
| Navy
|-
| DEAD
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| DarkSalmon
| GRID
| 233
| 192
| 150
| 192
| 122
| 192
| style="background-color:#e9967a;" |
| style="background-color:#c0c0c0;" | &nbsp;&nbsp;&nbsp;
| Silver
|-
|-
| DarkSeaGreen
| GRIDMAJOR
| 143
| 128
| 188
| 128
| 143
| 128
| style="background-color:#8fbc8f;" |
| style="background-color:#808080;" | &nbsp;&nbsp;&nbsp;
| Gray
|-
|-
| DarkSlateBlue
| GRIDMAJOR
| 72
| 5
| 61
| 139
| style="background-color:#483d8b;" |
|-
|-
| DarkSlateGray
! Margolus
| 47
| 79
| 79
| style="background-color:#2f4f4f;" |
|-
|-
| DarkTurquoise
| BACKGROUND
| 0
| 0
| 206
| 0
| 209
| 0
| style="background-color:#00ced1;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| DarkViolet
| ALIVE
| 148
| 255
| 255
| 0
| 0
| 211
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#9400d3;" |
| Yellow
|-
|-
| DeepPink
| ALIVERAMP
| 255
| 255
| 255
| 255
| 20
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| 147
| White
| style="background-color:#ff1493;" |
|-
| DEAD
| 0
| 0
| 128
| style="background-color:#000080;" | &nbsp;&nbsp;&nbsp;
| Navy
|-
|-
| DeepSkyBlue
| DEADRAMP
| 0
| 0
| 0
| 191
| 47
| style="background-color:#00002f;" | &nbsp;&nbsp;&nbsp;
|
|-
| GRID
| 32
| 32
| 255
| 255
| style="background-color:#00bfff;" |
| style="background-color:#2020ff;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| DimGray
| GRIDMAJOR
| 105
| 64
| 105
| 64
| 105
| 128
| style="background-color:#696969;" |
| style="background-color:#404080;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| DodgerBlue
| GRIDMAJOR
| 30
| 2
| 144
|-
| 255
! PCA
| style="background-color:#1e90ff;" |
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| FireBrick
| ALIVE
| 178
| 176
| 34
| 176
| 34
| 176
| style="background-color:#b22222;" |
| style="background-color:#b0b0b0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| FloralWhite
| ALIVERAMP
| 255
| 240
| 250
| 240
| 240
| 240
| style="background-color:#fffaf0;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 64
| 64
| 64
| style="background-color:#404040;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| ForestGreen
| DEADRAMP
| 34
| 24
| 139
| 24
| 34
| 24
| style="background-color:#228b22;" |
| style="background-color:#181818;" | &nbsp;&nbsp;&nbsp;
|
|-
! Book
|-
|-
| Fuchsia
| BACKGROUND
| 255
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| ALIVE
| 0
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| DEAD
| 192
| 220
| 255
| 255
| style="background-color:#ff00ff;" |
| style="background-color:#c0dcff;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Gainsboro
| DEADRAMP
| 255
| 220
| 220
| 220
| 192
| 220
| style="background-color:#ffdcc0;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#dcdcdc;" |
|
|-
| GRID
| 192
| 192
| 192
| style="background-color:#c0c0c0;" | &nbsp;&nbsp;&nbsp;
| Silver
|-
| GRIDMAJOR
| 209
| 209
| 209
| style="background-color:#d1d1d1;" | &nbsp;&nbsp;&nbsp;
|
|-
| GRIDMAJOR
| 0
|-
|}
</div>
</div>
 
=== Multi-state Themes ===
Multi-state Themes are used for Generations rules and there are six colours that are used for defining the cell colours:
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>BACKGROUND</td><td>cell never occupied</td></tr><tr>
<td>ALIVE</td><td>cell alive</td></tr><tr>
<td>DYING</td><td>cell just started dying</td></tr>
<td>DYINGRAMP</td><td>cell about to die</td></tr>
<td>DEAD</td><td>cell just died</td></tr>
<td>DEADRAMP</td><td>cell dead for at least HISTORYSTATES generations (default 63)</td></tr>
</table>
New cells are drawn in the ALIVE colour.
 
Cells are drawn in the DYING colour when they start to die. They then fade to the DYINGRAMP colour over the number of generations defined in the rule.
 
Once cells reach the DYINGRAMP colour then on the next generation they die and become the DEAD colour.
 
If they stay dead they fade from the DEAD colour to the DEADRAMP colour over the next HISTORYSTATES (default 63) generations. This provides a visual representation of cell history.
 
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to see the definitions of the available multi-state Themes.
<div class="mw-collapsible-content">
 
{| class="wikitable"
! Mono
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| GhostWhite
| ALIVE
| 248
| 248
| 255
| 255
| style="background-color:#f8f8ff;" |
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| Gold
| DYING
| 255
| 255
| 215
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| DYINGRAMP
| 0
| 0
| style="background-color:#ffd700;" |
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| GoldenRod
| DEAD
| 218
| 0
| 165
| 0
| 32
| 0
| style="background-color:#daa520;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| Gray
! Blues
| 128
| 128
| 128
| style="background-color:#808080;" |
|-
|-
| Green
| BACKGROUND
| 0
| 0
| 0
| 128
| 0
| 0
| style="background-color:#008000;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| GreenYellow
| ALIVE
| 173
| 0
| 255
| 255
| 47
| 255
| style="background-color:#adff2f;" |
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| Aqua
|-
|-
| HoneyDew
| DYING
| 240
| 0
| 255
| 255
| 255
| 240
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#f0fff0;" |
| Aqua
|-
|-
| HotPink
| DYINGRAMP
| 0
| 0
| 255
| 255
| 105
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| 180
| Blue
| style="background-color:#ff69b4;" |
|-
| DEAD
| 0
| 0
| 128
| style="background-color:#000080;" | &nbsp;&nbsp;&nbsp;
| Navy
|-
|-
| IndianRed
| DEADRAMP
| 205
| 0
| 92
| 0
| 92
| 47
| style="background-color:#cd5c5c;" |
| style="background-color:#00002f;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Indigo
! Fire
| 75
|-
| BACKGROUND
| 0
| 0
| 0
| 0
| 130
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#4b0082;" |
| Black
|-
|-
| Ivory
| ALIVE
| 255
| 255
| 144
| 0
| style="background-color:#ff9000;" | &nbsp;&nbsp;&nbsp;
|
|-
| DYING
| 255
| 255
| 144
| 0
| style="background-color:#ff9000;" | &nbsp;&nbsp;&nbsp;
|
|-
| DYINGRAMP
| 240
| 240
| style="background-color:#fffff0;" |
| 0
| 0
| style="background-color:#f00000;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Khaki
| DEAD
| 240
| 160
| 230
| 0
| 140
| 0
| style="background-color:#f0e68c;" |
| style="background-color:#a00000;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEADRAMP
| 32
| 0
| 0
| style="background-color:#200000;" | &nbsp;&nbsp;&nbsp;
|
|-
! Poison
|-
|-
| Lavender
| BACKGROUND
| 230
| 0
| 230
| 0
| 250
| 0
| style="background-color:#e6e6fa;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| LavenderBlush
| ALIVE
| 0
| 255
| 255
| 255
| 240
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| 245
| Aqua
| style="background-color:#fff0f5;" |
|-
|-
| LawnGreen
| DYING
| 124
| 252
| 0
| 0
| style="background-color:#7cfc00;" |
|-
| LemonChiffon
| 255
| 255
| 250
| 255
| 205
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#fffacd;" |
| Aqua
|-
|-
| LightBlue
| DYINGRAMP
| 173
| 0
| 216
| 192
| 230
| 0
| style="background-color:#add8e6;" |
| style="background-color:#00c000;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| LightCoral
| DEAD
| 240
| 0
| 128
| 128
| 0
| style="background-color:#008000;" | &nbsp;&nbsp;&nbsp;
| Green
|-
| DEADRAMP
| 0
| 24
| 0
| style="background-color:#001800;" | &nbsp;&nbsp;&nbsp;
|
|-
! Yellow
|-
| BACKGROUND
| 0
| 32
| 128
| 128
| style="background-color:#f08080;" |
| style="background-color:#002080;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| LightCyan
| ALIVE
| 224
| 255
| 255
| 255
| 255
| style="background-color:#e0ffff;" |
| 0
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
| DYING
| 255
| 255
| 0
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
| DYINGRAMP
| 192
| 64
| 64
| style="background-color:#c04040;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 128
| 0
| 128
| style="background-color:#800080;" | &nbsp;&nbsp;&nbsp;
| Purple
|-
|-
| LightGoldenRodYellow
| DEADRAMP
| 250
| 0
| 250
| 47
| 210
| 0
| style="background-color:#fafad2;" |
| style="background-color:#002f00;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| LightGray
! Gray
| 211
| 211
| 211
| style="background-color:#d3d3d3;" |
|-
|-
| LightGreen
| BACKGROUND
| 144
| 0
| 238
| 0
| 144
| 0
| style="background-color:#90ee90;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 240
| 240
| 240
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| LightPink
| DYING
| 255
| 240
| 182
| 240
| 193
| 240
| style="background-color:#ffb6c1;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| LightSalmon
| DYINGRAMP
| 255
| 160
| 160
| 160
| 160
| 122
| style="background-color:#a0a0a0;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffa07a;" |
|
|-
| DEAD
| 104
| 104
| 104
| style="background-color:#686868;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| LightSeaGreen
| DEADRAMP
| 32
| 16
| 178
| 16
| 170
| 16
| style="background-color:#20b2aa;" |
| style="background-color:#101010;" | &nbsp;&nbsp;&nbsp;
|
|-
! Inverse
|-
|-
| LightSkyBlue
| BACKGROUND
| 135
| 255
| 206
| 255
| 250
| 255
| style="background-color:#87cefa;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| LightSlateGray
| ALIVE
| 119
| 0
| 136
| 0
| 153
| 0
| style="background-color:#778899;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| LightSteelBlue
| DYING
| 176
| 0
| 196
| 0
| 222
| 0
| style="background-color:#b0c4de;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| LightYellow
| DYINGRAMP
| 255
| 255
| 255
| 255
| 224
| 255
| style="background-color:#ffffe0;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| Lime
| DEAD
| 0
| 255
| 255
| 255
| 255
| 0
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#00ff00;" |
| White
|-
|-
| LimeGreen
! Day
| 50
| 205
| 50
| style="background-color:#32cd32;" |
|-
|-
| Linen
| BACKGROUND
| 250
| 255
| 240
| 255
| 230
| 255
| style="background-color:#faf0e6;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| Magenta
| ALIVE
| 0
| 0
| 255
| 255
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| Blue
|-
| DYING
| 0
| 0
| 0
| 255
| 255
| style="background-color:#ff00ff;" |
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| Blue
|-
|-
| Maroon
| DYINGRAMP
| 128
| 0
| 0
| 255
| 255
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| Aqua
|-
| DEAD
| 0
| 0
| style="background-color:#800000;" |
| 192
| 192
| style="background-color:#00c0c0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| MediumAquaMarine
| DEADRAMP
| 102
| 240
| 205
| 240
| 170
| 240
| style="background-color:#66cdaa;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|
|-
! Occupied
|-
|-
| MediumBlue
| BACKGROUND
| 0
| 0
| 0
| 0
| 0
| 205
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#0000cd;" |
| Black
|-
|-
| MediumOrchid
| ALIVE
| 186
| 240
| 85
| 240
| 211
| 240
| style="background-color:#ba55d3;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| MediumPurple
| DYING
| 147
| 240
| 112
| 240
| 219
| 240
| style="background-color:#9370db;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| MediumSeaGreen
| DEAD
| 60
| 240
| 179
| 240
| 113
| 240
| style="background-color:#3cb371;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| MediumSlateBlue
! Red
| 123
| 104
| 238
| style="background-color:#7b68ee;" |
|-
|-
| MediumSpringGreen
| BACKGROUND
| 0
| 0
| 0
| 0
| 250
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| 154
| Black
| style="background-color:#00fa9a;" |
|-
|-
| MediumTurquoise
| ALIVE
| 72
| 255
| 209
| 255
| 204
| 255
| style="background-color:#48d1cc;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| DYING
| 160
| 160
| 160
| style="background-color:#a0a0a0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 160
| 0
| 0
| style="background-color:#a00000;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| MediumVioletRed
! LifeHistory
| 199
| 21
| 133
| style="background-color:#c71585;" |
|-
|-
| MidnightBlue
| BACKGROUND
| 25
| 0
| 25
| 0
| 112
| 0
| style="background-color:#191970;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| MintCream
| ALIVE
| 245
| 16
| 255
| 255
| 250
| 16
| style="background-color:#f5fffa;" |
| style="background-color:#10ff10;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| MistyRose
| DYING
| 16
| 255
| 255
| 228
| 16
| 225
| style="background-color:#10ff10;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffe4e1;" |
|
|-
| DYINGRAMP
| 0
| 128
| 160
| style="background-color:#0080a0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 0
| 0
| 160
| style="background-color:#0000a0;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEADRAMP
| 0
| 0
| 96
| style="background-color:#000060;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Moccasin
! Generations
|-
| BACKGROUND
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 255
| 255
| 228
| 255
| 181
| 0
| style="background-color:#ffe4b5;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| NavajoWhite
| DYING
| 255
| 255
| 255
| 222
| 0
| 173
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffdead;" |
| Yellow
|-
|-
| Navy
| DYINGRAMP
| 255
| 0
| 0
| 0
| 0
| style="background-color:#ff0000;" | &nbsp;&nbsp;&nbsp;
| Red
|-
| DEAD
| 128
| 128
| style="background-color:#000080;" |
| 0
| 0
| style="background-color:#800000;" | &nbsp;&nbsp;&nbsp;
| Maroon
|-
|-
| OldLace
| DEADRAMP
| 253
| 64
| 245
| 0
| 230
| 0
| style="background-color:#fdf5e6;" |
| style="background-color:#400000;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Olive
! Golly
| 128
| 128
| 0
| style="background-color:#808000;" |
|-
|-
| OliveDrab
| BACKGROUND
| 107
| 48
| 142
| 48
| 35
| 48
| style="background-color:#6b8e23;" |
| style="background-color:#303030;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Orange
| ALIVE
| 255
| 255
| 255
| 165
| 0
| 0
| style="background-color:#ffa500;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| OrangeRed
| DYING
| 255
| 255
| 255
| 69
| 0
| 0
| style="background-color:#ff4500;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| Orchid
| DYINGRAMP
| 218
| 255
| 112
| 0
| 214
| 0
| style="background-color:#da70d6;" |
| style="background-color:#ff0000;" | &nbsp;&nbsp;&nbsp;
| Red
|-
|-
| PaleGoldenRod
| DEAD
| 238
| 48
| 232
| 48
| 170
| 48
| style="background-color:#eee8aa;" |
| style="background-color:#303030;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| PaleGreen
! MCell
| 152
| 251
| 152
| style="background-color:#98fb98;" |
|-
|-
| PaleTurquoise
| BACKGROUND
| 175
| 0
| 238
| 0
| 238
| 0
| style="background-color:#afeeee;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| PaleVioletRed
| ALIVE
| 219
| 255
| 112
| 255
| 147
| 0
| style="background-color:#db7093;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| PapayaWhip
| DYING
| 255
| 255
| 239
| 255
| 213
| 0
| style="background-color:#ffefd5;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| PeachPuff
| DYINGRAMP
| 0
| 255
| 255
| 218
| 0
| 185
| style="background-color:#00ff00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffdab9;" |
| Lime
|-
| DEAD
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| Peru
! Catagolue
| 205
| 133
| 63
| style="background-color:#cd853f;" |
|-
|-
| Pink
| BACKGROUND
| 192
| 255
| 255
| 238
| style="background-color:#c0ffee;" | &nbsp;&nbsp;&nbsp;
|
|-
| ALIVE
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| DYING
| 2
| 129
| 2
| style="background-color:#028102;" | &nbsp;&nbsp;&nbsp;
|
|-
| DYINGRAMP
| 96
| 192
| 192
| 203
| 139
| style="background-color:#ffc0cb;" |
| style="background-color:#60c08b;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Plum
| DEAD
| 221
| 160
| 160
| 221
| 221
| style="background-color:#dda0dd;" |
| 204
| style="background-color:#a0ddcc;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| PowderBlue
! Caterer
| 176
|-
| 224
| BACKGROUND
| 230
| 54
| style="background-color:#b0e0e6;" |
| 57
| 62
| style="background-color:#36393e;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Purple
| ALIVE
| 128
| 255
| 170
| 0
| 0
| 128
| style="background-color:#ffaa00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#800080;" |
|  
|-
|-
| RebeccaPurple
| DYING
| 102
| 255
| 51
| 170
| 153
| 0
| style="background-color:#663399;" |
| style="background-color:#ffaa00;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Red
| DYINGRAMP
| 255
| 255
| 85
| 0
| 0
| 0
| style="background-color:#ff5500;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ff0000;" |
|  
|-
|-
| RosyBrown
| DEAD
| 188
| 54
| 143
| 57
| 143
| 62
| style="background-color:#bc8f8f;" |
| style="background-color:#36393e;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| RoyalBlue
! Life32
| 65
| 105
| 225
| style="background-color:#4169e1;" |
|-
|-
| SaddleBrown
| BACKGROUND
| 139
| 255
| 69
| 255
| 19
| 255
| style="background-color:#8b4513;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
|-
| Salmon
| ALIVE
| 250
| 0
| 0
| 128
| 128
| 114
| style="background-color:#000080;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#fa8072;" |
| Navy
|-
|-
| SandyBrown
| DYING
| 244
| 0
| 164
| 0
| 96
| 128
| style="background-color:#f4a460;" |
| style="background-color:#000080;" | &nbsp;&nbsp;&nbsp;
| Navy
|-
|-
| SeaGreen
| DYINGRAMP
| 46
| 0
| 139
| 0
| 87
| 64
| style="background-color:#2e8b57;" |
| style="background-color:#000040;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| SeaShell
| DEAD
| 255
| 255
| 255
| 255
| 245
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| 238
| White
| style="background-color:#fff5ee;" |
|-
|-
| Sienna
! Margolus
| 160
| 82
| 45
| style="background-color:#a0522d;" |
|-
|-
| Silver
| BACKGROUND
| 192
| 0
| 192
| 0
| 192
| 0
| style="background-color:#c0c0c0;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| SkyBlue
| ALIVE
| 135
| 255
| 206
| 255
| 235
| 0
| style="background-color:#87ceeb;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| SlateBlue
| DYING
| 106
| 255
| 90
| 255
| 205
| 0
| style="background-color:#6a5acd;" |
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| SlateGray
| DYINGRAMP
| 112
| 64
| 64
| 128
| 128
| 144
| style="background-color:#404080;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#708090;" |
|  
|-
|-
| Snow
| DEAD
| 255
| 0
| 250
| 0
| 250
| 128
| style="background-color:#fffafa;" |
| style="background-color:#000080;" | &nbsp;&nbsp;&nbsp;
| Navy
|-
|-
| SpringGreen
| DEADRAMP
| 0
| 0
| 0
| 255
| 47
| 127
| style="background-color:#00002f;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#00ff7f;" |
|  
|-
|-
| SteelBlue
! PCA
| 70
| 130
| 180
| style="background-color:#4682b4;" |
|-
|-
| Tan
| BACKGROUND
| 210
| 0
| 180
| 0
| 140
| 0
| style="background-color:#d2b48c;" |
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| Teal
| ALIVE
| 0
| 240
| 128
| 240
| 128
| 240
| style="background-color:#008080;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Thistle
| DYING
| 216
| 240
| 191
| 240
| 216
| 240
| style="background-color:#d8bfd8;" |
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Tomato
| DYINGRAMP
| 255
| 160
| 99
| 160
| 71
| 160
| style="background-color:#ff6347;" |
| style="background-color:#a0a0a0;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Turquoise
| DEAD
| 64
| 64
| 224
| 64
| 208
| 64
| style="background-color:#40e0d0;" |
| style="background-color:#404040;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Violet
| DEADRAMP
| 238
| 24
| 130
| 24
| 238
| 24
| style="background-color:#ee82ee;" |
| style="background-color:#181818;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| Wheat
! Book
| 245
| 222
| 179
| style="background-color:#f5deb3;" |
|-
|-
| White
| BACKGROUND
| 255
| 255
| 255
| 255
| 255
| 255
| style="background-color:#ffffff;" |
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| ALIVE
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
|-
| WhiteSmoke
| DYING
| 245
| 128
| 245
| 128
| 245
| 128
| style="background-color:#f5f5f5;" |
| style="background-color:#808080;" | &nbsp;&nbsp;&nbsp;
| Gray
|-
|-
| Yellow
| DYINGRAMP
| 24
| 24
| 24
| style="background-color:#181818;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEAD
| 192
| 220
| 255
| 255
| style="background-color:#c0dcff;" | &nbsp;&nbsp;&nbsp;
|
|-
| DEADRAMP
| 255
| 255
| 0
| 220
| style="background-color:#ffff00;" |
| 192
|-
| style="background-color:#ffdcc0;" | &nbsp;&nbsp;&nbsp;
| YellowGreen
|  
| 154
| 205
| 50
| style="background-color:#9acd32;" |
|-
|-
|}
|}
</div>
</div>
== Pattern Identification ==
LifeViewer is able to identify [[spaceships]], [[oscillators]] and [[still-life]] patterns. For oscillators it can display a table and graphical [[map]] of periods per cell.


==Info==
[[File:Identify-results.png]]
[[File:Identify-table.png]]
 
[[File:Identify-map.png]]
 
== Scripts ==
{{main|LifeViewer/Scripts}}
LifeViewer supports a large number of script commands than can be used to control playback, the camera, labels and annotations, colours and many other aspects.
 
== Info ==
LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help.
LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help.


==References==
== Planned features ==
The following features and functionalities are planned for future builds of LifeViewer:
* Support for displaying @ICONS on the grid<ref name="post87414" />
* Theme support for [R]Super<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129493#p129493</ref>
 
== Possible future features ==
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the list of other requested features that ''may'' appear at some stage.
<div class="mw-collapsible-content">
=== Rules ===
* Native support for [[BSFKL]] rules<ref name="rulespaces1">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=86409#p86409</ref>
* Native support for [[Extended Generations]]<ref name="rulespaces1"/>
* Native support for 1D totalistic rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84188#p84188</ref>
* Native support for higher-range Margolus rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82121#p82121</ref>
* Native support for one-dimensional rules with a range greater than 2<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82283#p82283</ref>
* Native support for alternating rules with more than 3 constituent rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129157#p129157</ref>
 
=== Non-square grids/selections ===
* Diagonal/von Neumann-like selections<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=70959#p70959</ref>
* Selection shapes which are more useful for hexagonal and triangular grids<ref name="hextri1">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=78941#p78941</ref><ref name="hextri2">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=80331#p80331</ref><ref name="hextri3">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=87226#p87226</ref>
* Selection flip/rotate transformations for hexagonal and triangular grids<ref name="hextri2"/>
* Directions of spaceships on hexagonal and triangular grids from Identify<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84510#p84510</ref>
* Calculating the mod of oscillators and spaceships on hexagonal and triangular grids in Identify<ref name="hextri3"/>
 
=== [R]Super/[R]History ===
* KILLGLIDERS functionality in [R]Super<ref name="Apr2021">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129156&hilit=backlog#p129156</ref>
* Support for pasting in [R]History/[R]Super-exclusive cells<ref>https://conwaylife.com/forums/viewtopic.php?p=93893#p93893</ref>
* Selection inversion support for [R]History and [R]Super<ref name="Apr2021"/>
</div>
</div>
 
== Known bugs ==
{{main|LifeViewer/Known bugs}}
 
== References ==
<references>
<references>
<ref name="post87414">{{LinkForumThread
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 87414
|author = Chris Rowett
|date  = January 13, 2020
}}</ref>
<ref name="post68678">{{LinkForumThread
<ref name="post68678">{{LinkForumThread
|format = ref
|format = ref
Line 2,195: Line 2,238:
|author = Chris Rowett
|author = Chris Rowett
|date  = October 15, 2019
|date  = October 15, 2019
}}</ref>
<ref name="post75775">{{LinkForumThread
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 75775
|author = Chris Rowett
|date  = May 6, 2019
}}</ref>
}}</ref>
</references>
</references>


==External links==
== External links ==
* [https://lazyslug.com/lifeview/plugin/version.txt Release notes]
* [https://lazyslug.com/lifeview/plugin/version.txt Release notes]
* [https://lazyslug.com/lifeview/ LifeViewer homepage]
* [https://lazyslug.com/lifeviewer/ LifeViewer homepage]
* [https://lazyslug.com/lifeview/plugin/ LifeViewer files]
* [https://lazyslug.com/lifeview/plugin/ LifeViewer files]
{{LinkLexicon|lex_l.htm#lifeviewer}}  
{{LinkLexicon|lex_l.htm#lifeviewer}}  


===Forum threads===
=== Forum threads ===
{{LinkForumThread|f=7|t=1026|title=LifeViewer - Life simulator in HTML5}}
* {{LinkForumThread|f=7|t=1026|title=LifeViewer - Life simulator in HTML5}}
{{LinkForumThread|f=3|t=1622|title=Pattern viewer for forum threads}}
* {{LinkForumThread|f=3|t=1622|title=Pattern viewer for forum threads}}
 
{{CatagolueNavbox}}
 
[[Category:Simulation software]]

Latest revision as of 22:30, 20 February 2024

LifeViewer
LifeViewer image
Homepage Click here
Purpose Life simulation
Created by Chris Rowett
Platform HTML5 / Javascript

LifeViewer is a browser-based scriptable pattern viewer and editor used to simulate Life and a wide range of other 1D and 2D cellular automata.


x=59, y = 7, rule = B3/S23 o5b5ob5ob5obo3bob5ob5obobobob5ob4o$o7bo3bo5bo5bo3bo3bo3bo5bobobobo5bo 3bo$o7bo3bo5bo5bo3bo3bo3bo5bobobobo5bo3bo$o7bo3b3o3b3o3bo3bo3bo3b3o3bo bobob3o3b4o$o7bo3bo5bo5bo3bo3bo3bo5bobobobo5bo3bo$o7bo3bo5bo6bobo4bo3b o5bobobobo5bo3bo$5ob5obo5b5o3bo3b5ob5o2bobo2b5obo3bo! #C [[ IGNOREEXCLUSIVE ]] #C [[ COLOUR DEAD 0 0 0 COLOUR ALIVE 0 0 0 ]] #C [[ LOOP 1101 STARS NOSTEPBACK ]] #C [[ AUTOSTART X -90 Y 60 LAYERS 6 ZOOM 4 DEPTH 3 ]] #C [[ PAUSE 3 X 90 Y -60 ANGLE 20 THEME 0 ]] #C [[ PAUSE 1.5 X 90 Y 60 ANGLE 340 ZOOM 6 ]] #C [[ PAUSE 1.5 X 0 Y 0 ANGLE 0 THEME 3 ZOOM 4 ]] #C [[ PAUSE 1 X 0 DEPTH 0.2 ZOOM 6 THEME 4 ]] #C [[ T 1 THEME 7 ]] #C [[ T 400 ZOOM 5 X 5 Y -10 THEME 2 ]] #C [[ T 450 DEPTH 5 ]] #C [[ T 560 X -155 Y 127 DEPTH 0.5 ]] #C [[ T 950 X -242 Y 214 ANGLE 20 ]] #C [[ T 1050 DEPTH 0 ANGLE 0 AUTOFIT "#T" ]] #C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]

LifeViewer features

  • Smooth non-integer zoom with anti-aliasing and rotation.
  • Colour themes with cell history and longevity.
  • Square, hexagonal and triangular grids.
  • Pseudo 3D layers and stars.
  • Multiple ways to automatically track patterns with the camera as they evolve.
  • Script language that allows many features to be customized including Waypoint animations.
  • Support for multiple embedded LifeViewers and/or a single popup LifeViewer.
  • Ability to step back to earlier generations for all patterns and reverse playback for reversible Margolus and PCA patterns.
  • Random pattern and rule generation.
  • Real time auto-scaling population graph.
  • Pattern annotation with Labels, Arrows, Lines and Polygons.
  • Programatically pasting cells onto the grid at defined intervals (for example: glider injection).
  • Ability to build patterns from RLE recipes with transformations.
  • Identification of still life patterns, oscillator and spaceship periods.
  • Automatic scaling for high DPI displays including smartphones and tablets.
  • Editor with unlimitied undo/redo and multiple clipboards.

Rule support

LifeViewer supports the following rule families:

Built-in rules

Click on "Expand" to the right to view example patterns for each rule family.

2-state Margolus rules.
Example: Critters (M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0)
x=63, y = 34, rule = critters 9$52bo9$48b2o$39bo$47bo2bo3$47bo$48bo$5bo31bo20bo$6bo31bo18bo$6bo31bo 17bo$5bo31bo17bo! [[ RLE input o$bo$bo$o! PASTET EVERY 64 PASTE input 5 24 ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
2-state Outer-totalistic Life-like cellular automata (from ranges 1 to 500, including Larger than Life).
Example: Soldier Bugs (R7,C2,M1,S65..114,B65..95,NM)
x=113, y = 113, rule = R7,C2,M1,S65..114,B65..95,NM 49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b 9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b 7o$18b13o14b12o14b3o6b6o$17b5o3b6o15b10o15b3o6b6o$17b2o7b5o16b7o17b3o 6b6o$17b2o7b5o18b3o20b3obo2b7o$17b3o5b6o41b13o$17b3o2b9o42b11o$18b3ob 8o44b8o$19b10o46b6o16b5o$20b7o50b2o17b8o$21b5o69b4o2b4o$94b3o4b5o$93b 3o5b5o$93b5o4b5o$93b5o4b5o$93b5o4b5o$93b6o2b5o$94b12o$9b5o81b10o$8b7o 80b9o$7b9o80b8o$6b10o81b6o$6b11o$5b13o$5b5o3b5o$4b5o5b5o$4b5o5b5o$5b4o 4b5o$5b3o6b4o$6b4o3b4o$7b9o$8b7o$10b3o3$104b4o$102b8o$101b10o$100b4o4b 4o$100b3o5b4o$99b4o5b5o$99b5o4b5o$99b5o4b5o$100b13o$100b12o$101b10o$4b 6o91b10o$3b8o91b8o$2b10o91b6o$2b10o$b12o$13o$5o4b5o$5o4b5o$5o5b4o$b4o 5b3o$b4o4b4o$2b10o$3b8o$5b4o3$100b3o$98b7o$97b9o$96b4o3b4o$95b4o6b3o$ 95b5o4b4o$94b5o5b5o$94b5o5b5o$95b5o3b5o$95b13o$96b11o$10b6o81b10o$9b8o 80b9o$9b9o80b7o$8b10o81b5o$7b12o$7b5o2b6o$6b5o4b5o$6b5o4b5o$6b5o4b5o$ 7b5o5b3o$7b5o4b3o$8b4o2b4o69b5o$9b8o17b2o50b7o$11b5o16b6o46b10o$31b8o 44b8ob3o$29b11o42b9o2b3o$28b13o41b6o5b3o$27b7o2bob3o20b3o18b5o7b2o$27b 6o6b3o17b7o16b5o7b2o$27b6o6b3o15b10o15b6o3b5o$27b6o6b3o14b12o14b13o$27b 7o4b3o14b8o2b3o15b12o$28b9ob3o14b6o5b3o16b9o$29b11o15b6o5b3o17b7o$30b 9o16b6o5b3o19b3o$32b6o17b6o5b3o$34b2o19b13o$56b12o$57b10o$59b7o$60b4o! [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
2-state Isotropic non-totalistic cellular automata (for range-1 Moore and range-1 hexagonal).
Example: Just Friends (B2-a/S12)
x=65, y = 74, rule = B2-a/S12 63bo$63bo4$61bo$64bo$59bobo2bo46$18bo$19b2o12$4bo$4bo4$2bo$5bo$obo2bo! [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
2-state Non-isotropic cellular automata (for range-1 Moore, hexagonal and von Neumann).
Example: MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA
x=1, y = 1, rule = MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA:T80,40 o! [[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
Generations rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces).
Example: Fireworks (2,13,21)
x=200, y = 100, rule = 2/13/21:T200,100 #C Fireworks #C An admirably beautiful rule by John Elliott 88.A6$A58$61.A24$107.A11$37.A! [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
Alternating rules.
Example: alternlife (B13/S012345678|B/S15)
x=21, y = 9, rule = alternlife 3.A13.A2$.2A15.2A2$A19.A4$9.A! [[ ZOOM 12 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
Partitioned cellular automata (PCA) rules.
Example: PCA_4 (2PCA4,0,2,4,12,8,5,9,7,1,6,10,11,3,13,14,15)
x=49, y = 29, rule = PCA_4 AB45.AB$HD45.HD24$21.A20.D$20.E$AB19.B20.F4.AB$HD39.D5.HD! [[ STEP 20 ZOOM 6 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
Weighted rules.
Example: R2,C2,S2-3,B4,7-8,NW0010001210120210121000100
x=9, y = 9, rule = R2,C2,S2,3,B4,7,8,NW0010001210120210121000100:T80,40 3A6.$3A6.$2A.A3.A.$2.A5.A$9.$9.$9.$2.A6.$3.A5.! [[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
Elementary cellular automata (even numbers only).
Example: Wolfram 30 (W30)
x=1, y = 1, rule = W30:P100,40 o! #CXRLE Pos=0,-20 [[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
[R]History rules.
Example: LifeHistory
x=457, y = 155, rule = LifeHistory 59.3B64.B125.B$58.BFBF2B60.4BF122.3B$58.6BF.B.F.F.B.F.F.B.F.F.B.F.F.B .F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F7B5.BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F. B.F.F.B.F.F.B.FBF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F .F.B.F.F.B.F.F3BFBF.2B2F2.3B$57.F10B.5B.5B.A4B.5B.5B.5B.26BF2BF133B$ 57.24B2A2BA129BA33B2A19B$56.23BA3B2A63B3A63BABA32B4A17B$55.F23BABA67B 2A66BA30BABA2BA16B$56.23BA3B2A63B3A63BABA31BAB4A14BF3B63.F3.BF$57.24B 2A2BA129BA33B4A20B3.B59.5B$56.12B.5B.5B.A4B.5B.5B.5B.28BF116BA23B.B2C 57.6B$57.7BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B. F.F7BF3.F2B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F .B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.FBF.2BFBF3BFBF8B3A8B2C 57.7B$58.6B61.7B125.10BA7B.B57.8B$56.F.5B.F59.9B125.7B3A7B58.10B$57. 7B61.7B125.15B61.10B$56.9B59.F.5B.F123.4B.5BA6B60.11B$57.7B61.7B123. 4B2.3B3A5B61.11B$56.F7BF59.F7BF121.4B3.B3A7B61.11B$57.7B61.7B121.4B3. 3B2A2B.3B55.F.B.F.2F11B$56.F.5B.F59.9B119.4B3.8B2.F43.B.F.F.B4.BF.6BA BA9B2A32B2A32B2A32B2A6B$57.7B61.7B119.4B3.8B44.23BA2BA7B4A30B4A30B4A 30B4A6BF$56.9B59.F.5B.F117.4B3.9B42.F24BA3BA6B2AB2A29B2AB2A29B2AB2A 29B2AB2A5B$57.7B61.7B117.4B3.4B.6B42.28BA8B2A32B2A32B2A32B2A6B$56.F7B F59.F7BF115.4B3.4B.7B42.24BA3BA117B$57.7B61.7B115.4B3.4B2.6B44.23BA2B A5B$56.F.5B.F59.9B113.4B3.4B3.6B47.7B.2B.F2.6B3A6B$57.7B61.2B3A2B113. 4B3.4B4.6B46.9B.F2.BF.B.F.F9B$56.9B59.F.5B.F111.4B3.4B4.8B46.7B13.F8B $57.7B61.2ABAB2A111.4B3.4B6.8B45.6B.F13.8B$56.F7BF59.FBA3BABF109.4B3. 4B6.9B45.F2BA3B14.8B$57.7B61.2BABA2B109.4B3.4B7.9B46.B3AB14.9B$56.F. 5B.F59.3BABA3B107.4B3.4B8.10B44.B2ABAB14.8B$57.7B61.BA3BAB107.4B3.4B 9.5B2A3B42.F2.5B14.8B$56.9B59.F.5B.F105.4B3.4B10.5B2A4B28.B6.F6.7B.F 11.10B$57.7B61.7B105.4B3.4B11.11B27.5BF.2B3.B.9B12.11B$56.F7BF59.F7BF 103.4B3.4B12.12BA.2A21.24B14.8B$57.7B61.7B103.4B3.4B15.8B2.2A.A19.26B 14.7B$56.F.5B.F59.9B101.4B2.5B16.7B26.F25B14.7B$18.3B4.B31.7B61.7B 101.4B3.4B17.5B29.24BF13.8B$17.BFBF6BF28.9B59.F.5B.F99.2A2B3.4B18.5B 30.23B14.6B$17.6B.5B28.7B61.7B99.2B2A3.4B18.6B31.8B2.B.F10B14.5B$16.F 13BF25.F7BF59.F7BF97.2BAB3.4B19.7B2.4B23.10B6.B.6BF12.F.4B$16.4BA12B 24.7B61.7B97.4B3.4B19.F7BF6BF21.9B9.5B16.F.B$15.4B2A5BA5BFB22.F.5B.F 59.9B95.4B3.4B21.14B21.11B5.3B2ABA6B$14.F3BA9BA5B23.7B61.7B95.4B3.4B 21.F14B20.7BA2BF2B4.4B3A6B$14.5B2A3BA3BA3BFB22.9B59.F7BF93.4B3.4B23. 15B19.6B3A4B4.2BF2BA7B$13.7BA12B24.7B61.7B93.4B3.4B23.16B19.6BAB2A3B 5.11B$14.11B2A6B23.F7BF59.F7BF91.4B3.4B25.15B24.5B9.9B$14.B.7BF7B.B 24.7B61.7B91.4B3.4B25.F14B23.F6B.B6.10B$14.19B23.F.5B.F59.9B89.4B3.4B 27.9B.3B25.10BF.B2.8B$14.20B23.BA3BAB61.7B89.4B3.4B27.F7BF31.23B$13.B F18B23.3BABA3B59.F7BF87.4B3.4B27.10B30.F24B$13.19BF24.2BABA2B61.7B87. 4B3.4B29.9B30.25BF$13.BF17B24.FBA3BABF59.F7BF85.4B3.4B31.7B31.25B$14. 17B26.2ABAB2A61.7B85.4B3.4B31.F7BF30.BA22B$16.F13BF25.F.5B.F59.9B83. 4B3.4B33.7B31.BA7B.B3.2B.F5B$18.5B.6B27.2B3A2B61.7B83.4B3.4B33.F7BF 31.BA5B6.F6.B$19.F6BFBFB26.9B59.F7BF81.4B3.4B35.7B32.5B2.F$21.B4.3B 28.7B61.7B81.4B3.4B35.9B32.3B$56.F7BF59.F7BF79.4B3.BA2B37.7B34.F$57. 7B61.7B79.4B3.2A2B37.F7BF$56.F.5B.F59.9B77.4B3.2B2A39.7B$57.7B61.7B 77.4B3.4B39.F7BF$56.9B59.F7BF75.4B3.4B41.7B$57.7B61.7B75.4B3.4B41.9B$ 56.F7BF59.F7BF73.4B3.4B43.7B$57.7B61.7B46.F2B2A2BF19.4B3.4B43.F3BA3BF $56.F.5B.F59.9B45.3B2A2B19.4B3.4B45.2B3A2B$57.7B61.7B46.8B.F15.4B3.4B 45.FB5ABF$56.9B59.F7BF43.12B14.4B3.4B47.BA3BAB$57.7B61.8B42.F13B12.4B 3.4B47.2A5B2A$56.F7BF.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F .F.B.F.F.B.F9B38.3B.13BF10.4B3.4B49.BA3BA2B$55.11B.5B.5B.5B.5B.5B.5B. 4BA.5B.5B.13B37.5B.11B11.4B3.4B49.FBA3BABF$55.48BA2B2A27B37.5B.8B2.F 9.4B3.4B50.8B$54.BF48B2A3BA24B40.13B10.4B3.4B52.F6B$54.53BABA23BF41. 8B.4B8.4B3.4B53.6BF64.F$54.BF48B2A3BA23B43.7B2.4B6.4B3.4B54.7BF.B.F.F .B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F2.B.3B$55.48BA2B 2A24B45.5B.F2.4B4.4B3.4B55.F10B.5B.5B.5B.5B.5B.5B.5B.5B.5B2.7BF$57.F 7B2.5B.5B.5B.5B.5B.5B.4BA.5B.5B.10BF45.4B6.4B2.4B3.4B56.33B2A42B$59. 3B.B2.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F7B 45.4B7.8B3.4B56.33BABA41BFB$60.F64.F6B44.4B9.6B3.4B56.F32B2A45B$125. 6BF43.4B11.4B3.4B57.34BABA41BFB$125.8B41.4B11.6B.4B57.36B2A42B$124.F 7BF40.4B11.11B59.13B.5B.5B.5B.5B.5B.5B.5B.5B.5B.11B$124.8B40.4B11.4B 2.5B60.9BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F. F7BF$124.9B38.4B11.4B4.5B60.8B61.7B$125.7B38.4B11.2A2B6.4B60.F7BF59. 9B$124.F7BF36.4B11.2B2A8.4B12.B47.7B61.7B$125.7B36.4B11.2BAB10.4B10. 3B45.9B59.F.5B.F$124.F7BF34.4B11.4B12.4B9.3B46.7B61.7B$125.7B34.4B11. 4B14.4B7.4B45.F7BF59.F7BF$124.9B32.4B11.4B16.4B5.4B.F45.7B61.7B$125. 7B32.4B11.4B18.4B3.4B.3B43.F7BF59.9B$124.F7BF30.4B11.4B20.9B.6B42.7B 61.7B$125.7B30.4B11.4B22.15BF40.9B59.F.5B.F$25.F98.F2BABA2BF28.4B11. 4B24.15B41.7B61.7B$125.2B3A2B28.4B11.4B26.16B38.F7BF59.F7BF$124.3B3A 3B26.4B11.4B29.10B2A2B39.7B61.7B$20.F104.7B26.4B11.4B31.9B2A2B38.F7BF 59.9B$124.F7BF24.4B11.4B31.F2.11B39.7B61.7B$125.7B24.4B11.4B34.11B39. 9B59.F.5B.F$124.F.5B.F22.4B11.4B34.9B.F41.7B61.7B$125.7B22.4B11.4B34. 3AB.4B43.F7BF59.F7BF$124.9B20.4B11.4B34.3BA2.4BF43.7B61.7B$31.F92.10B 18.4B11.4B34.3BA2.F.2B44.F7BF59.9B$124.F7BF18.4B11.4B34.4B5.F46.7B61. 7B$125.7B18.4B11.4B34.4B52.9B59.F.5B.F$20.F9.2A92.F.5B.F16.4B11.4B34. 4B54.7B61.7B$30.2A93.7B16.4B11.4B34.4B54.F7BF59.F3BA3BF$124.9B14.4B 11.4B34.4B56.7B61.2B3A2B$75.F49.7B14.4B11.4B34.4B56.F7BF59.2BA3BA2B$ 7.F23.F35.F56.F7BF12.4B11.B2DB34.4B58.7B61.B2AB2AB$2.F17.3A101.8B12. 4B11.2B2D34.4B58.9B59.F.5B.F$22.A6.F94.F7BF10.4B11.4B34.4B60.7B61.7B$ F20.A2.F42.2A9.F46.7B10.4B11.4B34.4B60.F7BF59.F7BF$67.2A55.9B8.4B11. 4B21.B12.4B62.7B61.7B$119.2B4.7B8.4B11.4B21.3B10.4B62.F.5B.F59.9B$2A 116.5B2F7BF3B3.4B11.4B22.3B9.4B64.B2AB2AB61.7B$2A9.F55.F11.F38.24B11. 4B23.4B7.4B64.2BA3BA2B59.F.5B.F$117.24B11.4B23.F.4B5.4B66.2B3A2B61.7B $69.F13.F33.23B11.4B23.3B.4B3.4B66.F3BA3BF59.F7BF$F117.21B11.4B22.6B. 9B68.7B61.7B$73.F11.F31.23B9.4B22.F15B68.F.5B.F59.9B$118.21B9.4B23. 15B70.7B61.7B$80.A38.19B9.4B22.16B70.9B59.F.5B.F$81.A2.2A37.B.10B11. 4B23.2B2A10B73.7B61.7B$74.F4.3A2.2A40.8B11.4B24.2B2A9B73.F7BF59.F7BF$ 11.F115.6B11.4B25.11B2.F73.7B61.7B$11.F115.5B11.4B27.11B74.F.5B.F59. 9B$85.F41.6B9.4B29.F.9B74.7B61.7B$126.8B7.4B33.4B.4B72.9B59.F.5B.F$ 125.4B.5B6.4B21.D.D8.F4B2.4B72.7B61.7B$124.4B4.4B2.F.5B19.D5.D8.2B.F 2.4B70.F7BF59.F7BF$123.4B6.4B2.BA5B34.F5.4B70.7B61.7B$79.F42.4B8.4B.A B2A4B16.D3.C3.D15.4B68.F.5B.F59.9B$121.4B10.4BA3BA4B18.2C19.5B35.3B 30.7B61.7B$120.4B9.F2.4BA3B.5B13.D2.C.C2.D17.4B32.7B27.9B59.F.5B.F$ 119.4B11.7BA3B.5B39.4B30.10B26.7B61.7B$118.4B10.F2BA6BA3B.3B14.D5.D 20.4B.F.F.B.F.F.B.F.F.B.F.F.B.F3.12B23.F7BF59.F7BF$118.3B12.B3A9BF19. D.D23.28B3.14B23.7B61.7B$118.2B14.AB3A7B43.B2.4BA3BA36BF21.F.5B.F59. 9B$118.B15.F.B2A6B43.2AB.3BA4BA36BF22.7B61.7B$137.BA6B43.2A6B2A39B22. 9B59.F.5B.F$136.F2BA3BF45.2B.3BA4BA38B21.7B61.6B$137.BA3B50.4BA3BA23B 4.11BF.B.F.F.B.F.F.A.F3.F7BF.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B. F.F.B.F.F.B.F.F.B.F7B$138.A3B50.28B10.13B.5B.3BA4BF28B.5B.5B.5B.5B.5B .5B.12B$191.BF2B.F.F.B.F.F.B.F.F.B.F.F.B.F9.21B2AB2A44B2A33B$229.21B 2A48BABA33B$229.20B3A50B2A32BF$230.20B2A48BABA33B$229.F21B2AB2A44B2A 33B$230.7B.5B.5B.3BA3BF2BF26B.5B.5B.5B.5B.5B.5B.10BF$229.7BF2.F.B.F.F .B.F.F.A.FB5.7BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F. F.B.F6B$230.5B28.F4B60.2BFBFB$231.3B31.B64.3B$232.B.F! [[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
[R]Super rules.
Example: LifeSuper
x=312, y = 156, rule = LifeSuper:T312,156 69.M.M6.M.M49.2Q.Q6.Q3.3Q117.S.2S2.S.S2.2S.S10.U.2U2.U.U2.2U.U$20.2O. 2O2.2O.2O39.M6.M44.2Q5.Q.Q8.3Q4.Q85.2O34.S.S22.U.U$20.2O2.O2.O2.2O36. 2M10.2M41.2Q17.2Q3.Q85.4O28.S11.S12.U11.U$21.2O2.2O2.2O94.Q106.2O2.2O 28.S2.S3.S2.S14.U2.U3.U2.U$21.O8.O201.O4.O28.4S3.4S14.4U3.4U$19.2O10. 2O23.G36.A8.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A35.2O30.S3.S.S3.S14. U3.U.U3.U$51.3A2.G.G32.A.A6.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A .A5.A.A5.A.A5.A.A5.A.A33.O4.O30.S.S.S.S18.U.U.U.U$18.O14.O21.G.G34.A. A3.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A 29.O4.O28.S3.S.S3.S14.U3.U.U3.U$18.O2.O8.O2.O23.G34.A3.A.A7.A7.A7.A7. A7.A7.A7.A7.A7.A7.A7.A7.A7.A24.O14.O26.S3.S20.U3.U$18.O14.O170.A21.O. O4.O2.O4.O.O20.2S.S7.S.2S10.2U.U7.U.2U$19.O.O8.O.O61.2A133.O3.4O3.O 23.2S11.2S10.2U11.2U$21.O8.O70.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A 6.2A3.G16.O16.O19.S15.S8.U15.U$22.O6.O65.A5.A.A5.A.A5.A.A5.A.A5.A.A5. A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A10.2G16.2O10.2O20.S2.S11.S2.S6. U2.U11.U2.U3.A$21.3O4.3O66.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A.A5.A. A5.A.A5.A.A5.A.A5.A.A5.A.A4.2G17.3O10.3O22.S11.S12.U11.U6.A$22.2O4.2O 67.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A7.A8.G21.O4.O24.S.S3.S5.S3.S. S6.U.U3.U5.U3.U.U3.A$19.2O10.2O197.2O.O2.O.2O27.2S5.2S16.2U5.2U$19.3O 3.2O3.3O41.W11.A14.I9.K14.M103.2O2.2O2.2O27.S2.S.S2.S16.U2.U.U2.U$20. 2O3.2O3.2O28.pA12.W.W9.A.A12.I.I7.K.K12.M.M102.2O6.2O27.3S3.3S16.3U3. 3U$21.O3.2O3.O25.2pA.2pA12.W10.2A13.2I8.2K13.2M105.2O.2O.2O29.S.S.S.S 18.U.U.U.U$20.3O6.3O23.pA3.pA6.3W4.W3.W7.A.A12.I9.K.K12.M105.2O.2O.2O 29.2S3.2S18.2U3.2U$55.pA3.pA6.2W2.W4.W.W7.2A12.I.I8.2K7.2M4.3M5.M$54. pA3.pA9.3W.2W.2W11.A10.I13.K14.M2.M.M.M$20.3O6.3O20.3pA.pA.pA7.W2.W.W .3W8.A2.A5.A4.I10.K2.K4.2M2.M2.3M2.M.M.2M94.3O6.3O$19.5O4.5O16.pA2.2pA 3.2pA6.W4.W5.W6.A8.A.A3.I.I7.K7.M6.3M102.O3.O4.O3.O$18.O5.O2.O5.O14.pA .pA3.2pA9.W4.W5.W5.2A7.2A5.I2.I5.2K6.2M4.2M108.O6.O$19.O3.O4.O3.O14.pA 2.pA3.pA4.pA6.W2.W.W.3W7.A8.A14.K.K6.M4.3M104.2O10.2O$48.pA.pA3.2pA2. pA9.3W.2W.2W6.3A5.A.A4.3I5.2K8.3M$49.pA2.2pA.pA.pA8.2W2.W4.W.W6.A6.A 6.2I17.M$52.2pA12.3W4.W3.W8.A2.2A2.A6.I6.K11.M160.2W$54.2pA17.W10.2A 2.3A2.A4.2I7.K.K7.2M159.2W2.2W$55.pA17.W.W8.2A3.3A7.I.I5.K.K7.2M158.W $74.W11.A13.I7.K10.M154.4W5.W$274.W$12.G97.A36.A5.A6.A12.A11.A88.W.W 4.3W$11.G2.G22.2S53.11P8.2A.3A.3A3.A3.A3.A13.A.A3.A.A3.A.A5.3A2.A2.A 3.3A2.A2.A3.3A.3A.2A4.2A11.2A27.3W26.2W3.2W3.W$11.G2.G22.S4.2S46.15P 4.2A12.3A.3A.3A5.A4.3A.A3.A2.A3.A.A3.3A3.A2.A2.3A3.A2.A2.3A7.A3.A2.A 6.A3.A.A31.2W5.W19.2W3.W.W$13.G24.S.S2.S16.46P5.A10.A.4A.4A.A3.A.A2.A 4.2A3.A.A3.A12.A11.A14.A.3A2.3A3.A.A5.A30.2W5.W17.W7.W$42.S3.2S12.P 29.15P17.2A9.A.A2.A.A2.A.2A3.A3.A45.A3.2A3.A.A2.A6.A36.W17.W2.W2.W6.W $39.S5.S.S12.P31.11P12.3A5.A3.3A.A2.A2.2A.2A.A.A.2A8.A43.2A3.4A.A.2A. 2A2.2A25.W31.3W.2W2.3W3.W$41.S.S6.2S8.P59.3A4.A.A.3A4.A4.2A4.2A3.A.2A 5.2A3.2A3.2A3.2A3.2A3.2A3.2A3.3A.A.2A3.A.A2.A.A30.W3.3W23.W15.2W3.W2. 2W.W$37.S.S5.S5.S8.P59.A4.3A.A8.A.2A2.A3.A.A.2A2.A.2A.2A3.2A3.2A3.2A 3.2A3.2A3.2A3.2A.2A4.2A.A3.A3.A.4A25.W6.W22.2W.2W.2W3.4W2.W3.W3.W3.2W $37.2S3.S5.S.S3.2S4.P63.A3.A.2A7.A3.3A.A.A2.A4.A3.2A3.2A3.2A3.2A3.2A 3.2A3.2A3.2A5.2A.A.A.3A3.2A.A2.A28.W2.2W28.4W.W.4W3.W3.W3.2W$44.S.S6. S.S4.P63.2A2.A2.A8.2A3.A.A2.A5.2A5.2A3.2A3.2A3.2A3.2A3.2A3.2A3.2A4.A 7.4A5.2A30.W.W23.3W4.W.W5.W8.2W.W$40.S.S5.S11.62P7.2A4.3A4.2A.A.2A.A. A3.A47.A9.A71.W.W.2W3.W$45.S5.S.S20.P46.P20.A.2A.A2.A.2A4.A42.2A.A.A 14.2A26.2W34.2W3.W.W.W5.3W$14.2W3.W18.S.S6.S.S6.2S16.P46.P26.2A7.2A 28.2A13.A2.2A13.A.A26.2W4.2W28.2W2.W.2W.W5.W2.2W3.2W$3.4W7.2W2.W2.W 15.S5.S.S5.S5.S16.P46.P40.A24.A9.2A.A.A4.2A46.2W30.W.W4.3W5.2W2.W$W2. W4.W2.W2.W.W.W18.2S9.S5.S.S17.P46.P11.3A9.A5.A10.A25.A.A5.A.A.2A5.A6. A3.A.A29.W41.2W3.2W4.W.W$.W.W.W2.W.W.W3.W.W2.W4.W14.S.S6.S.S7.30P31.P 23.A5.A10.A7.A6.A13.A.A.A12.A.A.A.A34.W.W4.W38.3W3.W2.4W3.W$.W.3W2.W. W4.W.2W.2W4.3W12.2S3.S.S5.S5.30P6.26P15.3A5.A4.2A17.2A6.2A5.3A3.2A.2A 21.A.A3.A25.W2.W3.W.W48.W2.W.W$.3W2.2W2.W.2W4.W5.W2.4W14.S5.S8.3P4X3P 3X3P.3P.2P5.2P6.P52.A18.3A6.3A4.A25.A11.A24.W2.W3.W2.W40.3W5.2W3.W$W 10.3W.W2.2W4.2W2.W3.2W11.2S6.S.S4.2PX6PX3PX2P.3P.2P.6P6.P44.3A3.A2.A 2.3A4.2A7.2A6.2A6.A28.A3.A3.A30.W2.W48.W4.2W$.3W9.4W.W.3W6.2W.2W3.2W 10.S.S8.2PX6PX3PX2P2.2P.2P.6P6.P50.A3.A.A6.A.A7.A6.A17.A6.A5.2A2.A.A 32.W2.W55.2W$.3W10.W3.W2.2W3.W2.W3.W3.W.W9.2S4.S.S2.2PX2P2X2PX3PX2P.P .P.2P3.4P6.P50.A4.A8.3A30.2A6.2A9.A.A2.2A29.2W2.W2.W53.W$.3W3.W11.4W 2.4W.2W.3W.W.W16.2S2.2PX3PX2PX3PX2P.2P2.2P.6P6.P65.2A29.3A6.3A4.A3.A 8.A32.2W53.W$7W27.3W23.2PX3PX2PX3PX2P.3P.2P.6P6.48P5.3A8.A.A31.2A6.2A 13.A4.A$3.W.W17.7W2.W.3W23.3P3X4P3X3P.3P.2P5.2P54.P10.2A2.A.A33.A6.A 6.A.A10.A26.3W$6.W16.W2.W33.30P53.P11.A.A2.A14.3A4.2A29.A.A.A.A30.2W 3.3W$6.W24.W28.30P54.P11.4A13.A8.A.A22.A.A3.A33.2W7.2W$60.30P53.P13. 2A6.3A5.A4.A40.A.A25.3W3.2W$60.30P54.P29.A2.A.A3.2A.A14.3A.A.A14.A25. W.W2.3W$60.30P5.O47.P17.3A5.3A4.A2.A16.A24.2A26.2W3.W.W$19.VRTVRTVRTV RTVRTVRTVRTVRTVRTVRTVRTVR6.3P3.4P3.4P3X3PX3PX2P5.O.O46.P32.2A.2A4.A.A 5.2A6.A.A2.A5.A41.2W54.Q$19.T34.T5.2P.3P.2P.3P.2PX3PX2PX3PX2P3.O5.O 43.P21.3A11.A2.A13.2A3.A4.A104.Q$.Q17.V34.V5.2P.6P.3P.2PX3PX2P2X2PX2P 9.O.O42.P34.A.A2.A3.A.A4.A5.2A3.A4.A.3A6.A27.2W58.Q$2.2Q2.Q12.V34.R5. 3P3.3P.3P.2PX3PX2PXPXPX2P2.2O9.O39.P25.3A8.A32.2A.A5.A25.W.2W4.2W$6.Q 12.V34.R5.6P.2P.3P.2PX3PX2PX2P2X2P13.O.O38.P36.2A.A5.A.A8.2A3.A6.A.2A 5.A25.W5.W.2W51.Q.Q$.Q4.Q12.V34.R5.2P.3P.2P.3P.2PX3PX2PX3PX2P4.O5.O6. O35.P29.3A7.A6.A2.A.2A.A.A.A3.A7.3A.A29.W5.W54.Q.Q$9.3Q7.V3.27V4.R5. 3P3.4P3.4P3X3PX3PX2P10.O6.O.O34.P47.2A.2A.2A6.A41.W2.W2.W54.Q$19.V3.V 25.V4.R5.30P4.2O4.O10.O31.P33.3A36.A32.2W3.W2.W$14.Q4.V3.V25.V4.R5. 30P21.O.O30.P45.A64.2W52.Q$14.Q4.V3.V25.V4.R5.30P3.O4.O4.2O2.2O6.O27. P37.3A6.A4.A26.A86.Q$9.2Q3.Q4.V3.V25.V4.T5.30P8.O4.O2.O.O6.O.O26.P45. A2.A.A26.A27.2W57.Q$3.4Q.Q10.V3.7V14.6V4.T5.30P2.2O4.O5.O14.O23.P41. 3A6.A.A3.A10.2A.2A6.A25.W.2W4.2W$Q3.2Q13.V9.V14.V9.T52.O11.O.O22.P49. A5.A.A7.A2.2A.A31.W5.W.2W$Q4.Q5.Q7.V9.V14.V9.T39.O.O6.O.O2.O3.2O9.O 19.P45.3A7.A.A4.A3.A4.2A5.A25.W5.W$.Q8.2Q7.V9.V14.V9.T41.O6.2O2.2O3.O 3.2O5.O.O18.P56.A2.A.A4.A3.A6.A25.W2.W2.W$9.3Q7.V9.V14.V9.T43.O.O12.O .O.O9.O15.P49.3A9.A.A2.2A4.A5.A26.2W3.W2.W$.Q9.Q7.V9.V14.V9.T45.O26.O .O14.P60.A4.A.2A2.A38.2W$.3Q15.V.9V14.9V2T47.O.O6.O.O.O8.O6.O11.P53. 3A11.2A.2A4.A$.2Q8.Q92.O6.2O3.O5.2O7.O.O10.P74.A.A26.W.2W6.W$.Q5.Q4.Q 93.O.O6.2O7.2O17.P57.3A44.W.W7.W$7.2Q3.Q95.O14.O10.2O8.P28.4Q40.A3.2A 26.W8.W$4.Q.4Q29.G70.O.O7.O7.O9.O4.X28.5Q28.3A3.A4.A5.A26.2W$2.2Q10.Q 22.G.G72.O5.O.O5.O.O5.O4.2O3.X24.Q.Q4.2Q33.A.A3.A.A29.2W3.W3.W50.A$ 14.Q23.G.G73.O.O5.O.O5.O.O4.2O4.X24.4Q38.A.A6.2A28.2W3.W3.W50.A$14.Q 23.G77.O7.O7.O6.O4.X22.2Q2.Q5.Q34.A41.W3.W50.A$143.X24.Q.Q3.3Q$144.X 24.3Q.3Q.Q73.pA17.pA$143.X25.3Q.2Q4.Q70.pA.pA15.pA.pA$144.X26.3Q3.2Q 70.2pA16.2pA$143.X29.Q.2Q.Q4.Q66.pA18.pA$144.X27.6Q4.2Q3.2Q60.pA.pA 15.2pA$143.X27.Q9.Q4.3Q6.3Q51.pA17.3pA$142.X28.2Q4.2Q.4Q.Q3.Q.3Q2.Q2. 3Q46.pA$95.3X.7X2.X2.12X6.3X3.7X30.Q3.3Q.Q4.2Q.2Q6.Q51.pA.pA2.2pA12.pA 2.pA$94.X3.2X2.X2.X.X.X.X2.X2.2X9.X3.X2.X38.Q7.Q5.2Q7.Q.3Q46.pA3.pA7. 2pA5.pA.pA$93.X8.X3.X3.X3.X3.X14.X.X38.Q5.Q3.2Q.3Q5.3Q51.3pA4.2pA2.pA 6.pA$93.X8.X3.X3.X3.X3.X14.X.X50.Q.2Q4.4Q53.2pA.pA.pA.pA2.pA6.pA$93.X 8.X3.X3.X3.X3.X14.X.X43.Q.3Q.2Q.Q5.Q3.Q11.2Q8.2Q30.2pA3.4pA7.pA.pA$ 94.X7.X3.X3.X3.X3.X14.X.X44.Q.Q.2Q2.4Q4.Q2.Q9.3Q7.Q2.4Q43.pA$95.2X5.X 3.5X3.X3.3X12.X.4X48.Q4.Q4.Q3.Q4.Q2.Q2.2Q.Q.Q.2Q.Q.2Q26.2pA3.4pA7.2pA $97.X4.X3.X3.X3.X3.X13.X6.X50.3Q5.Q2.Q2.2Q.Q.Q.Q.2Q.Q5.Q.Q.2Q4.Q18.2pA .pA.pA.pA2.pA$98.X3.X3.X3.X3.X3.X12.X8.X49.5Q7.Q2.Q.Q3.Q2.Q.Q.2Q2.Q.Q .2Q3.2Q16.3pA4.2pA2.pA6.pA2.pA$98.X3.X3.X3.X3.X3.X11.X9.X52.Q5.3Q5.Q. Q.3Q.2Q2.Q2.Q3.Q3.Q17.pA3.pA7.2pA4.pA$98.X3.X3.X3.X3.X3.X10.X10.X52.Q 5.Q4.2Q11.Q3.2Q.Q.2Q.3Q.Q4.2Q8.pA.pA2.2pA10.2pA$93.X3.X4.X3.X3.X3.X3. X9.X6.X3.X60.Q3.Q4.Q12.Q.Q.Q.2Q.Q2.4Q2.Q2.2Q3.pA17.pA$94.3X5.X3.X3.X 3.X3.4X6.7X.3X67.Q3.Q8.2Q2.2Q4.Q.2Q10.Q.Q3.pA16.3pA$122.6X77.Q5.2Q12. 2Q.Q2.6Q.2Q3.Q5.pA.pA15.pA$206.Q4.2Q13.4Q6.3Q4.Q6.pA18.pA$207.Q.Q19. 6Q4.2Q.Q6.2pA16.2pA$211.2Q16.Q2.Q.Q6.Q8.pA.pA14.2pA$251.pA17.pA2$.pA 12.pA80.E7.E70.G134.pA$pA.pA4.2pA.pA3.pA7.O6.O21.2K.2K10.M16.M11.E.E 5.E.E69.2G.3G3.G2.G7.2G4.3G105.pA$.2pA4.pA.2pA3.pA6.O.O4.O.O30.M3.2M 16.2M3.M4.E5.E.E5.E65.2G9.G2.G6.4G8.G102.pA$21.O.O4.O.O21.K.K6.M.2M. 2M14.2M.2M.M10.E7.E.E65.G6.2G.2G.2G3.G4.G7.G$.4pA3.3pA10.O.O4.O.O7.3I .3I7.K.K6.M2.2M18.2M2.M3.2E17.E72.G2.G4.2G4.2G6.G56.2S.2S7.2S.2S8.2O. 2O7.2O.2O$pA4.pA.pA3.pA.2pA6.O.O4.O.O7.I5.I4.2K.K.K.2K11.M10.M30.E.E 70.G2.G4.2G4.2G9.3G51.S.4S5.4S.S8.O.4O5.4O.O4.2pA$pA3.2pA.pA3.pA.pA6. 2O.2O2.2O.2O8.I.I7.2K3.2K37.E.E7.E10.E66.2G.2G.2G3.G4.G63.S6.S3.S6.S 6.O6.O3.O6.O4.pA$pA.2pA.pA.pA.pA.pA.pA25.2I.2I23.M.3M.M2.M.3M.M13.E5. E.E10.E.E66.G2.G6.4G7.3G55.S4.S5.S4.S3.2A3.O4.O5.O4.O5.pA$pA4.pA.pA3. pA.2pA7.2O4.2O8.I5.I22.M2.2M.M2.M.2M2.M15.E.E5.E.E10.E64.G2.G7.2G66.S 15.S3.2A3.O15.O4.2pA$.4pA3.3pA11.8O40.2M.M2.M.2M11.3E6.E7.E10.E.E68.G 10.2G14.3G44.S13.S10.O13.O$20.O2.O.2O.O2.O6.I5.I5.2K3.2K53.E.E10.E66. G9.G2.G6.4G8.G40.S15.S8.O15.O$.4pA3.3pA9.3O6.3O7.2I.2I5.2K.K.K.2K37.E 5.E10.E10.E.E64.G8.G4.G4.G.2G.G7.G40.S2.2S.2S.2S.2S2.S8.O2.2O.2O.2O. 2O2.O$pA4.pA.pA3.pA.2pA5.O10.O8.I.I9.K.K40.E5.E5.2E5.E.E10.E65.3G2.G 6.G3.2G2.2G7.G43.2S.2S.2S.2S14.2O.2O.2O.2O7.2pA$pA2.pA.pA.pA3.pA.pA6. O10.O6.I5.I7.K.K16.M6.M16.2E3.2E5.E8.E10.E.E68.G6.G3.2G2.2G52.S7.S16. O7.O9.pA$pA3.2pA.2pA2.pA.pA5.O12.O5.3I.3I25.M.6M.M30.E7.E.E10.E67.G4. G4.G.2G.G52.S.S3.S.S16.O.O3.O.O9.pA$pA.pA2.pA.pA.pA.pA.2pA5.O10.O19. 2K.2K14.2M6.2M11.3E2.2E.2E2.3E3.2E9.E10.E.E66.G2.G6.4G7.3G43.S2.S.S2. S16.O2.O.O2.O8.2pA$.4pA3.3pA9.2O8.2O42.2M17.E.E.E.E.E.E18.E.E10.E65. 2G64.S2.S.S2.S16.O2.O.O2.O$19.2O10.2O18.2K.2K17.4M18.2E3.2E22.E10.E.E 68.G61.S.S.S.S18.O.O.O.O$3.2pA3.3pA2.2pA4.2O.O6.O.2O39.2M2.2M31.E.E.E 12.E.E10.E66.G9.G2.G47.2S.S.S.2S16.2O.O.O.2O$pA.pA2.pA.pA.pA.pA2.pA5. O.2O4.2O.O20.K.K40.2E3.2E7.E.E.E5.E8.E10.E.E64.G8.G.2G.G43.S.S.S.S.S. S.S.S10.O.O.O.O.O.O.O.O7.pA$pA.4pA.2pA.2pA.pA6.O2.O4.O2.O6.3I.3I7.K.K 38.E.E.E.E.E.E5.E3.E3.2E2.E8.E.E76.3G4.G2.G43.4S2.2S.2S2.4S8.4O2.2O. 2O2.4O$2.pA2.pA.pA.pA.pA.2pA6.3O.2O.3O7.I5.I4.2K.K.K.2K14.2M2.2M13.3E 2.2E.2E2.3E4.E.E8.E.E8.E9.2E72.G2.G42.S2.2S.S.S.S.S.2S2.S6.O2.2O.O.O. O.O.2O2.O5.pA$pA2.2pA3.3pA10.3O.2O.3O9.I.I7.2K3.2K15.2M2.2M31.E3.E5.E 3.E10.E.E9.E68.G.2G.G40.2S3.3S.S.S.3S3.2S.2pA.2O3.3O.O.O.3O3.2O4.pA$ 21.2O6.2O8.2I.2I27.2M4.2M16.2E3.2E7.E.E.E9.E3.3E6.E5.E4.2E67.G2.G41. 2S.S2.S2.S.S2.S2.S.2S.2pA.2O.O2.O2.O.O2.O2.O.2O$6.7pA11.4O10.I5.I27.M .2M.M17.E5.E7.E.E.E5.3E6.3E7.E.E4.2E99.3A13.S.S3.2S3.2S3.S.S6.O.O3.2O 3.2O3.O.O$6.pA2.pA2.pA6.2O4.2O4.2O39.2M2.2M17.E5.E38.E6.E114.3S13.3S 6.3O13.3O$22.2O4.2O$125.Q142.3S.3S18.3O.3O$19.2O.2O4.2O.2O34.2M12.2M 40.2Q17.2Q3.Q122.S.S22.O.O$19.2O.2O4.2O.2O33.3M4.M2.M4.3M39.2Q5.Q.Q8. 3Q4.Q118.S2.S.S2.S16.O2.O.O2.O$19.2O.2O4.2O.2O34.M.M3.M2.M3.M.M47.2Q. Q6.Q3.3Q119.S9.S14.O9.O$68.2M3.M2.M3.2M42.3Q.Q10.2Q.Q.2Q.Q3.Q9.Q104.S 2.S3.S2.S14.O2.O3.O2.O$69.2M8.2M43.Q2.2Q11.Q.Q6.3Q8.2Q103.S2.S5.S2.S 12.O2.O5.O2.O$71.M6.M49.Q10.3Q2.Q4.Q2.2Q.Q.2Q.Q73.2O$68.M2.8M2.M38.Q. 2Q.Q10.Q.2Q.Q8.Q3.3Q3.Q71.O4.O26.S2.S7.S2.S10.O2.O7.O2.O$68.M3.2M2.2M 3.M37.Q.2Q.5Q5.2Q4.6Q4.Q2.2Q5.Q70.O6.O26.2S.S5.S.2S12.2O.O5.O.2O$118. 2Q.2Q11.2Q18.2Q4.Q69.O8.O25.2S.2S3.2S.2S12.2O.2O3.2O.2O$73.M2.M42.Q. 2Q.5Q5.2Q4.6Q4.Q2.2Q5.Q69.2O.4O.2O27.2S.S.S.2S16.2O.O.O.2O$22.O6.O42. M4.M42.Q.2Q.Q10.Q.2Q.Q8.Q3.3Q3.Q$20.2O.2O2.2O.2O41.4M51.Q10.3Q2.Q4.Q 2.2Q.Q.2Q.Q107.S.S.S.S18.O.O.O.O$71.M6.M45.Q2.2Q11.Q.Q6.3Q8.2Q70.2O2. 2O26.S4.S3.S4.S10.O4.O3.O4.O$69.3M6.3M43.3Q.Q10.2Q.Q.2Q.Q3.Q9.Q70.2O 2.2O25.2S3.S.S.S.S3.2S8.2O3.O.O.O.O3.2O! [[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
[R]Investigator rules.
Example: B3S23Investigator
x=98, y = 57, rule = B3S23Investigator 35.R26.R$35.E26.E8$51.E$25.E20.E25.E$24.E21.E7.C18.E$23.E28.EBDE18.E$ 45.CE5.2E$21.CD2.DE43.2ED2.DC$19.E3.DE18.C22.E3.D3ED3.E$42.EDBE4.ER 13.3E3.E$44.2E15.E3.D2.E2.D14.C.ECB$13.C30.ED3.E12.E3.E3.D.E11.CE.D2. E$8.D4.D30.E3.E14.E2.D2E.C13.D.E.D$7.E4.D2.E28.D2.E17.D16.E2.D3.E$12. E3.E28.D19.C15.E3.E$12.ED3.E27.C21.E12.E3.DE$13.E10.2E39.2DE4.2E10.E 6.E$11.E12.ED3.E34.3E.E3.DE$5.E17.2E3.E4.DE28.ED4.E3.2E17.E$10.E4.E7. CD2.E3.CD2.DE24.ED2.DC3.E2.DC7.E4.E$14.E10.D46.D10.E$9.E3.E11.CE5.2E 19.E10.2E5.EC11.E3.E$26.D5.D.E14.E3.D9.E.D5.D$DA8.ECD2.DE9.ED3.DE2.E 14.E3.2E6.E2.ED3.DE9.ED2.DCE8.AD$DA11.DE4.2A6.CD.DC19.E2.DE10.CD.DC6. 2A4.ED11.AD$18.E.A2.C.E4.C22.D13.C.C4.C2.A.E$4.E6.E5.ED6.D2.E.E7.2A 13.2C3.2A7.E11.DE5.E6.E$5.E4.ED5.DE4D.E6.E5.E.A2.C12.C2.A.E5.E8.4DED 5.DE4.E$10.2ED3.DE.4EB.C6.E4.D22.D4.E8.B3E2.ED3.D2E$6.E3.DECD.DEC2.DE 2.E8.E3.E4D14.4DE3.E8.E6.CED.DCED3.E$7.E3.E.2E4.E5.C11.5EB12.B5E11.C 10.2E.E3.E$8.E2.D.CD5.D.EC.D4.ED2.DCE2D21.D.CD2.DE4.D2.ED6.DC.D2.E$ 10.D.2E.DC3.E3.D2.E4.ED26.D3.DE4.E2.D3.E3.CD.2E.D$10.CE3.E4.E2.2E3.E 5.2E24.E.2E5.E3.2E7.E3.EC$10.E5.E7.ED3.E3.E25.C4.E3.E3.DE7.E5.E$10.D 5.D2.E4.2E6.E5.E26.E6.2E4.E2.D5.D$10.ED3.DE2.D3.E2.E4.E6.DE26.E4.E2.E 3.D2.ED3.DE$11.CD.DC2.E3.E4.E7.E3.EDEC11.CEDE4.E7.E4.E3.E2.CD.DC$12.C .CE2.D2.E7.CD2.DE6.DE2.C5.C2.ED7.ED2.DC7.E2.D2.EC.C$16.2E.D11.D3E7.D 2.D5.D2.D8.E.ED11.D.2E$12.E5.EC10.E2.EDE7.ED7.DE7.EDE2.2E10.CE5.E$12. D5.D4.EDE2.EDE2.E.DC.E3.DECE.E.E.ECED3.E.CD.E2.EDE2.EDE5.D5.D$12.ED3. DEDE.C2.DC.E.DC4.DC3.DCE9.ECD3.CD4.CD.E.CD5.EDED3.DE$12.CED.DC2.DC2E 2.D4.D8.DE2.2D5.2D2.ED8.D4.D5.CD2.CD.DEC$15.3E3.D5.E4.E3.DC2.D4.ED3.D E4.D2.CD3.E4.E4.ECD3.3E$15.DC5.E3.D4.D3.DC3.C4.CED.DC5.C3.CD3.D4.D10. CD$13.CD6.D.E.DC3.DC.EDE12.3E10.EDE.CD3.CD3.CD6.DC$20.DC.EDE2.EDE17.D C16.EDE2.EDE2.CD$18.EDE25.CD29.EDE$49.A! [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY Y -9 LOOP 900 ]]
RuleTable rules from a repository.
Example: Byl-loop
x=5, y = 5, rule = Byl-Loop:P200,100 3.C$4.B2$B$.C! [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
Non-deterministic rules.
Example: Non-deterministic Soldier Bugs
x=113, y = 113, rule = R7,C2,S64-113,B65-95,P100,#,# 49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b 9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b 7o$18b13o14b12o14b3o6b6o$17b5o3b6o15b10o15b3o6b6o$17b2o7b5o16b7o17b3o 6b6o$17b2o7b5o18b3o20b3obo2b7o$17b3o5b6o41b13o$17b3o2b9o42b11o$18b3ob 8o44b8o$19b10o46b6o16b5o$20b7o50b2o17b8o$21b5o69b4o2b4o$94b3o4b5o$93b 3o5b5o$93b5o4b5o$93b5o4b5o$93b5o4b5o$93b6o2b5o$94b12o$9b5o81b10o$8b7o 80b9o$7b9o80b8o$6b10o81b6o$6b11o$5b13o$5b5o3b5o$4b5o5b5o$4b5o5b5o$5b4o 4b5o$5b3o6b4o$6b4o3b4o$7b9o$8b7o$10b3o3$104b4o$102b8o$101b10o$100b4o4b 4o$100b3o5b4o$99b4o5b5o$99b5o4b5o$99b5o4b5o$100b13o$100b12o$101b10o$4b 6o91b10o$3b8o91b8o$2b10o91b6o$2b10o$b12o$13o$5o4b5o$5o4b5o$5o5b4o$b4o 5b3o$b4o4b4o$2b10o$3b8o$5b4o3$100b3o$98b7o$97b9o$96b4o3b4o$95b4o6b3o$ 95b5o4b4o$94b5o5b5o$94b5o5b5o$95b5o3b5o$95b13o$96b11o$10b6o81b10o$9b8o 80b9o$9b9o80b7o$8b10o81b5o$7b12o$7b5o2b6o$6b5o4b5o$6b5o4b5o$6b5o4b5o$ 7b5o5b3o$7b5o4b3o$8b4o2b4o69b5o$9b8o17b2o50b7o$11b5o16b6o46b10o$31b8o 44b8ob3o$29b11o42b9o2b3o$28b13o41b6o5b3o$27b7o2bob3o20b3o18b5o7b2o$27b 6o6b3o17b7o16b5o7b2o$27b6o6b3o15b10o15b6o3b5o$27b6o6b3o14b12o14b13o$27b 7o4b3o14b8o2b3o15b12o$28b9ob3o14b6o5b3o16b9o$29b11o15b6o5b3o17b7o$30b 9o16b6o5b3o19b3o$32b6o17b6o5b3o$34b2o19b13o$56b12o$57b10o$59b7o$60b4o! [[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY RANDSEED 1695741111763 LOOP 1000 ]]

Repository Rules

LifeViewer can load rules from the Rule: namespace here on LifeWiki. The rules must be in RuleTable format. LifeViewer supports both @TABLE and @TREE format rules. Typically @TREE rules run much faster so if possible ensure there is an @TREE version of the rule before the @TABLE version (if present). LifeViewer supports the @COLORS section and the @NAMES section but does not support the @ICONS section (which will be ignored if present), although this may be supported in future.[1]

Aliases

LifeViewer contains a large list of alias names for particular rules. This list of rule name aliases can be found by clicking the Aliases button under Help.

Grid and neighbourhood support

LifeViewer supports many different neighbourhoods on square, hexagonal or triangular grids.

Click on "Expand" to the right to view the full list of supported neighbourhoods per grid type.

  • square tiling:
    • outer-totalistic:
      • Moore
      • von Neumann
      • circular
      • cross
      • L2
      • saltire
      • star
      • checkerboard
      • aligned checkerboard
      • hash
      • custom (CoordCA)
      • Gaussian
      • custom weighted
      • far corners/edges
    • non-totalistic R1 Moore
    • non-isotropic
    • Margolus
    • PCA
  • hexagonal or offset-square grid:
    x=50, y = 136, rule = B2/S34H $24bo$22bo$24bo$22b3o$25bo$23b3o$25bobo$25bobo$24b2o$22bo5bo$23bo$27b 2o$27bo$23bo$25b2obo$23bo2bobo$25bob3o$21bo2bob3o$22b3o3b2o$21bo2bob2o $26bobo$23b2o2bo$24b2o3bo$25b2obo$27bo! [[ TRACK -0.25 0.5 GPS 15 GRID ZOOM 8 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
    • outer totalistic:
      • hexagonal
      • tripod
      • asterisk
      • custom (CoordCA)
      • custom weighted
    • non-totalistic
    • non-isotropic
  • triangular grid:
    x=8, y = 6, rule = B456/S34L bo3bo$bo4bo$b2o4bo$2bo5bo$2bo5bo$3b2ob2o! [[ TRACK 1/6 1/6 GPS 8 GRID ZOOM 16 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]
    • outer totalistic:
      • triangular Moore
      • triangular edges
      • triangular vertices
      • triangular inner
      • triangular outer
      • triangular biohazard
      • triangular radiation
      • custom (CoordCA)
      • custom weighted

Bounded grid types

LifeViewer supports patterns on "unbounded" grids (maximum 16384x16384 in size) and the following bounded grid types:

  • Plane
  • Cylinder (with optional shift)
  • Torus (with optional shift)
  • Klein-bottle (with optional shift)
  • Cross-surface
  • Sphere (either diagonal)

For range 2+ neighbourhoods, hexagonal, triangular, PCA and Margolus rules only Plane and Torus (without shift) are supported.

Native support for BSFKL, Extended Generations and deficient rules is also planned.[2][3][4] Support for 1D totalistic rules and multiple neighbourhoods rules may also be planned.[5][6]

User Interface

Main article: LifeViewer/User Interface

Themes

Themes are used to define the colours of cells, the background and the grid lines for 2-state and Generations patterns. Some Themes also specify whether major grid lines are used and if so on what interval.

Themes are primarily used to provide a visual representation of cell history and longevity.

The default Theme is "Blues" but this can be changed by clicking Theme in the Settings menu or with the THEME script command.

x=3, y = 3, rule = Life 3o$2bo$bo! [[ AUTOSTART THUMBNAIL GRID STOP 128 ZOOM 8 X 32 Y -31 HEIGHT 560 ]]

Grid

Some Themes define specific GridLine colours for standard and Major GridLines and also the major GridLine interval.

GRID: grid line colour
GRIDMAJOR: major grid line colour and interval

Two-state Themes

For two-state Themes there are five colours that are used for defining the cell colours:

KeyDescription
BACKGROUNDcell never occupied
ALIVEcell just born
ALIVERAMPcell alive for at least AGESTATES generations (default 63)
DEADcell just died
DEADRAMPcell dead for at least HISTORYSTATES generations (default 63)

New cells are drawn in the ALIVE colour.

If cells stay alive they fade from the ALIVE colour to the ALIVERAMP colour over the next AGESTATES (default 63) generations. This provides a visual representation of cell longevity.

Cells are drawn in the DEAD colour when they die.

If they stay dead they fade from the DEAD colour to the DEADRAMP colour over the next HISTORYSTATES (default 63) generations. This provides a visual representation of cell history.

Click on "Expand" to the right to see the definitions of the available two-state Themes.

Mono
BACKGROUND 0 0 0     Black
ALIVE 255 255 255     White
DEAD 0 0 0     Black
Blues
BACKGROUND 0 0 0     Black
ALIVE 0 255 255     Aqua
ALIVERAMP 255 255 255     White
DEAD 0 0 255     Blue
DEADRAMP 0 0 47    
Fire
BACKGROUND 0 0 0     Black
ALIVE 255 144 0    
ALIVERAMP 255 255 0     Yellow
DEAD 160 0 0    
DEADRAMP 32 0 0    
Poison
BACKGROUND 0 0 0     Black
ALIVE 0 255 255     Aqua
ALIVERAMP 255 255 255     White
DEAD 0 128 0     Green
DEADRAMP 0 24 0    
Yellow
BACKGROUND 0 32 128    
ALIVE 255 255 0     Yellow
ALIVERAMP 255 255 255     White
DEAD 128 0 128     Purple
DEADRAMP 0 47 0    
Gray
BACKGROUND 0 0 0     Black
ALIVE 176 176 176    
ALIVERAMP 240 240 240    
DEAD 104 104 104    
DEADRAMP 16 16 16    
Inverse
BACKGROUND 255 255 255     White
ALIVE 0 0 0     Black
DEAD 255 255 255     White
Day
BACKGROUND 255 255 255     White
ALIVE 0 0 255     Blue
ALIVERAMP 0 0 0     Black
DEAD 0 255 255     Aqua
DEADRAMP 240 240 240    
Occupied
BACKGROUND 0 0 0     Black
ALIVE 240 240 240    
DEAD 240 240 240    
Red
BACKGROUND 0 0 0     Black
ALIVE 240 240 240    
DEAD 160 0 0    
LifeHistory
BACKGROUND 0 0 0     Black
ALIVE 0 240 0    
ALIVERAMP 16 255 16    
DEAD 0 0 160    
DEADRAMP 0 0 96    
Generations
BACKGROUND 0 0 0     Black
ALIVE 255 255 0     Yellow
ALIVERAMP 255 255 255     White
DEAD 255 0 0     Red
DEADRAMP 64 0 0    
Golly
BACKGROUND 48 48 48    
ALIVE 255 255 255     White
DEAD 48 48 48    
GRID 80 80 80    
GRIDMAJOR 112 112 112    
GRIDMAJOR 10
MCell
BACKGROUND 0 0 0     Black
ALIVE 255 255 0     Yellow
DEAD 0 0 0     Black
GRID 64 0 0    
GRIDMAJOR 99 3 1    
GRIDMAJOR 5
Catagolue
BACKGROUND 192 255 238    
ALIVE 0 0 0     Black
DEAD 160 221 204    
GRID 160 221 204    
GRIDMAJOR 160 221 204    
GRIDMAJOR 0
Caterer
BACKGROUND 54 57 62    
ALIVE 255 255 255     White
DEAD 54 57 62    
GRID 0 0 0     Black
GRIDMAJOR 0 0 0     Black
GRIDMAJOR 0
Life32
BACKGROUND 255 255 255     White
ALIVE 0 0 128     Navy
DEAD 255 255 255     White
GRID 192 192 192     Silver
GRIDMAJOR 128 128 128     Gray
GRIDMAJOR 5
Margolus
BACKGROUND 0 0 0     Black
ALIVE 255 255 0     Yellow
ALIVERAMP 255 255 255     White
DEAD 0 0 128     Navy
DEADRAMP 0 0 47    
GRID 32 32 255    
GRIDMAJOR 64 64 128    
GRIDMAJOR 2
PCA
BACKGROUND 0 0 0     Black
ALIVE 176 176 176    
ALIVERAMP 240 240 240    
DEAD 64 64 64    
DEADRAMP 24 24 24    
Book
BACKGROUND 255 255 255     White
ALIVE 0 0 0     Black
DEAD 192 220 255    
DEADRAMP 255 220 192    
GRID 192 192 192     Silver
GRIDMAJOR 209 209 209    
GRIDMAJOR 0

Multi-state Themes

Multi-state Themes are used for Generations rules and there are six colours that are used for defining the cell colours:

KeyDescription
BACKGROUNDcell never occupied
ALIVEcell alive
DYINGcell just started dying
DYINGRAMPcell about to die
DEADcell just died
DEADRAMPcell dead for at least HISTORYSTATES generations (default 63)

New cells are drawn in the ALIVE colour.

Cells are drawn in the DYING colour when they start to die. They then fade to the DYINGRAMP colour over the number of generations defined in the rule.

Once cells reach the DYINGRAMP colour then on the next generation they die and become the DEAD colour.

If they stay dead they fade from the DEAD colour to the DEADRAMP colour over the next HISTORYSTATES (default 63) generations. This provides a visual representation of cell history.

Click on "Expand" to the right to see the definitions of the available multi-state Themes.

Mono
BACKGROUND 0 0 0     Black
ALIVE 255 255 255     White
DYING 255 255 255     White
DYINGRAMP 0 0 0     Black
DEAD 0 0 0     Black
Blues
BACKGROUND 0 0 0     Black
ALIVE 0 255 255     Aqua
DYING 0 255 255     Aqua
DYINGRAMP 0 0 255     Blue
DEAD 0 0 128     Navy
DEADRAMP 0 0 47    
Fire
BACKGROUND 0 0 0     Black
ALIVE 255 144 0    
DYING 255 144 0    
DYINGRAMP 240 0 0    
DEAD 160 0 0    
DEADRAMP 32 0 0    
Poison
BACKGROUND 0 0 0     Black
ALIVE 0 255 255     Aqua
DYING 0 255 255     Aqua
DYINGRAMP 0 192 0    
DEAD 0 128 0     Green
DEADRAMP 0 24 0    
Yellow
BACKGROUND 0 32 128    
ALIVE 255 255 0     Yellow
DYING 255 255 0     Yellow
DYINGRAMP 192 64 64    
DEAD 128 0 128     Purple
DEADRAMP 0 47 0    
Gray
BACKGROUND 0 0 0     Black
ALIVE 240 240 240    
DYING 240 240 240    
DYINGRAMP 160 160 160    
DEAD 104 104 104    
DEADRAMP 16 16 16    
Inverse
BACKGROUND 255 255 255     White
ALIVE 0 0 0     Black
DYING 0 0 0     Black
DYINGRAMP 255 255 255     White
DEAD 255 255 255     White
Day
BACKGROUND 255 255 255     White
ALIVE 0 0 255     Blue
DYING 0 0 255     Blue
DYINGRAMP 0 255 255     Aqua
DEAD 0 192 192    
DEADRAMP 240 240 240    
Occupied
BACKGROUND 0 0 0     Black
ALIVE 240 240 240    
DYING 240 240 240    
DEAD 240 240 240    
Red
BACKGROUND 0 0 0     Black
ALIVE 255 255 255     White
DYING 160 160 160    
DEAD 160 0 0    
LifeHistory
BACKGROUND 0 0 0     Black
ALIVE 16 255 16    
DYING 16 255 16    
DYINGRAMP 0 128 160    
DEAD 0 0 160    
DEADRAMP 0 0 96    
Generations
BACKGROUND 0 0 0     Black
ALIVE 255 255 0     Yellow
DYING 255 255 0     Yellow
DYINGRAMP 255 0 0     Red
DEAD 128 0 0     Maroon
DEADRAMP 64 0 0    
Golly
BACKGROUND 48 48 48    
ALIVE 255 255 0     Yellow
DYING 255 255 0     Yellow
DYINGRAMP 255 0 0     Red
DEAD 48 48 48    
MCell
BACKGROUND 0 0 0     Black
ALIVE 255 255 0     Yellow
DYING 255 255 0     Yellow
DYINGRAMP 0 255 0     Lime
DEAD 0 0 0     Black
Catagolue
BACKGROUND 192 255 238    
ALIVE 0 0 0     Black
DYING 2 129 2    
DYINGRAMP 96 192 139    
DEAD 160 221 204    
Caterer
BACKGROUND 54 57 62    
ALIVE 255 170 0    
DYING 255 170 0    
DYINGRAMP 255 85 0    
DEAD 54 57 62    
Life32
BACKGROUND 255 255 255     White
ALIVE 0 0 128     Navy
DYING 0 0 128     Navy
DYINGRAMP 0 0 64    
DEAD 255 255 255     White
Margolus
BACKGROUND 0 0 0     Black
ALIVE 255 255 0     Yellow
DYING 255 255 0     Yellow
DYINGRAMP 64 64 128    
DEAD 0 0 128     Navy
DEADRAMP 0 0 47    
PCA
BACKGROUND 0 0 0     Black
ALIVE 240 240 240    
DYING 240 240 240    
DYINGRAMP 160 160 160    
DEAD 64 64 64    
DEADRAMP 24 24 24    
Book
BACKGROUND 255 255 255     White
ALIVE 0 0 0     Black
DYING 128 128 128     Gray
DYINGRAMP 24 24 24    
DEAD 192 220 255    
DEADRAMP 255 220 192    

Pattern Identification

LifeViewer is able to identify spaceships, oscillators and still-life patterns. For oscillators it can display a table and graphical map of periods per cell.

Identify-results.png Identify-table.png

Identify-map.png

Scripts

Main article: LifeViewer/Scripts

LifeViewer supports a large number of script commands than can be used to control playback, the camera, labels and annotations, colours and many other aspects.

Info

LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help.

Planned features

The following features and functionalities are planned for future builds of LifeViewer:

  • Support for displaying @ICONS on the grid[1]
  • Theme support for [R]Super[7]

Possible future features

Click on "Expand" to the right to view the list of other requested features that may appear at some stage.

Rules

  • Native support for BSFKL rules[8]
  • Native support for Extended Generations[8]
  • Native support for 1D totalistic rules[9]
  • Native support for higher-range Margolus rules[10]
  • Native support for one-dimensional rules with a range greater than 2[11]
  • Native support for alternating rules with more than 3 constituent rules[12]

Non-square grids/selections

  • Diagonal/von Neumann-like selections[13]
  • Selection shapes which are more useful for hexagonal and triangular grids[14][15][16]
  • Selection flip/rotate transformations for hexagonal and triangular grids[15]
  • Directions of spaceships on hexagonal and triangular grids from Identify[17]
  • Calculating the mod of oscillators and spaceships on hexagonal and triangular grids in Identify[16]

[R]Super/[R]History

  • KILLGLIDERS functionality in [R]Super[18]
  • Support for pasting in [R]History/[R]Super-exclusive cells[19]
  • Selection inversion support for [R]History and [R]Super[18]

Known bugs

Main article: LifeViewer/Known bugs

References

  1. 1.0 1.1 Chris Rowett (January 13, 2020). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  2. Chris Rowett (January 26, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  3. Chris Rowett (January 26, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  4. Chris Rowett (December 20, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  5. Chris Rowett (October 15, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  6. Chris Rowett (May 6, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  7. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129493#p129493
  8. 8.0 8.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=86409#p86409
  9. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84188#p84188
  10. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82121#p82121
  11. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82283#p82283
  12. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129157#p129157
  13. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=70959#p70959
  14. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=78941#p78941
  15. 15.0 15.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=80331#p80331
  16. 16.0 16.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=87226#p87226
  17. https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84510#p84510
  18. 18.0 18.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129156&hilit=backlog#p129156
  19. https://conwaylife.com/forums/viewtopic.php?p=93893#p93893

External links

Forum threads