Golly 4.3b1

For general discussion about Conway's Game of Life.
User avatar
Andrew
Moderator
Posts: 936
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Golly 4.3b1

Post by Andrew » March 16th, 2024, 8:10 am

Golly 4.3b1 is now available for testing:

https://www.trevorrow.com/golly/golly-4 ... -64bit.zip (for 64-bit Windows 7+)
https://www.trevorrow.com/golly/golly-4.3b1-mac.dmg (for macOS 10.11+)
https://www.trevorrow.com/golly/golly-4 ... bit.tar.gz (for Linux, built on Mint 20)
https://www.trevorrow.com/golly/golly-4.3b1-src.tar.gz (source code)

From Help > Changes:
  • Added the new Investigator rule family to the Super algorithm.
  • Minor improvements to error-checking and recovery in toHistory.lua and toSuper.lua.
  • Various changes to the RLE parsing code, mainly for consistency with LifeViewer (see details in Help > File Formats).
  • Fixed a crash on Windows that could occur after disconnecting an audio device.
  • Fixed a crash by limiting the scale to no more than 2^(2^20) cells per pixel.
  • Fixed a bug that affected all multi-state hashlife algorithms (changing a cell in a very large pattern could result in a corrupted universe).
  • Fixed some bugs handling filenames with underscores or ampersands in the Open/Run Recent submenus.
  • The Pattern Info window displays Unicode characters correctly (assuming the comments are UTF-8 encoded).
  • 3D.lua has a Pattern Info command (in its View menu) which will display the current pattern's comments in the help window. You can also click on the new "i" button.
  • The Larger than life algorithm now supports Aligned Checkerboard neighborhood (ND).
  • New script safeopenclip.lua will attempt to open the clipboard as a pattern. If the pattern contains a legacy rule it will first be converted into a supported rule. If the pattern contains an unsupported rule it will be opened in a benign 256 state rule so it can be manually manipulated. The default key binding for this script is Alt-O (Option-O on Mac).
  • Updated Lua to version 5.4.6.
  • Lots of new patterns (see Help > Changes for links).
  • Deleted pattern: oscillator-stamp-collection-12August2022.rle (replaced by oscillator-stamp-collection-31January2023.rle).
  • The comments in a large number of existing patterns have been modified (broken links deleted and the formatting of paragraphs made more consistent).
Please report any problems here. Thanks to all who contributed to this version!
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

Antonin Duda
Posts: 76
Joined: October 19th, 2023, 10:23 am
Location: 404 not found

Re: Golly 4.3b1

Post by Antonin Duda » March 16th, 2024, 8:39 am

Andrew wrote:
March 16th, 2024, 8:10 am
Golly 4.3b1 is now available for testing:

https://www.trevorrow.com/golly/golly-4 ... -64bit.zip (for 64-bit Windows 7+)
https://www.trevorrow.com/golly/golly-4.3b1-mac.dmg (for macOS 10.11+)
https://www.trevorrow.com/golly/golly-4 ... bit.tar.gz (for Linux, built on Mint 20)
https://www.trevorrow.com/golly/golly-4.3b1-src.tar.gz (source code)

From Help > Changes:
  • Added the new Investigator rule family to the Super algorithm.
  • Minor improvements to error-checking and recovery in toHistory.lua and toSuper.lua.
  • Various changes to the RLE parsing code, mainly for consistency with LifeViewer (see details in Help > File Formats).
  • Fixed a crash on Windows that could occur after disconnecting an audio device.
  • Fixed a crash by limiting the scale to no more than 2^(2^20) cells per pixel.
  • Fixed a bug that affected all multi-state hashlife algorithms (changing a cell in a very large pattern could result in a corrupted universe).
  • Fixed some bugs handling filenames with underscores or ampersands in the Open/Run Recent submenus.
  • The Pattern Info window displays Unicode characters correctly (assuming the comments are UTF-8 encoded).
  • 3D.lua has a Pattern Info command (in its View menu) which will display the current pattern's comments in the help window. You can also click on the new "i" button.
  • The Larger than life algorithm now supports Aligned Checkerboard neighborhood (ND).
  • New script safeopenclip.lua will attempt to open the clipboard as a pattern. If the pattern contains a legacy rule it will first be converted into a supported rule. If the pattern contains an unsupported rule it will be opened in a benign 256 state rule so it can be manually manipulated. The default key binding for this script is Alt-O (Option-O on Mac).
  • Updated Lua to version 5.4.6.
  • Lots of new patterns (see Help > Changes for links).
  • Deleted pattern: oscillator-stamp-collection-12August2022.rle (replaced by oscillator-stamp-collection-31January2023.rle).
  • The comments in a large number of existing patterns have been modified (broken links deleted and the formatting of paragraphs made more consistent).
