Difference between revisions of "LifeViewer"

From LifeWiki
Jump to navigation Jump to search
 
(124 intermediate revisions by 9 users not shown)
Line 5: Line 5:
|createdby      = [[Chris Rowett]]
|createdby      = [[Chris Rowett]]
|platform        = HTML5 / Javascript
|platform        = HTML5 / Javascript
|image          = true
}}
}}
'''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]].
'''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 want to use LifeViewer on your own site then the latest release can be downloaded [http://lazyslug.com/lifeview/plugin/js/release/ here].
* 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]]
 


<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:
LifeViewer supports the following rule families:
===Built-in Rules===
 
=== Built-in rules ===
* 2-state [[Margolus]] rules.
* 2-state [[Margolus]] rules.
* 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 [[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 [[non-totalistic Life-like cellular automata|Isotropic non-totalistic Life-like cellular automata]] (for range-1 Moore and range-1 hexagonal).
* 2-state [[isotropic non-totalistic cellular automata]] (for range-1 Moore and range-1 hexagonal).
* 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).
* [[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).
* [[Alternating rule|Alternating]] rules.
* [[Alternating rule]]s.
* [[Partitioned cellular automata]] (PCA) rules.
* [[Partitioned cellular automata]] (PCA) rules.
* [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata (even numbers only).
* [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata (even numbers only).
* [[LifeHistory|[R]History]] rules.
* [[LifeHistory|[R]History]] rules.
* [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.
* [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]]).
* [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">
<div class="mw-collapsible mw-collapsed">
Line 95: 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!
Line 133: Line 141:
[[ 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 241: 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.
Line 407: Line 415:
2.2O25.2S3.S.S.S.S3.2S8.2O3.O.O.O.O3.2O!
2.2O25.2S3.S.S.S.S3.2S8.2O3.O.O.O.O3.2O!
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
: [R]Investigator rules.
:: 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].
: [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] rules from a [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 repository].
Line 412: Line 450:
3.C$4.B2$B$.C!
3.C$4.B2$B$.C!
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}}
: Non-deterministic rules.
:: 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>
</div>
</div>


===Repository Rules===
=== Repository Rules ===
LifeViewer can load rules from the [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 Rule:] namespace here on LifeWiki.
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
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
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).
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).
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===
=== 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.
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==
== Grid and neighbourhood support ==
LifeViewer supports many different neighbourhoods on square, hexagonal or triangular grids.
LifeViewer supports many different neighbourhoods on square, hexagonal or triangular grids.
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the full list of supported neighbournoods per grid type.
Click on "Expand" to the right to view the full list of supported neighbourhoods per grid type.
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* square grid:
* [[square tiling]]:
** outer-totalistic:
** outer-totalistic:
*** [[Moore neighbourhood|Moore]]
*** [[Moore neighbourhood|Moore]]
Line 440: 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 457: Line 520:
*** asterisk
*** asterisk
*** custom (CoordCA)
*** custom (CoordCA)
*** custom weighted
** non-totalistic
** non-totalistic
** non-isotropic
** non-isotropic
Line 468: Line 532:
*** triangular inner
*** triangular inner
*** triangular outer
*** triangular outer
*** triangular biohazard
*** triangular radiation
*** custom (CoordCA)
*** custom (CoordCA)
*** custom weighted
</div></div>
</div></div>


===[[Bounded grid]] types===
=== [[Bounded grid]] types ===
LifeViewer supports patterns on "unbounded" grids (maximum 16384x16384 in size) and the following bounded grid types:
LifeViewer supports patterns on "unbounded" grids (maximum 16384x16384 in size) and the following bounded grid types:
* Plane
* Plane
Line 478: 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 and multiple neighbourhoods rules may also be planned.<ref name="post84188" /><ref>https://www.conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=75700#p75775</ref>
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" />


==User Interface==
== User Interface ==
{{main|LifeViewer/User Interface}}


===Top Row===
== Themes ==
[[File:ui-top.png]]
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.


Going from left to right the controls perform the following functions:
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>Name</td><td bgcolor=#c0c0c0>Type</td><td bgcolor=#c0c0c0>Function</td></tr><tr>
<td>Auto</td><td>Toggle</td><td>toggles AutoFit mode</td></tr><tr>
<td>Fit</td><td>Button</td><td>fits the pattern to the window</td></tr><tr>
<td>Draw</td><td>Option</td><td>switches to Draw mode for drawing cells</td></tr><tr>
<td>Select</td><td>Option</td><td>switches to Select mode for copy/paste</td></tr><tr>
<td>Pan</td><td>Option</td><td>switches to Pan mode for viewing patterns</td></tr><tr>
<td>Zoom</td><td>Slider</td><td>changes the camera zoom</td></tr><tr>
<td>START</td><td>Toggle</td><td>toggles AUTOSTART mode (if defined)</td></tr><tr>
<td>STOP</td><td>Toggle</td><td>toggles STOP mode (if defined)</td></tr><tr>
<td>WAYPT</td><td>Toggle</td><td>toggles Waypoint mode (if defined)</td></tr><tr>
<td>LOOP</td><td>Toggle</td><td>toggles LOOP mode (if defined)</td></tr><tr>
<td>Sync</td><td>Toggle</td><td>toggles use of external clipboard</td></tr><tr>
<td>Grid</td><td>Toggle</td><td>toggles grid line display</td></tr><tr>
<td>Help</td><td>Toggle</td><td>toggles Help display</td></tr><tr>
</table>


===Bottom Row===
The default Theme is "Blues"
[[File:ui-bottom.png]]
but this can be changed by clicking Theme in the Settings menu or with the THEME script command.


Going from left to right the controls perform the following functions:
{{LV:Viewer|x = 3, y = 3, rule = Life
<table border=1 cellspacing=0 width=500><tr>
3o$2bo$bo!
<td bgcolor=#c0c0c0>Name</td><td bgcolor=#c0c0c0>Type</td><td bgcolor=#c0c0c0>Function</td></tr><tr>
[[ AUTOSTART THUMBNAIL GRID STOP 128 ZOOM 8 X 32 Y -31 HEIGHT 560 ]]}}
<td>T 0</td><td>Toggle</td><td>toggles generation statistics display</td></tr><tr>
<td>Undo</td><td>Button</td><td>undo the last edit</td></tr><tr>
<td>Redo</td><td>Button</td><td>redo the last undone action</td></tr><tr>
<td>60/s</td><td>Slider</td><td>sets playback generations per second</td></tr><tr>
<td>x1</td><td>Slider</td><td>sets playback generations per step</td></tr><tr>
<td>Reset</td><td>Option</td><td>reset to T=0 and if at T=0 also reset camera</td></tr><tr>
<td>Step Back</td><td>Option</td><td>step back one generation</td></tr><tr>
<td>Step Forward</td><td>Option</td><td>step forward one generation</td></tr><tr>
<td>Play</td><td>Option</td><td>start playback</td></tr><tr>
<td>Settings</td><td>Toggle</td><td>toggles the settings menu</td></tr><tr>
</table>


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


A visual map of keyboard shortcuts is shown below:
GRID: grid line colour<br />
 
GRIDMAJOR: major grid line colour and interval
[[File:hotkeys.png|1024px]]
 
Below is a list of keyboard commands by category:


===Playback controls===
=== Two-state Themes ===
<div class="mw-collapsible mw-collapsed">
For two-state Themes there are five colours that are used for defining the cell colours:
Click on "Expand" to the right to view Playback controls.
<div class="mw-collapsible-content">
<table border=1 cellspacing=0 width=500><tr>
<table border=1 cellspacing=0 width=500><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<td>Enter</td><td>toggle play / pause</td></tr><tr>
<td>BACKGROUND</td><td>cell never occupied</td></tr><tr>
<td>Space</td><td>pause / next generation</td></tr><tr>
<td>ALIVE</td><td>cell just born</td></tr><tr>
<td>B</td><td>pause / previous generation</td></tr><tr>
<td>ALIVERAMP</td><td>cell alive for at least AGESTATES generations (default 63)</td></tr>
<td>Backspace</td><td>pause / previous generation</td></tr><tr>
<td>DEAD</td><td>cell just died</td></tr>
<td>Tab</td><td>pause / next step</td></tr><tr>
<td>DEADRAMP</td><td>cell dead for at least HISTORYSTATES generations (default 63)</td></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>Ctrl P</td><td>toggle pause playback while drawing</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>
<td>Alt P</td><td>toggle stop</td></tr><tr>
</table>
</table>
</div>
New cells are drawn in the ALIVE colour.
</div>


===Multi-Viewer controls===
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.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view Multi-viewer controls.
<div class="mw-collapsible-content">
<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>
</div>
</div>


===Camera controls===
Cells are drawn in the DEAD colour when they die.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view Camera controls.
<div class="mw-collapsible-content">
<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>
</div>
</div>


===View controls===
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">
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view View controls.
Click on "Expand" to the right to see the definitions of the available two-state Themes.
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
<table border=1 cellspacing=0 width=500><tr>
{| class="wikitable"
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
! Mono
<td>Q</td><td>increase number of layers</td></tr><tr>
|-
<td>A</td><td>decrease number of layers</td></tr><tr>
| BACKGROUND
<td>P</td><td>increase layer depth</td></tr><tr>
| 0
<td>L</td><td>decrease layer depth</td></tr><tr>
| 0
<td>C</td><td>next colour theme</td></tr><tr>
| 0
<td>Shift C</td><td>previous colour theme</td></tr><tr>
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
<td>Alt C</td><td>default theme</td></tr>
| Black
</table>
|-
</div>
| ALIVE
</div>
| 255
 
| 255
===Display controls===
| 255
<div class="mw-collapsible mw-collapsed">
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
Click on "Expand" to the right to view Display controls.
| White
<div class="mw-collapsible-content">
|-
<table border=1 cellspacing=0 width=500><tr>
| DEAD
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
| 0
<td>G</td><td>toggle generation statistics</td></tr><tr>
| 0
<td>Shift G</td><td>toggle generation display mode</td></tr><tr>
| 0
<td>Y</td><td>toggle population graph</td></tr><tr>
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
<td>Shift Y</td><td>toggle graph lines</td></tr><tr>
| Black
<td>7</td><td>decrease graph opacity</td></tr><tr>
|-
<td>9</td><td>increase graph opacity</td></tr><tr>
! Blues
<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>
| BACKGROUND
<td>T</td><td>toggle timing information</td></tr><tr>
| 0
<td>Shift T</td><td>toggle extended timing information</td></tr><tr>
| 0
<td>I</td><td>toggle pattern and engine information</td></tr><tr>
| 0
<td>Shift I</td><td>toggle information bar</td></tr><tr>
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
<td>Ctrl Q</td><td>toggle cell anti-aliasing</td></tr><tr>
| Black
<td>Alt B</td><td>toggle cell borders</td></tr><tr>
|-
<td>X</td><td>toggle gridlines</td></tr><tr>
| ALIVE
<td>Shift X</td><td>toggle major gridlines</td></tr><tr>
| 0
<td>Ctrl G</td><td>toggle auto gridlines</td></tr><tr>
| 255
<td>Alt G</td><td>convert pattern to [Rule]Super</td></tr><tr>
| 255
<td>Alt H</td><td>convert pattern to [Rule]History</td></tr><tr>
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
<td>Alt J</td><td>convert pattern to [Rule]Standard</td></tr><tr>
| Aqua
<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 U</td><td>toggle autohide UI during playback</td></tr>
<td>Alt W</td><td>toggle rainbow mode</td></tr>
</table>
</div>
</div>
 
===Pattern controls===
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view Pattern controls.
<div class="mw-collapsible-content">
<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>
</div>
</div>
 
===External clipboard controls===
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view External clipboard controls.
<div class="mw-collapsible-content">
<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>
</div>
</div>
 
===Edit controls===
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view Edit controls.
<div class="mw-collapsible-content">
<table border=1 cellspacing=0 width=500><tr>
<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 D</td><td>toggle states display</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>Shift B</td><td>toggles clipboard library</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>
</div>
</div>
 
===Help controls===
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view Help controls.
<div class="mw-collapsible-content">
<td><table border=1 cellspacing=0 width=500><tr></td></tr><tr>
<td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<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>
</div>
</div>
 
==Themes==
Themes are used to define the colours of cells, the background and the grid lines. Some Themes also
specify whether major grid lines are used and if so on what interval.
Most Themes 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.
 
{{LV:Viewer|x = 3, y = 3, rule = Life
3o$2bo$bo!
[[ AUTOSTART THUMBNAIL GRID STOP 128 ZOOM 8 X 32 Y -31 HEIGHT 560 ]]}}
 
===Grid===
GRID: grid line colour<br />
GRIDMAJOR: major grid line colour and interval
 
===Two-state Themes===
BACKGROUND: cell never occupied<br />
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.
 
<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"
! Mono
|-
|-
| BACKGROUND
| ALIVERAMP
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| ALIVE
| 255
| 255
| 255
| 255
Line 844: Line 640:
| DEAD
| DEAD
| 0
| 0
| 0
| 255
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| Blue
|-
| DEADRAMP
| 0
| 0
| 0
| 0
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| 47
| Black
| style="background-color:#00002f;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
! Blues
! Fire
|-
|-
| BACKGROUND
| BACKGROUND
Line 859: Line 662:
|-
|-
| ALIVE
| ALIVE
| 255
| 144
| 0
| 0
| 255
| style="background-color:#ff9000;" | &nbsp;&nbsp;&nbsp;
| 255
|  
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| Aqua
|-
|-
| ALIVERAMP
| ALIVERAMP
| 255
| 255
| 255
| 255
| 255
| 0
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| White
| Yellow
|-
|-
| DEAD
| DEAD
| 160
| 0
| 0
| 0
| 0
| 255
| style="background-color:#a00000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
|  
| Blue
|-
|-
| DEADRAMP
| DEADRAMP
| 32
| 0
| 0
| 0
| 0
| 47
| style="background-color:#200000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#00002f;" | &nbsp;&nbsp;&nbsp;
|  
|  
|-
|-
! Fire
! Poison
|-
|-
| BACKGROUND
| BACKGROUND
Line 896: Line 699:
|-
|-
| ALIVE
| ALIVE
| 0
| 255
| 255
| 255
| 144
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| 0
| Aqua
| style="background-color:#ff9000;" | &nbsp;&nbsp;&nbsp;
|  
|-
|-
| ALIVERAMP
| ALIVERAMP
| 255
| 255
| 255
| 255
| 0
| 255
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| Yellow
| White
|-
|-
| DEAD
| DEAD
| 160
| 0
| 0
| 128
| 0
| 0
| style="background-color:#a00000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#008000;" | &nbsp;&nbsp;&nbsp;
|  
| Green
|-
|-
| DEADRAMP
| DEADRAMP
| 32
| 0
| 0
| 24
| 0
| 0
| style="background-color:#200000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#001800;" | &nbsp;&nbsp;&nbsp;
|  
|  
|-
|-
! Poison
! Yellow
|-
|-
| BACKGROUND
| BACKGROUND
| 0
| 0
| 0
| 32
| 0
| 128
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#002080;" | &nbsp;&nbsp;&nbsp;
| Black
|  
|-
|-
| ALIVE
| ALIVE
| 0
| 255
| 255
| 255
| 255
| style="background-color:#00ffff;" | &nbsp;&nbsp;&nbsp;
| 0
| Aqua
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| Yellow
|-
|-
| ALIVERAMP
| ALIVERAMP
Line 947: Line 750:
|-
|-
| DEAD
| DEAD
| 128
| 0
| 0
| 128
| 128
| 0
| style="background-color:#800080;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#008000;" | &nbsp;&nbsp;&nbsp;
| Purple
| Green
|-
|-
| DEADRAMP
| DEADRAMP
| 0
| 0
| 24
| 47
| 0
| 0
| style="background-color:#001800;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#002f00;" | &nbsp;&nbsp;&nbsp;
|  
|  
|-
|-
! Yellow
! Gray
|-
|-
| BACKGROUND
| BACKGROUND
| 0
| 0
| 32
| 0
| 128
| 0
| style="background-color:#002080;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
|  
| Black
|-
|-
| ALIVE
| ALIVE
| 255
| 176
| 255
| 176
| 0
| 176
| style="background-color:#ffff00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#b0b0b0;" | &nbsp;&nbsp;&nbsp;
| Yellow
|  
|-
|-
| ALIVERAMP
| ALIVERAMP
| 255
| 240
| 255
| 240
| 255
| 240
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#f0f0f0;" | &nbsp;&nbsp;&nbsp;
| White
|  
|-
|-
| DEAD
| DEAD
| 128
| 104
| 0
| 104
| 128
| 104
| style="background-color:#800080;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#686868;" | &nbsp;&nbsp;&nbsp;
| Purple
|  
|-
|-
| DEADRAMP
| DEADRAMP
| 0
| 16
| 47
| 16
| 0
| 16
| style="background-color:#002f00;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#101010;" | &nbsp;&nbsp;&nbsp;
|  
|  
|-
|-
! Gray
! Inverse
|-
|-
| BACKGROUND
| BACKGROUND
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| White
|-
| ALIVE
| 0
| 0
| 0
| 0
Line 1,006: Line 816:
| Black
| Black
|-
|-
| ALIVE
| DEAD
| 176
| 255
| 176
| 255
| 176
| 255
| style="background-color:#b0b0b0;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
|  
| White
|-
|-
| ALIVERAMP
! Day
| 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
| BACKGROUND
Line 1,046: Line 835:
| 0
| 0
| 0
| 0
| 0
| 255
| style="background-color:#000000;" | &nbsp;&nbsp;&nbsp;
| style="background-color:#0000ff;" | &nbsp;&nbsp;&nbsp;
| Black
|-
| DEAD
| 255
| 255
| 255
| style="background-color:#ffffff;" | &nbsp;&nbsp;&nbsp;
| 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
|-
|-
Line 1,556: Line 1,322:
</div>
</div>


===Multi-state Themes===
=== Multi-state Themes ===
Multi-state Themes are used for Generations rules.
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.


BACKGROUND: cell never occupied<br />
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.
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
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to see the definitions of the available multi-state Themes.
Click on "Expand" to the right to see the definitions of the available multi-state Themes.
Line 2,380: Line 2,153:
</div>
</div>


==Scripts==
== Pattern Identification ==
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.
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.


Scripts must be embedded in pattern comments. Commands must be surrounded by whitespace.
[[File:Identify-results.png]]
[[File:Identify-table.png]]


For example loading the following pattern into LifeViewer will start playback automatically (AUTOSTART) and then stop at generation 30 (STOP 30).
[[File:Identify-map.png]]
<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 area is treated as comments.
== Scripts ==
<nowiki>
{{main|LifeViewer/Scripts}}
x = 3, y = 3, rule = Life
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.
o$
obo$
2o!
[[
  ANGLE 30
  GPS 5
  AUTOSTART
  THEME Fire
]]
</nowiki>


<nowiki>
== Info ==
Only text surrounded by [[ and ]] is interpreted as script commands.
LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help.
</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>


Below is a list of script commands by category:
== 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>


===Parameter conventions===
== Possible future features ==
The parameter conventions for the commands below are listed here.
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Parameter conventions.
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">
<div class="mw-collapsible-content">
<table border=1 cellspacing=0 width=500><tr>
=== Rules ===
<td bgcolor=#c0c0c0>Parameter</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
* Native support for [[BSFKL]] rules<ref name="rulespaces1">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=86409#p86409</ref>
<td>A|B</td><td>either A or B</td></tr><tr>
* Native support for [[Extended Generations]]<ref name="rulespaces1"/>
<td>(A)</td><td>A is optional</td></tr><tr>
* Native support for 1D totalistic rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84188#p84188</ref>
<td>A*</td><td>zero or more A</td></tr><tr>
* Native support for higher-range Margolus rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82121#p82121</ref>
<td>A+</td><td>one or more A</td></tr><tr>
* 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>
<td><1..3></td><td>integer range</td></tr><tr>
* 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>
<td><1.0..3.0></td><td>decimal range</td></tr>
 
</table>
=== Non-square grids/selections ===
</div>
* Diagonal/von Neumann-like selections<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=70959#p70959</ref>
</div>
* 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"/>


===General===
=== [R]Super/[R]History ===
These commands are used to mark sections in the pattern comments that contain script commands.
* KILLGLIDERS functionality in [R]Super<ref name="Apr2021">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129156&hilit=backlog#p129156</ref>
<div class="mw-collapsible mw-collapsed">
* Support for pasting in [R]History/[R]Super-exclusive cells<ref>https://conwaylife.com/forums/viewtopic.php?p=93893#p93893</ref>
Click on "Expand" to the right to view the General commands.
* Selection inversion support for [R]History and [R]Super<ref name="Apr2021"/>
<div class="mw-collapsible-content"><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>
</div>
</div>
</div>
</div>


===Playback===
== Known bugs ==
These commands control pattern playback including whether to start automatically, whether to stop or loop, and playback speed.
{{main|LifeViewer/Known bugs}}
Also in this section are commands controlling various playback settings.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Playback commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>


===Camera===
== References ==
These commands control the camera. You can specify the position, zoom, and rotation of the camera. You can also specify camera motion to have it track in a particular direction to follow a moving pattern.
<references>
<div class="mw-collapsible mw-collapsed">
<ref name="post87414">{{LinkForumThread
Click on "Expand" to the right to view the Camera commands.
|format = ref
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
|title  = Re: Pattern viewer for forum threads
<table border=1 cellspacing=0 width=500><tr>
|p      = 87414
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
|author = Chris Rowett
<td>ANGLE <0..359></td><td>set camera angle</td></tr><tr>
|date  = January 13, 2020
<td>X <-4096..4096></td><td>set camera x position</td></tr><tr>
}}</ref>
<td>Y <-4096..4096></td><td>set camera y position</td></tr><tr>
<ref name="post68678">{{LinkForumThread
<td>ZOOM <-16.0..64.0></td><td>set camera zoom</td></tr><tr>
|format = ref
<td>Z</td><td>same as ZOOM</td></tr><tr>
|title  = Re: Pattern viewer for forum threads
<td>AUTOFIT (OFF)</td><td>fit pattern to display</td></tr><tr>
|p      = 68678
<td>HISTORYFIT (OFF)</td><td>autofit uses pattern history</td></tr><tr>
|author = Chris Rowett
<td>STATE1FIT (OFF)</td><td>autofit only uses state 1</td></tr><tr>
|date  = January 26, 2019
<td>TRACK X Y</td><td>camera tracking</td></tr><tr>
}}</ref>
<td>&nbsp;&nbsp;&nbsp;X</td><td>horizontal speed cells/gen</td></tr><tr>
<ref name="post68691">{{LinkForumThread
<td>&nbsp;&nbsp;&nbsp;Y</td><td>vertical speed cells/gen</td></tr><tr>
|format = ref
<td>TRACKBOX E S W N</td><td>camera box tracking</td></tr><tr>
|title  = Re: Pattern viewer for forum threads
<td>&nbsp;&nbsp;&nbsp;E</td><td>east edge speed cells/gen</td></tr><tr>
|p      = 68691
<td>&nbsp;&nbsp;&nbsp;S</td><td>south edge speed cells/gen</td></tr><tr>
|author = Chris Rowett
<td>&nbsp;&nbsp;&nbsp;W</td><td>west edge speed cells/gen</td></tr><tr>
|date  = January 26, 2019
<td>&nbsp;&nbsp;&nbsp;N</td><td>north edge speed cells/gen</td></tr><tr>
}}</ref>
<td>TRACKLOOP P X Y</td><td>camera tracking with loop</td></tr><tr>
<ref name="post86409">{{LinkForumThread
<td>&nbsp;&nbsp;&nbsp;P</td><td>period</td></tr><tr>
|format = ref
<td>&nbsp;&nbsp;&nbsp;X</td><td>horizontal speed cells/gen</td></tr><tr>
|title  = Re: Pattern viewer for forum threads
<td>&nbsp;&nbsp;&nbsp;Y</td><td>vertical speed cells/gen</td></tr>
|p      = 86409
</table>
|author = Chris Rowett
</div>
|date  = December 20, 2019
</div>
}}</ref>
 
<ref name="post84188">{{LinkForumThread
===Waypoints===
|format = ref
These commands allow you to setup a list of Waypoints for the camera to follow during playback. For each waypoint you can specify a camera position (with a subset of the Camera commands), playback speed (with a subset of the Playback commands) and then a target generation by which you want the camera to reach that position.
|title  = Re: Pattern viewer for forum threads
<div class="mw-collapsible mw-collapsed">
|p      = 84188
Click on "Expand" to the right to view the Waypoint commands.
|author = Chris Rowett
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
|date  = October 15, 2019
<table border=1 cellspacing=0 width=500><tr>
}}</ref>
<td bgcolor=#c0c0c0>Command</td><td bgcolor=#c0c0c0>Description</td></tr><tr>
<ref name="post75775">{{LinkForumThread
<td>T <0..></td><td>waypoint at generation</td></tr><tr>
|format = ref
<td>PAUSE <0.0..></td><td>pause for time</td></tr><tr>
|title  = Re: Pattern viewer for forum threads
<td>LINEAR ALL|X|Y|ZOOM</td><td>linear motion</td></tr><tr>
|p      = 75775
<td>BEZIER ALL|X|Y|ZOOM</td><td>bezier motion (default)</td></tr><tr>
|author = Chris Rowett
<td>TIME</td><td>save timing at waypoint start</td></tr>
|date  = May 6, 2019
</table>
}}</ref>
</div>
</references>
</div>


===Points of Interest===
== External links ==
These commands allow you define a set of static Points of Interest at locations on the grid. Once defined you can jump the camera to any POI via buttons on the UI or keyboard shortcuts. You can also specify an action at each POI like starting or stopping playback.
* [https://lazyslug.com/lifeview/plugin/version.txt Release notes]
<div class="mw-collapsible mw-collapsed">
* [https://lazyslug.com/lifeviewer/ LifeViewer homepage]
Click on "Expand" to the right to view the Point of Interest commands.
* [https://lazyslug.com/lifeview/plugin/ LifeViewer files]
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
{{LinkLexicon|lex_l.htm#lifeviewer}}  
<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>
</div>
</div>
 
===Annotations===
These commands allow you to annotate the pattern with Labels, Arrows, Polylines and Polygons. You can specify annotation size, colour and motion. You can also specify at which zooms and generations annotations appear and disappear.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Annotation commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
===Display===
These commands control the various display settings including width and height of the LifeViewer window, whether grid lines are displayed, and how cells are drawn.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Display commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
===Thumbnails===
These commands allow you to specify that LifeViewer starts as a thumbnail. You can also specify whether it expands inline or launches into a separate window when clicked or tapped.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Thumbnail commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
===Population Graph===
These commands allow you to customize the Population Graph and have it enabled by default or completely disabled.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Population Graph commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
===Colours===
These commands allow you to specify the colour of cells, the grid lines, selections, the population graph, annotations and the UI.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Colour commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
===Pattern===
These commands allow you programatically paste cells onto the grid during playback. This can be used for glider injection. Other settings including the grid size and whether to automatically kill escaping gliders are also here.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Pattern commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
===Randomize===
These commands allow you to specify parameters for random pattern and rule generation.
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the Randomize commands.
<div class="mw-collapsible-content"><table border=1 cellspacing=0 width=500><tr>
<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>
</div>
</div>
 
==Colours==
LifeViewer supports colour names that can be used in place of R G B values for relevant script commands.
 
For example: <nowiki>[[ COLOUR ALIVE Green ]]</nowiki>
<div class="mw-collapsible mw-collapsed">
Click on "Expand" to the right to view the list of colour names and values.
<div class="mw-collapsible-content">
 
{| class="wikitable"
| AliceBlue
| 240
| 248
| 255
| style="background-color:#f0f8ff;" | &nbsp;&nbsp;&nbsp;
|-
| AntiqueWhite
| 250
| 235
| 215
| style="background-color:#faebd7;" |
|-
| Aqua
| 0
| 255
| 255
| style="background-color:#00ffff;" |
|-
| Aquamarine
| 127
| 255
| 212
| style="background-color:#7fffd4;" |
|-
| Azure
| 240
| 255
| 255
| style="background-color:#f0ffff;" |
|-
| Beige
| 245
| 245
| 220
| style="background-color:#f5f5dc;" |
|-
| Bisque
| 255
| 228
| 196
| style="background-color:#ffe4c4;" |
|-
| Black
| 0
| 0
| 0
| style="background-color:#000000;" |
|-
| BlanchedAlmond
| 255
| 235
| 205
| style="background-color:#ffebcd;" |
|-
| Blue
| 0
| 0
| 255
| style="background-color:#0000ff;" |
|-
| BlueViolet
| 138
| 43
| 226
| style="background-color:#8a2be2;" |
|-
| Brown
| 165
| 42
| 42
| style="background-color:#a52a2a;" |
|-
| BurlyWood
| 222
| 184
| 135
| style="background-color:#deb887;" |
|-
| CadetBlue
| 95
| 158
| 160
| style="background-color:#5f9ea0;" |
|-
| Chartreuse
| 127
| 255
| 0
| style="background-color:#7fff00;" |
|-
| Chocolate
| 210
| 105
| 30
| style="background-color:#d2691e;" |
|-
| Coral
| 255
| 127
| 80
| style="background-color:#ff7f50;" |
|-
| CornflowerBlue
| 100
| 149
| 237
| style="background-color:#6495ed;" |
|-
| Cornsilk
| 255
| 248
| 220
| style="background-color:#fff8dc;" |
|-
| Crimson
| 220
| 20
| 60
| style="background-color:#dc143c;" |
|-
| Cyan
| 0
| 255
| 255
| style="background-color:#00ffff;" |
|-
| DarkBlue
| 0
| 0
| 139
| style="background-color:#00008b;" |
|-
| DarkCyan
| 0
| 139
| 139
| style="background-color:#008b8b;" |
|-
| DarkGoldenRod
| 184
| 134
| 11
| style="background-color:#b8860b;" |
|-
| DarkGray
| 169
| 169
| 169
| style="background-color:#a9a9a9;" |
|-
| DarkGreen
| 0
| 100
| 0
| style="background-color:#006400;" |
|-
| DarkKhaki
| 189
| 183
| 107
| style="background-color:#bdb76b;" |
|-
| DarkMagenta
| 139
| 0
| 139
| style="background-color:#8b008b;" |
|-
| DarkOliveGreen
| 85
| 107
| 47
| style="background-color:#556b2f;" |
|-
| DarkOrange
| 255
| 140
| 0
| style="background-color:#ff8c00;" |
|-
| DarkOrchid
| 153
| 50
| 204
| style="background-color:#9932cc;" |
|-
| DarkRed
| 139
| 0
| 0
| style="background-color:#8b0000;" |
|-
| DarkSalmon
| 233
| 150
| 122
| style="background-color:#e9967a;" |
|-
| DarkSeaGreen
| 143
| 188
| 143
| style="background-color:#8fbc8f;" |
|-
| DarkSlateBlue
| 72
| 61
| 139
| style="background-color:#483d8b;" |
|-
| DarkSlateGray
| 47
| 79
| 79
| style="background-color:#2f4f4f;" |
|-
| DarkTurquoise
| 0
| 206
| 209
| style="background-color:#00ced1;" |
|-
| DarkViolet
| 148
| 0
| 211
| style="background-color:#9400d3;" |
|-
| DeepPink
| 255
| 20
| 147
| style="background-color:#ff1493;" |
|-
| DeepSkyBlue
| 0
| 191
| 255
| style="background-color:#00bfff;" |
|-
| DimGray
| 105
| 105
| 105
| style="background-color:#696969;" |
|-
| DodgerBlue
| 30
| 144
| 255
| style="background-color:#1e90ff;" |
|-
| FireBrick
| 178
| 34
| 34
| style="background-color:#b22222;" |
|-
| FloralWhite
| 255
| 250
| 240
| style="background-color:#fffaf0;" |
|-
| ForestGreen
| 34
| 139
| 34
| style="background-color:#228b22;" |
|-
| Fuchsia
| 255
| 0
| 255
| style="background-color:#ff00ff;" |
|-
| Gainsboro
| 220
| 220
| 220
| style="background-color:#dcdcdc;" |
|-
| GhostWhite
| 248
| 248
| 255
| style="background-color:#f8f8ff;" |
|-
| Gold
| 255
| 215
| 0
| style="background-color:#ffd700;" |
|-
| GoldenRod
| 218
| 165
| 32
| style="background-color:#daa520;" |
|-
| Gray
| 128
| 128
| 128
| style="background-color:#808080;" |
|-
| Green
| 0
| 128
| 0
| style="background-color:#008000;" |
|-
| GreenYellow
| 173
| 255
| 47
| style="background-color:#adff2f;" |
|-
| HoneyDew
| 240
| 255
| 240
| style="background-color:#f0fff0;" |
|-
| HotPink
| 255
| 105
| 180
| style="background-color:#ff69b4;" |
|-
| IndianRed
| 205
| 92
| 92
| style="background-color:#cd5c5c;" |
|-
| Indigo
| 75
| 0
| 130
| style="background-color:#4b0082;" |
|-
| Ivory
| 255
| 255
| 240
| style="background-color:#fffff0;" |
|-
| Khaki
| 240
| 230
| 140
| style="background-color:#f0e68c;" |
|-
| Lavender
| 230
| 230
| 250
| style="background-color:#e6e6fa;" |
|-
| LavenderBlush
| 255
| 240
| 245
| style="background-color:#fff0f5;" |
|-
| LawnGreen
| 124
| 252
| 0
| style="background-color:#7cfc00;" |
|-
| LemonChiffon
| 255
| 250
| 205
| style="background-color:#fffacd;" |
|-
| LightBlue
| 173
| 216
| 230
| style="background-color:#add8e6;" |
|-
| LightCoral
| 240
| 128
| 128
| style="background-color:#f08080;" |
|-
| LightCyan
| 224
| 255
| 255
| style="background-color:#e0ffff;" |
|-
| LightGoldenRodYellow
| 250
| 250
| 210
| style="background-color:#fafad2;" |
|-
| LightGray
| 211
| 211
| 211
| style="background-color:#d3d3d3;" |
|-
| LightGreen
| 144
| 238
| 144
| style="background-color:#90ee90;" |
|-
| LightPink
| 255
| 182
| 193
| style="background-color:#ffb6c1;" |
|-
| LightSalmon
| 255
| 160
| 122
| style="background-color:#ffa07a;" |
|-
| LightSeaGreen
| 32
| 178
| 170
| style="background-color:#20b2aa;" |
|-
| LightSkyBlue
| 135
| 206
| 250
| style="background-color:#87cefa;" |
|-
| LightSlateGray
| 119
| 136
| 153
| style="background-color:#778899;" |
|-
| LightSteelBlue
| 176
| 196
| 222
| style="background-color:#b0c4de;" |
|-
| LightYellow
| 255
| 255
| 224
| style="background-color:#ffffe0;" |
|-
| Lime
| 0
| 255
| 0
| style="background-color:#00ff00;" |
|-
| LimeGreen
| 50
| 205
| 50
| style="background-color:#32cd32;" |
|-
| Linen
| 250
| 240
| 230
| style="background-color:#faf0e6;" |
|-
| Magenta
| 255
| 0
| 255
| style="background-color:#ff00ff;" |
|-
| Maroon
| 128
| 0
| 0
| style="background-color:#800000;" |
|-
| MediumAquaMarine
| 102
| 205
| 170
| style="background-color:#66cdaa;" |
|-
| MediumBlue
| 0
| 0
| 205
| style="background-color:#0000cd;" |
|-
| MediumOrchid
| 186
| 85
| 211
| style="background-color:#ba55d3;" |
|-
| MediumPurple
| 147
| 112
| 219
| style="background-color:#9370db;" |
|-
| MediumSeaGreen
| 60
| 179
| 113
| style="background-color:#3cb371;" |
|-
| MediumSlateBlue
| 123
| 104
| 238
| style="background-color:#7b68ee;" |
|-
| MediumSpringGreen
| 0
| 250
| 154
| style="background-color:#00fa9a;" |
|-
| MediumTurquoise
| 72
| 209
| 204
| style="background-color:#48d1cc;" |
|-
| MediumVioletRed
| 199
| 21
| 133
| style="background-color:#c71585;" |
|-
| MidnightBlue
| 25
| 25
| 112
| style="background-color:#191970;" |
|-
| MintCream
| 245
| 255
| 250
| style="background-color:#f5fffa;" |
|-
| MistyRose
| 255
| 228
| 225
| style="background-color:#ffe4e1;" |
|-
| Moccasin
| 255
| 228
| 181
| style="background-color:#ffe4b5;" |
|-
| NavajoWhite
| 255
| 222
| 173
| style="background-color:#ffdead;" |
|-
| Navy
| 0
| 0
| 128
| style="background-color:#000080;" |
|-
| OldLace
| 253
| 245
| 230
| style="background-color:#fdf5e6;" |
|-
| Olive
| 128
| 128
| 0
| style="background-color:#808000;" |
|-
| OliveDrab
| 107
| 142
| 35
| style="background-color:#6b8e23;" |
|-
| Orange
| 255
| 165
| 0
| style="background-color:#ffa500;" |
|-
| OrangeRed
| 255
| 69
| 0
| style="background-color:#ff4500;" |
|-
| Orchid
| 218
| 112
| 214
| style="background-color:#da70d6;" |
|-
| PaleGoldenRod
| 238
| 232
| 170
| style="background-color:#eee8aa;" |
|-
| PaleGreen
| 152
| 251
| 152
| style="background-color:#98fb98;" |
|-
| PaleTurquoise
| 175
| 238
| 238
| style="background-color:#afeeee;" |
|-
| PaleVioletRed
| 219
| 112
| 147
| style="background-color:#db7093;" |
|-
| PapayaWhip
| 255
| 239
| 213
| style="background-color:#ffefd5;" |
|-
| PeachPuff
| 255
| 218
| 185
| style="background-color:#ffdab9;" |
|-
| Peru
| 205
| 133
| 63
| style="background-color:#cd853f;" |
|-
| Pink
| 255
| 192
| 203
| style="background-color:#ffc0cb;" |
|-
| Plum
| 221
| 160
| 221
| style="background-color:#dda0dd;" |
|-
| PowderBlue
| 176
| 224
| 230
| style="background-color:#b0e0e6;" |
|-
| Purple
| 128
| 0
| 128
| style="background-color:#800080;" |
|-
| RebeccaPurple
| 102
| 51
| 153
| style="background-color:#663399;" |
|-
| Red
| 255
| 0
| 0
| style="background-color:#ff0000;" |
|-
| RosyBrown
| 188
| 143
| 143
| style="background-color:#bc8f8f;" |
|-
| RoyalBlue
| 65
| 105
| 225
| style="background-color:#4169e1;" |
|-
| SaddleBrown
| 139
| 69
| 19
| style="background-color:#8b4513;" |
|-
| Salmon
| 250
| 128
| 114
| style="background-color:#fa8072;" |
|-
| SandyBrown
| 244
| 164
| 96
| style="background-color:#f4a460;" |
|-
| SeaGreen
| 46
| 139
| 87
| style="background-color:#2e8b57;" |
|-
| SeaShell
| 255
| 245
| 238
| style="background-color:#fff5ee;" |
|-
| Sienna
| 160
| 82
| 45
| style="background-color:#a0522d;" |
|-
| Silver
| 192
| 192
| 192
| style="background-color:#c0c0c0;" |
|-
| SkyBlue
| 135
| 206
| 235
| style="background-color:#87ceeb;" |
|-
| SlateBlue
| 106
| 90
| 205
| style="background-color:#6a5acd;" |
|-
| SlateGray
| 112
| 128
| 144
| style="background-color:#708090;" |
|-
| Snow
| 255
| 250
| 250
| style="background-color:#fffafa;" |
|-
| SpringGreen
| 0
| 255
| 127
| style="background-color:#00ff7f;" |
|-
| SteelBlue
| 70
| 130
| 180
| style="background-color:#4682b4;" |
|-
| Tan
| 210
| 180
| 140
| style="background-color:#d2b48c;" |
|-
| Teal
| 0
| 128
| 128
| style="background-color:#008080;" |
|-
| Thistle
| 216
| 191
| 216
| style="background-color:#d8bfd8;" |
|-
| Tomato
| 255
| 99
| 71
| style="background-color:#ff6347;" |
|-
| Turquoise
| 64
| 224
| 208
| style="background-color:#40e0d0;" |
|-
| Violet
| 238
| 130
| 238
| style="background-color:#ee82ee;" |
|-
| Wheat
| 245
| 222
| 179
| style="background-color:#f5deb3;" |
|-
| White
| 255
| 255
| 255
| style="background-color:#ffffff;" |
|-
| WhiteSmoke
| 245
| 245
| 245
| style="background-color:#f5f5f5;" |
|-
| Yellow
| 255
| 255
| 0
| style="background-color:#ffff00;" |
|-
| YellowGreen
| 154
| 205
| 50
| style="background-color:#9acd32;" |
|-
|}
</div>
</div>
 
==Info==
LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help.


==References==
=== Forum threads ===
<references>
* {{LinkForumThread|f=7|t=1026|title=LifeViewer - Life simulator in HTML5}}
<ref name="post68678">{{LinkForumThread
* {{LinkForumThread|f=3|t=1622|title=Pattern viewer for forum threads}}
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 68678
|author = Chris Rowett
|date  = January 26, 2019
}}</ref>
<ref name="post68691">{{LinkForumThread
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 68691
|author = Chris Rowett
|date  = January 26, 2019
}}</ref>
<ref name="post86409">{{LinkForumThread
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 86409
|author = Chris Rowett
|date  = December 20, 2019
}}</ref>
<ref name="post84188">{{LinkForumThread
|format = ref
|title = Re: Pattern viewer for forum threads
|p      = 84188
|author = Chris Rowett
|date  = October 15, 2019
}}</ref>
</references>


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


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

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