Enhancements in this build:
- added [[ SUPPRESS ]] which suppresses overwrite error message for duplicate definitions once - test
- help information now marks current POI with a *
- [[ WIDTH ]] and [[ HEIGHT ]] are now checked for duplicate definitions
Hmm, it looks like my regression testing was substandard again.rowett wrote:Excellent - thanks!
Ah, well, you can roll out a fix to this along with the LTL update -- that will help motivate you to finish LTL faster (ahem). It's not like very many people except for me use LifeHistory anyway, and it's only the initial view, and the state-2 cells, that are little off -- once a pattern is running it's almost back to normal, except for the blue shadow one cell too far south.rowett wrote:Oops. I have a sneaking suspicion I know how I broke it. I’ll take a look this evening when I’m back home.
Another distraction just when I was about to finally finish LTL... :wink:
Both state 2 and state 6 cells were off one cell south-east. State 2 was cosmetic but state 6 broke patterns.dvgrn wrote:It's not like very many people except for me use LifeHistory anyway, and it's only the initial view, and the state-2 cells, that are little off -- once a pattern is running it's almost back to normal, except for the blue shadow one cell too far south.
Code: Select all
x=7, y=3, h=-4, v=0
2o2b3o$b2obo$o4bo!Anyway, here's a fairly complete description of the format:In a private email, hkoenig wrote:That server is an old PowerPC MacMini that’s been running since 2006. It’s served its purpose, and I figure as long as it still works, I’ll keep it up. I don’t think I’ve made any modifications to the various parts that generate the pages in the last 5 years, and the OS hasn’t been updated in even longer, so not surprising that it mostly still works. I was going to take it down a few years ago, but then a book on Life was published that referenced it, so I decided to not kill the links there so soon.
The problem is that the custom CGI PowerPC binaries won’t run on any recent system. And I don’t think I even have some of the tools I’d need to convert/modernize them. I definitely know I’ve forgotten all the little tricks in getting such addons to work with Apache.
Here's a sample use, from this LifeNews page. Notice the multiple layers! All but the first layer are silently ignored by Golly and every other CA viewer/editor in existence, as far as I know.* * * * * * *
LifeViewer.acgi format specs (incomplete)
each layer has rle header of the form
x=nnn, y=nnn [,h=nnn, v=nnn, color=(rrr,ggg,bbb), gen=nnn, rule=Sn/Bn]
commas and whitespace are optional, but recommended. Either can be a delimiter.
h,v = the offset for a particular pattern from the first pattern, positive right, down.
Can be used in first layer to specify to Life editor programs absolute position
of pattern.
color = the color to be used with this layer. Default is 2nd layer green (0,255, 0)
and 3rd layer blue (0, 0, 255). Layers after that are undefined. Values
are decimal.
gen = Used by Life editor programs, ignored in lifeviewer.
rule = Used by Life editor programs , ignored in lifeviewer.
Following the last layer are formatting commands, one per line.
GP {NW | SW | NE | SE | N | S | E | W} X="nnn", Y="nnn", LEN="nnn", COLOR=(rrr,ggg,bbb)
Glider path
Startng at specified cell, draw a 1 pixel wide line in the direction
and length in cells specified. (Not yet implemented for spaceships (NSEW).)
COLOR -- optional. Default is (255, 255, 0), yellow.
G {NW | SW | NE | SE | N | S | E | W} X="nnn", Y="nnn", COLOR=(rrr,ggg,bbb)
Glider -- Draw a small (4x4 pixels) arrow in the specified direction at the
specified cell.
COLOR -- optional. Default is (255, 0, 0), red. (Actually, not implemented)
VL vvv, [{*|ttt}, {*|bbb}, COLOR=(rrr,ggg,bbb)
Vertical line -- Draw cell wide vertical line.
ttt and bbb parameters specify top and bottom, with "*" meaning
image edge. if not specified, equivalent to "*".
COLOR -- optional. Default is (200, 200, 200)
HL hhh, [{*|rrr}, {*|lll}, COLOR=(rrr,ggg,bbb)
Horizontal line -- See Vertical line
CB lll, ttt, rrr, bbb, KEY="xxx"
Cell Border -- expand image size by the number of cells specified. Affects any "*"
params in other format commands.
KEY -- Optional, Only display title value matches CGI "&drawkey=" parameter, for us
with "lifetable.acgi".
PB
Pixel Border (unimplemented)
A {NW | SW | NE | SE | N | S | E | W} X=nnn, Y=nnn
Arrow -- draw a gray 13x13 pixel arrow image centered on the cell specified.
(Arrow image should be transparent someday. but currently has a white
border. Also, a URL might be nice.)
L cc X=nnn, Y=nnn, TEXT="xxx", SIZE=nn, COLOR=(rrr,ggg,bbb)
Label
cc -- two character code specifying how the label is to be drawn from the
specified cell center. Either order, but must be at least one of each of
the following triplets--
L Left
R Right
C Center
T Top
B Bottom
M Middle
SIZE -- Optional Font size, default = 9
COLOR -- Optional. Default is (0,0,0) Black.
FR [F] LIST=(xxx,yyy),(xxx,yyy)... , COLOR=(rrr,ggg,bbb)
Frame -- Draw a one pixel wide frame from the given list of cells. List must closed
manually.
F -- Fill with the given color
COLOR -- Optional. Default is (0,96,192).
T {T|B} TEXT="xxx" SIZE=nn COLOR=(rrr,ggg,bbb) KEY="xxx"
Title -- draw a centered title
T | B -- Position title at top or bottom, required
SIZE -- Optional Font size, default = 9
COLOR -- Optional. Default is (0,0,0) Black.
KEY -- Optional. Only display title value matches CGI "&drawkey=" parameter.
R {*|lll}, {*|ttt}, {*|rrr}, {*|bbb}, COLOR=(rrr,ggg,bbb)
Rectangle -- Fill the selected set of cells with the color selected.
* -- use value that would extend rectangle to edge.
COLOR -- optional. Default is (200, 200, 200)
Code: Select all
#C 11 gliders -> 17P2.198
#C D.Hickerson
x=62, y=84, color=(64,0,0)
59bobo$59b2o$60bo20$24bo$23bo$23b3o32$bo$2bo$3o2$7bo$8bo3bo6bobo$6b3ob2o7b
2o$11b2o7bo2$20b2o$20bobo$4bo15bo$2bobo$3b2o2$4bo$4b2o$3bobo7$4b2o$5b2ob3o$4b
o3bo$9bo!
x=8, y=6, h=4, v=74, gen=328 ,color=(0,224,0), alpha=196
2b2o$3bo2bo$2obobobo$3bobobo$bobo2bo$2b2o!
x=73, y=84, h=-11, v=0, color=(0,0,0), alpha=48
71bo$69bo2bo$68b3o$67b4o$66b4o$65b4o$64b4o$63b4o$62b4o$61b4o$60b4o$59b4o$58b
4o$57b4o$56b4o$55b4o$54b4o$53b4o$52b4o$51b4o$50b4o$49b4o$48b4o$35b2o10b4o$33b
o12b4o$32b4o9b4o$31b4o9b4o$30b4o9b4o$29b4o9b4o$28b4o9b4o$27b4o9b4o$26b4o9b
4o$25b4o9b4o$24b4o9b4o$23b4o9b4o$22b4o9b4o$21b4o9b4o$20b4o9b4o$19b4o9b4o$18b
4o9b4o$17b4o9b4o$16b4o9b4o$15b4o9b4o$14b4o9b4o$13b4o9b4o$12b4o9b4o$11b4o9b
4o$10b4o9b4o$9b4o9b4o$8b4o9b4o$7b4o9b4o$5b5o4b9o$4b8o2b8o$3b20o$3b21o$4b22ob
o$2b10ob19o$b12ob18o$2b9o3b19o$4b29o$4b14ob14o$5b14ob3ob6obo$4b13o3bo2b7o2b
2o$3b19o2b7ob2o$3b31o$b30o2bo$31obo$b14ob14o2bo$b12obob14o$3b11o2b14o$3b26o$5b
10ob12o$8b7o2b11o$9b5obob11o$10b7o2b9o$11b7ob2ob6o$11b4o2bobobob4o$12b6ob
obob3o$12b4obob2o$12b5o$13b2o2b2obo$13b3o2bo$14bobobo2bo$14b2o!
GP F SW x=70,y=-9,len=11,color=(255,0,0)
GP F SW x=54,y=-6,len=31,color=(255,0,0)
GP F SE x=-19,y=37,len=21,color=(255,0,0)
GP F SE x=-23,y=31,len=31,color=(255,0,0)
GP F SE x=-26,y=38,len=31,color=(255,0,0)
GP F NW x=50,y=96,len=31,color=(255,0,0)
GP F NW x=19,y=92,len=11,color=(255,0,0)
GP F SW x=70,y=12,len=51,color=(255,0,0)
GP F SW x=72,y=2,len=61,color=(255,0,0)
GP F NE x=-16,y=92,len=21,color=(255,0,0)
GP F NE x=-6,y=91,len=11,color=(255,0,0)
CB 2,2,2,2
L CM x=22 y=-1 text="11gliders->17P2.198" color=(0,0,255)It does now! Build 241 will be your friend.dvgrn wrote:Hm, that's interesting. Took a real member of the old guard posting patterns on the forums, before I noticed that LifeViewer doesn't have a default rule:
Code: Select all
x=7, y=3, h=-4, v=0 2o2b3o$b2obo$o4bo!
I tried to have a look but I'm getting ERR_CONNECTION_REFUSED from pentadecathlon.com.dvgrn wrote: Also, just FYI: the following is definitely not a feature request, but the "h" and "v" are mutations of RLE format specific to Heinrich Koenig, equivalent to Golly's #CXRLE Pos=. Currently they're used on pentadecathlon.com and pretty much nowhere else.
Yes, it's definitely a fair-weather server -- pay it too much attention and it goes and hides under a rock for a while, then pops up again when you least expect it.rowett wrote:I tried to have a look but I'm getting ERR_CONNECTION_REFUSED from pentadecathlon.com.dvgrn wrote:Also, just FYI: the following is definitely not a feature request, but the "h" and "v" are mutations of RLE format specific to Heinrich Koenig, equivalent to Golly's #CXRLE Pos=. Currently they're used on pentadecathlon.com and pretty much nowhere else.
I'm sure there was something I was meant to be doing. Three letters. Letter T in the middle flanked by Ls if memory serves me...dvgrn wrote:...should you be so unwise as to have any curiosity on this topic.
It's browser behaviour - when an element on the page gets focus (so it can be the target for input) the browser kindly makes it fully visible.dvgrn wrote:The ideal behavior might be to leave the scrolling entirely up to the user, but I think this is partly browser behavior and not anything LifeViewer is doing deliberately?
I've started the work on the snapshot manager so it can hold multiple reset points (which initially will be used for the POIT targets but could extend into the Waypoint system). There will be a delay on loading the pattern as it computes enough generations to precache all target generations but for most patterns this will be quick since it's unlikely anyone would pick a generation too far into the future.dvgrn wrote:It occurs to me that if it should happen to become possible before the end of the March to transition instantly between waypoints in LifeViewer, including backwards-in-time jumps ...
... then I could pretty easily produce a glider synthesis of the new knightship in time for April 1.
Darn it, I just upgraded the LifeViewer on the b3s23life weblog from 188 (!) to 242, and did some testing. It seemed to be working fine. Now I'll have to do that all over again (sometime)...rowett wrote:Build 243 is now available on the lazyslug server
Enhancements in this build:
- added [[ AUTOSTART OFF ]] and [[ GRID OFF ]] script commands