Please report any problems here. Thanks to all who contributed to this version!
Yippeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

(sorry about that lmao)

hotdogPi
Posts: 1626
Joined: August 12th, 2020, 8:22 pm

Re: Golly 4.3b1

Post by hotdogPi » March 16th, 2024, 8:43 am

I can update https://github.com/dvgrn/b3s23osc/tree/main if you want me to. I do feel like it's getting a bit large, though.
User:HotdogPi/My discoveries

Periods discovered: 5-16,⑱,⑳G,㉑G,㉒㉔㉕,㉗-㉛,㉜SG,㉞㉟㊱㊳㊵㊷㊹㊺㊽㊿,54G,55G,56,57G,60,62-66,68,70,73,74S,75,76S,80,84,88,90,96
100,02S,06,08,10,12,14G,16,17G,20,26G,28,38,47,48,54,56,72,74,80,92,96S
217,486,576

S: SKOP
G: gun

User avatar
H. H. P. M. P. Cole
Posts: 152
Joined: July 15th, 2023, 9:36 pm
Location: Error: 'H. H. P. M. P. Cole' has no attribute 'location'.

Re: Golly 4.3b1

Post by H. H. P. M. P. Cole » March 16th, 2024, 9:08 am

factorio-small-objects.rle is not in the right folder: to me, it most definitely does not belong in the Non-Totalistic folder, rather, it might belong in either the Larger-than-Life or Other-Rules folders. Please inform me on which option is better, or explain your rationale on putting factorio-small-objects.rle in the Non-Totalistic folder.

Also, there's a typo in factorio-small-objects.rle: it should be "There are a total of 20 still-lifes, 107 p2s, 3 p4s, 1 p6, and 1 c/1o in this collection."
Last edited by H. H. P. M. P. Cole on March 16th, 2024, 9:13 am, edited 1 time in total.
Harfordson Parker-Cole

Factorio

TYCF
Posts: 523
Joined: August 7th, 2023, 3:44 am
Location: England, United Kingdom,

Re: Golly 4.3b1

Post by TYCF » March 16th, 2024, 9:13 am

Code: Select all

x = 5, y = 3, rule = B3/S23
obobo$2ob2o$obobo!

Code: Select all

x = 5, y = 4, rule = B35/S234i8
2bo$bobo$2ob2o$5o!



User avatar
dvgrn
Moderator
Posts: 10693
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Golly 4.3b1

Post by dvgrn » March 16th, 2024, 9:27 am

TYCF wrote:
March 16th, 2024, 9:13 am
Will http://golly.sourceforge.net/ be updated?
That happens after the above beta version gets tested, and a few more changes get rolled in (e.g., adapting toStandard.lua to deal with Investigator rules). The final 4.3 version will be downloadable from SourceForge. That won't happen for a while yet, though -- first let's find all the bugs!

User avatar
Andrew
Moderator
Posts: 936
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 4.3b1

Post by Andrew » March 16th, 2024, 8:22 pm

H. H. P. M. P. Cole wrote:
March 16th, 2024, 9:08 am
factorio-small-objects.rle is not in the right folder...
Agreed. I'll move it into the Larger-than-Life folder for the final 4.3 release (and fix that typo).
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
confocaloid
Posts: 3059
Joined: February 8th, 2022, 3:15 pm

Re: Golly 4.3b1

Post by confocaloid » March 17th, 2024, 2:59 pm

