Life tag testing

For scripts to aid with computation or simulation in cellular automata.
Locked
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 347 is now available on the lazyslug server

Enhancements in this build:
  • added Undo and Redo buttons to main menu
  • improved how Reset works with Undo/Redo
  • new settings icon
  • added Copy button to copy current pattern as RLE to clipboard
  • increased minimum width by 80 pixels
Fixes in this build:
  • locked UI controls were allowing clicks through to the background
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 348 is now available on the lazyslug server

Enhancements in this build:
  • hotkey F2 sets draw mode
  • hotkey F3 sets pick mode
  • hotkey F4 sets select mode (not implemented yet!)
  • hotkey F5 sets pan mode
  • mouse cursor changes based on action
  • UI list control can now lock individual items
Fixes in this build:
  • handle LifeViewer being loaded more than once in a web page
  • undo and redo buttons were not being hidden for VIEWONLY patterns
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 349 is now available on the lazyslug server

Enhancements in this build:
  • pause playback while drawing
  • settings menu buttons are larger and cluster better
  • changed "Step back" to "Undo/Redo" in "Help"->"Info"
  • icons now grey out when locked (not just the text and border)
Fixes in this build:
  • Pick mode was not being cancelled when another mode selected
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 350 is now available on the lazyslug server

Enhancements in this build:
  • moved Graph controls below top row
  • Graph hidden if Drawing or Selecting
  • new toggle button to control whether playback is paused during Drawing
  • improved toggle states icon
  • added Select mode UI controls
Fixes in this build:
  • fixed playback pause during editing
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 351 is now available on the lazyslug server

Enhancements in this build:
  • added undo/redo detail to button tooltips
  • stop playback on undo
Fixes in this build:
  • picked cell colour notification wasn't displaying
  • redo no longer goes back to previous snapshot
  • fix step back with undo
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 352 is now available on the lazyslug server

Enhancements in this build:
  • added Smart Drawing button to Draw menu
  • increased maximum number of LtL and HROT states to 256
Fixes in this build:
  • do not draw when clicking to get window focus
  • remove unneeded extra undo step
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 353 is now available on the lazyslug server

Enhancements in this build:
  • hide Draw, Graph and Select menus when Settings open
  • selection size display (width x height)
Fixes in this build:
  • sometimes playback wasn't resuming after auto-paused during drawing
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 354 is now available on the lazyslug server

Fixes in this build:
  • fixed selecting drawing state
  • disable starting playback while mid-draw
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 355 is now available on the lazyslug server

Enhancements in this build:
  • Select mode now supports:
    • selecting a rectangle of cells (no selection box visible yet)
    • flip X
    • flip Y
    • rotate clockwise
    • rotate counter-clockwise
    • random fill with user defined density from 0% to 100%
    • clear cells in selection
  • opening Help will close Settings and vice versa
Fixes in this build:
  • fixed an issue with redo and snapshots
  • fixed draw buttons being hidden with states toggle
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 356 is now available on the lazyslug server

Fixes in this build:
  • Draw mode was incorrectly always showing a minimum of 7 states for Generations patterns
  • Random fill was only using 2 states for Generations patterns
  • selection and cancel selection are now undo/redo points
  • selection rotation is now consistent
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 357 is now available on the lazyslug server

Enhancements in this build:
  • hotkey Ctrl "A" for select all
  • hotkey Ctrl "K" for remove selection
  • hotkey "Del" for clear selection
  • hotkey Ctrl "5" for random fill
  • hotkey ">" rotates selection or camera clockwise 90 degrees
  • hotkey "<" rotates selection or camera counter-clockwise 90 degrees
  • hotkey Ctrl "Y" for redo (also hotkey Ctrl+Shift "Z")
  • hotkey Ctrl "X" for cut
  • hotkey Ctrl "V" for paste
  • hotkey "Backspace" for back one step (also hotkey "B")
  • hotkey Alt "Y" for flip Y
  • hotkey Alt "X" for flip X
  • hotkey Alt "B" for toggle cell borders (moved from hotkey Alt "X")
  • hotkey Shift "F2" for toggle smart drawing (moved from hotkey Shift "F1")
  • added Invert Cells in Selection button
