Pattern viewer for forum threads

For discussion directly related to ConwayLife.com, such as requesting changes to how the forums or wiki function.
User avatar
danny
Posts: 967
Joined: October 27th, 2017, 3:43 pm
Location: New Jersey, USA
Contact:

Re: Pattern viewer for forum threads

Post by danny » January 24th, 2019, 7:42 pm

she/they // Please stop using my full name. Refer to me as dani.

"I'm always on duty, even when I'm off duty." -Cody Kolodziejzyk, Ph.D.

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 24th, 2019, 11:45 pm

muzik wrote:Can this "Euclidean distance" neighbourhood also be supported (with suffix NL, say)?
I'll put it on the backlog but it's low priority so not sure if/when it'll get done.
muzik wrote:Another thing: try clicking on the T: box and reading the rulestrings provided. They don't seem very accurate.
Both rules are actually invalid. In the rule string after a digit you're only allowed to have either a) zero or more valid letters or b) a minus sign '-' and zero or more valid letters. It's illegal to have both a) and b) for the same digit.

I may rewrite the parser to support the illegal case but at a minimum I'll have it detect and report the error.

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 24th, 2019, 11:46 pm

Nor do I. Which device are you using and can you reproduce the problem?

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 3:52 am

on the topic of the T box, HROT survival conditions seem to be incorrectly offset on it. This rule does not have S2, 4, 6, 8... .

Code: Select all

x = 65, y = 55, rule = R2,C0,S1,3,5,7,9,11,B1,3,5,7,9,11,NN
o!
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 5:03 am

muzik wrote:on the topic of the T box, HROT survival conditions seem to be incorrectly offset on it.
Well spotted. Fixed in the next build.

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 6:50 am

One more thing about the rule displaying text box: it only uses aliases in that box whenever the rule is entered in its native rulespace notation. For example, Life only shows its name when entered via the traditional outer-totalistic ntoation:
muzik wrote:

Code: Select all

x = 3, y = 3, rule = R1,C0,M0,S2..3,B3..3,NM:T1000,1000
o$obo$2o!

Code: Select all

x = 3, y = 3, rule = B3/S23:T1000,1000
o$obo$2o!

Code: Select all

x = 3, y = 3, rule = 23/3/2:T1000,1000
o$obo$2o!

Code: Select all

x = 3, y = 3, rule = R1,C2,S2-3,B3,NM:T1000,1000
o$obo$2o!
Probably a pretty minor issue, though, and not worth fixing.

On the topic of it, can Generations be made to display the rulestring in the Bbirth/Ssurvival/Gstates format instead of the survival/birth/states format by default in that text box? It's closer to the regular outer-totalistic/isotropic nontot notation and easier to understand. (And if it's G2, maybe it could be made to not display the values for G at all?)
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 7:17 am

muzik wrote:One more thing about the rule displaying text box: it only uses aliases in that box whenever the rule is entered in its native rulespace notation.
It actually only uses aliases whenever it finds one in its list of aliases. "Conway's Life" is an alias for a totalistic rule (and not the LtL, Generations or HROT equivalents).
muzik wrote:On the topic of it, can Generations be made to display the rulestring in the Bbirth/Ssurvival/Gstates format instead of the survival/birth/states format by default in that text box?
Where multiple rule formats exist the rules are displayed in the canonical form. The canonical forms are:
  • Totalistic: B3/S23
  • Generations: 23/3/2
  • LtL: R1,C2,M0,S2..3,B3..3,NM or R1,C2,M1,S3..4,B3..3,NM
  • HROT: R1,C2,S2-3,B3

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 8:33 am

Why do these errors give different colours for the same cell state?

Code: Select all

x = 1, y = 1, rule = R0,C0,M0,S2..3,B3..3,NM
o!

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S2..3,B3..9,NM
o!
This third LTL error has the center cell positioned differently, alongside using the default colour scheme, which is weird:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S2..3,B0..3,NM
o!
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 8:50 am

muzik wrote:Why do these errors give different colours for the same cell state?
Because the colours tell me how far validation got.

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 9:39 am

rowett wrote:
muzik wrote:Why do these errors give different colours for the same cell state?
Because the colours tell me how far validation got.
So:
- Default Golly colours: Something at the start of the rulestring doesn't make sense
- Orange: There's a birth or survival condition that shouldn't be there
- Default theme: The rulestring is completely valid but this rule specifically is not supported yet
?
rowett wrote:
muzik wrote:On the topic of it, can Generations be made to display the rulestring in the Bbirth/Ssurvival/Gstates format instead of the survival/birth/states format by default in that text box?
Where multiple rule formats exist the rules are displayed in the canonical form. The canonical forms are:
  • Generations: 23/3/2
Can the canonical form for Generations be made into B3/S23/G3, then? It's a lot closer to the currently-used notation for outer-totalistic and isotropic non-totalistic rules, which makes it easier to convert between them, and also is closer to the format catagolue/apgsearch uses. I rarely actually see the slashes-with-numbers-only formatting being used for outer-totalistic rules, so I think it makes sense if we transition Generations formatting to something a bit closer to what we're more familiar with.