I think there is now a slight difference between accepted syntax of outer-totalistic rulestrings and accepted syntax of rulestrings written using Hensel notation:
o Rulestrings like B3/S23, B3S23, B3/S23V, B3S23V, B3/S23H, B3S23H are all accepted in "Set Rule" dialog, both in Golly 4.3b1 and in Golly 4.2.
o Rulestrings like B36n/S23, B3/S234c are also accepted in both versions.
o However, it seems like rulestrings like B36nS23 or B3S234c are no longer accepted in Golly 4.3b1.
In other words, rulestrings written using Hensel notation without the slash are now rejected. This seems to be a bug. Derived rules [R]Suffix are also affected.
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: 3823
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Golly 4.3b1

Post by rowett » March 17th, 2024, 3:40 pm

confocaloid wrote:
March 17th, 2024, 2:59 pm
I think there is now a slight difference between accepted syntax of outer-totalistic rulestrings and accepted syntax of rulestrings written using Hensel notation.
This should be fixed now. Thanks for reporting!

User avatar
confocaloid
Posts: 3059
Joined: February 8th, 2022, 3:15 pm

Re: Golly 4.3b1

Post by confocaloid » March 18th, 2024, 4:33 am

Running the script goto.lua on the quoted pattern, and entering 2738059586423623206 does not go immediately to the specified generation, but instead goes to 2738059586423623170.
Running goto.lua again on the resulting pattern, and entering 2738059586423623206 again goes to the specified generation.

The script goto.py seems to work correctly (i.e. go to the specified generation immediately) with the same input.
b3s23love wrote:
October 16th, 2023, 8:14 am
[...] EDIT: Done to make the lifespan 2738059586423623206. I'm currently working on upgrading the block to a ship.

Code: Select all

x = 53, y = 53, rule = B3/S23
4b6o2b4ob4ob2o25bob2o$6bo7b4obobo2bo10b3o12b3o$10bo6bobo2bo5bo5bo2bo
14bo$5b5o6bo3bobo4bob2obo4bo11b2obo$7b2o21bobo15bob3o$4bob2o24bobo16b
2o$7bo4b2o8bo24b3ob2o$15bobobo2b3o12b2o9bo$12b2obobobo5bo12bo8bo3bo$
22b2obo9b3o10bo$bo10bob3obo3bobo3b2o4bo$obo10bo2b2o10b2o4b4o$bobo9bo2b
2ob2o16bo$bo2bo3bo4bobo2bo5b2o6b3o$b2o5bo5bobobobo3b2o6bo2bo$bo5bo6bo
2bob2o12b2o$6bo14b2o14bo8b2obo$11b2obobob2obo14bobo6bo5b2o$17bo3b2o6bo
5bobo8b2ob2obo$13b2o2bo4b2o4bobo5bo8b3obob2o$16b3o3bob2o3bo16bo4b2o$
15b2o5bob2o18bobo2bo2bo$ob3o12b2o25b2obobo$ob4o11b2o27bo2bob2o$o5bo32b
o6bo2bo2bo$bobobo2b3o3b2o13bo7b3o11b2o$2bobob4o4b2o12bo2bo4bo7b2obo4bo
$3bo2bob2o18bo2bo4b2o10b2ob2o$3bo3b3obo9bobobo4bo21bo$4b3o2b2obo4b2o2b
obo2bo6b3o7b2obo3bo$10bobo4b2o4bobo7b3o7bob2o$11bob2o6bo19bobo$12bo2bo
5bobo3b2o11bobo2b2o$13b2o6bo4bobo12bo4bo$14b5o3bo3bo4b2o3b2o7bo$15b4o
6b2o5b5o8b2o$15bobo15b3o4bob2obo$14bob2obo14bo5b2obo2bo$14bo3bobo22bob
2o$14bo2bo2b2o18b2obobo4bobo$15b2obob2o18bobo2bo5bo$17bo2b2o4b2o2bo10b
o3b2o3bobo$18bo10b2o20b2o$19b3o4bo2bo19bo2bo$obo2b2o3bo13b3o2bo21b2o$b
2o2bo4b2obo12bo2bo3b2o12b3o2bo$2bo2bob2o3b2o10bob2ob2o2b2o17bo$o5bo4bo
bo8b4obo21bo$b3obo5bob2o4bo2bo4b4o$bob2obo3bo3bo2bo3bo4bo2bo3bo$2o2bo
3b2o3bo5bo5bo4b3o$4b2o2bob2o6bo2b3o5b2o2bo$5b2o2b5o2b5obo2b7o!
Added: With the following pattern and lifespan, goto.lua jumps to 1826659985823844866 instead of 1826659985823844806 (i.e. 60 ticks too late) and stays there no matter how many times it is run.
goto.py seems to work correctly on this input.
b3s23love wrote:
October 15th, 2023, 5:53 am
[...] EDIT: Rewinded guns to get a value of 1826659985823844806.

