Pattern viewer for forum threads

For discussion directly related to ConwayLife.com, such as requesting changes to how the forums or home page function.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

confocaloid wrote: April 2nd, 2025, 6:54 amThat leads to many other headaches, nontrivial questions, arbitrary decisions, etc. Again, it is simpler and more consistent to keep the current handling (count all nonzero cells). The user can write a Lua script to do something different from the default processing.
I wasn't aware LifeViewer had Lua scripting support. How would one check to see when state-1 cells are no longer present in a pattern and stop playback accordingly with a message?

LifeViewer already supports the @NAMES section in rule tables, which to my knowledge Golly doesn't do anything with at all (by default). So having some sort of @VALUES section in a rule table to indicate how much each state contributes doesn't seem too different conceptually, even if only LifeViewer supports it and it gets ignored by Golly. LifeViewer already has some sort of understanding of this concept, not only with [R]History/[R]Super annotation states contributing 0 to the population, but with PCA as well, since each "cell" can have up to four subcells.

There are certainly other amendments that could be made to rule tables that contribute useful information that currently isn't universally understood by programs that use them.

Of course, this would probably make more sense to discuss in the dedicated thread: viewtopic.php?f=7&t=5385
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Pattern viewer for forum threads

Post by confocaloid »

b-engine wrote: April 2nd, 2025, 6:59 am [...] it's tedious to convert LifeHistory into the two-state rule. [...]
It is easy to convert it in Golly. By default (unless you change it), the Alt+J shortcut in Golly runs "Scripts/Lua/toStandard.lua" which converts [R]History to plain two-state [R].

I believe the same keyboard shortcut (Alt+J) works in LifeViewer for the same purpose, too.
b-engine wrote: April 2nd, 2025, 6:59 am [...] There's no reason a common infinite growth exists in a variant of a chaotic rule with very few natural infinite growths, [...]
Extended discussion would be offtopic here as others already mentioned, but the short version is that I don't see [R]History as merely a variant of [R]. It defines a (related, but) different cellular automaton.
muzik wrote: April 2nd, 2025, 7:13 am [...] LifeViewer already has some sort of understanding of this concept, not only with [R]History/[R]Super annotation states contributing 0 to the population, but with PCA as well, since each "cell" can have up to four subcells.

There are certainly other amendments that could be made to rule tables that contribute useful information that currently isn't universally understood by programs that use them. [...]
There is value in keeping things simple enough, so that the users can understand what is going on, and software tools can consistently implement (mostly) the same functionality. Too many features that someone maybe thought it would be interesting to add, too many arbitrary decisions, and things become confusing and sometimes painful.
muzik wrote: April 2nd, 2025, 7:13 am [...] Of course, this would probably make more sense to discuss in the dedicated thread: viewtopic.php?f=7&t=5385
Agreed, the discussion would fit better elsewhere.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

muzik wrote: April 1st, 2025, 12:20 pmSomething small, but for completeness: can mouse buttons be included in Help > Keys?
I've done a pull request that should add this.

On the topic of the other two: is there any way I can help to get these reviewed faster, such as by providing example test case patterns?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

rowett wrote: April 2nd, 2025, 6:37 amHere is how LifeViewer handles [R]History rules:
  • For editing they are treated as multi-state rules.
    • Functions like Select All, Shrink Selection, Save Pattern etc., will include all states.
Is this also the case for AutoFit?

For this pattern, only living cells are considered when fitting the camera:

Code: Select all

x = 5, y = 4, rule = B3/S23
bo2bo$o$o3bo$4o!
[[ AUTOFIT STARTFROM 64 ]]
For the following, living and history cells are both counted:

Code: Select all

x = 5, y = 4, rule = B3/S23History
bo2bo$o$o3bo$4o!
[[ AUTOFIT STARTFROM 64 ]]

Code: Select all

