Life tag testing

For scripts to aid with computation or simulation in cellular automata.
Locked
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Build 156 is now available on the lazyslug server.
...
Here is a map of the hotkeys.

This one is a candidate for release to conwaylife.com. Dave - please can you test it and let Nathaniel know if it's ready!
Looks good so far -- no tests in conwaylife.com context yet, just a quick pass through the lazyslug test page. I'll have time for a more thorough review maybe this weekend.

Those 16-or-so remaining unassigned hotkeys are starting to look kind of lonely.

The "b" hotkey seems to work quite well. The length-32 steps take a little getting used to -- e.g., if you use the space bar to go forward 63 ticks, you can run backward with "b" for 63 ticks -- but if you go 64 ticks, you can only back up as far as T=32.

Another detail I didn't quite expect is that if you're running forward with the space bar at a high step size -- x32 or whatever -- then "b" still backs up one step at a time. So in that case if you overstep by a couple of space-bar presses, you can't actually get back very far with the "b" key.

One more thing I noticed on the test page has to do with the function of the space bar:

1) Click on the "Search decoration" viewer, and hit "z" to put all the other viewers to sleep;
2) Keeping the cursor on the viewer, hold down the space bar.

For a long time the space bar just steps through the waypoints without actually showing the next generation -- and then "b" doesn't do anything if you step a little too far.

(There's also the problem that if you let the cursor drift off the viewer, most commonly after changing the step size at the bottom, the space bar suddenly jumps you to the next viewer on the page. Not sure if there's much you can do about that, though, besides warning people about the problem somehow.)
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

rowett wrote:Here is a map of the hotkeys.
dvgrn wrote:Those 16-or-so remaining unassigned hotkeys are starting to look kind of lonely.
Indeed. The reason I built the map was because it was getting difficult to remember which keys were still free when I needed a new hotkey! Depending on progress with Molly the next one could well be Molly-related.
dvgrn wrote:The "b" hotkey seems to work quite well. The length-32 steps take a little getting used to -- e.g., if you use the space bar to go forward 63 ticks, you can run backward with "b" for 63 ticks -- but if you go 64 ticks, you can only back up as far as T=32.
The implementation keeps two historic snapshots 32 generations apart (i.e. at T=[0,32] and then at T=[32,64] and then T=[64,96] and so on). Using only two snapshots keeps memory usage down and doesn't hurt performance too much since a snapshot is only created every 32nd generation.
When a pattern loads you have one snapshot at T=0. As you step forward (with SPACE or otherwise) a second snapshot is added as you reach T=32. If you get to T=63 then you can step all the way back to T=0 since the snapshots at that point are T=[0,32].
If however you step to T=64 then the T=0 snapshot is replaced and you have T=[32,64]. At this point you can only step back to T=32.
I did think about limiting you to only go back 32 steps (which might be more intuitive since it would be consistent) but I thought it was helpful to allow you to step back as many as were available.
Note that the selection of 32 as the snapshot interval is mainly related to performance since when you press "b" it restores the previous snapshot and then computes the generations from there up to T-1. Computing 31 generations is normally not noticeable (given a moderate pattern size and computer).
If you'd like this raised let me know.
dvgrn wrote:Another detail I didn't quite expect is that if you're running forward with the space bar at a high step size -- x32 or whatever -- then "b" still backs up one step at a time. So in that case if you overstep by a couple of space-bar presses, you can't actually get back very far with the "b" key.
Yes I did debate whether to tie the step back function to the current step size. It's trivial to do but would certainly warrant increasing the snapshot interval. Again, let me know what you'd prefer. Larger snapshot interval = slower step back performance.
dvgrn wrote:One more thing I noticed on the test page has to do with the function of the space bar:

1) Click on the "Search decoration" viewer, and hit "z" to put all the other viewers to sleep;
2) Keeping the cursor on the viewer, hold down the space bar.

