Page 24 of 98
Re: Life tag testing
Posted: March 9th, 2017, 10:28 am
by rowett
Build 218 is now available on the
lazyslug server
Enhancements in this build:
- new graph script commands:
- [[ GRAPH ]] enables population graph display on pattern load
- [[ GRAPHOPACITY <0.0..1.0> ]] sets the graph background opacity
- [[ GRAPHPOINTS ]] draws the graph as points rather than lines
- added graph data to help information
- added "Just Friends" to the non-totalistic aliases
Fixes in this build:
- initial generation was being ignored for graph y axis scaling
- graph y axis label now abbreviates automatically when Viewer height is small
Re: Life tag testing
Posted: March 9th, 2017, 10:29 am
by rowett
dvgrn wrote:I'll manage a decent review by the end of the weekend, anyway. If that's not fast enough, my quick look at your test pages says that it's probably an improvement on the status quo -- so really I'm happy with the release-now test-later roll-back-if-necessary model, too. Saves me some test setup time...!
I'm happy to wait for the weekend. Completely rewrote the B0 stuff so keen to have that tested!
Re: Life tag testing
Posted: March 9th, 2017, 10:56 am
by rowett
Build 219 is now available on the
lazyslug server
Enhancements in this build:
- shift and hotkey "o" now opens population graph snapshot in separate window
Fixes in this build:
- population graph x axis limit was incorrect for generations less than the graph width
The updated keyboard map is
here.
Re: Life tag testing
Posted: March 10th, 2017, 6:00 am
by rowett
Build 220 is now available on the
lazyslug server
Enhancements in this build:
- added the ability to customize graph colors - test
- [[ COLOR GRAPHBG R G B ]] sets background color
- [[ COLOR GRAPHAXIS R G B ]] sets axis color
- [[ COLOR GRAPHALIVE R G B ]] sets alive color
- [[ COLOR GRAPHBIRTH R G B ]] set birth color
- [[ COLOR GRAPHDEATH R G B ]] sets death color
- added graph colors to help information
Fixes in this build:
- when just [[ COLOR BACKGROUND ]] and [[ COLOR ALIVE ]] were specified an invalid [[ COLOR DEADRAMP ]] was created
Re: Life tag testing
Posted: March 13th, 2017, 7:00 am
by rowett
Build 221 is now available on the
lazyslug server
Fixes in this build:
- tooltips in multi-item controls now work after item clicked
Re: Life tag testing
Posted: March 13th, 2017, 7:45 am
by dvgrn
rowett wrote:Build 221 is now available on the
lazyslug server
Fixes in this build:
- tooltips in multi-item controls now work after item clicked
Can you have a quick look at what is going on with my nice easy testing method?
-- I downloaded an appropriate forum thread using Firefox -- the previous page of this thread, in point of fact.
-- I saved the complete Web page to testingBuild221.htm.
-- When I open the local saved copy of the Web page, the old Build 214 plugin successfully adds a second "Show in Viewer" link after each existing "Show in Viewer" link. That's what it has always done, so that's good.
-- I found the lv-plugin.js file in the testingBuild221_files folder, and renamed it to lv-plugin-old.js.
-- I downloaded Build 221 from the lazyslug server, and saved it as lv-plugin.js in the testingBuild221_files folder.
-- When I open the local saved copy of the Web page again, the new Build 221 plugin doesn't add any new "Show in Viewer" links, so I can't get Build 221 running in the context of that Web page. That doesn't seem so good...?
-- When I rename lv-plugin.js to lv-plugin-build221.js, and put lv-plugin-old.js back to lv-plugin.js, the "Show in Viewer" links appear again. So it's not like magic has stopped working or anything...!
Re: Life tag testing
Posted: March 13th, 2017, 11:29 am
by rowett
Build 222 is now available on the
lazyslug server
Fixes in this build:
- fixed an issue with the allocator during startup
Re: Life tag testing
Posted: March 13th, 2017, 11:39 am
by rowett
dvgrn wrote:Can you have a quick look at what is going on with my nice easy testing method?
Your method was good, it was a bug which is fixed in build 222.
Re: Life tag testing
Posted: March 13th, 2017, 1:55 pm
by rowett
Let me know if build 222 works for you...
Re: Life tag testing
Posted: March 13th, 2017, 2:05 pm
by dvgrn
rowett wrote:Let me know if build 222 works for you...
Will do. Sorry for the delay -- unfortunately I'm away from the test computer again until after dinner tonight.
It seems like a very auspicious build number, though, much better than 221.
Re: Life tag testing
Posted: March 13th, 2017, 10:26 pm
by dvgrn
rowett wrote:Build 222 is now available on the
lazyslug server
Fixes in this build:
- fixed an issue with the allocator during startup
Yup, that seems to have solved the testing problem -- I'm getting links added now that open LifeViewer build 222.
The rule=MAP stuff looks good. I initially expected a space between "MAP" and the map string, but that seems to produce a VIEWONLY view of the pattern. It's a little odd that "MAP" is technically a series of characters that might be part of a rule string -- there might not be very many interesting rules where the string starts with MAP, but still it's kind of strange to have no delimiter there. I can see how a colon would be a bad delimiter, since it's used for something else. Maybe a space, though -- or a forward slash?
I checked a random sample of MAP rules and they all seem to be doing the right thing. I'd vote for releasing it to see if anyone else can find a problem, but it's going to have to be something awfully subtle. Seems to me it's going to Just Work.
The population graph looks really good, especially as it's being generated and adjusting itself in real time! The only issue I've run into so far is that when I graphed the
x = 2557, y = 73, rule = LifeHistory
pattern
here, the graph adjusted itself beautifully forwards in time at step=50, until it went flat. I ran it until the flat line was about as long as the interesting part... and then hit "b" to see what happened when I stepped backwards. LifeViewer suddenly got very unresponsive, though it didn't quite lock up.
Re: Life tag testing
Posted: March 14th, 2017, 2:01 am
by rowett
dvgrn wrote:The rule=MAP stuff looks good. I initially expected a space between "MAP" and the map string, but that seems to produce a VIEWONLY view of the pattern. It's a little odd that "MAP" is technically a series of characters that might be part of a rule string -- there might not be very many interesting rules where the string starts with MAP, but still it's kind of strange to have no delimiter there. I can see how a colon would be a bad delimiter, since it's used for something else. Maybe a space, though -- or a forward slash?
I originally was considering a delimiter. Space was ruled out early because I wanted a single token for the rule.
I had a quick chat with Andrew on the topic (since this is also implemented in Golly 2.9b2) and the feeling was MAP rules are most likely to be generated by scripts, so smaller is better. Happy to broaden the debate on the Golly discussion list, or I could just claim victory and release what's built
dvgrn wrote:The population graph looks really good, especially as it's being generated and adjusting itself in real time! The only issue I've run into so far is that when I graphed the
x = 2557, y = 73, rule = LifeHistory
pattern
here, the graph adjusted itself beautifully forwards in time at step=50, until it went flat. I ran it until the flat line was about as long as the interesting part... and then hit "b" to see what happened when I stepped backwards. LifeViewer suddenly got very unresponsive, though it didn't quite lock up.
I've seen step back run slow on occasion but never consistently. I presume LifeViewer did indeed step back and resume normal service after the pause?
Re: Life tag testing
Posted: March 14th, 2017, 8:34 am
by dvgrn
rowett wrote:I've seen step back run slow on occasion but never consistently. I presume LifeViewer did indeed step back and resume normal service after the pause?
Yup. And my computer isn't any too fast to start with. It's just an unreasonable test case -- that pattern, run at step=50 up to around T=4000 -- where LifeViewer runs out of snapshots and has to re-generate. It just works so well in the forward direction that one kind of get used to impressive speed and no wait time.
Looks good to release, as far as I can see. Like various too-long-to-read bills in Washington, D.C., maybe it's time to pass it so we can find out what's in it. I see you're creeping up on a quarter megabyte of Javascript -- LifeViewer has turned into quite a project...!
Re: Life tag testing
Posted: March 14th, 2017, 10:16 am
by rowett
Nathaniel,
Please will you upload build 222 to the forum and the Wiki?
Thanks!
Re: Life tag testing
Posted: March 14th, 2017, 5:58 pm
by Nathaniel
222 is now live on the forums and wiki. Thanks!
Re: Life tag testing
Posted: March 15th, 2017, 6:51 am
by dvgrn
Bother -- I seem to have tripped over a subtle bug with bounded universes combined with MAP rules:
Code: Select all
x = 37, y = 13, rule = MAPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/10:T50,49
o9bo9bo9bo$bo9bo9bo$2bo9bo$3bo$4bo15bo$5bo13bo$6bo11bo5bo$7bo9bo5bo$8b
o7bo5bo4bo$9bo5bo5bo4bo$o13bo5bo4bo4bo$13bo15bo$33bo2$5bo8bo$4b3o$3b5o
$4b3o12b2o$5bo13b2o$27b3o$o9bo16b3o$27b3o!
Notice that the nice diagonal rainbow-worms don't make it from the exact upper left corner to the lower right corner. And strangely, there also seems to be a worm-killing spot on the left edge.
It's very similar without the Generations suffix:
Code: Select all
x = 37, y = 13, rule = MAPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:T50,49
o9bo9bo9bo$bo9bo9bo$2bo9bo$3bo$4bo15bo$5bo13bo$6bo11bo5bo$7bo9bo5bo$8b
o7bo5bo4bo$9bo5bo5bo4bo$o13bo5bo4bo4bo$13bo15bo$33bo2$5bo8bo$4b3o$3b5o
$4b3o12b2o$5bo13b2o$27b3o$o9bo16b3o$27b3o!
... but I think the point of final disappearance is different for some reason. Also the Generations rule keeps running, where the plain-MAP rule says that Life ends at T=3434.
There's no problem with regular old totalistic rules --
Code: Select all
x = 25, y = 24, rule = B3/S23:T50,49
8b3o$3o5bo$o8bo$bo$22b3o$14b3o5bo$14bo8bo$15bo$7b3o$7bo$8bo2$21b3o$14b
3o4bo$6b3o5bo7bo$6bo8bo$7bo5$13b3o$13bo$14bo!
even when they're translated into MAP rules:
Code: Select all
x = 25, y = 24, rule = MAPARYXfhZofugWaH7oaIDogBZofuhogOiAaIDogIAAgAAWaH7oaIDogGiA6ICAAIAAaIDogIAAgACAAIAAAAAAAA:T50,49
8b3o$3o5bo$o8bo$bo$22b3o$14b3o5bo$14bo8bo$15bo$7b3o$7bo$8bo2$21b3o$14b
3o4bo$6b3o5bo7bo$6bo8bo$7bo5$13b3o$13bo$14bo!
Re: Life tag testing
Posted: March 16th, 2017, 4:12 am
by rowett
dvgrn wrote:Bother -- I seem to have tripped over a subtle bug with bounded universes combined with MAP rules
Thanks - Yes it's a LifeViewer bug and I have a fix. It works fine in Golly 2.9b2.
Re: Life tag testing
Posted: March 16th, 2017, 7:25 am
by rowett
Build 223 is now available on the
lazyslug server
Fixes in this build:
- fixed an issue with MAP rules and bounded grids - test
- fit zoom and thumbnail mode now work together
- graphs now display properly in thumbnail mode - test
- graph colors were incorrect on some browsers
Re: Life tag testing
Posted: March 16th, 2017, 1:20 pm
by dvgrn
Here's some interesting behavior in build 222, that I'd guess is probably still an issue in Build 223 -- haven't checked yet. Test inspired by
Saka, on the Testing Grounds thread.
In these examples, VIEWONLY gets triggered, but the AUTOSTART script command still works, so then the simulation can't be stopped... and in the second example, the pattern ends up being multi-state-looking (!):
Code: Select all
x = 9, y = 3, rule = MAP3141592653589793238462643383279502884197169399375105820974944592307816406286208998628
o!
#C [[ AUTOSTART AUTOFIT ]]
Code: Select all
x = 9, y = 3, rule = MAP3141592653589793238462643383279502884197169399375105820974944592307816406286208998628
oboobobob$booboboob$oboboobo!
#C [[ AUTOSTART AUTOFIT HISTORYFIT GPS 10 ]]
Works fine if you get the MAP string the right length --
Code: Select all
x = 9, y = 3, rule = MAP31415926535897932384626433832795028841971693993751058209749445923078164062862089986280
o!
#C [[ AUTOSTART AUTOFIT ]]
-- but if it's too long, you get the multi-color VIEWONLY behavior back again:
Code: Select all
x = 9, y = 3, rule = MAP314159265358979323846264338327950288419716939937510582097494459230781640628620899862803
o!
#C [[ AUTOSTART AUTOFIT ]]
It
is very easy to miscount MAP length, especially if you're doing silly things like use lines of Shakespeare for your MAP strings... for the 87-characters-and-longer case, would it be possible to give a more specific illegal-character error -- maybe "MAP string length must be 86, not {N}"?
Re: Life tag testing
Posted: March 16th, 2017, 1:56 pm
by rowett
Build 224 is now available on the
lazyslug server
Enhancements in this build:
- better error reporting for invalid MAP rules - test
Fixes in this build:
- AUTOSTART no longer runs patterns with invalid rules
Re: Life tag testing
Posted: March 17th, 2017, 5:11 pm
by rowett
Build 225 is now available on the
lazyslug server
Enhancements in this build:
- added script command [[ NOGRAPH ]] which disables the population graph
- slight performance increase when not tracking population
Fixes in this build:
- statistics generation was not being reset when new pattern loaded in existing viewer
Re: Life tag testing
Posted: March 17th, 2017, 5:12 pm
by rowett
Dave let's give it the weekend to see if any more MAP bugs appear and then do a release.
Re: Life tag testing
Posted: March 18th, 2017, 8:09 am
by dvgrn
rowett wrote:Dave let's give it the weekend to see if any more MAP bugs appear and then do a release.
Sounds reasonable. All looking good so far.
Meanwhile, the
Caterpillar has found its way into
a JavaScript-based simulator/editor running HashLife.
Now, it doesn't run the Caterpillar very
reliably -- it made both Internet Explorer and Chrome stop responding after a while, if I tried to stop after running for a while and then tried to click another button before it was ready. Some similar problems showed up with Gemini. But when the patterns were running, they were only an order of magnitude or so slower than Golly -- not too bad...!
Anything even vaguely reasonable sized does just fine. Loading arbitrary RLE patterns via copy/paste or from a local drive is supported, and also on-the-fly editing of any pattern.
Re: Life tag testing
Posted: March 18th, 2017, 10:44 am
by rowett
Yes it's not bad at all - a good port of the HashLife algorithm into native Javascript. Be interesting to see how it compares in performance to Molly (which is cross-compiled from the C/C++ via enscriptem into Javascript).
Re: Life tag testing
Posted: March 20th, 2017, 2:42 am
by rowett
Nathaniel,
Please will you upload build 225 to the forum and the Wiki?
Thanks!