x = 5, y = 4, rule = B3/S23Super
bo2bo$o$o3bo$4o!
[[ AUTOFIT STARTFROM 64 ]]
On that topic, HISTORYFIT may be broken: when pausing, the viewer will fit only to the living cells, and playing again will cause all existing history cells to be "forgotten".

Code: Select all

x = 5, y = 4, rule = B3/S23
bo2bo$o$o3bo$4o!
[[ AUTOFIT HISTORYFIT AUTOSTART ]]
This may be related to the previously-reported "viewer zooms out when pausing a multistate rule with autofit" issue.
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Pattern viewer for forum threads

Post by confocaloid »

muzik wrote: April 3rd, 2025, 1:15 pm [...] For this pattern, only living cells are considered when fitting the camera:

Code: Select all

x = 5, y = 4, rule = B3/S23
bo2bo$o$o3bo$4o!
[[ AUTOFIT STARTFROM 64 ]]
[...]
Obviously, because the specified CA is two-state (so there are no history cells in the pattern), and you requested AUTOFIT.
muzik wrote: April 3rd, 2025, 1:15 pm [...] For the following, living and history cells are both counted:

Code: Select all

B3/S23History, AUTOFIT
B3/S23Super, AUTOFIT
Also obviously, because the specified CA is [R]History (multistate) so there are history cells in the pattern which must be included in the selections/bounding boxes/fitting, and you requested AUTOFIT.

As far as I can tell, both of those are correct and work as expected. Additionally, the first example (with B3/S23) isn't relevant to the part you quoted, which only talks about handling [R]History CA.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

Why does this get detected as a still life? This seems to contradict every preceding statement regarding [R]History handling:

Code: Select all

x = 3, y = 3, rule = B3/S23History
o$obo$2o!
[[ AUTOIDENTIFY ]]
For this (at least on PC, 144hz), the viewer freezes before the "Oscillator period 4194302" message is fully displayed, which kind of contradicts the purpose of displaying such a message.

Code: Select all

x = 54, y = 2, rule = B2ae/S
bo48bobo$o49bo2bo!
[[ SHOWGENSTATS AUTOIDENTIFY ]]
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Pattern viewer for forum threads

Post by confocaloid »

muzik wrote: April 7th, 2025, 4:25 am Why does this get detected as a still life? This seems to contradict every preceding statement regarding [R]History handling:

Code: Select all

x = 3, y = 3, rule = B3/S23History
o$obo$2o!
[[ AUTOIDENTIFY ]]
It displays "Nothing identified" for me, most of the time. Sometimes it is identified as a still-life, but at different generations (gen 2, gen 16). Build 1305.

I fail to see in what way that could possibly "contradict every preceding statement", though. It appears to be a bug that is unrelated to the preceding discussion (which was about how [R]History selections, bounding boxes, pattern fitting, pattern saving work).
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

confocaloid wrote: April 7th, 2025, 6:03 am
muzik wrote: April 7th, 2025, 4:25 am Why does this get detected as a still life? This seems to contradict every preceding statement regarding [R]History handling:

Code: Select all

x = 3, y = 3, rule = B3/S23History
o$obo$2o!
[[ AUTOIDENTIFY ]]
It displays "Nothing identified" for me, most of the time. Sometimes it is identified as a still-life, but at different generations (gen 2, gen 16). Build 1305.
Same build, it seem to be consistently "Still Life" for me as far as I've checked. The following gets us Nothing Identified or a period-2 oscillator, so [R]History must just be broken currently:

Code: Select all

x = 5, y = 4, rule = LifeHistory
.A2.A$A$A3.A$4A!
[[ AUTOIDENTIFY ]]
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

muzik wrote: April 7th, 2025, 4:25 am Why does this get detected as a still life? This seems to contradict every preceding statement regarding [R]History handling:
Because I haven't yet fixed an earlier reported bug about [R]History and Identify. No point testing further until I notify the bug is fixed.
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