Code: Select all

x = 53, y = 53, rule = B3/S23
4b6o2b4ob4ob2o10b5o10bob2o$6bo7b4obobo2bo15bo9b3o$10bo6bobo2bo6bo4bob
2o14bo$5b5o6bo3bobo8b4o2bobo9b2obo$7b2o21bo2b2o4bo8bob3o$4bob2o23b3o3b
o13b2o$7bo4b2o8bo8bo3bo11b3ob2o$15bobobo2b3o23bo$12b2obobobo5bo21bo3bo
$22b2obo8b2obo10bo$bo10bob3obo3bobo3b2o4b2obo$obo10bo2b2o10b2o2b4o3bo$
bobo9bo2b2ob2o11b2o3bo$bo2bo3bo4bobo2bo5b2o11b2o$b2o5bo5bobobobo3b2o6b
3o2b2o$bo5bo6bo2bob2o14b2o$6bo14b2o10b2o5bo5b2obo$11b2obobob2obo16b2o
5bo5b2o$17bo3b2o23b2ob2obo$13b2o2bo4b2o11b2o8b3obob2o$16b3o3bob2o10bo
9bo4b2o$15b2o5bob2o7b3o8bobo2bo2bo$ob3o12b2o14bo10b2obobo$ob4o11b2o8bo
18bo2bob2o$o5bo19bo2bo9bo6bo2bo2bo$bobobo2b3o3b2o10bo2bo7b3o11b2o$2bob
ob4o4b2o12bo7bo7b2obo4bo$3bo2bob2o26b2o10b2ob2o$3bo3b3obo12b2o26bo$4b
3o2b2obo4b2o5b2o7b3o7b2obo3bo$10bobo4b2o9b2o3b3o7bob2o$11bob2o13b2o11b
obo$12bo2bo24bobo2b2o$13b2o3bo22bo4bo$14b5o7b2o3b2o3b2o7bo$15b4o6bobo
4b5o8b2o$15bobo7b2o6b3o4bob2obo$14bob2obo14bo5b2obo2bo$14bo3bobo22bob
2o$14bo2bo2b2o18b2obobo4bobo$15b2obob2o18bobo2bo5bo$17bo2b2o4b2o2bo10b
o3b2o3bobo$18bo10b2o20b2o$19b3o4bo2bo19bo2bo$obo2b2o3bo13b3o2bo21b2o$b
2o2bo4b2obo12bo2bo3b2o12b3o2bo$2bo2bob2o3b2o10bob2ob2o2b2o17bo$o5bo4bo
bo8b4obo21bo$b3obo5bob2o4bo2bo4b4o$bob2obo3bo3bo2bo3bo4bo2bo3bo$2o2bo
3b2o3bo5bo5bo4b3o$4b2o2bob2o6bo2b3o5b2o2bo$5b2o2b5o2b5obo2b7o!
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
Andrew
Moderator
Posts: 936
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 4.3b1

Post by Andrew » March 18th, 2024, 8:19 am

confocaloid wrote:
March 18th, 2024, 4:33 am
Running the script goto.lua on the quoted pattern, and entering 2738059586423623206 does not go immediately to the specified generation, but instead goes to 2738059586423623170.
Looks like you're hitting a limitation in Lua. Unlike Python, Lua doesn't support arbitrarily large numbers (note that math.maxinteger is a 19-digit number). I think I'll just modify goto.lua to check for gen counts with more than 18 digits and exit with a message like this: "Number is too large for Lua -- use goto.py instead."