For a long time the space bar just steps through the waypoints without actually showing the next generation -- and then "b" doesn't do anything if you step a little too far.
In this scenario the SPACE bar is behaving as designed. It's stepping through the pattern but respecting the waypoints. For PAUSE waypoints that means it steps forward a time interval (respecting the current gps) rather than one or more generations.
The "b" hotkey doesn't currently deal very well with waypoints. In a future build it will more closely implement the SPACE behaviour (albeit backwards).
dvgrn wrote:(There's also the problem that if you let the cursor drift off the viewer, most commonly after changing the step size at the bottom, the space bar suddenly jumps you to the next viewer on the page. Not sure if there's much you can do about that, though, besides warning people about the problem somehow.)
This is default browser behaviour. SPACE does page down. In a very early build I used to warn when a viewer lost focus but by mutual agreement this warning was hidden (since it was annoying).
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Yes I did debate whether to tie the step back function to the current step size. It's trivial to do but would certainly warrant increasing the snapshot interval. Again, let me know what you'd prefer. Larger snapshot interval = slower step back performance.
I suspect you've probably played around with the possibilities and found a pretty good snapshot interval, so I won't try to second-guess that. However, it's definitely a corollary of Murphy's Law that the backwards step that I want to see will tend to be one step farther than the viewer allows!

In that case, I wouldn't mind too much if the backward step were kind of slow. I'd still rather be able to hit "b" and wait for a second or two -- maybe with a "Recalculating..." type message if the backtracking will take too long. One "b" keystroke and an under-five-second delay would still be a huge improvement over hitting Reset and having to manually run forward to the generation I want, all over again.

My initial reaction is that the step-back function should be tied to the step size. If I'm running at x30, the thing that I barely missed that I want to go back and see will be at T-30, not T-1.

That maybe argues for automatically setting the snapshot distance to some multiple of the step size. 32 times step size might be too much, though, since you'd have to run over 600 ticks from the T-(30*32) snapshot to get to T-30. Backtracking would be slow, then faster, then slow again when the T-(30*64) snapshot has to be used.

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

I definitely see the problem with taking too many snapshots and eating up memory unnecessarily, though, especially for longer-running patterns. Might it make sense to keep snapshots taken at increasing intervals -- T=0, T=32, T=96, T=224, T=480, etc.? And/or just make new snapshots whenever they're needed?

If you generate snapshots only on demand, then the first time you run backward and forward over a given time interval, the "b" key might be a little slow -- maybe it even has to go back and run the pattern from near the beginning to get a good snapshot starting point.

But after that, it would be really fast to run forward and backward in the interesting time slice. I do this kind of thing in Golly a lot, using Space and Ctrl+Z. Most interesting reactions probably take less than 64 ticks, so the current two snapshots might well be enough.

Another idea might be to only bother generating those backtracking snapshots during idle time when a pattern is paused. When I'm looking at a reaction, I tend to spend a lot of time panning or zooming or just looking at the viewer -- there would usually be plenty of idle cycles, during which the viewer could go back and calculate the T-64 and T-32 snapshots, hopefully without becoming noticeably unresponsive.

-- Or is that too much of a headache for Javascript? It wouldn't need to be multi-threaded or anything -- would just have to obsessively check for input while running a copy of the initial pattern back up to T-64. Maybe that part of the backtracking system ought to be disabled for T>10,000 or something, but it seems as if it would work well for reasonable sized time slices...?
rowett wrote:The "b" hotkey doesn't currently deal very well with waypoints. In a future build it will more closely implement the SPACE behaviour (albeit backwards).
My only suggestion there is that the space bar doesn't really need to visit every time interval inside a PAUSE. Seems as if it might as well jump straight to the next actual change -- i.e., the next waypoint after the PAUSE. Otherwise, even a short pause in a waypoint script will near-disable the spacebar for a long time, with just the slow creep of the T progress bar to show that anything is happening.

P.S. Just noticed the undocumented "b" hotkey in build 154, which shows 16x16 tiles currently in use. Did that move to another key?
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:P.S. Just noticed the undocumented "b" hotkey in build 154, which shows 16x16 tiles currently in use. Did that move to another key?
No it was just there to help me build and debug the tile system and then was removed. If you think it's interesting I could resurrect it.
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 157 is now available on the lazyslug server.

Enhancements in this build:
  • increased step back function (hotkey "b") to a maximum of 512 generations and slightly improved performance
  • step back function now uses the current step size to determine how far to step back
  • added keyword [[ NOSTEPBACK ]] to disable step back function (improves smooth playback) - see here for example
  • added snapshot details to help information
  • arrow keys now use the zoom level to determine how far to pan the pattern
  • shift key with the arrow keys now pans diagonally
  • improved handling for non-hotkeys