rowett wrote: April 7th, 2025, 9:04 am
muzik wrote: April 7th, 2025, 4:25 am Why does this get detected as a still life? This seems to contradict every preceding statement regarding [R]History handling:
Because I haven't yet fixed an earlier reported bug about [R]History and Identify. No point testing further until I notify the bug is fixed.
This is now fixed in build 1306.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Pattern viewer for forum threads

Post by confocaloid »

(KILLGLIDERS, LifeViewer build 1306; manually enable "Kill gliders" before running)

A glider is present in generation 10307, it is incorrectly deleted when going to the next generation 10308, and that causes the mechanism to fail.
confocaloid wrote: April 9th, 2025, 2:22 am [...]
[...]

Code: Select all

#N Sqrtgun 3.0
#C https://conwaylife.com/ref/DRH/sqrtgun3.0.html
#C Population in generation t is asymptotic to  5 sqrt(t/12).  A 4-glider
#C salvo pushes a blinker 3 units southeast and sends back a glider,
#C which causes another salvo to be fired and a glider to be sent
#C northeast.  The round trip time, and hence the gap between
#C northeastward gliders, increases by an average of 24 generations each
#C time.  More specifically, let a[0]=207, a[1]=159, a[2]=-33, a[3]=111,
#C and a[4]=231.  For n>=0, a glider is sent northeast (by reflection from
#C a buckaroo) in generation  12 n^2 + 1116 n + a[n mod 5]  (at which
#C time, for n>=1, the population is  5n + 1297)  and escapes about 300
#C generations later.
#O Dean Hickerson, <...>  1/28/1991
x = 176, y = 170, rule = B3/S23
46b2o$46bo6$37b2o24b2o$37bo25bo$28b2o5bobo5b2o3b2o$27bobo5b2o6bo5bo$
12bobo11bo$12bo2bo10bo2bo14bo3bo15bo$15b2o9bo18b3o15bobo$3b2o8bo3b2o8b
obo6b2o24bo3bo$3bo11b2o11b2o6bo2bo23b3o$12bo2bo45b2o3b2o$12bobo21bo2bo
$35bo2bo$35bobo$36bo2$36b2o$36bo$44bo$8bo34b3o$6b4o32b5o$2o5bob2o13bob
o14b2o3b2o$o4bobob3o12bo3bo13b5o$7bob2o17bo13bo3bo47b2o$6b4o19bo14bo
18b2o3b2o26bo$8bo19bo34b2o3b2o13b2o12bo$24bo3bo3b2o12b2o8bo7b5o14bo13b
o13b2o$24bobo5bobo11bo8bo9bobo12b2o15bo11bo2bo$34bo12b3o5b3o14b2o5b3o
14bo11bo15bobo$34b2o13bo15b3o4bo7b2o12b2o12bo15bo3bo$83bo24bo19bo$83b
2o24bo2bo16bo4b2o$23b2o86b2o15bo5bo$23bo100bo3bo$78b2o9b2o33bobo$65b2o
10bo2bo7bo2bo$37bo27bo11b3o2b5o2b3o$37b3o40b2o5b2o$40bo38bo9bo$39b2o
38b2obo3bob2o$84bo4$21b2o3b2o14bo$23b3o15b3o55b2o21b2o$22bo3bo14b3o55b
o22bo$23bobo86bo7bobo$24bo14b2o3b2o33bobo30b4o4b2o$39bo5bo32bo20b2o12b
4o$74bo2bo4bo15bobo12bo2bo$73b2obo2bob2o5b2o7b3o13b4o$77b2o9bo7b3o13b
4o$21b3o73b3o12bo$98bobo$21bobo15b2o58b2o$20b5o15bo$19b2o3b2o11b3o$19b
2o3b2o11bo3$47b2o$47bo3$47bo72bo$21b2o23b2obo68bobo$21bo27bo66b2o18b2o
$34b2o13bo66b2o17bo$34bo11bo2bo66b2o16bo$21bobo23b2o49bo13b2o4bobo13bo
9b2o$21bo3bo70b3o12bobo6bo13bo9bo$11b2o12bo10b2o57bo15bo23bo$11bo14bo
7bo2bo57b2o13b2o24b2o$25bo7bo11b2o$21bo3bo7bo11bo98b2o$21bobo9bo110bo$
34bo2bo86bo$36b2o79bo5bobo28b2o$117bobo4bo29bo$41bo75b2o$39bobo125b2o$
29b2o6b2o12b2o92bo21bo$28bo3bo4b2o12bo92b3o7bo$27bo5bo3b2o105b3o6bobo$
17b2o8bo3bob2o4bobo110bo3bo$17bo9bo5bo7bo100b2o3b2o4b3o$28bo3bo109bo5b
o2b2o3b2o$29b2o$54b2o$53bo2bo108b2o3b2o$56bo108bo5bo$28b2o26bo$28bo24b
2obo109bo3bo$54bo112b3o3$54b2o$55bo2$140b2o3b2o$149b2o3b2o$26b2o3b2o
94b3o11bo3bo3b2o3b2o$27b5o3b2o92bo12b3o5b5o$27b2ob2o4b2o90bo13b3o6bobo
$27b2ob2o3bo134bo$28b3o10b2o108b3o15b3o$41bo126b5o$87bo70bo8b2o3b2o$
80b2o5bobo15b2o36b2o12bo10b5o$80bo6b2o16bo37bo5b2o6b3o8bo3bo$30b3o39bo
5bobo69bo19bo$30b3o39bobo3b2o67b3o$29bo3bo39bobo28b3o40bo15b2o7b2o$28b
o5bo38bo2bo27b2o34bo18b4o4b2o3bo$29bo3bo5b2o3b2o27bobo31b2o27b2o2b2ob
3o13b3ob2o2bo5b3o$30b3o6bo5bo15b2o9bobo31b3o27bo5b4o18bo10bo$60bobo9bo
32bobo32b2o$40bo3bo15bo44b2o$41b3o15b2o6$39b2o51bo$31b2o7bo49b3o$31bo
5b3o49bo$37bo51b2o3$86b3o$86b3o8b3o$85bo3bo9bo$98bo$84b2o3b2o2$48bo$
47bobo47bo30bo$40b2o4bob2o46bobo28bo15b3o$40bo4b2ob2o47bo29b3o$46bob2o
$47bobo9b2o$48bo10bobo$61bo$61b2o4$88b3o$87bo3bo$86bo5bo$86bo5bo3$127b
o$126bobo$114bobo8bob2o$114bo2bo6b2ob2o10b2o$89b2o14b2o10b2o6bob2o10bo
$89bo15bo9bo3b2o5bobo$117b2o8bo$114bo2bo$114bobo!
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

