Pattern viewer for forum threads
Re: Pattern viewer for forum threads
Bug: Sometimes, LifeViewer internally thinks thinks the speed 1x is 2x, and 30/s is 60/s. That's twice as fast as it's supposed to be.
EDIT: The script command [[ STEP 1 ]] acts the same as [[ STEP 2 ]] should normally act.
EDIT: The script command [[ STEP 1 ]] acts the same as [[ STEP 2 ]] should normally act.
Re: Pattern viewer for forum threads
What is the refresh rate of your monitor?
LifeViewer https://lazyslug.com/lifeviewer
Re: Pattern viewer for forum threads
Suggestions: add REPEAT (which acts as repeat loop), IF (or something similar, I have no exact idea how it exactly works) and SETRULE (changes the rule to the rulestring or name defined at certain generation) as LifeViewer script commands. If these commands are added I can write a search program IN LifeViewer.
(EDIT: renamed LOOP to REPEAT)
Code: Select all
[[ REPEAT 10 (PASTE obo!) ]]
Code: Select all
[[ SETRULE B3/S23 45 ]]
Last edited by b-engine on November 19th, 2024, 7:28 pm, edited 1 time in total.
b-rules100th post: 18 November 2023 1000th post: 8 March 2024 10000th post:
- confocaloid
- Posts: 4918
- Joined: February 8th, 2022, 3:15 pm
- Location: https://catagolue.hatsya.com/census/b3s234c/C4_4/xp62
Re: Pattern viewer for forum threads
LOOP is already a thing:
Code: Select all
#C [[ ZOOM 12 X 15 Y -10 LOOP 240 ]]
x = 59, y = 60, rule = B38/S23History
26.A$24.3A$A22.A$3A20.2A$3.A17.4B$2.2A16.3B20.2A$2.4B14.4B18.B2A2B3.
2A$4.3B12.5B19.4B2.B2AB$4.4B11.6B14.B.6B3.2B$5.10B2.8B12.10B2.2B$6.5B
C14B3.2A6.11B2A2B$7.2B3C13B5.A5.12B2A3B.B$6.3BCBC4B.7B6.A.AB2.18B2A$
7.2BC15B6.2AB3.15B.B2A$7.18B8.18B3.B$9.17B7.18B$11.15B.2B2.19B$12.22B
D15B$12.8B.13BDBD4B.7B$10.8B3.2B2A9B3D4B2.6B$10.2A3.B5.2B2A11BD5B.7B$
11.A10.21B.6B$8.3A12.B.3B.4B7.9B$8.A20.3B9.8B$27.4B11.8B$27.2A14.7B$
28.A15.6B7.2A$25.3A16.2B3D2B6.A$25.A18.2BD4B3.BA.A$44.B3D4B2.B2A$44.
11B$44.11B$44.11B$45.11B$45.2B.7B$44.11B$44.10B$42.12B$40.13B$39.17B$
39.18B$37.2AB.13B2A2B$36.A.AB3.4B.6B2AB$36.A8.B4.8B$35.2A15.6B$51.7B$
51.6B$52.6B$52.5B$51.6B$51.6B$51.6B$51.B3D2B$51.3BD2B$51.2B3DB$52.5B$
54.B$53.3B$52.B2AB$53.2A!
Then other people will have no idea what exactly is the suggested feature, and how one could possibly implement that, and how one could use that.
I think it might be better to avoid making LifeViewer substantially more Turing-complete than it already is.
Different software tools are good in different situations.
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.
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.
Re: Pattern viewer for forum threads
-
- Posts: 1256
- Joined: July 15th, 2023, 10:27 am
- Location: On the highest skyscraper
Re: Pattern viewer for forum threads
Then, the "Force 60hz" enabled and "Force 60hz" disabled would have almost no difference:
"60.0060006001hz" with Force 60hz disabled
"60hz" with Force 60hz enabled
This profile is sponsored by Unname Inc. (2022-2024)
Status: none.
Companies: NOT (Nihonium Orange Team)
MOTD:
B-engine: How MOTD is a similar to motto?
unname: To being replaced by D.
Others: Wrong!!! It's "To be replaced with D."
Status: none.
Companies: NOT (Nihonium Orange Team)
MOTD:
B-engine: How MOTD is a similar to motto?
unname: To being replaced by D.
Others: Wrong!!! It's "To be replaced with D."
Re: Pattern viewer for forum threads
A note on LifeViewer and monitor refresh rate.
When LifeViewer starts it attempts to measure the monitor refresh rate. This value is used to help LifeViewer ensure that 1X speed is 60 generations per second regardless of the monitor.
If your machine is old/slow or very busy during the measurement LifeViewer might assume the refresh rate is slower than it actually is and 1X speed would not be the desired 60 generations per second.
In this case you can force LifeViewer to assume a 60Hz refresh rate (the most common monitor rate) by using Settings>Advanced>Force 60Hz. This setting will be remembered for your browser on the current device.
If you look in Help>Info>Display there will be an entry that says something like:
Refresh 60Hz (16.7ms)
The first value (in this case 60Hz) is the measured refresh rate snapped to common monitor refresh rates. The second is the actual number of milliseconds per frame for the measurement (16.7ms).
Depending on how many reports I receive on the incorrect frame rate I may change the frame rate detection so it never reports less than 60Hz, in which case the Force 60Hz option can be retired.
EDIT:
LifeViewer now makes 60Hz the minimum refresh rate and Force 60Hz now holds the record as the shortest lived new feature.
When LifeViewer starts it attempts to measure the monitor refresh rate. This value is used to help LifeViewer ensure that 1X speed is 60 generations per second regardless of the monitor.
If your machine is old/slow or very busy during the measurement LifeViewer might assume the refresh rate is slower than it actually is and 1X speed would not be the desired 60 generations per second.
In this case you can force LifeViewer to assume a 60Hz refresh rate (the most common monitor rate) by using Settings>Advanced>Force 60Hz. This setting will be remembered for your browser on the current device.
If you look in Help>Info>Display there will be an entry that says something like:
Refresh 60Hz (16.7ms)
The first value (in this case 60Hz) is the measured refresh rate snapped to common monitor refresh rates. The second is the actual number of milliseconds per frame for the measurement (16.7ms).
Depending on how many reports I receive on the incorrect frame rate I may change the frame rate detection so it never reports less than 60Hz, in which case the Force 60Hz option can be retired.
EDIT:
LifeViewer now makes 60Hz the minimum refresh rate and Force 60Hz now holds the record as the shortest lived new feature.
LifeViewer https://lazyslug.com/lifeviewer
-
- Posts: 132
- Joined: January 26th, 2021, 12:19 am
Re: Pattern viewer for forum threads
This reminds me: don't use the CPP file for now, there are several bugs that aren't fixed. Use the python script instead; it should be pretty easy to repurpose to use in the same way as the CPP file, since every function is carried over.get_Snacked wrote: ↑November 7th, 2024, 2:01 pmcould this be added sometime soon?
(like, being able to use the notation without having to create a ruletable)
I wrote a stdin script that generates random soups of a provided number of a given spaceship. It works for all (non-B0) spaceships in the INT rulespace!
A Multistate INT notation + script.
A Multistate INT notation + script.
Re: Pattern viewer for forum threads
Drawing cells as Icons (for supported rules) is much faster from build 1216. At 8x Zoom it can be up to 30x faster.
LifeViewer https://lazyslug.com/lifeviewer
Re: Pattern viewer for forum threads
I've noticed that LifeViewer has now started running at 60 generations per second on my 144hz monitor despite running at 144 generations per second previously. I assume this is an intentional change as there's now a new playback setting, but toggling that doesn't set the speed back to 144 generations per second. Is that intended?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Pattern viewer for forum threads
You can turn off Settings>Advanced>Force 60Hz.muzik wrote: ↑November 27th, 2024, 5:01 pmI've noticed that LifeViewer has now started running at 60 generations per second on my 144hz monitor despite running at 144 generations per second previously. I assume this is an intentional change as there's now a new playback setting, but toggling that doesn't set the speed back to 144 generations per second. Is that intended?
Re: Pattern viewer for forum threads
This changes the framerate but does not restore it to 144 generations per second at 1x.b-engine wrote: ↑November 27th, 2024, 6:13 pmYou can turn off Settings>Advanced>Force 60Hz.muzik wrote: ↑November 27th, 2024, 5:01 pmI've noticed that LifeViewer has now started running at 60 generations per second on my 144hz monitor despite running at 144 generations per second previously. I assume this is an intentional change as there's now a new playback setting, but toggling that doesn't set the speed back to 144 generations per second. Is that intended?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Pattern viewer for forum threads
Yes, this is intentional. LifeViewer now ensures that 1X is 60 generations per second regardless of monitor refresh rate. This is so you get the same animation experience regardless of monitor used.muzik wrote: ↑November 27th, 2024, 5:01 pmI've noticed that LifeViewer has now started running at 60 generations per second on my 144hz monitor despite running at 144 generations per second previously. I assume this is an intentional change as there's now a new playback setting, but toggling that doesn't set the speed back to 144 generations per second. Is that intended?
See here also for more information.
LifeViewer https://lazyslug.com/lifeviewer
Re: Pattern viewer for forum threads
Is there a toggle anywhere to change back to the old behaviour? While I understand this change for scripted sequences, I much preferred things running faster for general pattern playback.
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Pattern viewer for forum threads
I wish I could automatically run this for several times and export the result, or even make RANDOMIZE soups symmetrical, then this would be a search program:
It won't perform much in standard Life, but works well in certain OCA, such as those with many natural oscillator periods, or even guns.
Code: Select all
x = 0, y = 0, rule = B3/S23
!
[[ RANDOMIZE AUTOIDENTIFY KILLGLIDERS MAXGRIDSIZE 9 ]]
b-rules100th post: 18 November 2023 1000th post: 8 March 2024 10000th post:
Re: Pattern viewer for forum threads
Build 1217 allows you to change the default playback speed.
The default playback speed is 60 generations per second which is displayed in the UI as 1X. It is set when a pattern is loaded and also on a hard reset (pressing Reset while at T=0, or pressing Reset any time when [[ HARDRESET ]] is set).
You can change this by:
- choosing any speed you wish from 1/s to 64X (3840/s)
- clicking Settings>Playback>Save Speed (hotkey Shift E)
You can switch betwen the default playback speed and the saved playback speed using Settings>Playback>Use Saved (hotkey Ctrl E).
Finally, if a pattern contains a script command that sets the playback speed ([[ GPS ]] or [[ STEP ]]) then this will take priority until Save Speed or Use Saved are used while viewing that pattern.
LifeViewer https://lazyslug.com/lifeviewer
Re: Pattern viewer for forum threads
You can make random soups symmetrical using the following:
EDIT: see fixed version here.
Code: Select all
x = 0, y = 0, rule = Life
!
#C Define a random block of cells 64x64
[[ RLE rand RANDCELLS 64 64 ]]
#C Paste it to the grid top left
[[ PASTE rand 0 0 ]]
#C Paste a version flipped horizontally top right
[[ PASTE rand 64 0 FLIPX ]]
#C Paste a version flipped vertically bottom left
[[ PASTE rand 0 64 FLIPY ]]
#C Paste a version flipped both ways bottom right
[[ PASTE rand 64 64 FLIP ]]
LifeViewer https://lazyslug.com/lifeviewer
-
- Posts: 1256
- Joined: July 15th, 2023, 10:27 am
- Location: On the highest skyscraper
Re: Pattern viewer for forum threads
Fixed:rowett wrote: ↑December 1st, 2024, 9:57 amYou can make random soups symmetrical using the following:Code: Select all
x = 0, y = 0, rule = Life ! #C Define a random block of cells 64x64 [[ RLE rand RANDCELLS 64 64 ]] #C Paste it to the grid top left [[ PASTE rand 0 0 ]] #C Paste a version flipped horizontally top right [[ PASTE rand 64 0 FLIPX ]] #C Paste a version flipped vertically bottom left [[ PASTE rand 0 64 FLIPY ]] #C Paste a version flipped both ways bottom right [[ PASTE rand 64 64 FLIP ]]
Code: Select all
x = 1, y = 1, rule = B3/S23
!
#C Define a random 64x64 block of cells
[[ RLE rand RANDCELLS 64 64 ]]
#C Set paste mode to XOR
[[ PASTEMODE XOR ]]
#C Paste it to the grid
[[ PASTE rand 0 0 ]]
#C Paste it flipped horizontally
[[ PASTE rand 64 0 FLIPX ]]
#C Paste it flipped vertically
[[ PASTE rand 0 64 FLIPY ]]
#C Paste it flipped both horizontally and vertically
[[ PASTE rand 64 64 FLIP ]]
This profile is sponsored by Unname Inc. (2022-2024)
Status: none.
Companies: NOT (Nihonium Orange Team)
MOTD:
B-engine: How MOTD is a similar to motto?
unname: To being replaced by D.
Others: Wrong!!! It's "To be replaced with D."
Status: none.
Companies: NOT (Nihonium Orange Team)
MOTD:
B-engine: How MOTD is a similar to motto?
unname: To being replaced by D.
Others: Wrong!!! It's "To be replaced with D."
- confocaloid
- Posts: 4918
- Joined: February 8th, 2022, 3:15 pm
- Location: https://catagolue.hatsya.com/census/b3s234c/C4_4/xp62
Re: Pattern viewer for forum threads
Or like this, with optional empty rows/columns:
Code: Select all
x = 1, y = 1, rule = B3/S23
b!
#C Define a random block of cells 32x32
[[ RLE rand RANDCELLS 32 32 ]]
#C Paste it to the grid top left
[[ PASTE rand 0 0 ]]
#C Paste a version flipped horizontally top right
[[ PASTE rand 64 0 FLIPX ]]
#C Paste a version flipped vertically bottom left
[[ PASTE rand 0 64 FLIPY ]]
#C Paste a version flipped both ways bottom right
[[ PASTE rand 64 64 FLIP ]]
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.
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.
Re: Pattern viewer for forum threads
Actually the correct answer is this. Use 64 as per confocaloid if you want a one cell gap between quadrants.
Code: Select all
x = 1, y = 1, rule = B3/S23
b!
#C Define a random block of cells 32x32 to generate a symmetrical 64x64 block
[[ RLE rand RANDCELLS 32 32 ]]
#C Paste it to the grid top left
[[ PASTE rand 0 0 ]]
#C Paste a version flipped horizontally top right
[[ PASTE rand 63 0 FLIPX ]]
#C Paste a version flipped vertically bottom left
[[ PASTE rand 0 63 FLIPY ]]
#C Paste a version flipped both ways bottom right
[[ PASTE rand 63 63 FLIP ]]
LifeViewer https://lazyslug.com/lifeviewer
Re: Pattern viewer for forum threads
New in build 1222:
Settings>Playback>Go To Gen (hotkey Shift N) now remembers the last valid input.
Go To Gen will go to the specified generation (whether before or after the current generation) as fast as possible.
You can also ask LifeViewer to go foward or back a number of generations by prefixing the number with the + or - symbol. For example +2000 will go forward 2000 generations and -500 will go back 500 generations.
Now LifeViewer remembers the last valid input this helps if you want to advance the pattern at top speed. Use Go To Gen with with +100000 (or any other large number) and LifeViewer will advance 100000 generations as fast as it can. After that each time you use Go To Gen it will have +100000 as the default so just click OK or press Enter to go again.
Settings>Playback>Go To Gen (hotkey Shift N) now remembers the last valid input.
Go To Gen will go to the specified generation (whether before or after the current generation) as fast as possible.
You can also ask LifeViewer to go foward or back a number of generations by prefixing the number with the + or - symbol. For example +2000 will go forward 2000 generations and -500 will go back 500 generations.
Now LifeViewer remembers the last valid input this helps if you want to advance the pattern at top speed. Use Go To Gen with with +100000 (or any other large number) and LifeViewer will advance 100000 generations as fast as it can. After that each time you use Go To Gen it will have +100000 as the default so just click OK or press Enter to go again.
LifeViewer https://lazyslug.com/lifeviewer
Re: Pattern viewer for forum threads
This is a lovely feature but after toying with it I haven't been able to restore the prior behaviour (i.e. 1x iterates 144 times per second instead of the current 60, and 64x shoots for 9216 iterations per second instead of the current 3840).
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Pattern viewer for forum threads
It's not meant to be a toggle to the old deprecated behaviour. Rather it's an alternative to allow you have an arbitrary default playback speed.
It's important that 1X means the same on all systems. Now 1X is always going to be 60 generations per second. In previous builds 1X meant do as many generations per second as my monitor refresh rate.
The playback speed range is still 1 per second to 3840 per second. You can now choose what the default is.
If you want to playback faster then see the recent enhancements to Go To Gen.
LifeViewer https://lazyslug.com/lifeviewer
-
- Posts: 355
- Joined: April 1st, 2021, 1:03 am
Re: Pattern viewer for forum threads
This would be mentioned on LifeWiki.unname4798 wrote: ↑August 2nd, 2024, 7:44 amCan you allow changing individual colors in waypoints at specific points?
Can you also allow overwriting colors?
Example cases:Code: Select all
#R B3/S23 bo$3o$o! [[ COLOR DEADRAMP 255 255 255 ]] [[ ZOOM 8 AUTOSTART T 100 ]] [[ PAUSE 1 COLOR DEADRAMP 0 0 0 ]] [[ T 200 ]]