Fixes in this build:
  • updated pattern decoder did not respect "Life" rule name
  • patterns with x and y defined but no rule were not defaulting to Life rule
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Build 157 is now available on the lazyslug server.
Looks really good so far. The only odd thing I've noticed so far is that when I'm running the "Waypoints with STEP changes" item on the test page, a PAUSE 1 seems to take several seconds. With so many auto-running viewers on the same page, are the snapshots adding up to too much memory? Or has the test page been running slow for a while?

I hit "Z" to turn off other viewers, but haven't tried moving the "Waypoints with STEP changes" script to its own page yet. Further bulletins as events warrant.

Nathaniel, is there anything getting in the way of a new release sooner rather than later? The new b-for-backward function is definitely worth advertising -- and probably worth getting more eyes on, to see if any commonly used browsers seem to have trouble with the extra overhead (?).
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:The only odd thing I've noticed so far is that when I'm running the "Waypoints with STEP changes" item on the test page, a PAUSE 1 seems to take several seconds. With so many auto-running viewers on the same page, are the snapshots adding up to too much memory? Or has the test page been running slow for a while?
It's been running slow for a while. There are 65 viewers on the test page of which about 14 are running when the page loads (via AUTOSTART). Since they're all on the one page the browser will only be using one CPU core to run them (Javascript is single-threaded). We're CPU bound.

Assuming a 1024x1024 grid (the default size) the snapshots in total add about 2.3Mb per viewer and a snapshot is only taken every 256 generations so the overhead shouldn't be significant.
User avatar
Nathaniel
Site Admin
Posts: 904
Joined: December 10th, 2008, 3:48 pm
Location: New Brunswick, Canada
Contact:

Re: Life tag testing

Post by Nathaniel »

dvgrn wrote:Nathaniel, is there anything getting in the way of a new release sooner rather than later? The new b-for-backward function is definitely worth advertising -- and probably worth getting more eyes on, to see if any commonly used browsers seem to have trouble with the extra overhead (?).
Nope, no good reason -- sorry for the delay. Build 157 is now up on conwaylife.com. Just the start of semester around here so I hadn't been as good at checking the forums as I try to be.

In general, if I'm being unreasonably slow, just send me an e-mail. I'm anal about my e-mail, so it'll bug me until I take care of whatever it is.
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

Nathaniel wrote:Nope, no good reason -- sorry for the delay. Build 157 is now up on conwaylife.com.
Oops, well, no need for apologies; it looks like I haven't been doing my job properly either. Usually I save a sample long thread as an HTML page and swap in the new viewer to make sure everything seems to be working in context.

It turns out that Build 157 breaks executable LifeHistory functionality. It looks like all LifeHistory patterns are showing up without any viewer controls, just like the [[ VIEWONLY ]] option but without the multiple colors. It was doing this on the test page, too, but I didn't see it because the initial view looked correct.

It will probably be best to drop back to a previous build and wait for a Build 158 -- unfortunately, because the step-back functionality appears to work very nicely. I don't know, maybe nobody except for me will miss executable LifeHistory patterns for a few days...!

Code: Select all