------

One more extremely minor bug with that text box/rule parsing:

Code: Select all

x = 9, y = 5, rule = B3-z/S23
6b3o$5bo2bo$o7bo$obo5bo$2o3bobo!
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 9:48 am

muzik wrote: - Default Golly colours: Something at the start of the rulestring doesn't make sense
- Orange: There's a birth or survival condition that shouldn't be there
- Default theme: The rulestring is completely valid but this rule specifically is not supported yet
It depends on the rule family and really isn't important. It's an error. Be happy :)
rowett wrote:Can the canonical form for Generations be made into B3/S23/G3, then?
No. I'm happy to add new rule formats but not to change the canonical forms that have been around for a long time.
muzik wrote:One more extremely minor bug with that text box/rule parsing
Already fixed in the upcoming release. Thanks.

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 10:30 am

Build 282 is now live on the Forums and LifeWiki

Please note: you will need to refresh your browser to use the new build

Enhancements since the last released build:
  • Rules
    • rule names now support a slash after Generations prefix and a G or C in Generations postfix
      • prefix: G3/B3/S23
      • postfix: B3/S23/G3 or B3/S23/C3
  • Script commands
    • new command [[ LABELTRACK DX DY|FIXED ]] - test
      • sets movement vector for subsequent label definitions
      • DX and DY can be from -2.0 to 2.0
      • positions are relative to T1 if defined by LABELT command
      • [[ LABELTRACK FIXED ]] turns off movement for subsequent label definitions
    • increased maximum LABELSIZE to 128
  • Display
    • Generations, LtL and HROT patterns now display history for <256 state patterns - test
  • UI
    • Close button in bottom right menu is now available in PopUp Viewers when Help or Errors are displayed
    • FPS toggle button in bottom right menu is now available when Help or Errors are displayed
    • moved the Shrink button from top left to bottom right of bottom right menu
    • hotkey Shift and "L" toggles label display
Fixes since the last released build:
  • more consistent timing for Waypoint animation
  • fixed rare incorrect B0 error report when decoding multi-state patterns
  • MAXGRIDSIZE was only allowing patterns to grow to the specified size rather than start at the specified size - test
  • bounded grid border colour no longer overwrites state colour for 256 state patterns (cell alive colour is used in this case)
  • survival counts in canonical HROT form were off by 1
  • improved rule validation for non-totalistic rules
  • better error reporting when invalid characters found in RLE
The updated hotkey map detailing the LifeViewer keyboard controls is here.

Comments, feedback, suggestions and bug reports welcome!

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 11:24 am

Is there a reason why C....... isn't allowed as a prefix for Generations?

Code: Select all