Is anything else needed before LifeViewer Pro can be considered complete? Besides the aforementioned layering discrepancy I'm not able to find any undesirable differences.

Likewise for the remaining aspects of neighbor coloring.
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
LuveelVoom
Posts: 655
Joined: April 27th, 2022, 7:59 pm

Re: Pattern viewer for forum threads

Post by LuveelVoom »

I would really appreciate if there was a way to make the autozoom setting move in and out slower or have a minimum zoom level. Right now it is very jarring to use on spaceships and any pattern with rapid bounding box changes.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Pattern viewer for forum threads

Post by confocaloid »

LuveelVoom wrote: April 10th, 2025, 6:58 pm I would really appreciate if there was a way to make the autozoom setting move in and out slower or have a minimum zoom level. Right now it is very jarring to use on spaceships and any pattern with rapid bounding box changes.
If the intent is to make a viewer "track" a spaceship, I would use TRACKLOOP rather than autozoom. I wouldn't expect autozoom to work in a non-jarring way for that case.

Code: Select all

#C [[ THEME MCell GRID ZOOM 36 GPS 10 TRACKLOOP 11 1/11 0/11 ]]
x = 2, y = 3, rule = B3/S2-n36c
o$2o$o!
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

muzik wrote: April 10th, 2025, 7:54 am Is anything else needed before LifeViewer Pro can be considered complete? Besides the aforementioned layering discrepancy I'm not able to find any undesirable differences.
Need to finish the allocator - which is needed for multiple embedded viewers.
muzik wrote: April 10th, 2025, 7:54 am Likewise for the remaining aspects of neighbor coloring.
The current implementation is just a prototype. I still haven't finalized the design.
User avatar
R2INT
Posts: 822
Joined: July 2nd, 2024, 7:42 pm