x = 258, y = 110, rule = LifeHistory
70.12D$67.17D$65.8D6.5D$64.6D12.2D$63.6D$62.5D$61.5D$60.6D$60.5D$59.
5D53.5D.8D7.9D13.9D14.9D$59.5D26.4D12.5D6.14D5.13D9.13D10.13D$59.5D
26.4D12.5D6.9D2.3D4.5D4.5D7.7D3.6D8.5D4.5D$58.5D27.4D12.5D6.8D9.5D7.
3D7.5D6.6D6.5D7.3D$58.5D27.4D12.5D6.7D9.5D17.5D8.5D5.5D$58.5D27.4D12.
5D6.6D10.5D16.5D10.5D4.5D$58.5D27.4D12.5D6.6D10.5D16.4D11.5D4.5D$58.
5D27.4D12.5D6.6D10.5D15.5D12.4D4.5D$58.5D27.4D12.5D6.5D11.5D15.5D12.
5D3.5D$58.5D27.4D12.5D6.5D12.5D14.4D13.5D4.5D$58.5D27.4D12.5D6.5D12.
6D13.4D13.5D4.6D$58.5D27.4D12.5D6.5D13.7D10.23D5.7D$58.5D27.4D12.5D6.
5D14.8D8.23D6.8D$58.5D27.4D12.5D6.5D16.8D6.5D26.8D$59.5D26.4D12.5D6.
5D18.7D5.5D28.7D$59.5D26.4D12.5D6.5D20.6D5.4D30.6D$59.6D25.4D12.5D6.
5D22.5D4.4D32.5D$60.5D25.5D11.5D6.5D22.5D4.5D31.5D$61.5D24.5D11.5D6.
5D23.4D4.5D32.4D$61.6D23.5D10.6D6.5D23.4D4.5D32.4D$62.6D22.5D10.6D6.
5D23.4D5.5D31.4D6.5D$63.7D11.3D7.5D8.7D6.5D22.5D5.6D10.4D15.5D5.5D$
65.7D6.6D7.6D6.8D6.5D11.3D8.5D6.6D8.5D4.3D8.5D5.5D$66.18D8.6D3.10D6.
5D11.6D3.6D8.7D3.7D5.6D3.6D6.4D$69.12D12.18D6.5D11.14D10.15D6.14D6.5D
$95.9D31.10D14.10D11.10D8.5D$198.4D$197.5D$197.5D$197.4D$197.4D24$8.
8A40.5A48.5C$7.9A40.5A48.5C$6.5A2.3A29.5A6.5A48.5C98.5A35.5A$5.5A35.
6A5.5A48.5C98.6A34.5A$5.5A35.6A5.5A48.5C98.6A34.5A$5.4A36.5A6.5A48.5C
98.5A35.5A$4.5A47.5A48.5C138.5A$4.5A47.5A48.5C138.5A$4.5A47.5A48.5C
138.5A$4.5A47.5A48.5C138.5A$4.5A47.5A48.5C138.5A$4.5A14.10A23.5A12.9A
16.9C2.5C25.10A16.9C18.10A29.8A13.5A$15A6.14A10.5A6.5A10.13A12.18C23.
13A13.18C9.13A9.5A6.5A.12A11.5A$15A5.6A4.7A8.5A6.5A8.7A3.6A10.6C3.10C
21.7A3.6A11.6C3.10C7.7A3.6A8.5A6.10A3.6A10.5A$4.5A10.5A8.6A7.5A6.5A8.
5A6.6A8.5C7.8C21.5A7.5A9.5C7.8C7.5A7.5A7.5A6.8A7.5A9.5A$4.5A9.5A10.5A
7.5A6.5A7.5A8.5A7.5C9.7C21.3A10.5A7.5C9.7C7.3A10.5A6.5A6.7A8.5A9.5A$
4.5A8.5A12.5A6.5A6.5A6.5A10.5A5.5C11.6C34.5A6.5C11.6C20.5A6.5A6.6A10.
5A8.5A$4.5A8.5A13.4A6.5A6.5A6.4A11.5A5.5C11.6C34.5A6.4C13.5C20.5A6.5A
6.6A10.5A8.5A$4.5A7.5A14.5A5.5A6.5A5.5A12.4A4.5C13.5C35.4A5.5C13.5C
21.4A6.5A6.5A11.5A8.5A$4.5A7.5A14.5A5.5A6.5A5.5A12.5A3.5C13.5C35.4A5.
5C13.5C21.4A6.5A6.5A12.4A8.5A$4.5A7.4A16.4A5.5A6.5A5.4A13.5A3.4C14.5C
35.4A5.4C14.5C21.4A6.5A6.5A12.4A8.5A$4.5A7.4A16.4A5.5A6.5A5.4A13.5A3.
4C14.5C31.8A5.4C14.5C17.8A6.5A6.5A12.4A8.5A$4.5A6.5A16.5A4.5A6.5A4.
23A2.5C14.5C26.13A4.5C14.5C12.13A6.5A6.5A12.4A8.5A$4.5A6.5A16.5A4.5A
6.5A4.23A2.5C14.5C23.11A.4A4.5C14.5C9.11A.4A6.5A6.5A12.4A8.5A$4.5A6.
5A16.5A4.5A6.5A4.5A20.5C14.5C21.7A7.4A4.5C14.5C7.7A7.4A6.5A6.5A12.4A
8.5A$4.5A6.5A16.5A4.5A6.5A4.5A20.5C14.5C20.5A10.4A4.5C14.5C6.5A10.4A
6.5A6.5A12.4A8.5A$4.5A7.4A16.4A5.5A6.5A5.4A20.5C14.5C20.4A11.4A5.4C
14.5C6.4A11.4A6.5A6.5A12.4A$4.5A7.4A16.4A5.5A6.5A5.4A21.4C14.5C19.5A
11.4A5.4C14.5C5.5A11.4A6.5A6.5A12.4A$4.5A7.5A14.5A5.5A6.5A5.5A20.5C
13.5C19.5A10.5A5.5C13.5C5.5A10.5A6.5A6.5A12.4A$4.5A7.5A14.5A5.5A6.5A
5.5A20.5C13.5C19.4A11.5A5.5C12.6C5.4A11.5A6.5A6.5A12.4A$4.5A8.5A13.4A
6.5A6.5A5.5A20.5C12.6C19.5A10.5A6.5C11.6C5.5A10.5A6.5A6.5A12.4A$4.5A
8.5A12.5A6.5A6.5A6.5A20.5C11.6C19.5A9.6A6.5C10.7C5.5A9.6A6.5A6.5A12.
4A$4.5A9.5A10.5A7.5A6.5A6.6A10.4A5.6C9.7C19.5A8.7A7.6C7.8C5.5A8.7A6.
5A6.5A12.4A8.5A$4.5A10.5A8.5A8.5A6.5A7.6A8.5A6.6C7.8C20.5A6.8A8.6C4.
10C6.5A6.8A6.5A6.5A12.4A7.7A$4.5A11.6A4.7A8.5A6.5A8.7A3.7A8.6C4.10C
20.6A3.10A9.19C6.6A3.10A6.5A6.5A12.4A7.7A$4.5A12.14A10.5A6.5A9.15A10.
13C.5C21.12A2.4A11.9C3.5C7.12A2.4A6.5A6.5A12.4A8.5A$23.10A39.10A15.9C
31.9A30.5C9.9A$176.5C$176.5C$175.5C$175.5C$174.6C$174.5C$159.4C9.6C$
159.6C5.7C$160.16C$163.10C!
[[ THUMBNAIL ]]
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:It turns out that Build 157 breaks executable LifeHistory functionality. It looks like all LifeHistory patterns are showing up without any viewer controls, just like the [[ VIEWONLY ]] option but without the multiple colors. It was doing this on the test page, too, but I didn't see it because the initial view looked correct.

