Page 67 of 98

Re: Life tag testing

Posted: August 7th, 2021, 5:52 am
by rowett
Build 646 is now available on the lazyslug server

Fixes in this build:
  • make 2-state HROT selection box consistent with Life-like equivalent

Re: Life tag testing

Posted: August 8th, 2021, 10:32 am
by rowett
Build 647 is now available on the lazyslug server

Fixes in this build:
  • fixed an issue with edited state 6 [R]History cells not working after Reset

Re: Life tag testing

Posted: August 8th, 2021, 10:33 am
by rowett
Build 648 is now available on the lazyslug server

Enhancements in this build:
  • Labels support variable substitution with #H for reversible generation (for PCA and Margolus rules)

Re: Life tag testing

Posted: August 15th, 2021, 2:41 am
by rowett
Build 649 is now available on the lazyslug server

Enhancements in this build:
  • Labels support variable substitution with #I for relative generation and #J for relative reversible generation
Fixes in this build:
  • fixed an issue with Margolus rules incrementing generation count when Stats display enabled

Re: Life tag testing

Posted: August 18th, 2021, 11:52 am
by rowett
Build 650 is now available on the lazyslug server

Fixes in this build:
  • fixed an issue when all cells died during Identify

Re: Life tag testing

Posted: August 21st, 2021, 3:20 am
by rowett
Build 651 is now available on the lazyslug server

Fixes in this build:
  • don't reset playback direction on soft reset

Re: Life tag testing

Posted: November 6th, 2021, 9:43 am
by dvgrn
Here's a report of some trouble with #CXRLE tags in bounded grids.

Re: Life tag testing

Posted: November 8th, 2021, 4:06 pm
by rowett
dvgrn wrote: November 6th, 2021, 9:43 am Here's a report of some trouble with #CXRLE tags in bounded grids.
Thanks, I'll take a look.

Re: Life tag testing

Posted: November 8th, 2021, 4:07 pm
by rowett
Build 652 is now available on the lazyslug server

Enhancements in this build:
  • extend TRACK range to +/- 8
  • create canvas if it doesn't exist
Fixes in this build:
  • disable STARTFROM notifications if NOREPORT is enabled

Re: Life tag testing

Posted: November 8th, 2021, 4:08 pm
by rowett
Build 653 is now available on the lazyslug server

Fixes in this build:
  • potential fix for reported flickering on ChromeBook

Re: Life tag testing

Posted: November 8th, 2021, 4:08 pm
by rowett
Build 654 is now available on the lazyslug server

Fixes in this build:
  • reverted create canvas if missing change

Re: Life tag testing

Posted: November 13th, 2021, 11:17 pm
by dvgrn
This just came up on Discord: the "cycling" OFF states in LifeSuper don't seem to cycle any more --

Code: Select all

x = 10, y = 6, rule = LifeSuper
10T$T8.T$T8.V$T8.V$R8.V$8R2V!
(At least, I was pretty sure one of our test patterns included some of this behavior, though not this exact pattern of course.)

Re: Life tag testing

Posted: November 14th, 2021, 3:11 am
by rowett
dvgrn wrote: November 13th, 2021, 11:17 pm This just came up on Discord: the "cycling" OFF states in LifeSuper don't seem to cycle any more --

Code: Select all

x = 10, y = 6, rule = LifeSuper
10T$T8.T$T8.V$T8.V$R8.V$8R2V!
(At least, I was pretty sure one of our test patterns included some of this behavior, though not this exact pattern of course.)
Fixed. The issue was that with only OFF states in the pattern LifeViewer stopped calculating future generations since there are no live states.

Re: Life tag testing

Posted: November 14th, 2021, 3:13 am
by rowett
Build 655 is now available on the lazyslug server

Fixes in this build:
  • fix LifeSuper patterns with only dead cells stopping generating

Re: Life tag testing

Posted: November 16th, 2021, 1:20 pm
by rowett

Code: Select all

x = 9, y = 5, rule = B3/S23
$bo3b3o$b3o2bo$2bo!
[[ TILT 1 ZOOM 8 AUTOSTART ]]

Re: Life tag testing

Posted: November 16th, 2021, 2:46 pm
by dvgrn
rowett wrote: November 16th, 2021, 1:20 pm[3D view]
Ha, nice! Was this a response to the New Colorful Game of Life Simulator?

(And are there any new secret keyboard controls yet, for changing the camera angle in the third dimension? I see that the arrow keys and < and > still work for the usual ANGLE and panning changes.)

It seems to work fine with different themes, and even in rainbow mode with multiple layers.

Re: Life tag testing