Re: Pattern viewer for forum threads

Post by R2INT »

Can you please add a dialog that says something like "Leave site? Changes you made may not be saved." when you attempt to leave lazyslug.com (or I accidentally press the refresh button, and then it discards all my work)
Range-2 INT
R2INT's Rule Collection

Travelling Ts has surpassed LeapLife in post count, but not yet in technology.
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

R2INT wrote: April 18th, 2025, 9:40 am Can you please add a dialog that says something like "Leave site? Changes you made may not be saved." when you attempt to leave lazyslug.com (or I accidentally press the refresh button, and then it discards all my work)
Yes, done.
User avatar
hth3
Posts: 362
Joined: February 15th, 2025, 10:04 am
Location: The Sun

Re: Pattern viewer for forum threads

Post by hth3 »

Why is LifeViewer GPLv3? I think it should be LGPLv2.1 since that's friendlier for embedded programs and is compatible with both GPLv3 and v2.
I'm sorry if am bothering anyone.
Can't trust someone who misspells typset as typeset.
Contribute to CheckerLife!
Oppose KOSA now, save the internet!
The Sandboxer Sandbox (Discord server)
RIP Unname New Web
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

hth3 wrote: April 22nd, 2025, 2:35 am Why is LifeViewer GPLv3? I think it should be LGPLv2.1 since that's friendlier for embedded programs and is compatible with both GPLv3 and v2.
I prefer GPLv3.
LWSSONHWSSONLWSS
Posts: 410
Joined: July 20th, 2024, 9:51 am

Re: Pattern viewer for forum threads

Post by LWSSONHWSSONLWSS »

If you select something in this soup and advance the outside by a generation and then press reset, only the non-selected area remains.

Code: Select all

x = 8, y = 8, rule = B3/S23
2b2ob3o$ob2obobo$ob4obo$b2o2b2o$b3o2b2o$4ob3o$obobobo$obobo2bo!
Please click this okay?
Image
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

LWSSONHWSSONLWSS wrote: May 2nd, 2025, 11:11 am If you select something in this soup and advance the outside by a generation and then press reset, only the non-selected area remains.
Fixed in build 1309. Thanks for reporting!
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

This is a minor nitpick, but we get a "No live cells" message when using STARTFROM on something invalid; I'd probably expect something more akin to a script error to be shown, or for the command to just be ignored so "Invalid pattern!" is displayed instead:

Code: Select all

x = 1, y = 1, rule = R51,C2,S,B1,NG
o!
[[ STARTFROM 1 ]]

Code: Select all

x = 1, y = 1, rule = thisruledoesnotexist
o!
[[ STARTFROM 1 ]]
For the following, the T button appears under the loading error:

Code: Select all

x = 1, y = 1, rule = Life:T9000
o!
[[ STARTFROM 1 ]]
Things like this just run, for whatever reason (interestingly the target generation differs from what is specified):

Code: Select all

x = 73, y = 3, rule = R1,C2,S5,B3,NW111101111History
$b72o$b72B!
[[ STARTFROM 17979869182 SHOWGENSTATS ]]
Should anything be changed about this PR I made a month ago before it's eligible to be merged in? I've also opened another today to update the README on github.

What gets pasted here is different depending on if it happens at T=0 or T>0, given the same input RLE:

Code: Select all

x = 1, y = 1, rule = LifeHistory
!
[[ PASTEMODE COPY PASTET 0 PASTE 7A$7B$2B3.2B$2B3.2B$2B3.2B$7B$7B! 0 0 ]]