It will probably be best to drop back to a previous build and wait for a Build 158 -- unfortunately, because the step-back functionality appears to work very nicely. I don't know, maybe nobody except for me will miss executable LifeHistory patterns for a few days...!
Fixed for build 158 which is close. Should be ready tomorrow (and this time I mean really tomorrow...) so probably worth waiting if you can bear it. Build 158 also includes some performance and memory usage optimizations and an even better version of the step back function.
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Fixed for build 158 which is close. Should be ready tomorrow (and this time I mean really tomorrow...) so probably worth waiting if you can bear it. Build 158 also includes some performance and memory usage optimizations and an even better version of the step back function.
Okay, I posted a quick note about the temporary LifeHistory glitch on the public pattern-viewer thread.

Nobody seems to be complaining too much yet. Anyway, there are only a few active topics where the posts are usually in LifeHistory instead of in B3/S23 or some other rule.

Any plans to include the LifeHistory color view for T=0 only, for executable patterns? Not that I want to slow down Build 158, but that would be really nice to have. I keep running into cases where I'm tempted to post the same pattern twice, so as to be able to see the LifeHistory labels but not have the pattern permanently disabled from running.
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 158 is now available on the lazyslug server.

Enhancements in this build:
  • improved performance of the step back function
  • notification system now discards duplicate notifications
  • significant performance optimizations for allocating, copying and growing the grids
  • added keyword [[ TITLE "<string>" ]] that allows you to specify the window title for the standalone viewer (up to 30 characters)
  • modified the title on the standalone viewer
