LifeViewer: Difference between revisions
No edit summary |
|||
| (163 intermediate revisions by 10 users not shown) | |||
| Line 3: | Line 3: | ||
|url = https://lazyslug.com/lifeviewer | |url = https://lazyslug.com/lifeviewer | ||
|purpose = [[Conway's Game of Life|Life]] simulation | |purpose = [[Conway's Game of Life|Life]] simulation | ||
|createdby = [[ | |createdby = [[Chris Rowett]] | ||
|platform = HTML5 / Javascript | |platform = HTML5 / Javascript | ||
|image = true | |||
}} | }} | ||
'''LifeViewer''' is a scriptable pattern viewer and editor used to simulate [[Life]] and a wide range of other 1D and 2D [[cellular automata]]. | :''Not to be confused with the calendar app also called LifeViewer.'' | ||
'''LifeViewer''' is a free, [https://github.com/rowett/lifeviewer open-source], browser-based scriptable pattern viewer and editor used to simulate [[Life]] and a wide range of other 1D and 2D [[cellular automata]]. | |||
* If you are looking for script instructions, see [[LifeViewer/Scripts]] | |||
* If you want instructions for using the user interface, see [[LifeViewer/User Interface]] | |||
* If you want to use LifeViewer on your own site, see [[Tutorials/LifeViewer JavaScript plug-in]] | |||
<div style="float: right;">{{LV:Viewer| | <div style="float: right;">{{LV:Viewer| | ||
| Line 32: | Line 37: | ||
#C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]}}</div> | #C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]}}</div> | ||
==LifeViewer features== | == LifeViewer features == | ||
* Smooth non-integer zoom with anti-aliasing and rotation. | * Smooth non-integer zoom with anti-aliasing and rotation. | ||
* Colour themes with cell history and longevity. | * Colour [[#Themes|themes]] with cell history and longevity. | ||
* Square, hexagonal and triangular grids. | |||
* Pseudo 3D layers and stars. | * Pseudo 3D layers and stars. | ||
* Multiple ways to automatically track patterns with the camera as they evolve. | * Multiple ways to automatically track patterns with the camera as they evolve. | ||
* Script language that allows many features to be customized including Waypoint animations. | * [[#Scripts|Script]] language that allows many features to be customized including Waypoint animations. | ||
* Support for multiple embedded LifeViewers and/or a single popup LifeViewer. | * Support for multiple embedded LifeViewers and/or a single popup LifeViewer. | ||
* Ability to step back to earlier generations for all patterns and reverse playback for reversible Margolus and PCA patterns. | * Ability to step back to earlier generations for all patterns and reverse playback for reversible Margolus and PCA patterns. | ||
* Random pattern and rule generation. | * Random pattern and rule generation. | ||
* Real time auto-scaling population graph. | * Real time auto-scaling [[LifeViewer/User_Interface#Population_Graph|population graph]]. | ||
* Pattern annotation with Labels, Arrows, Lines and Polygons. | * [[LifeViewer/Scripts#Annotations|Pattern annotation]] with Labels, Arrows, Lines and Polygons. | ||
* Programatically pasting cells onto the grid at defined intervals (for example: glider injection). | * Programatically pasting cells onto the grid at defined intervals (for example: glider injection). | ||
* Ability to build patterns from RLE recipes with transformations. | * Ability to build patterns from RLE recipes with transformations. | ||
* Identification of oscillator and spaceship periods. | * [[#Pattern Identification|Identification]] of still life patterns, oscillator and spaceship periods. | ||
* Automatic scaling for high DPI displays including smartphones and tablets. | * Automatic scaling for high DPI displays including smartphones and tablets. | ||
* Editor with unlimitied undo/redo and multiple clipboards. | * Editor with unlimitied undo/redo and multiple clipboards. | ||
==Rule support== | == Rule support == | ||
LifeViewer supports the following rule families: | |||
=== Built-in rules === | |||
* 2-state [[Margolus]] rules. | * 2-state [[Margolus]] rules. | ||
** Example: Critters (M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0) {{LV:Viewer|x = 63, y = 34, rule = critters | * 2-state [[Totalistic Life-like cellular automaton|outer-totalistic Life-like cellular automata]] (from ranges 1 to 500, supporting a wide variety of pre-programmed neighbourhood families, as well as custom neighbourhoods and weighted neighbourhoods). | ||
* 2-state [[isotropic non-totalistic cellular automata]] (for range-1 Moore and range-1 hexagonal). | |||
* 2-state [[non-isotropic cellular automata]] (for range-1 Moore, hexagonal and von Neumann). | |||
* [[Generations]] rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces). | |||
* [[Alternating rule]]s. | |||
* [[Partitioned cellular automata]] (PCA) rules. | |||
* [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata. | |||
* [[LifeHistory|[R]History]] rules. | |||
* [https://conwaylife.com/forums/viewtopic.php?f=7&t=4279#p88223 <nowiki>[R]Super</nowiki>] rules. | |||
* [R]Investigator rules (a generalisation of [[Rule:StateInvestigator|StateInvestigator]]). | |||
* [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] rules (either inline or from a [[#Repository Rules|Rule Repository]]). | |||
* Non-deterministic rules. | |||
<div class="mw-collapsible mw-collapsed"> | |||
Click on "Expand" to the right to view example patterns for each rule family. | |||
<div class="mw-collapsible-content"> | |||
: 2-state [[Margolus]] rules. | |||
:: Example: Critters (M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0) {{LV:Viewer|x = 63, y = 34, rule = critters | |||
9$52bo9$48b2o$39bo$47bo2bo3$47bo$48bo$5bo31bo20bo$6bo31bo18bo$6bo31bo | 9$52bo9$48b2o$39bo$47bo2bo3$47bo$48bo$5bo31bo20bo$6bo31bo18bo$6bo31bo | ||
17bo$5bo31bo17bo! | 17bo$5bo31bo17bo! | ||
[[ RLE input o$bo$bo$o! PASTET EVERY 64 PASTE input 5 24 ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ RLE input o$bo$bo$o! PASTET EVERY 64 PASTE input 5 24 ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: 2-state [[Totalistic Life-like cellular automaton|Outer-totalistic Life-like cellular automata]] (from ranges 1 to 500, including [[Larger than Life]]). | |||
:: Example: Soldier Bugs (R7,C2,M1,S65..114,B65..95,NM) {{LV:Viewer|x = 113, y = 113, rule = R7,C2,M1,S65..114,B65..95,NM | |||
49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b | 49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b | ||
9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b | 9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b | ||
| Line 78: | Line 104: | ||
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: 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 | |||
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 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 | |||
o! | o! | ||
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: [[Generations]] rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces). | |||
:: Example: Fireworks (2,13,21) {{LV:Viewer|x = 200, y = 100, rule = 2/13/21:T200,100 | |||
#C Fireworks | #C Fireworks | ||
#C An admirably beautiful rule by John Elliott | #C An admirably beautiful rule by John Elliott | ||
| Line 95: | Line 121: | ||
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
</td><td></td><td> | </td><td></td><td> | ||
: [[Alternating rule|Alternating]] rules. | |||
:: Example: alternlife (B13/S012345678|B/S15) {{LV:Viewer|x = 21, y = 9, rule = alternlife | |||
3.A13.A2$.2A15.2A2$A19.A4$9.A! | 3.A13.A2$.2A15.2A2$A19.A4$9.A! | ||
[[ ZOOM 12 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 12 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: [[Partitioned cellular automata]] (PCA) rules. | |||
:: Example: PCA_4 (2PCA4,0,2,4,12,8,5,9,7,1,6,10,11,3,13,14,15) {{LV:Viewer|x = 49, y = 29, rule = PCA_4 | |||
AB45.AB$HD45.HD24$21.A20.D$20.E$AB19.B20.F4.AB$HD39.D5.HD! | AB45.AB$HD45.HD24$21.A20.D$20.E$AB19.B20.F4.AB$HD39.D5.HD! | ||
[[ STEP 20 ZOOM 6 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ STEP 20 ZOOM 6 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: [[Weighted]] rules. | |||
:: Example: R2,C2,S2-3,B4,7-8,NW0010001210120210121000100 {{LV:Viewer|x = 9, y = 9, rule = R2,C2,S2,3,B4,7,8,NW0010001210120210121000100:T80,40 | |||
3A6.$3A6.$2A.A3.A.$2.A5.A$9.$9.$9.$2.A6.$3.A5.! | 3A6.$3A6.$2A.A3.A.$2.A5.A$9.$9.$9.$2.A6.$3.A5.! | ||
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata. | |||
:: Example: Wolfram 30 (W30) {{LV:Viewer|x = 1, y = 1, rule = W30:P100,40 | |||
o! | o! | ||
#CXRLE Pos=0,-20 | #CXRLE Pos=0,-20 | ||
[[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 4 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: [[LifeHistory|[R]History]] rules. | |||
:: Example: LifeHistory {{LV:Viewer|x = 457, y = 155, rule = LifeHistory | |||
59.3B64.B125.B$58.BFBF2B60.4BF122.3B$58.6BF.B.F.F.B.F.F.B.F.F.B.F.F.B | 59.3B64.B125.B$58.BFBF2B60.4BF122.3B$58.6BF.B.F.F.B.F.F.B.F.F.B.F.F.B | ||
.F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F7B5.BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F. | .F.F.B.F.F.B.F.F.B.F.F.B.F.F.B.F7B5.BF.B.F.F.B.F.F.B.F.F.B.F.F.B.F.F. | ||
| Line 224: | Line 250: | ||
[[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 1 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
: [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 | |||
69.M.M6.M.M49.2Q.Q6.Q3.3Q117.S.2S2.S.S2.2S.S10.U.2U2.U.U2.2U.U$20.2O. | 69.M.M6.M.M49.2Q.Q6.Q3.3Q117.S.2S2.S.S2.2S.S10.U.2U2.U.U2.2U.U$20.2O. | ||
2O2.2O.2O39.M6.M44.2Q5.Q.Q8.3Q4.Q85.2O34.S.S22.U.U$20.2O2.O2.O2.2O36. | 2O2.2O.2O39.M6.M44.2Q5.Q.Q8.3Q4.Q85.2O34.S.S22.U.U$20.2O2.O2.O2.2O36. | ||
| Line 391: | Line 417: | ||
[[ 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]. | |||
:: Example: Byl-loop {{LV:Viewer|x = 5, y = 5, rule = Byl-Loop:P200,100 | |||
3.C$4.B2$B$.C! | 3.C$4.B2$B$.C! | ||
[[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | [[ ZOOM 2 THUMBNAIL THUMBSTART EXCLUSIVEPLAY ]]}} | ||
==Grid and neighbourhood support== | : Non-deterministic rules. | ||
* square | :: Example: Non-deterministic Soldier Bugs {{LV:Viewer|x = 113, y = 113, rule = R7,C2,S64-113,B65-95,P100,#,# | ||
** outer-totalistic: | 49b4o$47b7o$46b10o$45b12o$45b13o19b2o$44b3o5b6o17b6o$22b3o19b3o5b6o16b | ||
*** [[Moore neighbourhood|Moore]] | 9o$20b7o17b3o5b6o15b11o$19b9o16b3o5b6o14b3ob9o$18b12o15b3o2b8o14b3o4b | ||
*** [[von Neumann neighbourhood|von Neumann]] | 7o$18b13o14b12o14b3o6b6o$17b5o3b6o15b10o15b3o6b6o$17b2o7b5o16b7o17b3o | ||
*** circular | 6b6o$17b2o7b5o18b3o20b3obo2b7o$17b3o5b6o41b13o$17b3o2b9o42b11o$18b3ob | ||
*** cross | 8o44b8o$19b10o46b6o16b5o$20b7o50b2o17b8o$21b5o69b4o2b4o$94b3o4b5o$93b | ||
*** L2 | 3o5b5o$93b5o4b5o$93b5o4b5o$93b5o4b5o$93b6o2b5o$94b12o$9b5o81b10o$8b7o | ||
*** saltire | 80b9o$7b9o80b8o$6b10o81b6o$6b11o$5b13o$5b5o3b5o$4b5o5b5o$4b5o5b5o$5b4o | ||
*** star | 4b5o$5b3o6b4o$6b4o3b4o$7b9o$8b7o$10b3o3$104b4o$102b8o$101b10o$100b4o4b | ||
*** checkerboard | 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> | |||
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" /> | |||
=== Repository Rules === | |||
LifeViewer can load rules from the [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 Rule:] namespace here on LifeWiki. | |||
The rules must be in [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] format. LifeViewer supports both @TABLE and @TREE | |||
format rules. Typically @TREE rules run much faster so if possible ensure there is an @TREE version of the rule before the @TABLE | |||
version (if present). | |||
=== Inline Rules === | |||
If LifeViewer does not recognize the rule specified in the pattern header then it will first search the pattern comments after the pattern to see | |||
if there is an inline rule definition. This must be in [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] format. If there is no inline | |||
rule then it will attempt to retrieve the rule from the Rule Repository. | |||
=== Aliases === | |||
LifeViewer contains a large list of alias names for particular rules. This list of rule name aliases can be found by clicking the Aliases button under Help. | |||
== Grid and neighbourhood support == | |||
LifeViewer supports many different neighbourhoods on square, hexagonal or triangular grids. | |||
<div class="mw-collapsible mw-collapsed"> | |||
Click on "Expand" to the right to view the full list of supported neighbourhoods per grid type. | |||
<div class="mw-collapsible-content"> | |||
* [[square tiling]]: | |||
** outer-totalistic: | |||
*** [[Moore neighbourhood|Moore]] | |||
*** [[von Neumann neighbourhood|von Neumann]] | |||
*** circular | |||
*** cross | |||
*** L2 | |||
*** saltire | |||
*** star | |||
*** 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 | ||
* hexagonal or offset-square grid: {{LV:Viewer|x = 50, y = 136, rule = B2/S34H | * hexagonal or offset-square grid: {{LV:Viewer|x = 50, y = 136, rule = B2/S34H | ||
$24bo$22bo$24bo$22b3o$25bo$23b3o$25bobo$25bobo$24b2o$22bo5bo$23bo$27b | $24bo$22bo$24bo$22b3o$25bo$23b3o$25bobo$25bobo$24b2o$22bo5bo$23bo$27b | ||
| Line 424: | Line 527: | ||
*** asterisk | *** asterisk | ||
*** custom (CoordCA) | *** custom (CoordCA) | ||
*** custom weighted | |||
** non-totalistic | ** non-totalistic | ||
** non-isotropic | ** non-isotropic | ||
| Line 435: | Line 539: | ||
*** triangular inner | *** triangular inner | ||
*** triangular outer | *** triangular outer | ||
*** triangular biohazard | |||
*** triangular radiation | |||
*** custom (CoordCA) | *** custom (CoordCA) | ||
*** custom weighted | |||
</div></div> | |||
===[[Bounded grid]] types=== | === [[Bounded grid]] types === | ||
LifeViewer supports patterns on "unbounded" grids (maximum 16384x16384 in size) and the following bounded grid types: | |||
* Plane | * Plane | ||
* Cylinder (with optional shift) | * Cylinder (with optional shift) | ||
| Line 443: | Line 552: | ||
* Klein-bottle (with optional shift) | * Klein-bottle (with optional shift) | ||
* Cross-surface | * Cross-surface | ||
* Sphere | * Sphere (either diagonal) | ||
For range 2+ neighbourhoods only Plane | For range 2+ neighbourhoods, hexagonal, triangular, PCA and Margolus rules only Plane and Torus (without shift) are supported. | ||
== User Interface == | |||
{{main|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. | |||
[[ | {{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 === | ||
Some Themes define specific GridLine colours for standard and Major GridLines and also the major GridLine interval. | |||
GRID: grid line colour<br /> | |||
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: | |||
<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> | <td>BACKGROUND</td><td>cell never occupied</td></tr><tr> | ||
<td> | <td>ALIVE</td><td>cell just born</td></tr><tr> | ||
<td>ALIVERAMP</td><td>cell alive for at least AGESTATES generations (default 63)</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> | |||
<td> | |||
<td> | |||
<td> | |||
</table> | </table> | ||
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. | |||
<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 | |||
| 0 | |||
| 0 | |||
< | | 0 | ||
| style="background-color:#000000;" | | |||
= | | Black | ||
|- | |||
| ALIVE | |||
| 255 | |||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
< | |||
= | |||
ALIVE | |||
| | |||
|- | |- | ||
| | | DEAD | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |||
! Blues | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| 0 | | 0 | ||
| Line 716: | Line 627: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 722: | Line 634: | ||
| 255 | | 255 | ||
| style="background-color:#00ffff;" | | | style="background-color:#00ffff;" | | ||
| Aqua | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 728: | Line 641: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 734: | Line 648: | ||
| 255 | | 255 | ||
| style="background-color:#0000ff;" | | | style="background-color:#0000ff;" | | ||
| Blue | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 740: | Line 655: | ||
| 47 | | 47 | ||
| style="background-color:#00002f;" | | | style="background-color:#00002f;" | | ||
| | |||
|- | |- | ||
! Fire | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 748: | Line 664: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 754: | Line 671: | ||
| 0 | | 0 | ||
| style="background-color:#ff9000;" | | | style="background-color:#ff9000;" | | ||
| | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 760: | Line 678: | ||
| 0 | | 0 | ||
| style="background-color:#ffff00;" | | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 766: | Line 685: | ||
| 0 | | 0 | ||
| style="background-color:#a00000;" | | | style="background-color:#a00000;" | | ||
| | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 772: | Line 692: | ||
| 0 | | 0 | ||
| style="background-color:#200000;" | | | style="background-color:#200000;" | | ||
| | |||
|- | |- | ||
! Poison | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 780: | Line 701: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 786: | Line 708: | ||
| 255 | | 255 | ||
| style="background-color:#00ffff;" | | | style="background-color:#00ffff;" | | ||
| Aqua | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 792: | Line 715: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 798: | Line 722: | ||
| 0 | | 0 | ||
| style="background-color:#008000;" | | | style="background-color:#008000;" | | ||
| Green | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 804: | Line 729: | ||
| 0 | | 0 | ||
| style="background-color:#001800;" | | | style="background-color:#001800;" | | ||
| | |||
|- | |- | ||
! Yellow | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 812: | Line 738: | ||
| 128 | | 128 | ||
| style="background-color:#002080;" | | | style="background-color:#002080;" | | ||
| | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 818: | Line 745: | ||
| 0 | | 0 | ||
| style="background-color:#ffff00;" | | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 824: | Line 752: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 830: | Line 759: | ||
| 128 | | 128 | ||
| style="background-color:#800080;" | | | style="background-color:#800080;" | | ||
| Purple | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 836: | Line 766: | ||
| 0 | | 0 | ||
| style="background-color:#002f00;" | | | style="background-color:#002f00;" | | ||
| | |||
|- | |- | ||
! Gray | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 844: | Line 775: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 850: | Line 782: | ||
| 176 | | 176 | ||
| style="background-color:#b0b0b0;" | | | style="background-color:#b0b0b0;" | | ||
| | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 856: | Line 789: | ||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 862: | Line 796: | ||
| 104 | | 104 | ||
| style="background-color:#686868;" | | | style="background-color:#686868;" | | ||
| | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 868: | Line 803: | ||
| 16 | | 16 | ||
| style="background-color:#101010;" | | | style="background-color:#101010;" | | ||
| | |||
|- | |- | ||
! Inverse | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 876: | Line 812: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 882: | Line 819: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 888: | Line 826: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
! Day | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 896: | Line 835: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 902: | Line 842: | ||
| 255 | | 255 | ||
| style="background-color:#0000ff;" | | | style="background-color:#0000ff;" | | ||
| Blue | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 908: | Line 849: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 914: | Line 856: | ||
| 255 | | 255 | ||
| style="background-color:#00ffff;" | | | style="background-color:#00ffff;" | | ||
| Aqua | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 920: | Line 863: | ||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
! Occupied | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 928: | Line 872: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 934: | Line 879: | ||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 940: | Line 886: | ||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |||
! Red | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 946: | Line 895: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 952: | Line 902: | ||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 958: | Line 909: | ||
| 0 | | 0 | ||
| style="background-color:#a00000;" | | | style="background-color:#a00000;" | | ||
| | |||
|- | |- | ||
! LifeHistory | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 966: | Line 918: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 972: | Line 925: | ||
| 0 | | 0 | ||
| style="background-color:#00f000;" | | | style="background-color:#00f000;" | | ||
| | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 978: | Line 932: | ||
| 16 | | 16 | ||
| style="background-color:#10ff10;" | | | style="background-color:#10ff10;" | | ||
| | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 984: | Line 939: | ||
| 160 | | 160 | ||
| style="background-color:#0000a0;" | | | style="background-color:#0000a0;" | | ||
| | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 990: | Line 946: | ||
| 96 | | 96 | ||
| style="background-color:#000060;" | | | style="background-color:#000060;" | | ||
| | |||
|- | |- | ||
! Generations | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 998: | Line 955: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,004: | Line 962: | ||
| 0 | | 0 | ||
| style="background-color:#ffff00;" | | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 1,010: | Line 969: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,016: | Line 976: | ||
| 0 | | 0 | ||
| style="background-color:#ff0000;" | | | style="background-color:#ff0000;" | | ||
| Red | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 1,022: | Line 983: | ||
| 0 | | 0 | ||
| style="background-color:#400000;" | | | style="background-color:#400000;" | | ||
| | |||
|- | |- | ||
! Golly | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,030: | Line 992: | ||
| 48 | | 48 | ||
| style="background-color:#303030;" | | | style="background-color:#303030;" | | ||
| | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,036: | Line 999: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,042: | Line 1,006: | ||
| 48 | | 48 | ||
| style="background-color:#303030;" | | | style="background-color:#303030;" | | ||
| | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,048: | Line 1,013: | ||
| 80 | | 80 | ||
| style="background-color:#505050;" | | | style="background-color:#505050;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,054: | Line 1,020: | ||
| 112 | | 112 | ||
| style="background-color:#707070;" | | | style="background-color:#707070;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| 10 | | 10 | ||
|- | |- | ||
! MCell | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,065: | Line 1,032: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,071: | Line 1,039: | ||
| 0 | | 0 | ||
| style="background-color:#ffff00;" | | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,077: | Line 1,046: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,083: | Line 1,053: | ||
| 0 | | 0 | ||
| style="background-color:#400000;" | | | style="background-color:#400000;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,089: | Line 1,060: | ||
| 1 | | 1 | ||
| style="background-color:#630301;" | | | style="background-color:#630301;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| 5 | | 5 | ||
|- | |- | ||
! Catagolue | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,100: | Line 1,072: | ||
| 238 | | 238 | ||
| style="background-color:#c0ffee;" | | | style="background-color:#c0ffee;" | | ||
| | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,106: | Line 1,079: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,112: | Line 1,086: | ||
| 204 | | 204 | ||
| style="background-color:#a0ddcc;" | | | style="background-color:#a0ddcc;" | | ||
| | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,118: | Line 1,093: | ||
| 204 | | 204 | ||
| style="background-color:#a0ddcc;" | | | style="background-color:#a0ddcc;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,124: | Line 1,100: | ||
| 204 | | 204 | ||
| style="background-color:#a0ddcc;" | | | style="background-color:#a0ddcc;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| 0 | | 0 | ||
|- | |- | ||
! Caterer | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,135: | Line 1,112: | ||
| 62 | | 62 | ||
| style="background-color:#36393e;" | | | style="background-color:#36393e;" | | ||
| | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,141: | Line 1,119: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,147: | Line 1,126: | ||
| 62 | | 62 | ||
| style="background-color:#36393e;" | | | style="background-color:#36393e;" | | ||
| | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,153: | Line 1,133: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,159: | Line 1,140: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| 0 | | 0 | ||
|- | |- | ||
! Life32 | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,170: | Line 1,152: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,176: | Line 1,159: | ||
| 128 | | 128 | ||
| style="background-color:#000080;" | | | style="background-color:#000080;" | | ||
| Navy | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,182: | Line 1,166: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,188: | Line 1,173: | ||
| 192 | | 192 | ||
| style="background-color:#c0c0c0;" | | | style="background-color:#c0c0c0;" | | ||
| Silver | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,194: | Line 1,180: | ||
| 128 | | 128 | ||
| style="background-color:#808080;" | | | style="background-color:#808080;" | | ||
| Gray | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| 5 | | 5 | ||
|- | |- | ||
! Margolus | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,205: | Line 1,192: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,211: | Line 1,199: | ||
| 0 | | 0 | ||
| style="background-color:#ffff00;" | | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 1,217: | Line 1,206: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,223: | Line 1,213: | ||
| 128 | | 128 | ||
| style="background-color:#000080;" | | | style="background-color:#000080;" | | ||
| Navy | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 1,229: | Line 1,220: | ||
| 47 | | 47 | ||
| style="background-color:#00002f;" | | | style="background-color:#00002f;" | | ||
| | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,235: | Line 1,227: | ||
| 255 | | 255 | ||
| style="background-color:#2020ff;" | | | style="background-color:#2020ff;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,241: | Line 1,234: | ||
| 128 | | 128 | ||
| style="background-color:#404080;" | | | style="background-color:#404080;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| 2 | | 2 | ||
|- | |- | ||
! PCA | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,252: | Line 1,246: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,258: | Line 1,253: | ||
| 176 | | 176 | ||
| style="background-color:#b0b0b0;" | | | style="background-color:#b0b0b0;" | | ||
| | |||
|- | |- | ||
| ALIVERAMP | | ALIVERAMP | ||
| Line 1,264: | Line 1,260: | ||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,270: | Line 1,267: | ||
| 64 | | 64 | ||
| style="background-color:#404040;" | | | style="background-color:#404040;" | | ||
| | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 1,276: | Line 1,274: | ||
| 24 | | 24 | ||
| style="background-color:#181818;" | | | style="background-color:#181818;" | | ||
| | |||
|- | |- | ||
! Book | |||
|- | |- | ||
| BACKGROUND | | BACKGROUND | ||
| Line 1,284: | Line 1,283: | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |- | ||
| ALIVE | | ALIVE | ||
| Line 1,290: | Line 1,290: | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| DEAD | | DEAD | ||
| Line 1,296: | Line 1,297: | ||
| 255 | | 255 | ||
| style="background-color:#c0dcff;" | | | style="background-color:#c0dcff;" | | ||
| | |||
|- | |- | ||
| DEADRAMP | | DEADRAMP | ||
| Line 1,302: | Line 1,304: | ||
| 192 | | 192 | ||
| style="background-color:#ffdcc0;" | | | style="background-color:#ffdcc0;" | | ||
| | |||
|- | |- | ||
| GRID | | GRID | ||
| Line 1,308: | Line 1,311: | ||
| 192 | | 192 | ||
| style="background-color:#c0c0c0;" | | | style="background-color:#c0c0c0;" | | ||
| Silver | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,314: | Line 1,318: | ||
| 209 | | 209 | ||
| style="background-color:#d1d1d1;" | | | style="background-color:#d1d1d1;" | | ||
| | |||
|- | |- | ||
| GRIDMAJOR | | GRIDMAJOR | ||
| Line 1,319: | Line 1,324: | ||
|- | |- | ||
|} | |} | ||
</div> | |||
</div> | |||
===Multi-state Themes=== | === Multi-state Themes === | ||
Multi-state Themes are used for Generations rules and there are six colours that are used for defining the cell colours: | |||
<table border=1 cellspacing=0 width=500><tr> | <table border=1 cellspacing=0 width=500><tr> | ||
<td> | <td bgcolor=#c0c0c0>Key</td><td bgcolor=#c0c0c0>Description</td></tr><tr> | ||
<td>BACKGROUND</td><td> | <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> | |||
<td>ALIVE</td><td> | |||
<td>DYING</td><td> | |||
<td>DYINGRAMP</td><td> | |||
<td>DEAD</td><td> | |||
<td>DEADRAMP</td><td> | |||
</table> | </table> | ||
New cells are drawn in the ALIVE colour. | |||
Cells are drawn in the DYING colour when they start to die. They then fade to the DYINGRAMP colour over the number of generations defined in the rule. | |||
Once cells reach the DYINGRAMP colour then on the next generation they die and become the DEAD colour. | |||
If they stay dead they fade from the DEAD colour to the DEADRAMP colour over the next HISTORYSTATES (default 63) generations. This provides a visual representation of cell history. | |||
< | <div class="mw-collapsible mw-collapsed"> | ||
Click on "Expand" to the right to see the definitions of the available multi-state Themes. | |||
< | <div class="mw-collapsible-content"> | ||
{| class="wikitable" | |||
! Mono | |||
|- | |||
| BACKGROUND | |||
| 0 | |||
| 0 | |||
| 0 | |||
| style="background-color:#000000;" | | |||
| Black | |||
|- | |||
| ALIVE | |||
= | | 255 | ||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
|- | |||
| DYING | |||
| 255 | |||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
|- | |||
| DYINGRAMP | |||
| 0 | |||
| 0 | |||
| 0 | |||
| style="background-color:#000000;" | | |||
| Black | |||
| style="background-color:# | |||
|- | |- | ||
| | | DEAD | ||
| 0 | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| | | Black | ||
|- | |- | ||
! Blues | |||
|- | |- | ||
| | | BACKGROUND | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:#000000;" | | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| 0 | |||
| 255 | |||
| 255 | | 255 | ||
| style="background-color:#00ffff;" | | |||
| Aqua | |||
| style="background-color:# | |||
|- | |- | ||
| | | DYING | ||
| 0 | | 0 | ||
| 255 | | 255 | ||
| | | 255 | ||
| style="background-color:#00ffff;" | | |||
| Aqua | |||
| style="background-color:# | |||
| | |||
|- | |- | ||
| | | DYINGRAMP | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 255 | | 255 | ||
| style="background-color:#0000ff;" | | |||
| style="background-color:# | | Blue | ||
|- | |- | ||
| | | DEAD | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| | | 128 | ||
| style="background-color:# | | style="background-color:#000080;" | | ||
| Navy | |||
|- | |- | ||
| | | DEADRAMP | ||
| 0 | | 0 | ||
| | | 0 | ||
| | | 47 | ||
| style="background-color:# | | style="background-color:#00002f;" | | ||
| | |||
|- | |- | ||
! Fire | |||
|- | |- | ||
| | | BACKGROUND | ||
| | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| | | 255 | ||
| | | 144 | ||
| 0 | | 0 | ||
| style="background-color:#ff9000;" | | |||
| style="background-color:# | | | ||
|- | |- | ||
| | | DYING | ||
| 255 | | 255 | ||
| | | 144 | ||
| 0 | | 0 | ||
| style="background-color:# | | style="background-color:#ff9000;" | | ||
| | |||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 240 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:# | | style="background-color:#f00000;" | | ||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 160 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#a00000;" | | ||
| | |||
|- | |- | ||
| | | DEADRAMP | ||
| | | 32 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#200000;" | | ||
| | |||
|- | |- | ||
! Poison | |||
|- | |- | ||
| | | BACKGROUND | ||
| 0 | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| 0 | | 0 | ||
| 255 | | 255 | ||
| | | 255 | ||
| style="background-color:#00ffff;" | | |||
| style="background-color:# | | Aqua | ||
|- | |- | ||
| | | DYING | ||
| 0 | | 0 | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| style="background-color:# | | style="background-color:#00ffff;" | | ||
| Aqua | |||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 0 | ||
| | | 192 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#00c000;" | | ||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 0 | ||
| | | 128 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#008000;" | | ||
| Green | |||
|- | |- | ||
| | | DEADRAMP | ||
| | | 0 | ||
| | | 24 | ||
| 0 | | 0 | ||
| style="background-color:#001800;" | | |||
| style="background-color:# | | | ||
|- | |- | ||
! Yellow | |||
|- | |- | ||
| | | BACKGROUND | ||
| 0 | | 0 | ||
| 32 | | 32 | ||
| style="background-color:# | | 128 | ||
| style="background-color:#002080;" | | |||
| | |||
|- | |- | ||
| | | ALIVE | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| 0 | | 0 | ||
| style="background-color:#ffff00;" | | |||
| style="background-color:# | | Yellow | ||
|- | |- | ||
| | | DYING | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 192 | ||
| | | 64 | ||
| | | 64 | ||
| style="background-color:# | | style="background-color:#c04040;" | | ||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 128 | ||
| | | 0 | ||
| | | 128 | ||
| style="background-color:# | | style="background-color:#800080;" | | ||
| Purple | |||
|- | |- | ||
| | | DEADRAMP | ||
| | | 0 | ||
| | | 47 | ||
| 0 | | 0 | ||
| style="background-color:# | | style="background-color:#002f00;" | | ||
| | |||
|- | |- | ||
! Gray | |||
|- | |- | ||
| | | BACKGROUND | ||
| | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| 240 | |||
| 240 | |||
| 240 | | 240 | ||
| style="background-color:#f0f0f0;" | | |||
| | |||
| style="background-color:# | |||
|- | |- | ||
| | | DYING | ||
| | | 240 | ||
| | | 240 | ||
| | | 240 | ||
| style="background-color:# | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |||
| DYINGRAMP | |||
| 160 | |||
| 160 | |||
| 160 | |||
| style="background-color:#a0a0a0;" | | |||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 104 | ||
| | | 104 | ||
| | | 104 | ||
| style="background-color:# | | style="background-color:#686868;" | | ||
| | |||
|- | |- | ||
| | | DEADRAMP | ||
| | | 16 | ||
| | | 16 | ||
| | | 16 | ||
| style="background-color:# | | style="background-color:#101010;" | | ||
| | |||
|- | |- | ||
! Inverse | |||
|- | |- | ||
| | | BACKGROUND | ||
| 255 | |||
| 255 | | 255 | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | |||
| White | |||
| style="background-color:# | |||
|- | |- | ||
| | | ALIVE | ||
| | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | DYING | ||
| | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 255 | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | |||
| style="background-color:# | | White | ||
|- | |- | ||
| | | DEAD | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| style="background-color:# | | style="background-color:#ffffff;" | | ||
| White | |||
|- | |||
! Day | |||
|- | |||
| BACKGROUND | |||
| 255 | |||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
|- | |- | ||
| | | ALIVE | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:# | | 255 | ||
| | | style="background-color:#0000ff;" | | ||
| Blue | |||
|- | |- | ||
| | | DYING | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| | | 255 | ||
| style="background-color:# | | style="background-color:#0000ff;" | | ||
| Blue | |||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 0 | ||
| | | 255 | ||
| | | 255 | ||
| style="background-color:# | | style="background-color:#00ffff;" | | ||
| Aqua | |||
|- | |- | ||
| | | DEAD | ||
| 0 | | 0 | ||
| | | 192 | ||
| | | 192 | ||
| style="background-color:# | | style="background-color:#00c0c0;" | | ||
| | |||
|- | |- | ||
| | | DEADRAMP | ||
| | | 240 | ||
| | | 240 | ||
| | | 240 | ||
| style="background-color:# | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
! Occupied | |||
|- | |- | ||
| | | BACKGROUND | ||
| | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| | | 240 | ||
| | | 240 | ||
| | | 240 | ||
| style="background-color:# | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
| | | DYING | ||
| | | 240 | ||
| | | 240 | ||
| | | 240 | ||
| style="background-color:# | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 240 | ||
| | | 240 | ||
| | | 240 | ||
| style="background-color:# | | style="background-color:#f0f0f0;" | | ||
| | |||
|- | |- | ||
! Red | |||
|- | |- | ||
| | | BACKGROUND | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| | | 255 | ||
| 255 | | 255 | ||
| 255 | | 255 | ||
| style="background-color:#ffffff;" | | |||
| White | |||
| style="background-color:# | |||
|- | |- | ||
| | | DYING | ||
| | | 160 | ||
| | | 160 | ||
| | | 160 | ||
| style="background-color:# | | style="background-color:#a0a0a0;" | | ||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 160 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#a00000;" | | ||
| | |||
|- | |- | ||
! LifeHistory | |||
|- | |- | ||
| | | BACKGROUND | ||
| | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| | | 16 | ||
| 255 | | 255 | ||
| | | 16 | ||
| style="background-color:#10ff10;" | | |||
| style="background-color:# | | | ||
|- | |- | ||
| | | DYING | ||
| 16 | |||
| 255 | | 255 | ||
| | | 16 | ||
| style="background-color:#10ff10;" | | |||
| style="background-color:# | | | ||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 0 | ||
| | | 128 | ||
| | | 160 | ||
| style="background-color:# | | style="background-color:#0080a0;" | | ||
| | |||
|- | |- | ||
| | | DEAD | ||
| | | 0 | ||
| | | 0 | ||
| 160 | | 160 | ||
| style="background-color:#0000a0;" | | |||
| style="background-color:# | | | ||
|- | |- | ||
| | | DEADRAMP | ||
| | | 0 | ||
| 0 | | 0 | ||
| | | 96 | ||
| style="background-color:# | | style="background-color:#000060;" | | ||
| | |||
|- | |- | ||
! Generations | |||
|- | |- | ||
| | | BACKGROUND | ||
| | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
| Black | |||
|- | |- | ||
| | | ALIVE | ||
| | | 255 | ||
| | | 255 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| | | DYING | ||
| | | 255 | ||
| | | 255 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| | | DYINGRAMP | ||
| | | 255 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#ff0000;" | | ||
| Red | |||
|- | |- | ||
| | | DEAD | ||
| 128 | | 128 | ||
| | | 0 | ||
| style="background-color:# | | 0 | ||
| style="background-color:#800000;" | | |||
| Maroon | |||
|- | |- | ||
| | | DEADRAMP | ||
| | | 64 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#400000;" | | ||
| | |||
|- | |- | ||
! Golly | |||
|- | |- | ||
| | | BACKGROUND | ||
| 48 | |||
| 48 | |||
| 48 | |||
| style="background-color:#303030;" | | |||
| | |||
|- | |||
| ALIVE | |||
| 255 | |||
| 255 | | 255 | ||
| | | 0 | ||
| style="background-color:#ffff00;" | | |||
| style="background-color:# | | Yellow | ||
|- | |- | ||
| | | DYING | ||
| | | 255 | ||
| 255 | | 255 | ||
| 0 | | 0 | ||
| 255 | | style="background-color:#ffff00;" | | ||
| | | Yellow | ||
| style="background-color:# | |- | ||
| DYINGRAMP | |||
| 255 | |||
| 0 | |||
| 0 | |||
| style="background-color:#ff0000;" | | |||
| Red | |||
|- | |- | ||
| | | DEAD | ||
| | | 48 | ||
| | | 48 | ||
| | | 48 | ||
| style="background-color:# | | style="background-color:#303030;" | | ||
| | |||
|- | |- | ||
! MCell | |||
|- | |- | ||
| | | BACKGROUND | ||
| 0 | |||
| 0 | |||
| 0 | | 0 | ||
| style="background-color:#000000;" | | |||
| Black | |||
| style="background-color:# | |||
|- | |- | ||
| | | ALIVE | ||
| | | 255 | ||
| | | 255 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#ffff00;" | | ||
| Yellow | |||
|- | |- | ||
| | | DYING | ||
| 255 | | 255 | ||
| | | 255 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#ffff00;" | | ||
|- | | Yellow | ||
| | |- | ||
| | | DYINGRAMP | ||
| | | 0 | ||
| | | 255 | ||
| style="background-color:# | | 0 | ||
|- | | style="background-color:#00ff00;" | | ||
| | | Lime | ||
| 238 | |- | ||
| | | DEAD | ||
| | | 0 | ||
| style="background-color:# | | 0 | ||
|- | | 0 | ||
| | | style="background-color:#000000;" | | ||
| | | Black | ||
| | |- | ||
| | ! Catagolue | ||
| style="background-color:# | |- | ||
|- | | BACKGROUND | ||
| White | | 192 | ||
| 255 | | 255 | ||
| 255 | | 238 | ||
| 255 | | style="background-color:#c0ffee;" | | ||
| style="background-color:#ffffff;" | | | | ||
|- | |- | ||
| | | ALIVE | ||
| | | 0 | ||
| | | 0 | ||
| | | 0 | ||
| style="background-color:# | | style="background-color:#000000;" | | ||
|- | | Black | ||
| Yellow | |- | ||
| 255 | | DYING | ||
| 255 | | 2 | ||
| 0 | | 129 | ||
| style="background-color:#ffff00;" | | | 2 | ||
|- | | style="background-color:#028102;" | | ||
| | | | ||
| | |- | ||
| | | DYINGRAMP | ||
| | | 96 | ||
| style="background-color:# | | 192 | ||
|- | | 139 | ||
|} | | style="background-color:#60c08b;" | | ||
| | |||
==Info== | |- | ||
LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help. | | DEAD | ||
| 160 | |||
| 221 | |||
| 204 | |||
| style="background-color:#a0ddcc;" | | |||
| | |||
|- | |||
! Caterer | |||
|- | |||
| BACKGROUND | |||
| 54 | |||
| 57 | |||
| 62 | |||
| style="background-color:#36393e;" | | |||
| | |||
|- | |||
| ALIVE | |||
| 255 | |||
| 170 | |||
| 0 | |||
| style="background-color:#ffaa00;" | | |||
| | |||
|- | |||
| DYING | |||
| 255 | |||
| 170 | |||
| 0 | |||
| style="background-color:#ffaa00;" | | |||
| | |||
|- | |||
| DYINGRAMP | |||
| 255 | |||
| 85 | |||
| 0 | |||
| style="background-color:#ff5500;" | | |||
| | |||
|- | |||
| DEAD | |||
| 54 | |||
| 57 | |||
| 62 | |||
| style="background-color:#36393e;" | | |||
| | |||
|- | |||
! Life32 | |||
|- | |||
| BACKGROUND | |||
| 255 | |||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
|- | |||
| ALIVE | |||
| 0 | |||
| 0 | |||
| 128 | |||
| style="background-color:#000080;" | | |||
| Navy | |||
|- | |||
| DYING | |||
| 0 | |||
| 0 | |||
| 128 | |||
| style="background-color:#000080;" | | |||
| Navy | |||
|- | |||
| DYINGRAMP | |||
| 0 | |||
| 0 | |||
| 64 | |||
| style="background-color:#000040;" | | |||
| | |||
|- | |||
| DEAD | |||
| 255 | |||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
|- | |||
! Margolus | |||
|- | |||
| BACKGROUND | |||
| 0 | |||
| 0 | |||
| 0 | |||
| style="background-color:#000000;" | | |||
| Black | |||
|- | |||
| ALIVE | |||
| 255 | |||
| 255 | |||
| 0 | |||
| style="background-color:#ffff00;" | | |||
| Yellow | |||
|- | |||
| DYING | |||
| 255 | |||
| 255 | |||
| 0 | |||
| style="background-color:#ffff00;" | | |||
| Yellow | |||
|- | |||
| DYINGRAMP | |||
| 64 | |||
| 64 | |||
| 128 | |||
| style="background-color:#404080;" | | |||
| | |||
|- | |||
| DEAD | |||
| 0 | |||
| 0 | |||
| 128 | |||
| style="background-color:#000080;" | | |||
| Navy | |||
|- | |||
| DEADRAMP | |||
| 0 | |||
| 0 | |||
| 47 | |||
| style="background-color:#00002f;" | | |||
| | |||
|- | |||
! PCA | |||
|- | |||
| BACKGROUND | |||
| 0 | |||
| 0 | |||
| 0 | |||
| style="background-color:#000000;" | | |||
| Black | |||
|- | |||
| ALIVE | |||
| 240 | |||
| 240 | |||
| 240 | |||
| style="background-color:#f0f0f0;" | | |||
| | |||
|- | |||
| DYING | |||
| 240 | |||
| 240 | |||
| 240 | |||
| style="background-color:#f0f0f0;" | | |||
| | |||
|- | |||
| DYINGRAMP | |||
| 160 | |||
| 160 | |||
| 160 | |||
| style="background-color:#a0a0a0;" | | |||
| | |||
|- | |||
| DEAD | |||
| 64 | |||
| 64 | |||
| 64 | |||
| style="background-color:#404040;" | | |||
| | |||
|- | |||
| DEADRAMP | |||
| 24 | |||
| 24 | |||
| 24 | |||
| style="background-color:#181818;" | | |||
| | |||
|- | |||
! Book | |||
|- | |||
| BACKGROUND | |||
| 255 | |||
| 255 | |||
| 255 | |||
| style="background-color:#ffffff;" | | |||
| White | |||
|- | |||
| ALIVE | |||
| 0 | |||
| 0 | |||
| 0 | |||
| style="background-color:#000000;" | | |||
| Black | |||
|- | |||
| DYING | |||
| 128 | |||
| 128 | |||
| 128 | |||
| style="background-color:#808080;" | | |||
| Gray | |||
|- | |||
| DYINGRAMP | |||
| 24 | |||
| 24 | |||
| 24 | |||
| style="background-color:#181818;" | | |||
| | |||
|- | |||
| DEAD | |||
| 192 | |||
| 220 | |||
| 255 | |||
| style="background-color:#c0dcff;" | | |||
| | |||
|- | |||
| DEADRAMP | |||
| 255 | |||
| 220 | |||
| 192 | |||
| style="background-color:#ffdcc0;" | | |||
| | |||
|- | |||
|} | |||
</div> | |||
</div> | |||
== Pattern Identification == | |||
LifeViewer is able to identify [[spaceships]], [[oscillators]] and [[still-life]] patterns. For oscillators it can display a table and graphical [[map]] of periods and frequencies per cell. | |||
[[File:Identify-results.png]] | |||
[[File:Identify-table.png]] | |||
[[File:Identify-map.png]] | |||
== Scripts == | |||
{{main|LifeViewer/Scripts}} | |||
LifeViewer supports a large number of script commands than can be used to control playback, the camera, labels and annotations, colours and many other aspects. | |||
== Info == | |||
LifeViewer engine information and details about the currently loaded pattern can be found by pressing 'I', or clicking the Info button under Help. | |||
== Planned features == | |||
The following features and functionalities are planned for future builds of LifeViewer: | |||
* Theme support for [R]Super<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129493#p129493</ref> | |||
== Possible future features == | |||
<div class="mw-collapsible mw-collapsed"> | |||
Click on "Expand" to the right to view the list of other requested features that ''may'' appear at some stage. | |||
<div class="mw-collapsible-content"> | |||
=== Rules === | |||
* Native support for [[BSFKL]] rules<ref name="rulespaces1">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=86409#p86409</ref> | |||
* Native support for [[Extended Generations]]<ref name="rulespaces1"/> | |||
* Native support for 1D totalistic rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84188#p84188</ref> | |||
* Native support for higher-range Margolus rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82121#p82121</ref> | |||
* Native support for one-dimensional rules with a range greater than 2<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82283#p82283</ref> | |||
* Native support for alternating rules with more than 3 constituent rules<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129157#p129157</ref> | |||
=== Non-square grids/selections === | |||
* Diagonal/von Neumann-like selections<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=70959#p70959</ref> | |||
* Selection shapes which are more useful for hexagonal and triangular grids<ref name="hextri1">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=78941#p78941</ref><ref name="hextri2">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=80331#p80331</ref><ref name="hextri3">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=87226#p87226</ref> | |||
* Selection flip/rotate transformations for hexagonal and triangular grids<ref name="hextri2"/> | |||
* Directions of spaceships on hexagonal and triangular grids from Identify<ref>https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84510#p84510</ref> | |||
* Calculating the mod of oscillators and spaceships on hexagonal and triangular grids in Identify<ref name="hextri3"/> | |||
=== [R]Super/[R]History === | |||
* KILLGLIDERS functionality in [R]Super<ref name="Apr2021">https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129156&hilit=backlog#p129156</ref> | |||
* Support for pasting in [R]History/[R]Super-exclusive cells<ref>https://conwaylife.com/forums/viewtopic.php?p=93893#p93893</ref> | |||
* Selection inversion support for [R]History and [R]Super<ref name="Apr2021"/> | |||
</div> | |||
</div> | |||
== Known bugs == | |||
{{main|LifeViewer/Known bugs}} | |||
== References == | |||
<references> | |||
<ref name="post68678">{{LinkForumThread | |||
|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> | |||
<ref name="post75775">{{LinkForumThread | |||
|format = ref | |||
|title = Re: Pattern viewer for forum threads | |||
|p = 75775 | |||
|author = Chris Rowett | |||
|date = May 6, 2019 | |||
}}</ref> | |||
</references> | |||
== External links == | |||
* [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 === | ||
* {{LinkForumThread|f=7|t=1026|title=LifeViewer - Life simulator in HTML5}} | |||
* {{LinkForumThread|f=3|t=1622|title=Pattern viewer for forum threads}} | |||
| | |||
| | |||
| | |||
}} | |||
| | |||
| | |||
|title | |||
}} | |||
{{CatagolueNavbox}} | |||
{{ | |||
[[Category:Simulation software]] | |||
Latest revision as of 18:35, 24 February 2025
| LifeViewer | ||
| Homepage | Click here | |
|---|---|---|
| Purpose | Life simulation | |
| Created by | Chris Rowett | |
| Platform | HTML5 / Javascript | |
- Not to be confused with the calendar app also called LifeViewer.
LifeViewer is a free, open-source, browser-based scriptable pattern viewer and editor used to simulate Life and a wide range of other 1D and 2D cellular automata.
- If you are looking for script instructions, see LifeViewer/Scripts
- If you want instructions for using the user interface, see LifeViewer/User Interface
- If you want to use LifeViewer on your own site, see Tutorials/LifeViewer JavaScript plug-in
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
- 2-state Margolus rules.
- 2-state outer-totalistic Life-like cellular automata (from ranges 1 to 500, supporting a wide variety of pre-programmed neighbourhood families, as well as custom neighbourhoods and weighted neighbourhoods).
- 2-state isotropic non-totalistic cellular automata (for range-1 Moore and range-1 hexagonal).
- 2-state non-isotropic cellular automata (for range-1 Moore, hexagonal and von Neumann).
- Generations rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces).
- Alternating rules.
- Partitioned cellular automata (PCA) rules.
- Elementary cellular automata.
- [R]History rules.
- [R]Super rules.
- [R]Investigator rules (a generalisation of StateInvestigator).
- RuleTable rules (either inline or from a Rule Repository).
- Non-deterministic 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)
- Example: Critters (M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0)
- 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)
- Example: Soldier Bugs (R7,C2,M1,S65..114,B65..95,NM)
- 2-state Isotropic non-totalistic cellular automata (for range-1 Moore and range-1 hexagonal).
- Example: Just Friends (B2-a/S12)
- Example: Just Friends (B2-a/S12)
- 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
- Example: MAP//8IAN1+KYD/9QAA/f8AAOu/AQD38wAI//8IgP39Akrn/wAB/78DAP/+AAD/ugAA//sQCN3+AIDfvwhD//sAQA
- Generations rules (as an extension of the outer-totalistic, non-totalistic and non-isotropic rulespaces).
- Example: Fireworks (2,13,21)
- Example: Fireworks (2,13,21)
- Alternating rules.
- Example: alternlife (B13/S012345678|B/S15)
- Example: alternlife (B13/S012345678|B/S15)
- 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)
- Example: PCA_4 (2PCA4,0,2,4,12,8,5,9,7,1,6,10,11,3,13,14,15)
- Weighted rules.
- Example: R2,C2,S2-3,B4,7-8,NW0010001210120210121000100
- Example: R2,C2,S2-3,B4,7-8,NW0010001210120210121000100
- Elementary cellular automata.
- Example: Wolfram 30 (W30)
- Example: Wolfram 30 (W30)
- [R]History rules.
- Example: LifeHistory
- Example: LifeHistory
- [R]Super rules.
- Example: LifeSuper
- Example: LifeSuper
- [R]Investigator rules.
- Example: B3S23Investigator
- Example: B3S23Investigator
- RuleTable rules from a repository.
- Example: Byl-loop
- Example: Byl-loop
- Non-deterministic rules.
- Example: Non-deterministic Soldier Bugs
- Example: Non-deterministic Soldier Bugs
Native support for BSFKL, Extended Generations and deficient rules is also planned.[1][2][3] Support for 1D totalistic rules and multiple neighbourhoods rules may also be planned.[4][5]
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).
Inline Rules
If LifeViewer does not recognize the rule specified in the pattern header then it will first search the pattern comments after the pattern to see if there is an inline rule definition. This must be in RuleTable format. If there is no inline rule then it will attempt to retrieve the rule from the Rule Repository.
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
- outer-totalistic:
- hexagonal or offset-square grid:
- outer totalistic:
- hexagonal
- tripod
- asterisk
- custom (CoordCA)
- custom weighted
- non-totalistic
- non-isotropic
- outer totalistic:
- triangular grid:
- outer totalistic:
- triangular Moore
- triangular edges
- triangular vertices
- triangular inner
- triangular outer
- triangular biohazard
- triangular radiation
- custom (CoordCA)
- custom weighted
- outer totalistic:
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.
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.
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:
| Key | Description |
| BACKGROUND | cell never occupied |
| ALIVE | cell just born |
| ALIVERAMP | cell alive for at least AGESTATES generations (default 63) |
| DEAD | cell just died |
| DEADRAMP | cell 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:
| Key | Description |
| BACKGROUND | cell never occupied |
| ALIVE | cell alive |
| DYING | cell just started dying |
| DYINGRAMP | cell about to die |
| DEAD | cell just died |
| DEADRAMP | cell 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 and frequencies per cell.
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:
- Theme support for [R]Super[6]
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[7]
- Native support for Extended Generations[7]
- Native support for 1D totalistic rules[8]
- Native support for higher-range Margolus rules[9]
- Native support for one-dimensional rules with a range greater than 2[10]
- Native support for alternating rules with more than 3 constituent rules[11]
Non-square grids/selections
- Diagonal/von Neumann-like selections[12]
- Selection shapes which are more useful for hexagonal and triangular grids[13][14][15]
- Selection flip/rotate transformations for hexagonal and triangular grids[14]
- Directions of spaceships on hexagonal and triangular grids from Identify[16]
- Calculating the mod of oscillators and spaceships on hexagonal and triangular grids in Identify[15]
[R]Super/[R]History
Known bugs
- Main article: LifeViewer/Known bugs
References
- ↑ Chris Rowett (January 26, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
- ↑ Chris Rowett (January 26, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
- ↑ Chris Rowett (December 20, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
- ↑ Chris Rowett (October 15, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
- ↑ Chris Rowett (May 6, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129493#p129493
- ↑ 7.0 7.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=86409#p86409
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84188#p84188
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82121#p82121
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=82283#p82283
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129157#p129157
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=70959#p70959
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=78941#p78941
- ↑ 14.0 14.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=80331#p80331
- ↑ 15.0 15.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=87226#p87226
- ↑ https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=84510#p84510
- ↑ 17.0 17.1 https://conwaylife.com/forums/viewtopic.php?f=3&t=1622&p=129156&hilit=backlog#p129156
- ↑ https://conwaylife.com/forums/viewtopic.php?p=93893#p93893
External links
- LifeViewer at the Life Lexicon
Forum threads
- LifeViewer - Life simulator in HTML5 (discussion thread) at the ConwayLife.com forums
- Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
| |||||||||||||||||