Code: Select all

x = 1, y = 1, rule = LifeHistory
!
[[ PASTEMODE COPY PASTET 1 PASTE 7A$7B$2B3.2B$2B3.2B$2B3.2B$7B$7B! 0 0 ]]
In a presumably related case, this claims to have one alive cell (which I assume is correct since one gets pasted at T=0), but it isn't visible:

Code: Select all

x = 3, y = 3, rule = LifeHistory
3B$3B$3B!
[[ PASTEMODE COPY PASTET 0 PASTE A! 0 0 SHOWGENSTATS ]]
I've also noticed that STARTFROM doesn't work for an initially completely-dead pattern, even if there exist PASTE commands that would bring alive cells into existence later. I assume this is intended behaviour?

Code: Select all

x = 3, y = 3, rule = LifeHistory
3B$3B$3B!
[[ PASTEMODE COPY PASTET 1 PASTE A! 0 0 STARTFROM 1 ]]
Reiterating the following, which either ended up reoccurring or wasn't fixed entirely: saving the first pattern canonicalizes the bounded grid definition, but the second pattern retains the non-canonical shorthand form.

Code: Select all

x = 5, y = 4, rule = B3/S23:k20
bo2bo$o$o3bo$4o!

Code: Select all

x = 5, y = 4, rule = Life-RuleLoader:k20
bo2bo$o$o3bo$4o!
"Killed" is capitalized in two ways here. It may be a good idea to change the second message to indicate that Identify was aborted as a result, as in its current state it simply reiterates information from the first line.

Code: Select all

x = 124, y = 9, rule = B3aceiy4ekqrty5cijn6ck78/S2c3-y4cejkqt5i6cei7c8
b2o$2o$42bo$34b3o4b3o70b3o5bo$34b3o3b5o69b3o4b3o$34b3o4b3o70b3o5bo$42b
o$2o$b2o!
[[ MAXGRIDSIZE 9 AUTOIDENTIFY ]]
Certainly not supported, but I found this amusing:

Code: Select all

x = 3, y = 1, rule = B3/S23
3o!
[[ PASTEMODE XOR PASTET EVERY 4 3 PASTE o$o$o$o$o$o! 1 -1 AUTOIDENTIFY ]]
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

More benchmarking:

Code: Select all

x = 64, y = 64, rule = B2/SHistory:T64+5,64
64F$F$F$F$F$F$F$F$F$F6.A3.3A$F6.3A2.A$F7.A$F$F$F$F$F$F$F$F$F$F$F$F$F$
F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F
$F$F$F$F!
[[ STARTFROM 65536b ]]

Code: Select all

x = 64, y = 64, rule = B2/SSuper:T64+5,64
64F$F$F$F$F$F$F$F$F$F6.A3.3A$F6.3A2.A$F7.A$F$F$F$F$F$F$F$F$F$F$F$F$F$
F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F
$F$F$F$F!
[[ STARTFROM 65536b ]]
[R]History without WASM: 27.2s / 2410.8gps
[R]Super without WASM: 3.4s / 19196.3gps
[R]History with WASM: 27.5s / 2382.3gps
[R]Super with WASM: 3.0s / 22125.6gps

Why exactly is [R]Super so much faster in this specific case? Is it the lack of history? Are there special checks for state 6 across grid boundaries? Is there some optimization for [R]Super that doesn't work for [R]History? Or something else entirely?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
rowett
Moderator
Posts: 4589
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Pattern viewer for forum threads

Post by rowett »

muzik wrote: May 3rd, 2025, 1:15 pm Why exactly is [R]Super so much faster in this specific case?
Because state 6 plus bounded grids that wrap are much slower in [R]History. I'll put it on the backlog to optimize at some stage.
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Pattern viewer for forum threads

Post by muzik »