Fixes in this build:
  • LifeHistory patterns would not execute
  • rules were incorrectly decoding if no space between the equals sign and the rule definition
  • the title on the standalone viewer was not centered correctly
  • NOSTEPBACK was not being reset when new patterns were opened in the standalone viewer
dvgrn wrote:Any plans to include the LifeHistory color view for T=0 only, for executable patterns? Not that I want to slow down Build 158, but that would be really nice to have. I keep running into cases where I'm tempted to post the same pattern twice, so as to be able to see the LifeHistory labels but not have the pattern permanently disabled from running.
Sadly not... It's still on the backlog but I'm also working on the Molly integration.

Please check this new build and if it's good to go then let Nathaniel know and I'll post an announcement.
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Build 158 is now available on the lazyslug server.
...
Please check this new build and if it's good to go then let Nathaniel know and I'll post an announcement.
The LifeHistory problem is fixed, thanks.

With Build 157 on the forums I'm seeing a problem that I don't remember from previous builds. Both the standalone and inline viewers have a significant wobble in the controls -- sometimes a vertical line in a button will be two pixels wide, sometimes one pixel, unpredictably. It's very visible on my system when running the test pattern below. It seems as if the colors on the buttons also flicker unpredictably sometimes.

I don't see this with Build 158, but that's just looking at the narrower viewers on the test page. I'll patch in a Build 158 to a saved forum page and report back if the problem has mysteriously vanished.

On this pass through the test page I noticed a problem with the "Viewer?" test. The pattern runs in Golly, but comes up as "Invalid pattern!" in the viewer because of trailing tab characters that are theoretically in the post-RLE "don't care" zone:

Code: Select all

x = 4, y = 7, rule = B3678/S23
2o$2o$2o2$2b2o2$b2o$2b2o!
			
Also the "Big zoom AUTOFIT" test throws an error, but I think that's just a mistake in the script -- should be

Code: Select all

x = 826, y = 829, rule = B3/S23
2o2b3o$2o2bo$5bo14$30b3o$30bo$31bo34$32b3o$32bo$33bo14$70b3o$70bo$71bo
14$54b3o$54bo$55bo14$105b3o$105bo$106bo14$89b3o$89bo$90bo14$137b3o$
137bo$138bo14$118b3o$118bo$119bo14$177b3o$177bo$178bo14$142b3o$142bo$
143bo14$206b3o$206bo$207bo14$187b2o$186b2o$188bo14$235b2o$234b2o$236bo
19$207b3o$207bo$208bo9$268b3o$268bo$269bo9$256b3o$256bo$257bo19$298b3o
$298bo$299bo30$330b3o$330bo$331bo6$308b3o$308bo$309bo18$331b3o$331bo$
332bo2$363b2o$362b2o$364bo14$358b3o$358bo$359bo14$407b3o$407bo$408bo
14$391b3o$391bo$392bo14$424b2o$423b2o$425bo14$415b2o$414b2o$416bo14$
468b3o$468bo$469bo14$454b3o$454bo$455bo14$489b3o$489bo$490bo14$474b2o$
473b2o$475bo14$514b3o$514bo$515bo14$499b3o$499bo$500bo14$544b3o$544bo$
545bo14$543b3o$543bo$544bo14$593b3o$593bo$594bo26$598b3o$598bo$599bo2$
625b3o$625bo$626bo14$616b3o$616bo$617bo14$667b3o$667bo$668bo14$637b3o$
637bo$638bo14$669b3o$669bo$670bo14$669b3o$669bo$670bo14$704b3o$704bo$
705bo14$698b3o$698bo$699bo14$744b3o$744bo$745bo14$723b3o$723bo$724bo
14$764b3o$764bo$765bo14$763b3o$763bo$764bo36$823b3o$823bo$824bo!
[[ AUTOSTART X 0 Y 0 ZOOM .5 THEME 9 LOOP 3400 ]]
[[ PAUSE 1 "Zooming in starting at T=200..." ]]
[[ T 200 ]]
[[ T 3200 AUTOFIT ]]
As the next "Big zoom" test shows, zooming in with manually set waypoints is much smoother, but it doesn't keep the target waypoint in view through the whole zoom.