Posted: November 16th, 2021, 6:10 pm
by rowett
dvgrn wrote: November 16th, 2021, 2:46 pm Ha, nice! Was this a response to the New Colorful Game of Life Simulator?
It's been planned for a long time but that was certainly a catalyst. I downloaded the simulator and it is very pretty (especially with the lighting models used). However it's also very slow when you increase the grid size a little bit.

For LifeViewer the only secret key for now is ; which toggles the "3D" projection on and off. More to follow as I get time.

Re: Life tag testing

Posted: November 18th, 2021, 1:29 pm
by rowett
Build 656 is now available on the lazyslug server

Enhancements in this build:
  • added experimental mode 7 support
  • script command [[ MODE7 ]] enables mode 7 display
  • hotkey ; toggles mode7 on/off

Re: Life tag testing

Posted: November 18th, 2021, 1:30 pm
by rowett
Build 657 is now available on the lazyslug server

Enhancements in this build:
  • added hotkeys Ctrl-[ and Ctrl-] to change tilt angle for mode7 display

Re: Life tag testing

Posted: November 20th, 2021, 6:31 pm
by rowett
Build 658 is now available on the lazyslug server

Enhancements in this build:
  • added experimental support to tilt the camera for square grids
    • script command [[ TILT <0.0..5.0> ]] defines tilt amount (can be used in POIs and Waypoints)
    • hotkeys ' and / to increase and decrease tilt
    • new range control in Settings menu to set tilt amount
  • hotkey ? now toggles cell shape (for hexagonal and triangular grids)

Re: Life tag testing

Posted: November 23rd, 2021, 4:30 pm
by dvgrn
Okay, here goes for a better spec for recursive pattern descriptions. We can currently do

Code: Select all

x = 1, y = 1, rule = B3/S23
!
[[ RLE eater o$3o$3bo$2b2o!
RLE herschel 2bo$obo$3o$o!
RLE halfgun 39b2o76b2o$39bo24b2o51b2o$40b3o6b2o13bo17b2o$2b2ob2o35bo6b2o11bobo17bo$2bo3bo55b2o19bo$3b3o76b2o$91b2o$3b3o84bobo$2bo3bo84bo$2b2ob2o110b2o$31b2o83bo2bo$31b2o46b2o36b2o$79b2o29b2o$110b2o$3bo$b3o$o$2o32b2o$35bo$
15b2o15b3o13b2o3b2o$15bo16bo16bo3bo69b2o$16b3o27b3o5b3o66b2o$18bo27bo9bo62b2o$119bobo$121bo$121b2o$108b2o$108b2o3$106b2o$106b2o! 
PASTE halfgun
PASTE halfgun 159 -3 FLIP
PASTE herschel 61 11
PASTE eater 87 -25
STEP 5 AUTOSTART ]]
But now we want to be able to define "halfgun", let's say as

Code: Select all

x = 1, y = 1, rule = B3/S23
!
#C halfgun definition
[[ RLE herscheltransmitter 2b2ob2o$2bo3bo$3b3o2$3b3o$2bo3bo$2b2ob2o5$3bo$b3o$o$2o2$15b2o$15bo$16b3o$18bo!
RLE fx153 25b2o$2o24bo$bo13b2o6b3o$bobo11b2o6bo$2b2o6$33b2o$33b2o6$30b2o$30bo$11b2o3b2o13b3o$12bo3bo16bo$9b3o5b3o$9bo9bo!
RLE herschelreceiver 38b2o$38b2o$3b2o$3bo$4bo$3b2o$12b2o$11bobo$12bo$38b2o$37bo2bo$2o36b2o$2o29b2o$31b2o7$44b2o$44b2o$40b2o$40bobo$42bo$42b2o$29b2o$29b2o3$27b2o$27b2o!
PASTE herscheltransmitter
PASTE fx153 65 -3 FLIPX
PASTE herschelreceiver 79 -3 ]]
But then those pieces in turn can be split up into their component parts, e.g.,

Code: Select all

x = 1, y = 1, rule = B3/S23
!
#C herscheltransmitter definition
[[ RLE deadsparkcoil 2ob2o$o3bo$b3o2$b3o$o3bo$2ob2o!
RLE eater o$3o$3bo$2b2o!
PASTE deadsparkcoil
PASTE eater 1 11 FLIPX
PASTE eater 16 19 FLIP ]]
Now there's a duplicate definition of "eater" between these three chunks, and we don't really want to do any but the three PASTE operations in the first chunk. So let's combine all these, something like this:

Code: Select all