Sometimes, when loading patterns in a newly opened popup viewer, the initial size will be considerably smaller than the enforced minimum size, and intersection occurs between UI elements. Popup viewers smaller than the minimum permitted dimensions should not be allowed, and should always open at the minimum size even if somehow specified to be smaller, or whatever is causing it here (loading from a thumbnail of something with an invalid bounded grid definition).
IMG_8464.jpeg
IMG_8464.jpeg (182.29 KiB) Viewed 628 times
I've tested this on multiple devices so I hope this setup is universal: Use Select All on this, and you'll see that the selection box is offset to the left by a pixel or so. The paste box is much the same.

Code: Select all

x = 20, y = 20, rule = B3/S23:T20,20
10$10bo9$19bo!
[[ ZOOM 22 ]]
Why are some of the cell borders wonky here? The angle is exactly 45 degrees and the zoom is power-of-two integer level, so I'd expect perfect diagonal lines, but every so often there's a kink where two pixels end up orthogonally adjacent.

Code: Select all

x = 23, y = 23, rule = B/S01234V
15bo$14b3o$13b5o$12b7o$11b9o$10b11o$9b13o$8b15o$7b15o$6b15o$5b15o$4b15o
$3b15o$2b15o$b15o$15o$b13o$2b11o$3b9o$4b7o$5b5o$6b3o$7bo!
[[ CELLBORDERS ANGLE 45 ZOOM 32 THEME Mono ]]
Despite the period and frequency maps having an outer border of black cells, the color for these boundary cells is not listed anywhere in Help > Info > Identify.

Code: Select all

x = 7, y = 5, rule = B2in3/S123a
bo$o4bo$bo3bo$bo4bo$5bo!
[[ AUTOIDENTIFY ]]
Compare:

Code: Select all

x = 7, y = 5, rule = B2in3/S123a:P7
bo$o4bo$bo3bo$bo4bo$5bo!
[[ AUTOIDENTIFY ]]
These commands do not appear to do anything. If not valid for these rulespaces I'd expect a "not valid for this rule" error message to be displayed.

EDIT: added missing COLOR commands in response to a now-deleted question by confocaloid

Code: Select all

x = 3, y = 3, rule = B3/S23Super
o$obo$2o!
[[ COLOR dead 255 255 255 ]]

Code: Select all

x = 3, y = 3, rule = B3/S23Investigator
o$obo$2o!
[[ COLOR dead 255 255 255 ]]
Overwritten shader error messages capitalize the second mentioned shader, but overwritten theme error messages do not capitalize the second mentioned theme. Which of these is correct?

Code: Select all

x = 3, y = 3, rule = B3/S23
2bo$obo$b2o!
[[ SHADER Rainbow SHADER Neighbour ]]

Code: Select all

x = 3, y = 3, rule = B3/S23
2bo$obo$b2o!
[[ THEME Yellow THEME Red ]]
If we turn on State Number, then mouse over the black cells to the right of the gray boundary cells, they display "[bounded] 0", rather than the usual "[bounded] 255". I assume this is expected behaviour as they're not currently in a loaded state?

Code: Select all

x = 2, y = 4, rule = B2/S:P0,4
o$bo$bo$o!
[[ X 256 ]]
When scrolling through the periods table manually (i.e. click and drag, or touchscreen), it's possible to position things just right so that both the up arrow and down arrow are lit up and usable, even though the table is only one entry too long to display everything, and therefore technically should only ever be in a state where one arrow is usable at a time? (An optimization for Identify in reversible rules would be convenient for this test case.)

Code: Select all

x = 5, y = 42, rule = M0,2,1,12,4,5,6,7,8,9,10,11,3,13,14,15
$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo$2b
2o3$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo$2b2o3$bo2bo!
[[ AUTOIDENTIFY COLOR UIBACKGROUND Green ]]
Are bounded grid edge cells handled as state 255 in all rulespaces, or only 2-state rulespaces?
Last edited by muzik on May 3rd, 2025, 8:01 pm, edited 1 time in total.
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Post Reply