Difference between revisions of "LifeViewer"

From LifeWiki
Jump to navigation Jump to search
m (Still a redlink, but the right redlink.)
(added pattern examples)
(48 intermediate revisions by 3 users not shown)
Line 6: Line 6:
|platform        = HTML5 / Javascript
|platform        = HTML5 / Javascript
}}
}}
'''LifeViewer''' is a scriptable pattern viewer used to simulate [[Life]] and other [[Life-like cellular automata]], including [[non-totalistic Life-like cellular automata]], [[1D totalistic]] cellular automata and [[generations]] rules. It supports [[Moore neighbourhood|Moore]], hexagonal and [[von Neumann neighbourhood|von Neumann]] neighbourhoods and also [[bounded grid]]s.
'''LifeViewer''' is a 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].
 


<center>{{LV:Viewer|x = 59, y = 7, rule = B3/S23
<center>{{LV:Viewer|x = 59, y = 7, rule = B3/S23
Line 27: Line 30:
#C [[ T 1050 DEPTH 0 ANGLE 0 AUTOFIT "#T" ]]
#C [[ T 1050 DEPTH 0 ANGLE 0 AUTOFIT "#T" ]]
#C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]}}</center>
#C [[ T 1100 X 0 Y 0 ZOOM 0.25 THEME CUSTOM ]]}}</center>
Rule support:
* 2-state [[Margolus]] rules.
{{LV:Viewer|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 ]]}}
* 2-state [[Totalistic Life-like cellular automaton|Outer-totalistic Life-like cellular automata]] (from ranges 1 to 500, including [[Larger than Life]]).
{{LV:Viewer|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!}}
* 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-isotropic Life-like 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).
{{LV:Viewer|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 ]]}}
* [[Alternating rule|Alternating]] rules.
* [[Partitioned cellular automata]] (PCA) rules.
{{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!
[[ STEP 20 ZOOM 6 ]]}}
* [[Weighted]] rules.
* [https://mathworld.wolfram.com/ElementaryCellularAutomaton.html Elementary] cellular automata (even numbers only).
* [[LifeHistory|[R]History]] rules.
* [http://golly.sourceforge.net/Help/formats.html#rule RuleTable] rules from a [https://conwaylife.com/wiki/Special:AllPages?namespace=3794 repository].
Grid and neighbourhood support:
* square grid:
** outer-totalistic:
*** [[Moore neighbourhood|Moore]]
*** [[von Neumann neighbourhood|von Neumann]]
*** circular
*** cross
*** L2
*** saltire
*** star
*** checkerboard
*** hash
*** custom (CoordCA)
** non-totalistic
** non-isotropic
** Margolus
** PCA
* 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
2o$27bo$23bo$25b2obo$23bo2bobo$25bob3o$21bo2bob3o$22b3o3b2o$21bo2bob2o
$26bobo$23b2o2bo$24b2o3bo$25b2obo$27bo!
[[ TRACK -0.25 0.5 GPS 15 GRID ZOOM 8 ]]}}
** outer totalistic:
*** hexagonal
*** tripod
*** asterisk
*** custom (CoordCA)
** non-totalistic
** non-isotropic
* triangular grid:
{{LV:Viewer|x = 8, y = 6, rule = B456/S34L
bo3bo$bo4bo$b2o4bo$2bo5bo$2bo5bo$3b2ob2o!
[[ TRACK 1/6 1/6 GPS 8 GRID ZOOM 16 ]]}}
** outer totalistic:
*** triangular Moore
*** triangular edges
*** triangular vertices
*** triangular inner
*** triangular outer
*** custom (CoordCA)
[[Bounded grid]] types:
* Plane
* Cylinder (with optional shift)
* Torus (with optional shift)
* Klein-bottle (with optional shift)
* Cross-surface
* Sphere
For range 2+ neighbourhoods only Plane, and Torus (without shift) are supported.
Native support for [[BSFKL]], [[Extended Generations]] and [[deficient]] rules is also planned.<ref name="post68678" /><ref name="post68691" /><ref name="post86409" /> Support for 1D totalistic rules may also be planned.<ref name="post84188" />
LifeViewer features:
* Smooth non-integer zoom with anti-aliasing and rotation.
* Colour themes with cell history and longevity.
* 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.
* Pattern annotation with Labels, Arrows, Lines and Polygons.
* Programatically pasting cells onto the grid at defined intervals (for example: glider injection).
* Identification of oscillator and spaceship periods.
* Automatic scaling for high DPI displays including smartphones and tablets.
* Editor with unlimitied undo/redo and multiple clipboards.
The keyboard shortcuts are shown below:
[[File:hotkeys.png|1024px]]
==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>
</references>


==External links==
==External links==
* [http://lazyslug.no-ip.biz/lifeview/plugin/version.txt Release notes]
* [https://lazyslug.com/lifeview/plugin/version.txt Release notes]
* [http://lazyslug.no-ip.biz/lifeview/ LifeViewer homepage]
* [https://lazyslug.com/lifeview/ LifeViewer homepage]
* [http://lazyslug.no-ip.biz/lifeview/plugin/ LifeViewer files]
* [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=7|t=1026|title=LifeViewer - Life simulator in HTML5}}
{{LinkForumThread|f=3|t=1622|title=Pattern viewer for forum threads}}
{{LinkForumThread|f=3|t=1622|title=Pattern viewer for forum threads}}

Revision as of 14:20, 14 August 2020

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

LifeViewer is a 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 here.


x=59, y = 7, rule = B3/S23 o5b5ob5ob5obo3bob5ob5obobobob5ob4o$o7bo3bo5bo5bo3bo3bo3bo5bobobobo5bo 3bo$o7bo3bo5bo5bo3bo3bo3bo5bobobobo5bo3bo$o7bo3b3o3b3o3bo3bo3bo3b3o3bo bobob3o3b4o$o7bo3bo5bo5bo3bo3bo3bo5bobobobo5bo3bo$o7bo3bo5bo6bobo4bo3b o5bobobobo5bo3bo$5ob5obo5b5o3bo3b5ob5o2bobo2b5obo3bo! #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 ]]


Rule support:

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 ]]
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!
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 ]]
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 ]]

Grid and neighbourhood support:

  • square grid:
    • outer-totalistic:
      • Moore
      • von Neumann
      • circular
      • cross
      • L2
      • saltire
      • star
      • checkerboard
      • hash
      • custom (CoordCA)
    • non-totalistic
    • 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 ]]
    • outer totalistic:
      • hexagonal
      • tripod
      • asterisk
      • custom (CoordCA)
    • 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 ]]
    • outer totalistic:
      • triangular Moore
      • triangular edges
      • triangular vertices
      • triangular inner
      • triangular outer
      • custom (CoordCA)

Bounded grid types:

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

For range 2+ neighbourhoods only Plane, and Torus (without shift) are supported.

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

LifeViewer features:

  • Smooth non-integer zoom with anti-aliasing and rotation.
  • Colour themes with cell history and longevity.
  • 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.
  • Pattern annotation with Labels, Arrows, Lines and Polygons.
  • Programatically pasting cells onto the grid at defined intervals (for example: glider injection).
  • Identification of oscillator and spaceship periods.
  • Automatic scaling for high DPI displays including smartphones and tablets.
  • Editor with unlimitied undo/redo and multiple clipboards.


The keyboard shortcuts are shown below:

Hotkeys.png

References

  1. Chris Rowett (January 26, 2019). 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 (December 20, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  4. Chris Rowett (October 15, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums

External links

Forum threads