The "Waypoint AUTOSTART and two line text and no X and Y and invalid 3 line text" displays the "\n" and the invalid third line, but that's probably by design. While I'm thinking of it, why exactly do test-page viewers have a default width of 480 and a maximum width of 1024, where the forum viewers have a default width of 656 and a maximum width of 800? Does this have to do with the size of the frame that the viewer is fitting itself into?

I don't understand the first "Odd multi-state colors" test. Everything seems to work fine there, though.

Haven't quite gotten all the way through the test page yet, but it seems worth sending along what I have so far. Will post an update with anything else I run across.
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:With Build 157 on the forums I'm seeing a problem that I don't remember from previous builds. Both the standalone and inline viewers have a significant wobble in the controls -- sometimes a vertical line in a button will be two pixels wide, sometimes one pixel, unpredictably. It's very visible on my system when running the test pattern below. It seems as if the colors on the buttons also flicker unpredictably sometimes.
I haven't changed anything to do with the controls (or their rendering). What browser zoom level are you using? It could be changes in the browser and how it draws images at scale.
On this pass through the test page I noticed a problem with the "Viewer?" test. The pattern runs in Golly, but comes up as "Invalid pattern!" in the viewer because of trailing tab characters that are theoretically in the post-RLE "don't care" zone:

Code: Select all

x = 4, y = 7, rule = B3678/S23
2o$2o$2o2$2b2o2$b2o$2b2o!
			
It's actually nothing to do with the trailing tabs (which are ignored). It's because the specified size (x = 4, y = 7) is incorrect. The pattern is actually x = 4, y = 8. I've put an item on the backlog to have LifeViewer cope with badly specified dimensions in patterns. Ironically if the header is omitted it would work since it will then compute the size.
dvgrn wrote:Also the "Big zoom AUTOFIT" test throws an error, but I think that's just a mistake in the script
No it's meant to throw an error. I was using it to test an error condition when both AUTOFIT and X and/or Y are specified.
dvgrn wrote:As the next "Big zoom" test shows, zooming in with manually set waypoints is much smoother, but it doesn't keep the target waypoint in view through the whole zoom.
That's by design. It's doing exactly what the waypoints specified. For the behaviour you're after you should use AUTOFIT as in the example above.
dvgrn wrote:The "Waypoint AUTOSTART and two line text and no X and Y and invalid 3 line text" displays the "\n" and the invalid third line, but that's probably by design.
Correct, it's by design.
dvgrn wrote:While I'm thinking of it, why exactly do test-page viewers have a default width of 480 and a maximum width of 1024, where the forum viewers have a default width of 656 and a maximum width of 800? Does this have to do with the size of the frame that the viewer is fitting itself into?
Yes, exactly.
dvgrn wrote:I don't understand the first "Odd multi-state colors" test. Everything seems to work fine there, though.
It's just got the wrong name (when I was cut and pasting). It's actually testing a non-Conway Life rule which works.
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:I haven't changed anything to do with the controls (or their rendering). What browser zoom level are you using? It could be changes in the browser and how it draws images at scale.
Ah, of course. Yes, that tab was set at 125%, and resetting it to 100% fixes the problem nicely. I should have thought of that...
rowett wrote:I've put an item on the backlog to have LifeViewer cope with badly specified dimensions in patterns. Ironically if the header is omitted it would work since it will then compute the size.
My experience has been that there's pretty much never any drawback to simply ignoring the values after the x= and y=.

The only exception I can think of is when a region is deliberately selected to be larger than the pattern containing it (happens sometimes when you want to paste in "copy" mode in Golly, to blank out an area). The blank space at the top and left is encoded by extra $ and b characters, but at the right and bottom the usual way to encode an empty area is by increasing the bounding-box numbers (though it could be done with more b and $ characters, of course). But this exception doesn't matter much for LifeViewer purposes.