x = 1, y = 1, rule = B3/S23
!
[[ RLE fx153 25b2o$2o24bo$bo13b2o6b3o$bobo11b2o6bo$2b2o6$33b2o$33b2o6$30b2o$30bo$11b2o3b2o13b3o$12bo3bo16bo$9b3o5b3o$9bo9bo!
RLE herschelreceiver 38b2o$38b2o$3b2o$3bo$4bo$3b2o$12b2o$11bobo$12bo$38b2o$37bo2bo$2o36b2o$2o29b2o$31b2o7$44b2o$44b2o$40b2o$40bobo$42bo$42b2o$29b2o$29b2o3$27b2o$27b2o!
RLE eater o$3o$3bo$2b2o!
RLE herschel 2bo$obo$3o$o!
DEF herscheltransmitter deadsparkcoil UNION eater 1 1 FLIPX UNION eater 16 19 FLIP DELTA 2 0
DEF halfgun herscheltransmitter UNION fx153 65 -3 FLIPX UNION herschelreceiver 79 -3 DELTA 0 3
DEF p1092gun halfgun UNION halfgun 159 -3 FLIP UNION herschel 61 11 UNION eater 87 -25
PASTE p1092gun
STEP 5 AUTOSTART ]]
I've added new DEF and UNION and DELTA keywords, but these are just placeholders showing where the new functionality is needed. DEF could probably be just the old RLE command. The DELTA command isn't absolutely needed, but it would be nice to have the option to build a combined pattern, then apply a transformation to the whole pattern -- instead of applying individual transformations to each of the component parts.

An equivalent would be

DEF herscheltransmittertemp deadsparkcoil UNION eater 1 1 FLIPX UNION eater 16 19 FLIP
DEF herscheltransmitter herscheltransmittertemp 2 0

-- there just needs to be room for the subpattern after the last UNION to either have following translation/transformation parameters, or to not have any such parameters.

Re: Life tag testing

Posted: November 23rd, 2021, 5:25 pm
by dvgrn
That was enough for one post, so here's the other item I mentioned via chat.

Very often you want to make slight changes to a combined pattern -- use an alternate form of some subpattern, weld pieces together, etc. That could be something like this -- see the third line from the end:

Code: Select all

x = 1, y = 1, rule = B3/S23
!
[[ RLE fx153 25b2o$2o24bo$bo13b2o6b3o$bobo11b2o6bo$2b2o6$33b2o$33b2o6$30b2o$30bo$11b2o3b2o13b3o$12bo3bo16bo$9b3o5b3o$9bo9bo!
RLE herschelreceiver 38b2o$38b2o$3b2o$3bo$4bo$3b2o$12b2o$11bobo$12bo$38b2o$37bo2bo$2o36b2o$2o29b2o$31b2o7$44b2o$44b2o$40b2o$40bobo$42bo$42b2o$29b2o$29b2o3$27b2o$27b2o!
RLE eater o$3o$3bo$2b2o!
RLE herschel 2bo$obo$3o$o!
DEF herscheltransmitter deadsparkcoil UNION eater 1 1 FLIPX UNION eater 16 19 FLIP DELTA 2 0
DEF halfgun herscheltransmitter UNION fx153 65 -3 FLIPX UNION herschelreceiver 79 -3 DELTA 0 3
DEF p1092gun halfgun UNION halfgun 159 -3 FLIP UNION eater 87 -25 XOR 3b2o$2bo2bo$o2b2o$obo$2o! 114 8

PASTE p1092gun
STEP 5 AUTOSTART ]]
The "XOR 3b2o$2bo2bo$o2b2o$obo$2o! 114 8" is supposed to overlap the beehive inside "halfgun", which is really the beehive inside "herschelreceiver" -- the beehive cells should turn off while at the same time the glider cells turn on.

As before, there are lots of other syntax options. This method produces the required "XOR patch" functionality by making XOR into an alternate command along the same lines as UNION.

Re: Life tag testing

Posted: November 26th, 2021, 1:39 am
by rowett
Build 659 is now available on the lazyslug server

Enhancements in this build:
  • initial work on annotation positioning with TILT

Re: Life tag testing

Posted: November 26th, 2021, 1:40 am
by rowett
Build 660 is now available on the lazyslug server

Fixes in this build:
  • only allocate TILT buffer on first use

Re: Life tag testing

Posted: December 5th, 2021, 3:59 am
by rowett
Build 661 is now available on the lazyslug server

Enhancements in this build:
  • Select All with an empty pattern now cancels any selection
  • Identify now displays generation that pattern died
Fixes in this build:
  • stop Identify iterating first generation with an empty pattern