Fixes in this build:
  • grow grid if required when selecting
  • fix a rendering issue after some selection actions
  • fixed an issue with bounding box after deleting cells
  • don't rotate selection if result doesn't fit on the grid
  • fixed Help text wrapping
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Would it be helpful to be able to advance copied cells one or more generations forward before pasting?
User avatar
dvgrn
Moderator
Posts: 12053
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:Would it be helpful to be able to advance copied cells one or more generations forward before pasting?
Sure, a few people might use that, especially when pasting things like bumper or bouncer reflectors.

It's most useful if LifeHistory cells are retained, so that you can drop a different phase of an oscillator on top of itself and not end up with any of the old cells showing through and messing things up.

If you need to do multiple pastes of the same time-advanced pattern, I think the current fastest way to do this in Golly is

1) Advance the whole pattern by N ticks with the Space bar, or advance just the selected oscillator by N ticks with Ctrl+Space;
2) Copy the advanced version of the oscillator;
3) Hit Ctrl+Z N times to return to the original phase (optional, if you don't want to rephase your source copy of the oscillator);
4) Paste copies of the advanced version of the oscillator wherever you want it.

If you only want to rephase one oscillator, of course, selecting it and hitting Ctrl+Space N times will do that directly with no need to get the clipboard involved.

I haven't been able to keep up with testing your recent changes, but I think you're getting to where this same kind of Do, Copy, Undo, Paste trick will work in LifeViewer. But actual designed functionality would be better than a workaround, of course.

Seems like Ctrl+Space and Shift+Space as in Golly would be pretty near equivalent to an "evolve before pasting" option. That could be interesting, too, though -- especially if the bounding box of the pattern could change as you evolve it. Copy a pi-heptomino, evolve it 173 ticks, and paste 47x31 pi detritus? I can't exactly think why that would be useful, but it might be better in some ways than Golly's slightly weird bounding-box-limited behavior.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

I think the key here is that there are two different bounding boxes:

1. The selection box (green)
This is used to mark cells for cut/copy into the buffer. You can also manipulate the selection itself before cut/copy with a set of tools that can flip, rotate, random fill etc.

2. The buffer box (red)
This is effectively the clipboard and appears only when you paste. You then drag it to where you want to paste and click for the paste to happen. Like the selection box, above, you can also manipulate the buffer box before pasting with the same set of tools. Some of these tools (including rotate and evolve) will change the buffer box size.

I believe it's more helpful to have evolution on the buffer than the selection. It removes the need for any undo hacks.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 358 is now available on the lazyslug server

Enhancements in this build:
  • added selection box display
  • hotkey Ctrl "I" for invert selection
Fixes in this build:
  • don't rotate selection if result doesn't fit in bounded grid
  • fix dragging selection in bounded grid
  • population count could be incorrect at generation 0 if stats off while editing
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 359 is now available on the lazyslug server

Enhancements in this build:
  • Selections
    • Select mode Copy button copies to internal clipboard unless there is no selection in which case to external clipboard
      • main menu Copy button always copies entire pattern to external clipboard (regardless of selection)
    • Cut button copies to internal clipboard
    • Paste button displays paste cells which can be dragged to required position and then click to paste
      • hotkey "Enter" can also be used to paste
      • hotkey "Esc" clears paste
    • new Paste Position slider defines where to paste relative to the mouse
    • when paste cells displayed Flip X, Flip Y, Rotate CW, Rotate CCW, Random Fill, Clear and Invert work on the paste cells
    • hotkey Ctrl+Shift "5" for 2-state only random fill
  • Patterns
    • hotkey Alt "N" prompts for rule and then creates a new empty pattern
    • hotkey Alt "R" prompts for new rule for the current pattern
    • hotkey Ctrl "O" to load original or last saved pattern
Fixes in this build:
  • lock Hexagon toggle if not in hex display mode
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