Those x and y values are wrong surprisingly often in pre-Golly pattern collections. For example, one of the last versions of Johan Bontes' Life32, v2.16 I think, would regularly produce copied patterns with the wrong bounding boxes, often with negative numbers.
dvgrn wrote:I don't understand the first "Odd multi-state colors" test. Everything seems to work fine there, though.
It's just got the wrong name (when I was cut and pasting). It's actually testing a non-Conway Life rule which works.[/quote]
Along similar lines, the "Multi-state LifeHistory with AUTOSTART and no VIEWONLY and some custom colours" actually is non-LifeHistory (the rule is called "HelloChris") and shows up as VIEWONLY in spite of the title.

Looks like you're up to 12 snapshots now, 32 ticks apart. I still might prefer to have a slight hiccup as the viewer takes the time to regenerate previous snapshots from the initial pattern, at least when I hit 'b' for the second time after the "No previous generation" message. But the current functionality definitely handles 99% of the cases where backtracking is useful. So really at most I'm just suggesting another low-priority item for the backlog...!

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

@Nathaniel: I've done a quick sanity test of Build 158 with a saved copy of a page of messages from the forums, and everything seems to be back in working order. Should be good to go up on conwaylife.com whenever you get a moment.
User avatar
Nathaniel
Site Admin
Posts: 904
Joined: December 10th, 2008, 3:48 pm
Location: New Brunswick, Canada
Contact:

Re: Life tag testing

Post by Nathaniel »

Build 158 is live.
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:Looks like you're up to 12 snapshots now, 32 ticks apart. I still might prefer to have a slight hiccup as the viewer takes the time to regenerate previous snapshots from the initial pattern, at least when I hit 'b' for the second time after the "No previous generation" message. But the current functionality definitely handles 99% of the cases where backtracking is useful. So really at most I'm just suggesting another low-priority item for the backlog...!
Noted, it's on the backlog.
For the record Build 158 uses up to 17 snapshots, 32 ticks apart, which means even at a STEP of 32 you can go back 16 steps.
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Nathaniel wrote:Build 158 is live.
Thanks Nathaniel!
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 159 is available on the lazyslug server.

Enhancements in this build:
  • improved LifeHistory playback support
  • added a "step back" button to the UI
  • pause button image becomes "step forward" when paused
  • step back function hotkey "b" will now pause execution if running
  • added a help button to the UI
  • LifeViewer plugin build number now at the top of the help text
Fixes in this build:
  • incorrect generation for playback after reset related to step back function
  • failed to read rules where one of the sections was empty
  • fixed overflow in mouse wheel zoom (caused minor jump at zoom extremities)
  • opening a new pattern in the standalone viewer was not resetting the stars mode
Dave, this build is probably good to release.
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Build 159 is available on the lazyslug server.
...
Dave, this build is probably good to release.
Agreed -- it's releasable. @Nathaniel, even if a Build 160 is coming along fairly soon, I think Build 159 could go live any time you have a spare moment.

I did a quick check with a page from the forums. Didn't see any new problems, just the one odd detail mentioned on the public viewer thread, of seeing T=0 states instead of current states when the scale is below 1x.
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:Agreed -- it's releasable. @Nathaniel, even if a Build 160 is coming along fairly soon, I think Build 159 could go live any time you have a spare moment.

I did a quick check with a page from the forums. Didn't see any new problems, just the one odd detail mentioned on the public viewer thread, of seeing T=0 states instead of current states when the scale is below 1x.
Build 160 is now available on the lazyslug server.

Fixes in this build:
  • improved LifeHistory display at zoom < 1x
Ready to release :)
User avatar
dvgrn
Moderator
Posts: 11980
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:
dvgrn wrote:Agreed -- it's releasable. @Nathaniel, even if a Build 160 is coming along fairly soon, I think Build 159 could go live any time you have a spare moment...
Build 160 is now available on the lazyslug server.
...
Ready to release :)
I second the motion. Just did a quick re-check on my sample forum page and on the lazyslug server test pages, and everything looks great as far as I can see so far.
User avatar
Nathaniel
Site Admin
Posts: 904
Joined: December 10th, 2008, 3:48 pm
Location: New Brunswick, Canada
Contact:

Re: Life tag testing

Post by Nathaniel »

Build 160 is up!
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Nathaniel wrote:Build 160 is up!
Once again, many thanks!
User avatar
rowett
Moderator
Posts: 4570
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Dave,
I believe I've got LifeHistory state 6 working in LifeViewer. Do you have some example patterns I can use to test it please?
Locked