x = 3, y = 6, rule = C3/B3/S23
3A$A.A$A.A$A.A$A.A$3A!
A minor oddity: multistate LtL interprets "0 states" (Golly's default) and "1 state" as both meaning "2 states", and allows patterns to run as such. However, regular Generations does not do this.

Code: Select all

x = 5, y = 4, rule = R1,C0,M0,S2..3,B3..3,NM
bobo$o3bo$o3bo$5o!

Code: Select all

x = 5, y = 4, rule = R1,C1,M0,S2..3,B3..3,NM
bobo$o3bo$o3bo$5o!

Code: Select all

x = 5, y = 4, rule = R1,C2,M0,S2..3,B3..3,NM
bobo$o3bo$o3bo$5o!

Code: Select all

x = 5, y = 4, rule = 23/3/0
bobo$o3bo$o3bo$5o!

Code: Select all

x = 5, y = 4, rule = 23/3/1
bobo$o3bo$o3bo$5o!

Code: Select all

x = 5, y = 4, rule = 23/3/2
bobo$o3bo$o3bo$5o!
Also - thanks for the quick update! It's exciting to watch LifeViewer grow so rapidly as it has over the past few years (overtaking even Golly on numerous fronts in the process, which is mildly terrifying).
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 11:33 am

Also, there's no message saying a pattern completely died for Generations, probably because of the history state:

Code: Select all

x = 1, y = 1, rule = //3
B!
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 11:58 am

muzik wrote:Is there a reason why C....... isn't allowed as a prefix for Generations?
I've never seen it used.
muzik wrote:A minor oddity: multistate LtL interprets "0 states" (Golly's default) and "1 state" as both meaning "2 states", and allows patterns to run as such. However, regular Generations does not do this.
Yes true. That's how the different rules are defined.
muzik wrote:Also - thanks for the quick update! It's exciting to watch LifeViewer grow so rapidly as it has over the past few years (overtaking even Golly on numerous fronts in the process, which is mildly terrifying).
Well at some point I'll update Golly with some of the new rule formats.

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 12:08 pm

muzik wrote:Also, there's no message saying a pattern completely died for Generations
This has been fixed and will be in the next released build. Thanks for reporting!

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 25th, 2019, 1:11 pm

no problem.

------

Can the newly added close button for rules with non-data errors be made to simply dismiss the error and continue as normal (like an Esc press) instead of completely aborting the applet (or, equivalently, replace the Close button with another button with the aforementioned functionality)? It's otherwise impossible to access most of the options without a keyboard.

Code: Select all

x = 9, y = 5, rule = B3/S23
o7bo$o7bo$o7bo$bo5bo$b3ob2o!
[[ THEME 87 ]]
Also, on a similar train of thought to this post are there any plans at all for LV to support ruletables? They can't be simulated currently, but Catagolue tries anyway, giving errors. If they aren't going to be supported, then I can request that Catagolue refuse to bring up the applet for such rules.
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 25th, 2019, 1:53 pm

muzik wrote:Can the newly added close button for rules with non-data errors be made to simply dismiss the error and continue as normal (like an Esc press) instead of completely aborting the applet
Yes.
musik wrote:Also, on a similar train of thought to this post are there any plans at all for LV to support ruletables?
Not at the moment.

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 26th, 2019, 12:54 pm

This RLE is handled different by Golly compared to LifeViewer, which might be worth looking into (Golly adds a twist to the 20):

Code: Select all

x = 40, y = 20, rule = B3/S23:K40,20
o7$26b3o$26bo2bo$26bo$10b3o13bo$10bo16bobo$11bo7$39bo!
Generations-type rules also seem to be using Theme 1 differently from how they did prior (compare build 274):

Code: Select all

x = 3, y = 11, rule = 12/34/3
.2A$2A$A5$.2A$A$A$.2A!
[[ THEME 1 ]]
----

Will any of the three remaining lifelib-supported rulespaces be supported?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 26th, 2019, 2:44 pm

muzik wrote:This RLE is handled different by Golly compared to LifeViewer, which might be worth looking into (Golly adds a twist to the 20)
Well spotted. For a Klein bottle you're meant to specify which edge has a twist (horizontal or vertical). If you don't, as in your example, then Golly defaults to the vertical edge and LifeViewer to the horizontal edge. I'll change LifeViewer to match Golly's default.
muzik wrote:Generations-type rules also seem to be using Theme 1 differently from how they did prior
Yes because multi-state Generations rules now have history display.
muzik wrote:Will any of the three remaining lifelib-supported rulespaces be supported?
I'm planning at some stage to add BSFKL and non-totalistic Hex notation. What's the third one?

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 26th, 2019, 3:22 pm

rowett wrote:
muzik wrote:Will any of the three remaining lifelib-supported rulespaces be supported?
I'm planning at some stage to add BSFKL and non-totalistic Hex notation. What's the third one?
Well in that case there's four, the remaining two being deficient rules and Extended Generations. The lifelib regexes for these can be found here.

If Extended Generations gets added, I'd like to see the "freshly born and coming to life" types of cells start off as green, and then fade to yellow (since RGB makes yellow out of red and green). Dying cells would fade to red as usual.

------

Another suggestion: can a lifeviewer argument be added that allows you to define how many history states are shown for dead cells? For example, if you wanted only one dead state, you could define it to only be one. To disable it, set it to zero.
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
rowett
Moderator
Posts: 1730
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett » January 26th, 2019, 5:07 pm

muzik wrote:... the remaining two being deficient rules and Extended Generations.
OK I'll put those on the backlog.
muzik wrote:Another suggestion: can a lifeviewer argument be added that allows you to define how many history states are shown for dead cells? For example, if you wanted only one dead state, you could define it to only be one. To disable it, set it to zero.
For 2-state patterns you have the option of zero history states or 63 history states based on the THEME colours. For multi-state patterns you only get 1 history state (or none in the case of 256 state patterns).
I'm not sure it's interesting to define N history states but I do see a case for history off in which case it's only currently needed for multi-state patterns.

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 26th, 2019, 8:19 pm

rowett wrote:
muzik wrote:... the remaining two being deficient rules and Extended Generations.
OK I'll put those on the backlog.
There is one last rulespace I've wanted either golly or lv to be able to simulate for quite a while now: the extended-range one-dimensional rulespace. Currently both MCell and WolframAlpha are able to simulate the rulespace, but both obviously have their limitations. Can this rulespace be considered for LifeViewer?

(Both of these can also simulate multistate one-dimensional rules, but I personally haven't seen much demand for these rules, so this is probably not too close to being a priority.)
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

muzik
Posts: 3497
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik » January 27th, 2019, 7:39 am

The LifeViewers in this post only load up an empty frame for me:

viewtopic.php?f=11&t=2933&start=100#p47562
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

Saka
Posts: 3138
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X

Re: Pattern viewer for forum threads

Post by Saka » January 27th, 2019, 7:42 am

muzik wrote:The LifeViewers in this post only load up an empty frame for me:

viewtopic.php?f=11&t=2933&start=100#p47562
For me it's only the first 3 (including the one inside the quote), it's probably because of the massive torus size (T10000,10000).
Below that, Andrew states that he has removed the humongous torus, but he probably missed those.
Airy Clave White It Nay

Code: Select all

x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!
(Check gen 2)

Post Reply