This release is functionally complete for Select / Cut / Copy / Paste.

Next I'm looking at being able to select a pattern from a library to Paste. I'm thinking it would be helpful (for example) to quickly be able to select a glider to paste.

Did you have a list of standard components?
User avatar
dvgrn
Moderator
Posts: 12053
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:This release is functionally complete for Select / Cut / Copy / Paste.

Next I'm looking at being able to select a pattern from a library to Paste. I'm thinking it would be helpful (for example) to quickly be able to select a glider to paste.

Did you have a list of standard components?
Well... how big a list do you want? There's no single library of all known circuit mechanisms, for example, but a single library would probably be too big to be usable anyway.

The Elementary Conduits Collection is one of the most organized collections, and it includes (in ec-16-3-19.zip individually named and commented conduits in separate RLE files.

There's also h-to-h-collection-26August2017.zip (in Golly's Patterns/Life/Signal-Circuitry) which has links to several other libraries in the pop-up HTML.

For spaceships, there are various collections in Life/Spaceships, but most of them aren't in common use so there wouldn't be much demand for a library. Just the spaceship-types.rle ones, plus MWSS and HWSS and maybe a few more of the smaller named c/2 ships, would probably be plenty.
User avatar
dvgrn
Moderator
Posts: 12053
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

Here's a separate item I noticed while answering Moosey this morning.

Existing state-2 cells in LifeHistory patterns aren't showing up for some reason, even though the LifeHistory theme is selected.

Code: Select all

x = 41, y = 24, rule = LifeHistory
15.2A$3.2A10.2A$4.A11.6B$4.A.A8.8B$5.2A7.4B2.4B$13.4B4.4B$12.4B6.4B$
11.4B8.4B$5.2D3.4B10.4B$5.D3.4B12.4B$8.4B14.4B$7.4B16.4B$6.4B18.4B$5.
4B20.4B$4.4B22.4B$3.4B10.A13.4B$2.4B10.A.A13.4B$17.A.A13.4B$3A6.2A3.
3A2.3A12.4B$2.A6.2A2.A3.2A3.A12.4B$.A11.A.2A2.3A14.4B$14.A2.A.A17.4B$
16.A.A$17.A!
#C [[ THUMBNAIL THUMBSIZE 2 ]]
History cells created by evolving the pattern still show up with no problem.

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

Also just noticed that copying or doing Ctrl+C on a selection doesn't actually influence the clipboard. Maybe that's by design? I was expecting Ctrl+C at least to do _something_ when I'm in Select mode.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:Existing state-2 cells in LifeHistory patterns aren't showing up for some reason, even though the LifeHistory theme is selected.
It was a bug which I've just fixed. Thanks!
dvgrn wrote:Also just noticed that copying or doing Ctrl+C on a selection doesn't actually influence the clipboard. Maybe that's by design? I was expecting Ctrl+C at least to do _something_ when I'm in Select mode.
From the release notes:
  • Selections
    • Select mode Copy button copies to internal clipboard unless there is no selection in which case to external clipboard
      • main menu Copy button always copies entire pattern to external clipboard (regardless of selection)
Ctrl+C is the equivalent of the Select mode Copy button. If there is a selection in LifeViewer it gets copied to LifeViewer's internal clipboard. Ctrl-V will then put up the paste cells display for you to choose where to paste them.
If there is no selection in LifeViewer when you press Ctrl+C then the entire pattern is copied to the external clipboard (the original behaviour before I implemented Select mode).

There is currently no way to copy just the cells in LifeViewer's selection to the external clipboard. The reason is that copying to the external clipboard is slow and sometimes needs user interaction (browser security limitations). I didn't want users slowed down when they're editing in LifeViewer because of this. So I currently only allow copy to external clipboard when there is no selection (which means the original pre-Selection behaviour).

A solution would be to have a separate key for copy to external vs internal. Thoughts?
User avatar
dvgrn
Moderator
Posts: 12053
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:I didn't want users slowed down when they're editing in LifeViewer because of this. So I currently only allow copy to external clipboard when there is no selection (which means the original pre-Selection behaviour).