EDIT: Here's the new version of goto.lua (I had to restrict numbers to 16 digits to avoid overflow problems):

Code: Select all

-- Go to a requested generation.  The given generation can be an
-- absolute number like 1,000,000 (commas are optional) or a number
-- relative to the current generation like +9 or -6.  If the target
-- generation is less than the current generation then we go back
-- to the starting generation (normally 0) and advance to the target.
-- Authors: Andrew Trevorrow and Dave Greene, Mar 2024.

local g = golly()
local gp = require "gplus"
local validint = gp.validint

--------------------------------------------------------------------------------

local function intbase(n, b)
    -- convert integer n >= 0 to a base b digit array (thanks to PM 2Ring)
    digits = {}
    while n > 0 do
        digits[#digits + 1] = n % b
        n = math.floor(n / b)
    end
    if #digits == 0 then digits = {0} end
    return digits
end

--------------------------------------------------------------------------------

-- math.maxinteger is a 19-digit number on a 64-bit system, but we have to
-- limit gen counts to 16-digit numbers to avoid overflow problems
local maxdigits = #tostring(math.maxinteger) - 3

local function check_number(numstr)
    if #numstr > maxdigits then
        g.exit("Number is too large for Lua -- use goto.py instead.")
    end
    return tonumber(numstr)
end

--------------------------------------------------------------------------------

local function go_to(gen)
    local currgen = check_number(g.getgen())
    local newgen
    if gen:sub(1,1) == '+' then
        newgen = currgen + check_number(gen:sub(2,-1))
    elseif gen:sub(1,1) == '-' then
        local n = check_number(gen:sub(2,-1))
        if currgen > n then
            newgen = currgen - n
        else
            newgen = 0
        end
    else
        newgen = check_number(gen)
    end
    
    if newgen < currgen then
        -- try to go back to starting gen (not necessarily 0) and
        -- then forwards to newgen; note that reset() also restores
        -- algorithm and/or rule, so too bad if user changed those
        -- after the starting info was saved;
        -- first save current location and scale
        local midx, midy = g.getpos()
        local mag = g.getmag()
        g.reset()
        -- restore location and scale
        g.setpos(midx, midy)
        g.setmag(mag)
        -- current gen might be > 0 if user loaded a pattern file
        -- that set the gen count
        currgen = check_number(g.getgen())
        if newgen < currgen then
            g.error("Can't go back any further; pattern was saved "..
                    "at generation "..currgen..".")
            return
        end
    end
    if newgen == currgen then return end
    
    g.show("Hit escape to abort...")
    local oldsecs = os.clock()
    
    -- before stepping we advance by 1 generation, for two reasons:
    -- 1. if we're at the starting gen then the *current* step size
    --    will be saved (and restored upon Reset/Undo) rather than a
    --    possibly very large step size
    -- 2. it increases the chances the user will see updates and so
    --    get some idea of how long the script will take to finish
    --    (otherwise if the base is 10 and a gen like 1,000,000,000
    --    is given then only a single step() of 10^9 would be done)
    g.run(1)
    currgen = currgen + 1

    -- use fast stepping (thanks to PM 2Ring)
    for i, d in ipairs(intbase(newgen - currgen, g.getbase())) do
        if d > 0 then
            g.setstep(i-1)
            for j = 1, d do
                if g.empty() then
                    g.show("Pattern is empty.")
                    return
                end
                g.step()
                local newsecs = os.clock()
                if newsecs - oldsecs >= 1.0 then
                    -- do an update every sec
                    oldsecs = newsecs
                    g.update()
                end
            end
        end
    end
    g.show("")
end

--------------------------------------------------------------------------------

local function savegen(filename, gen)
    local f = io.open(filename, "w")
    if f then
        f:write(gen)
        f:close()
    else
        g.warn("Can't save gen in filename:\n"..filename)
    end
end

--------------------------------------------------------------------------------

-- use same file name as in goto.py
local GotoINIFileName = g.getdir("data").."goto.ini"
local previousgen = ""
local f = io.open(GotoINIFileName, "r")
if f then
    previousgen = f:read("*l") or ""
    f:close()
end

local gen = g.getstring("Enter the desired generation number,\n"..
                        "or -n/+n to go back/forwards by n:",
                        previousgen, "Go to generation")
if gen == "" then
    g.exit()
elseif gen == '+' or gen == '-' then
    -- clear the default
    savegen(GotoINIFileName, "")
elseif not validint(gen) then
    g.exit("Sorry, but \""..gen.."\" is not a valid integer.")
else
    -- best to save given gen now in case user aborts script
    savegen(GotoINIFileName, gen)
    local oldstep = g.getstep()
    go_to(gen:gsub(",",""))
    g.setstep(oldstep)
end
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

Antonin Duda
Posts: 76
Joined: October 19th, 2023, 10:23 am
Location: 404 not found

Re: Golly 4.3b1

Post by Antonin Duda » March 20th, 2024, 9:10 am

We need an android update.
(seriously, it's been 5 and a half flipping years without an update)

Please, if you don't update the android version of golly, it's gonna start losing support on newest android versions, and eventually get removed from the play store because of security reasons.

User avatar
muzik
Posts: 5652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Golly 4.3b1

Post by muzik » March 20th, 2024, 11:16 am

Some potential fixes:

- Non-Totalistic/Oscillators/rro-p420.rle: "aloop" -> "a loop"
- Non-Totalistic/Spaceships/thighlife-replicator-based-spaceships.rle: "c/4 orthogonal" -> "4c/11 orthogonal" (no idea how I messed that one up. Freudian slip?)
- Super/art-on-a-torus-LifeSuper.rle: date appears to have an extra space before the comma

One of the patterns that got removed due to the rulespaces not being supported can still run in Golly if we use the Larger-than-Life notation instead, if readding it is desired:

Code: Select all

#N triangular-grid-Sierpinski-generator.rle
#O Brian Prentice, 2020
#C Easily converted into a spaceship:
#C   https://conwaylife.com/forums/viewtopic.php?p=88596#p88596
x = 58, y = 10, rule = R1,C2,S1,B1,10,11,12,NL
$2b5o$bo2bo2bo33b5o7b5o$2o3b3o33bobobo7bobobo$o5bo$bob2obob5o30bo11bo
$5b2obobo2bo28b3o9b3o$6b2o5bo$6b3o$7b2ob2o!
Since Dave forgot to check in the Unusual-Growth-Rates patterns from the original zip, will Golly 4.3 be shipping without these, or is there still room for subsequent additions?

FlutterWithKSparkler
Posts: 20
Joined: October 14th, 2023, 12:43 pm
Location: A cottage

Re: Golly 4.3b1

Post by FlutterWithKSparkler » March 20th, 2024, 12:57 pm

(new) Generations/wire-construction-gun.rle is a duplicate of (old) Generations/isotropic-rule-wire-construction-gun.rle without details.
(new) Generations/g3s23-breeder.rle and (old) Generations/b3-s23-g3-spaceship-breeder.rle have inconsistent style in naming and comment.
(new) Life-Like/von-neumann-merge.rle misses a notice about range-1 von Neumann rules being a subset of isotropic non-totalistic rules.
(new) Non-Totalistic/Oscillators/coverleaf-chain-emulation.rle misses a space in line 11.
(old) Non-Totalistic/Replicators/sierpinski-like-log5-12.rle and (old) Non-Totalistic/Replicators/pascal-mod-3-generator.rle now belong to (new) Fractal-Generators folder.
(old) Non-Totalistic/five-margolus-media.rle and (old) Non-Totalistic/five-margolus-media2.rle now belong to (new) MarBlocks folder.
(old) Non-Totalistic/loopability-104-rro.rle, (old) Non-Totalistic/p17490.rle and (old) Non-Totalistic/oblique-frontend-rro.rle now belong to (new) Oscillator folder.
(old) Life/Rakes/basic-rakes.rle has an extra heavyweight spaceship at the upper left corner.
Andrew wrote:
March 16th, 2024, 8:10 am
[*] The Pattern Info window displays Unicode characters correctly (assuming the comments are UTF-8 encoded).
The UTF-8 support is not added to .html windows.
(*≧▽≦)~Yay

User avatar
confocaloid
Posts: 3059
Joined: February 8th, 2022, 3:15 pm

Re: Golly 4.3b1

Post by confocaloid » March 20th, 2024, 1:26 pm

Please add the collected StateInvestigator patterns to illustrate the new algorithm:
rowett wrote:
March 14th, 2024, 3:59 pm
[...]
Also it would be worth reviewing the [R]Investigator patterns to see which should be added and which should be linked from the Golly distro.
[...]
FlutterWithKSparkler wrote:
March 20th, 2024, 12:57 pm
(new) Life-Like/von-neumann-merge.rle misses a notice about range-1 von Neumann rules being a subset of isotropic non-totalistic rules.
I think the file "von-neumann-merge.rle" should be moved into the Other-Rules folder instead. That pattern works in a rule with von Neumann neighbourhood, rather than in a Life-like cellular automaton. The folder Other-Rules already contains other patterns working in rules with von Neumann neighbourhood, so would be a natural place for the pattern.
Last edited by confocaloid on March 21st, 2024, 2:12 am, edited 1 time in total.
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
Andrew
Moderator
Posts: 936
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 4.3b1

Post by Andrew » March 20th, 2024, 7:41 pm

FlutterWithKSparkler wrote:
March 20th, 2024, 12:57 pm
The UTF-8 support is not added to .html windows.
More details please. I assume you mean when displaying .html files in Golly's help window. If so, which files have problems?

It should be easy to fix those problems by adding this line to the header (right after the <html> tag):

Code: Select all

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
EDIT: I just searched all the .html files in Golly's Help folder for non-ASCII characters and didn't find any, so which .html files are causing problems?
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
confocaloid
Posts: 3059
Joined: February 8th, 2022, 3:15 pm

Re: Golly 4.3b1

Post by confocaloid » March 21st, 2024, 9:28 am

Andrew wrote:
March 16th, 2024, 8:10 am
  • The comments in a large number of existing patterns have been modified (broken links deleted and the formatting of paragraphs made more consistent).
Please add the following replacement links, instead of some links that were removed in https://sourceforge.net/p/golly/code/ci ... 543c1ba7a/

(I think links to archived copies of old pages should be preserved, when possible. As an example, many pages from pentadecathlon.com are still accessible as archived copies.)

(file: NickGardner.mcl)

Code: Select all

#D 8-bit multiplier by Nick Gardner, Aug 2002.
#D (see https://web.archive.org/web/20090309025110/http://www.maa.org/editorial/mathgames/mathgames_05_24_04.html)
(file: TriangularAnt_period92.rle)

Code: Select all

# Unlike the square grid ant, some patterns on the triangular grid cause the ant
# to follow a bounded trajectory. This pattern has period 92, and is from this
# webpage:
# https://web.archive.org/web/20110707012755/http://www.ing-mat.udec.cl/~anahi/langton/general.html
# (Although they call it a hexagonal grid after the graph joining the cells,
#  rather than the shape of the cells themselves.)
(file: LangtonsAnt_LLRR.rle)

Code: Select all

# Mathematical Entertainments column, Mathematical Intelligencer 17: 48–56. 
# https://web.archive.org/web/20170602192656/http://www.math.stonybrook.edu/cgi-bin/preprint.pl?ims95-1
(files: SDSR-Loop.rle, Langtons-Loops.rle, Evoloop.rle, Chou-Reggia-Loop-2.rle, Chou-Reggia-Loop-1.rle, Byl-Loop.rle)

Code: Select all

# transition rules from:
# https://web.archive.org/web/20010521213854/http://necsi.org/postdocs/sayama/sdsr/java/loops.java
# https://web.archive.org/web/20010521213854/http://necsi.org/postdocs/sayama/sdsr/java/
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
Andrew
Moderator
Posts: 936
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 4.3b1

Post by Andrew » March 21st, 2024, 9:33 pm

confocaloid wrote:
March 21st, 2024, 9:28 am
Please add the following replacement links ...
Done.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
muzik
Posts: 5652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Golly 4.3b1

Post by muzik » March 22nd, 2024, 11:38 am

Just to verify once more, the changes from this post will finally make it into the 4.3 release, right? They don't appear to have been checked in yet.

EDIT by dvgrn: Yup -- hoping to find enough time to focus on working through that, sometime this weekend.

FlutterWithKSparkler
Posts: 20
Joined: October 14th, 2023, 12:43 pm
Location: A cottage

Re: Golly 4.3b1

Post by FlutterWithKSparkler » March 22nd, 2024, 1:11 pm

Andrew wrote:
March 20th, 2024, 7:41 pm
EDIT: I just searched all the .html files in Golly's Help folder for non-ASCII characters and didn't find any, so which .html files are causing problems?
It was a custom UTF-8 test file. Saving https://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html as a single html and adding the meta tag could get it displayed fine.

At the same time, it is clearer if Larger-than-Life/50c-spaceships.rle and Larger-than-Life/996c-2-spaceship.rle could write the range of rule in their file names as a R- prefix.
(*≧▽≦)~Yay

User avatar
_zM
Posts: 186
Joined: June 26th, 2016, 3:07 pm

Re: Golly 4.3b1

Post by _zM » March 25th, 2024, 7:29 am

When setting the rule to a Hensel notation rulestring including the same digit twice in the same section of the rule, but with one followed by an inverted letter string and one by a non-inverted letter string, the rule that the algorithm follows is different from the rule that the canonicalized rulestring represents, with the latter treating the non-inverted string as if it was also inverted. Setting the rule to e.g. B2-a2ak or B2ak2-a sets the canonical rulestring to B2-ak/S while the pattern behaves like B2/S in the first case and B2k/S in the second (until changing layers and returning, undoing a later edit, etc.)
moment

hotdogPi
Posts: 1626
Joined: August 12th, 2020, 8:22 pm

Re: Golly 4.3b1

Post by hotdogPi » March 25th, 2024, 7:37 am

That bug exists in the current version, too. I haven't updated to 4.3 yet, and the same thing happens.
User:HotdogPi/My discoveries

Periods discovered: 5-16,⑱,⑳G,㉑G,㉒㉔㉕,㉗-㉛,㉜SG,㉞㉟㊱㊳㊵㊷㊹㊺㊽㊿,54G,55G,56,57G,60,62-66,68,70,73,74S,75,76S,80,84,88,90,96
100,02S,06,08,10,12,14G,16,17G,20,26G,28,38,47,48,54,56,72,74,80,92,96S
217,486,576

S: SKOP
G: gun

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

Re: Golly 4.3b1

Post by rowett » March 25th, 2024, 11:58 am

_zM wrote:
March 25th, 2024, 7:29 am
When setting the rule to a Hensel notation rulestring including the same digit twice in the same section of the rule, but with one followed by an inverted letter string and one by a non-inverted letter string, the rule that the algorithm follows is different from the rule that the canonicalized rulestring represents, with the latter treating the non-inverted string as if it was also inverted.
This should be now fixed. It is not valid to have the same digit twice in the same section of the rule, one with an inverted letter string and one with a non-inverted letter string.

User avatar
muzik
Posts: 5652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Golly 4.3b1

Post by muzik » March 25th, 2024, 2:26 pm

I've noticed that shrinking particularly large selections causes the dialog box that shows up while waiting to display "Copying selection" rather than something relating to shrinking - is this a fixable minor detail?

User avatar
Andrew
Moderator
Posts: 936
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 4.3b1

Post by Andrew » March 25th, 2024, 4:56 pm

muzik wrote:
March 25th, 2024, 2:26 pm
I've noticed that shrinking particularly large selections causes the dialog box that shows up while waiting to display "Copying selection" rather than something relating to shrinking - is this a fixable minor detail?
Fixed -- thanks. (Golly is actually copying the selection to a temporary universe so it can quickly find the pattern edges, but it is probably less confusing if it displays "Shrinking selection" while working on a very large selection.)
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

Post Reply