A solution would be to have a separate key for copy to external vs internal. Thoughts?
Sounds pretty reasonable the way it is. But I would find it handy to be able to copy selections out to the external clipboard, particularly for pasting into places like Mark Niemiec's search page where it's currently necessary to copy out into Golly, select there, and then copy again.

The only problem with a separate key is that Ctrl+C is really the standard shortcut to use for this kind of thing. Maybe a good way to implement it would be to add an "enable" hotkey: press INSERT (or whatever) to synch the internal and external clipboards (so that Ctrl+C changes both, and never mind if it slows things down a bit)... and then INSERT again to go back to the default behavior. (?)
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

Build 360 is now available on the lazyslug server

Enhancements in this build:
  • there are now 10 clipboards
    • hotkeys Alt "0" to Alt "9" makes one of 10 clipboards the active one
    • paste rectangle will update if visible to new clipboard contents
    • using hotkey when specified clipboard already selected triggers paste
    • Selection mode has new Library button which brings up list of clipboards
  • replaced main menu Copy button with Sync toggle which if set synchronises cut and copy actions with external clipboard
    • hotkey Alt "S" toggles sync
  • added 2-state Random Fill button when multi-state pattern loaded
Fixes in this build:
  • [R]History state 2 was being ignored on pattern load
  • some patterns were failing when the grid grows
  • prevent selection controls from going off bottom of window
  • fixed an issue with selection box and undo
This build is a Release Candidate.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

How much do you use "Shrink Selection" in your day to day editing? I was considering making it a toggle, rather than a one off action: i.e. turn on "Shrink Selection" mode and all selections will automatically shrink. If you don't want it, turn off "Shrink Selection".

Is that better or worse than having a button you can click on the occasion you want to shrink?
User avatar
dvgrn
Moderator
Posts: 12053
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Life tag testing

Post by dvgrn »

rowett wrote:How much do you use "Shrink Selection" in your day to day editing? I was considering making it a toggle, rather than a one off action: i.e. turn on "Shrink Selection" mode and all selections will automatically shrink. If you don't want it, turn off "Shrink Selection".

Is that better or worse than having a button you can click on the occasion you want to shrink?
I use Shrink Selection a lot -- on a significant fraction, if not a majority, of my selections. But I think that's mostly because Golly doesn't auto-shrink selections for me.

When I'm pasting a component of a larger pattern, I want to be zoomed in as far as possible, because it's usually necessary to pick a very precise placement when pasting, lining up a glider lane or overlapping a still life somewhere. But when I do a selection, it's a fast operation, and I grab a lot of extra empty space too, just to make sure I don't miss any cells sticking out at the edges. Having an Auto-Shrink setting would save me a step in those cases.

Another thing I often do is line up a pasted pattern with the currently selected location -- like select, Ctrl+X, run N ticks, Ctrl+V and drop the pattern right where it was before, but now it's in a different phase relative to everything else. So it would be good to have the Auto-Shrink toggle turned off for those cases.
User avatar
rowett
Moderator
Posts: 4597
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Life tag testing

Post by rowett »

dvgrn wrote:Another thing I often do is line up a pasted pattern with the currently selected location -- like select, Ctrl+X, run N ticks, Ctrl+V and drop the pattern right where it was before, but now it's in a different phase relative to everything else. So it would be good to have the Auto-Shrink toggle turned off for those cases.
Paste to original position is coming. Also I could have the Auto-Shrink toggle per clipboard (now we have 10 clipboards to play with!).
You could set clipboard 0 to Auto-Shrink and clipboard 1 not to.
Do your auto-shrink editing using clipboard 0. Alt-1 to switch to clipboard 1. Do your non-auto-shrink work. Then Alt-0 to switch back.
You could also put useful pattern components in other clipboards and then double tap Alt-n to paste (first Alt-n makes n the current clipboard, second one pastes since it's already active).
Locked