LifeViewer Release Notes Written by Chris Rowett -- Last update 25 April 2024 Build 1137 - fixed an issue with tokenizing custom rule names containing commas Build 1136 - check that embedded @RULE definitions match the rule name Build 1135 - fixed randomizing a non-deterministic HROT pattern Build 1134 - draw cells above bounded grid border at Zoom < 1 Build 1133 - fixed Custom nighborhood display in Help->Pattern->N'Hood Build 1132 - fixed HROT Custom neighbourhood orientation Build 1131 - enable Angle and Tilt to be set by script commands for none rule Build 1130 - fixed a layer rendering issue at Zoom < -16x Build 1129 - improved layer rendering when layers go through multiple 2^-n zoom ranges Build 1128 - performance improvement for 2-state patterns when drawing tiles containing only dead cells - always switch to Pan mode when Population Graph opened - fixed a [[ KILLGLIDERS ]] crash - fixed layers sometimes rendering previous generation - fixed layers with bounded grid rendering removing cells at distance zooms - fixed Population Graph being a cell behind updates at T=0 Build 1127 - do not display Settings menu titles if display height is too low Build 1126 - fix spurious "Show Pattern Error" link on forum - fix Golly Theme colour for HROT multi-state and two state rules Build 1125 - fix Golly Theme colour order for HROT multi-state rules Build 1124 - fix display issue when drawing stars without gridlines with High Quality rendering - fix Golly Theme colour order for 2 state rules Build 1123 - minor performance improvement for colour history Build 1122 - don't AutoFit with zero population Build 1121 - set bounded grid tiles on Reset since the grid may have grown during playback - close the Graph if mode changed - ensure changes to population at the current generation are reflected when the Graph is opened - ensure AutoFit is respected when window resized - Identify now displays results of period detection before classification begins Build 1120 - fixed pattern extent on Save for LtL/HROT patterns Build 1119 - the LifeViewer home page now supports dragging and dropping pattern files onto the LifeViewer window Build 1118 - first phase of pinch zoom support for touch devices Build 1117 - preserve leading whitespace in comments Build 1116 - fix too many alternates error message - first part of [[ KILLGLIDERS ]] improvement Build 1115 - Y coordinate direction (display only) can now be toggled with Settings>Advanced>Y Direction (hotkey F9) - the default is that the Y coordinate increases down the screen - this setting is saved for the current browser on the current device - note: this only changes how the Y coordinate is displayed and script commands that take cell locations (for example [[ PASTE ]]) always use Y increasing down the screen Build 1114 - fix scale issue on displays with low resolution and browser zoom Build 1113 - support scale x and y Build 1112 - try alternate method of reading CSS scaling Build 1111 - fix updateMe() only updating the first embedded Viewer Build 1110 - fix cursor position when CSS scaling used Build 1109 - prevent keyboard events from propagating when handled Build 1108 - don't put error links in forum codeboxes that look like they contain Python Build 1107 - ignore comma after rule name - fail pattern load if there is whitespace after RLE count - fail pattern load if there is a leading zero in RLE count Build 1106 - allow comment lines in RLE pattern body Build 1105 - performance improvements when loading patterns Build 1104 - report alternating RuleLoader rules as not supported Build 1103 - fixed Identify issue with Margolus period 2 oscillators Build 1102 - fixed some Chrome warnings about getImageData - improved Snapshot performance Build 1101 - performance improvements when loading patterns - embedded viewers with too big [[ WIDTH ]] specified will now attempt to keep aspect ratio rather than flag an error Build 1100 - improved copy to clipboard compatbility on Safari mobile - do not prompt when Randomizing the pattern if the only edit was playback from T=0 - fixed CSP issue with getting build number Build 1099 - improved copy to clipboard compatibility Build 1098 - fixed Identify with Margolus period 2 oscillators - fixed Identify with alternating [R]Investigator states Build 1097 - improved random fill performance at T=0 - fixed Cell Period Map rendering from website Build 1096 - switched to using internal format for UI Icons Build 1095 - use Cmd and Option in Help and tooltips on Safari (instead of Control and Alt) Build 1094 - support Mac Command key for keyboard shortcuts Build 1093 - fixed nudging selection with HROT/LtL rules in Bounded Grids Build 1092 - alert if memory is exhausted - improve LifeViewer home page button handling Build 1091 - Fixed a Paste issue Build 1090 - fixed Cell Period Table not always allowing scrolling when required Build 1089 - improved Help->Info->Gridlines - PCA, Margolus, Triangular and Hexagonal rules now only support Plane or Torus Bounded Grids Build 1088 - fixed an issue with history cells for HROT rules Bujild 1087 - fixed Margolus iterator issue Build 1086 - improved alignment of Paste overlay Build 1085 - enable Kill Gliders button for range 1 HROT rules - treat [R]Investigator kill cells as dead for Identify - fixed HROT pattern erasing cells leaving history - fixed PASTE creating history cells when no alive cells died Build 1084 - further performance improvement to Identify when calculating Strict Volatility Build 1083 - improved Identify performance when computing Strict Volatility Build 1082 - added script command [[ LABELALIGN CENTER|LEFT|RIGHT ]] to set the text alignment for subsequent [[ LABEL ]] definitions - added an alias Build 1081 - improved multiverse handlingD Build 1080 - fixed an issue with Advance Selection and growing the grid Build 1079 - fixed [R]Super state 6 cells not always appearing in Identify Map Build 1078 - fixed rendering issue when changing zoom levels Build 1077 - fixed Select All with 2-state RuleLoader patterns - fixed Select All in Bounded Grid with incorrect pattern size specification Build 1076 - fixed RuleLoader range from grid boundary when cells are killed - fixed Mod case for Identify - fixed population calculation for HROT patterns that get killed at the grid boundary Build 1075 - added support for some [R]Investigator named rules - enabled Layers for 2 state RuleTree/RuleTable rules - fixed an issue with Identify, Bounded Grids and [R]Investigator Build 1074 - fixed [[ KILLGLIDERS ]] for range 1 HROT rules Build 1073 - fixed Paste resetting history Build 1072 - fixed alive count with [R]Investigator patterns on bounded grids - fixed some error validation messages for [[ COLOR ]] - fixed speed slider position on Reset - allow Niemiec states to be translated into [R]Super states - fixed [R]Investigator range from grid boundary when cells are killed - fixed which [R]Investigator states get killed when they hit the grid boundary - fixed showing some Identify results when script errors are shown Build 1071 - non-deterministic HROT rules can now randomize a parameter value by specifying # for the value - e.g. R1,C2,S2-3,B3,P100,#,55 - survival% is 100% - birth% is random - immunity% is 55% Build 1070 - fixed crash when certain HROT patterns hit grid boundary Build 1069 - fixed Identify for [R]Super Build 1068 - fixed pattern validation for [R]History, [R]Super and [R]Investigator - fixed Select All position when incorrect pattern size specified Build 1067 - small performance improvement for [R]Investigator iterator Build 1066 - fixed [R]Investigator alive state handling Build 1065 - fixed rectanglur cells offset Build 1064 - fixed selections - fixed not cancelling current selection when new one is started via drag Build 1063 - non-deterministic HROT rules now support an additional parameter - R1,C1,S23,B3,NM,P[survival%[,birth%,[immunity%]]] - survival% is the chance that a cell actually survives when the rule specifies it should - birth% is the chance that a cell is actually born when the rule specifies it should - immunity% is the chance that a cell survives when the rule specifies it should die - if only survival% is specified then that value is also used for birth%, and immunity% is set to 0% - if none are specified then a random value is used for survival% and birth%, and immunity% is set to 0% - fixed a tiling issue with 1D RuleTable rules Build 1062 - allow choosing a new drawing state during Change Cell State - fixed RANDSEED not checking if it has an argument Build 1061 - non-deterministic HROT rules now support defining the percentage chance of surviving a death, and chance of being born: - R1,C1,S23,B3,NM,P[survival%[,birth%]] - if the birth chance is not specified then the survival chance is used for both - if neither are specified then birth and survival chances are randomized Build 1060 - added Change Cell State button to Selection menu (hotkey Alt-K) - prompts to click on a cell and then replaces all cells of that state with the current drawing state Build 1059 - fixed playback speed from script commands Build 1058 - fixed invalid Mods for Identify Build 1057 - PCA and Margolus rules now show the engine generation in Generation Statistics when in Relative mode - fixed Step Back not triggering AutoFit when enabled - improved AutoFit for large Zoom values Build 1056 - improved selection box rendering accuracy - fixed playback speed slider initial position Build 1055 - fixed more drawing with [R]Investigator rules Build 1054 - fixed drawing with [R]Investigator rules Build 1053 - fixed dead cell state choice during PASTE Build 1052 - fixed deletion when HROT patterns hit the grid boundary Build 1051 - minor performance improvement for [R]Investigator Build 1050 - fixed Fast Lookup calculation happening if pattern was invalid Build 1049 - fixed deletion when patterns hit the grid boundary Build 1048 - fixed a sequencing issue with Undo/Step Back and PASTE Build 1047 - fixed repository load with Investigator postfix Build 1046 - renamed [R]Extended to [R]Investigator Build 1045 - fixed dead cell handling in [R]Extended - fixed handling of pattern dimension -1 Build 1044 - fixed Identify not displaying Life ended message when LOOP defined - fixed Fast Lookup not being triggered for RuleTable patterns with 5 to 7 states - fixed Identify with multi-state patterns - improved Identify performance for [R]History patterns - fixed Identify and Bounded Grids - fixed COLOR error for [R]History lower case state names - fixed state 3 cells for [R]Extended in Identify - fixed [R]History no-trail states that get killed at the grid boundary - fixed AutoFit on Bounded Grids with an infinite dimension - Settings->Advanced->State Number now toggles displaying raw state number - fixed dead Triangular cells not drawing at grid edge - fixed HistoryFit for patterns with just pasted cells - fixed minimum delete radius for HROT and [R]Extended algos Build 1043 - allow negative time delta for slow salvos - fixed Bounding Box for Identify [R]History patterns with state 6 Build 1042 - added experimental syntax for slow salvos - [[ PASTET t PASTE rle x y XT dx1 dt1 dx2 dt2 ... dxn dtn ]] - [[ PASTET t PASTE rle x y YT dy1 dt1 dy2 dt2 ... dyn dtn ]] Build 1041 - fixed HROT bounding box calculation Build 1040 - fixed drawing in [R]Extended Build 1039 - fixed [R]Extended for hexagonal neighbourhoods Build 1038 - fixed RuleLoader algo issue Build 1037 - fixed a crash in Help Build 1036 - added B0 support to [R]Extended rules Build 1035 - fix [R]Extended Y axis Build 1034 - reduce memory usage when reading comments - added experimental support for [R]Extended rules - fixed Mod for [R]Super with state 6 - fixed vertical positioning on Hexagonal grids - fixed [R]History state 6 cells at grid edge - Fast Lookup now supports RuleTree rules with up to 16 states - fixed THUMBLAUNCH when used with RANDOMIZE or RANDOMIZE2 - fixed history tile grid not being reset correctly Build 1033 - made T Min/Max mod the period for Help->Info->Identify Build 1032 - added the generation at which Identify finds the minimum and maximum Spaceship or Oscillator population and bounding box to Help->Info->Identify Build 1031 - made hexagons more regular Build 1030 - fixed Nudge Selection boundary for HROT/LtL rules Build 1029 - fixed Layer colours for dead cells in Generations rule - fixed Bounding Box when cells cleared at grid boundary Build 1028 - New Pattern and Change Rule will now detect rule name from pasted RLE - allow Snow to fall through cell borders Build 1027 - fixed Nudge Selection boundary for 2-state rules Build 1026 - further improvements to illegal state handling Build 1025 - fixed overlay Bounding Box calculation when not overlay cells exist Build 1024 - improved COLOR validation - fixed illegal state error handling Build 1023 - Fast Lookup now gets created automatically in the background and will be enabled as soon as ready Build 1022 - Fast Lookup now supports @TABLE hexagonal neighbourhoods Build 1021 - performance improvements for Fast Lookup Build 1020 - disable Copy as MAP for B0 rules - improved Fast Lookup initialization performance Build 1019 - display last benchmark time in Help->Pattern - display progress bar during Fast Lookup initialization with Cancel button Build 1018 - added more information to Help->Info->Pattern about Fast Lookup Build 1017 - fixed issue when switching Fast Lookup off for RuleTree rules Build 1016 - added Settings->Advanced->Fast Lookup (hotkey F7) to toggle Fast Lookup for supported RuleLoader rules Build 1015 - added experimental faster algo for RuleLoader @TREE and @TABLE rules - currently enabled with [[ FASTLOOKUP ]] script command - supports Moore neighbourhood rules with 2 to 8 states - supports von Neumann neighbourhood rules with 2 to 32 states - note: it can take several seconds to initialize for 5 to 8 state Moore @TABLE rules Build 1014 - improved COLOR validation error messages Build 1013 - align Help-Scripts->Colours with current rule Build 1012 - further improvements to COLOR element validation Build 1011 - improved COLOR element validation Build 1010 - fixed AutoFit for empty Hex patterns - fixed Triangular selections being one cell too wide - fixed [R]History state colours not being able to be changed with state numbers - fixed creating a Custom Theme when an invalid state number specified for a colour - fixed COLOR dead and COLOR DEAD sometimes referring to different states - fixed not creating a Custom Theme when some [R]History colours changed - fixed DEAD vs DEADRAMP order for [R]History Build 1009 - added Strict Volatility support for 2-state RuleTable rules - fixed incorrect births and deaths count for 2-state VN RuleTree rules - added Settings->Clipboard->Copy as MAP (hotkey Alt+M) to copy to the clipboard the MAP equivalent of a 2-state RuleLoader rule - fixed AutoFit not updating after all edits Build 1008 - fixed HROT rules not rejecting Bounded Grid with shift - improved Spaceship detection for single cell ships Build 1007 - fixed an edge case for Klein Bounded Grid definition - make canonical form of Torus Bounded Grid shift modulo width or height - limit maximum specified Torus shift to +/- 1000000 Build 1006 - reduce maximum HROT Gaussian range to 50 Build 1005 - fixed PASTE not pasting multi-state cells in left or right tile of the grid - improved Cell Period Table paging - removed Bounding Box from Identify results for Hexagonal or Triangular grids Build 1004 - fixed PASTE not pasting 2-state cells in left or right tile of the grid - always include both height and width in Bounded Grid canonical format (excluding Sphere) - Page Up and Page Down buttons on the Cell Period Table now scroll multiple lines at a time Build 1003 - you can now scroll the Cell Period Table by dragging with the mouse/touch - increased maximum major grid line interval to 32 - Undo/Redo now triggers AutoFit if enabled Build 1002 - fixed greyed out colour for Grid button grid lines Build 1001 - fixed allowing too small Bounded Grids for HROT/LtL rules - fixed patterns with CXRLE Pos being allowed too close to grid boundary Build 1000 - fixed a crash on LifeViewer home page when "View" clicked during pattern identification - fixed making a selection with zero population - fixed selection box on square grid at Angle 0 - fixed Close Errors button not being hidden when Settings displayed - AutoFit now reacts to cell drawing when enabled - fixed Nudge overwriting current paste buffer Build 999 - fixed Fit Zoom with odd dimension Bounded Grids - fixed Errors being hidden after toggling Settings on and off - fixed Hexagonal grid not always drawing top or bottom row of cells - fixed cell drawing and Undo with cells drawn because of clipping a Bounded Grid - fixed [R]Super bounded grid cell colour at ZOOM < 1 Build 998 - fixed grow grid trigger for HROT rules - fixed Undo/Redo records after grid grows - fixed starting drawing outside a bounded grid Build 997 - added buttons to scroll the Cell Period Table if it is too long to fit in the window - fixed Klein Bounded Grid with shift - fixed vertical alignment of legend boxes on Cell Period Table and Cell Period Map - disable Tilt when in Draw or Edit mode or when Selection or Paste box is active Build 996 - fixed COLOUR command allowing invalid state numbers - fixed RLE decoder when size specified but no rule Build 995 - fixed Help->Themes for multistate patterns with 255 or 256 states - fixed AutoFit on STOP - fixed Triangular grid cell location - fixed [R]History custom marked states being used with all Themes and not just Custom - fixed error message if [R]Super used with HROT rule definition - fixed PCA rules in Bounded Grid with infinite dimension - fixed incorrect range in rule neighbourhood tooltip Build 994 - added notification when Cell Borders switched on or off via hotkey - fixed potential crash when drawing triggering a grid growth - moved "Info Bar" button from "Settings->Display" to "Settings->Advanced" - moved "Integer Zoom" button from "Settings->General" to "Settings->Display" - added "Settings->General->Fit Selection" (hotkey Ctrl+F) to fit the selection to the display - fixed pattern AutoFit after Identify with Track enabled - fixed Still Life detection for Margolus rules - fixed Bounding Box issue if pattern died during Identify analysis Build 993 - fixed Identify for Margolus rules that have an identical pattern in two consecutive generations Build 992 - several fixes for Identify Mod for Margolus rules Build 991 - hide Help->Script->Colours items that are not relevant to the current rule - fixed Undo not restoring dead states for PCA rules Build 990 - fixed odd period case for Margolus rules Build 989 - fixed period 1 case for Margolus rules Build 988 - added Strict Volatility for Margolus rules Build 987 - only draw Bounded Grid in the bottom layer Build 986 - fixed PASTE overwriting dead cells with empty cells Build 985 - addded Copy Position and Copy View buttons to Settings->Clipboard menu - fixed "Life ended at" messages not appearing consistently Build 984 - fixed Layers for RuleTable rules - all Themes now compute history Build 983 - fixed Undo/Redo and Reverse Playback buttons Build 982 - ignore THEME command for rules that don't support Themes - fixed background colour brightness on multi-state patterns with Layers - fixed an issue with Thumbnails Build 981 - fixed pattern border checking for loading, drawing, and PASTE Build 980 - fixed incorrect error message when local @RULE in pattern RLE is invalid Build 979 - fixed issue with PASTE on HROT/LtL patterns being ignored for first and last tile in a row Build 978 - undo now restores [R]History and [R]Standard dead cells Build 977 - fixed an issue with Zoom and enabling Waypoints Build 976 - disable Kill Gliders button for unsupported rules - draw off grid regions for Triangles and Hexagons Build 975 - fixed Custom theme being locked if only Grid or Grid Major colour changed Build 974 - map Niemiec states to [R]Super: x -> 15, y -> 17, z -> 19 Build 973 - only exclude multi-state RuleTable rules from Heat and Temperature - use [R]Super for patterns containing Niemiec states "x", "y", and "z" Build 972 - fixed KILLGLIDERS deleted state for [R]History patterns - removed support for Niemiec state 'y' since there is no [R]History state to map to - hide Heat and Temperature for multi-state patterns Build 971 - lock Zoom control and disable Pan and Zoom if AutoFit is enabled - fixed AutoFit with empty patterns - made a minor adjustment to Cell Period Map colour contrast Build 970 - reduced safe border for HROT/LtL patterns - disable KILLGLIDERS for HROT/LtL patterns - adjusted Cell Period Map period colour contrast - fixed Triangle Paste overlay Build 969 - fixed spaceship Mod issue Build 968 - fixed Mod for two cases - ignore PASTE for 'none' rule Build 967 - fixed another KILLGLIDERS edge case - fixed grid growth not being triggered correctly by HROT large range patterns - fixed PASTE with 3 states Build 966 - better align Triangular with Rectangular cells on Triangular grid Build 965 - fixed COLOR dead not referring to just died colour for 2-state rules - fixed Identify Rot90 detection - fixed drawing near the grid boundary causing a crash when pattern run for HROT rules - fixed an edge case in KILLGLIDERS Build 964 - fixed another case of Identify allowing Rot90 with a Mod that ins't quarter of the period - fixed COLOR BACKGROUND not setting the background colour in all rules - fixed COLOR setting for states 0-2 of the 'none' rule - disable Save button if invalid pattern loaded - fixed Shrink Selection and Select All for [R]History rules - fixed AutoFit for Margolus patterns in Bounded Grids - fixed AutoFit for patterns on Bounded Grids with an infinite dimension - fixed Triangular grid horizontal alignment on AutoFit Build 963 - fixed incorrect cell Y coordinate display Build 962 - fixed more [R]Super cell states killed at the grid boundary - fixed "Life ended at" message when CXRLE Gen defined Build 961 - clip drawing to Bounded Grid - fixed [R]Super cell state killed at the grid boundary - fixed Identify allowing Rot90 with a Mod that isn't quarter of the period - fixed Cross Surface allowing infinite dimension - moved Bounded cell colour in Help->Info->Identify Build 960 - ensure Klein shifts are 1 if set - disable KILLGLIDERS for patterns in Bounded Grids - fixed Bounded Grid AutoFit for non-Margolus rules Build 959 - fixed non-canonical Klein bounded grid format on save - fixed dying state for 2-state patterns when pattern killed at grid boundary Build 958 - fixed AutoFit stuttering in some cases Build 957 - added Bounded Grid border to Cell Period Map - added State 6 period count to Help->Info->Identify Build 956 - fixed empty hexagonal patterns with Bounded Grids not centering properly Build 955 - KILLGLIDERS now respects state 4 in [R]History - remember camera zoom when all cells die in HistoryFit mode - fixed AutoFit for Hexagonal grids Build 954 - disable Identify for Bounded Grids with an infinite dimension - Identify now considers all cells in a Bounded Grid (so only Oscillators or Still Life patterns are recognized) Build 953 - changed "Saved" to "Pattern Saved" Build 952 - fixed Klein bottle with twist and shift - don't pause playback when all cells die if LOOP defined and enabled - when selection saved display "Selection Saved" - for cell info use [bounded] for Bounded Grid cells and [boundary] outside Build 951 - ensure State 6 label fits in Cell Period Map legend - fixed Rot180 not being detected by Identify - disable Heat and Temperature for identified patterns in Bounded Grids - make canonical version of Klein Bounded Grid show both dimensions Build 950 - fixed PASTE not working at T=0 for HROT/LtL rules Build 949 - allow Bounded Grid definitions with missing or all infinite dimensions - check for illegal pattern states in @TABLE rules - allow comments in @ICONS colour definitions - scale Cell Period Map legend to text - remove RuleTable patterns when they hit the grid boundary - cell info now shows cells outside a pattern in a Bounded Grid as [bounded] Build 948 - fixed RuleTable B0 error - fixed population calculation for RuleTable rules in Bounded Grids - ensure @TABLE and @TREE header values are read as integers Build 947 - fixed RLE with initial Niemec state not being recognized - fixed [R]History with Bounded Grids Build 946 - fixed Identify issue with grid growth when computing occupancy for spaceships - fixed Clear Outside bounding box issue for [R]History rules - added support for RuleTable B0 rules in Bounded Grids - fixed Life ending during Identify analysis Build 945 - fixed Identify failing Build 944 - fixed crash when resizing Cell Period Map in PopUp Viewer after reset Build 943 - added state 6 [R]History and [R]Super cells to Cell Period Map - remove dimensions from "Pattern too big" message - only allow even Bounded Grid shifts for Margolus rules Build 942 - fixed digonal spaceship Mod orentiation - state 6 [R]History and [R]Super cells are now included in Identify detection Build 941 - fixed diagonal spaceships diagonal flip Build 940 - fixed spaceships allowing Rot180 Build 939 - fixed an issue with Clear Selection not fully removing state 6 cells Build 938 - fixed initial population issue with HROT patterns Build 937 - add more composite transformations Build 936 - renamed some more transformations and added FlipDiag Build 935 - fixed Identify not checking for assymetric state6 cells in [R]History patterns - renamed some transformation types - fixed valid transformation types for spaceships Build 934 - fixed a crash during pattern load Build 933 - performance improvements to Identify Build 932 - fixed initial population count for multi-state rules - performance improvements for HROT/LtL 2-state Identify Build 931 - improve "Show Pattern Error" detection for forum Build 930 - handle repository rule files with missing final end of line Build 929 - further fixes to KILLGLIDERS Build 928 - added period detection time to Help->Info->Identify Build 927 - fixed an issue with KILLGLIDERS Build 926 - further small performance improvement to Identify Build 925 - small performance improvement to Identify strict volatility calculation - Identify search time is now shown in Help->Info->Identify Build 924 - regenerate Cell Period Map image on resize - fixed some invalid patterns not generating "Show Pattern Error" message on forum Build 923 - improved KILLGLIDERS when two or more gliders are diagonally aligned in the same direction - only allow even shifts in bounded grids for Triangular rules - fixed an issue with HROT Custom Neighbourhoods with Triangular or Hexagonal neighbourhoods - show Esc button if there are script errors - update Population Graph if pattern edited at T=0 Build 922 - fixed pattern size check - enable Density for Margolus Still Life - fixed issue with HROT multi-state bounding box for Identify Build 921 - Population Graph vertical axis scale now based on selected data types Build 920 - fixed population count issue for HROT/LtL patterns with HISTORYSTATES Build 919 - fixed issue with canonical Klein bounded grid string Build 918 - fixed population calculation (again) for [R]History state6 cells - fixed population calculation for [R]Super state6 cells Build 917 - performance improvement for rotor and stator calculations for 2-state Like-like rules Build 916 - added an extra digit to Density display - fixed population calculation for [R]History state6 cells Build 915 - fixed a potential crash when growing the grid Build 914 - add State 2 Rotor % to Cell Map Table and Help->Info->Identify - fixed bounding box for Still Life patterns - align Gen menu statistics at bottom of display when not all are displayed - fixed population calculation for Super rules in Hex or von Neumann neighbourhoods with state 6 cells Build 913 - show Density as a value from 0 to 1 - only show current population for Still Life patterns that start not as a Still Life Build 912 - add Density to Still Life statistics Build 911 - fixed an issue with KILLGLIDERS Build 910 - fixed Strict Volatility for periods > 65535 - increased maximum search generations for Identify - improved Identify for alternating rules Build 909 - fixed issue with Identify and [R]History bounding box - fixed diagonal spaceship Mod - fixed Mod for alternating rules - maximum period for Strict Volatility calculations is now based on memory needed Build 908 - fixed spaceship Mod transformations - fixed issue with grid growing during spaceship Mod calculation - fixed bounded box size with state 6 [R]History cells Build 907 - fixed switched Rot90 labels Build 906 - fixed missing Mod transformation for [R]Super spaceships - ensure spaceship Mod calculation takes into account each generation bounding box size Build 905 - fixed compound Mod transformations Build 904 - handle Mod detection when multiple transformations are valid - fixed PCA rotor and stator calculation Build 903 - remove symmetry for spaceship full period Build 902 - fixed Oscillator detection issue Build 901 - add ActiveCells, Temperature and Volatility calculations to Identify for multi-state rules or periods > 65536 Build 900 - fixed crash with odd sized bounded grid - fixed notification background persisting across Viewers - fixed starfield colour persisting across Viewers - fixed [R]History states not being updated correctly when rendering hexagons or triangles Build 899 - fixed issue with Generations population with 192 states - removed "Type" display for Identify since the type is in the header - fixed an issue with [R]History state2 cells not rendering on pattern load if there are PASTE commands Build 898 - moved Last Identify button to Pattern submenu Build 897 - new Identify engine - fixed a typo in Help - fixed pattern decoder searching beyond the first line for a rule name - initialize all state colours to white (so there aren't transparent cells if illegal states used in a pattern) - fixed Triangular and Hexagonal Bounded Grid border colour Build 896 - fixed issue with computing 2-state Mod - renamed some Mod symmetries Build 895 - fixed more issues with computing Mod Build 894 - fixed an issue computing Mod Build 893 - fixed an issue with Identify and orthgonal spaceships Build 892 - improved Identify spaceship detection Build 891 - fixed HROT/LtL default custom theme - fixed Generations issue with 192 states - improved 100% representation in Cell Period Table and Help->Info->Identify - changed "FlipXorYorRotCWorCCW" to shorter "FlipXorYorRot" Build 890 - fixed Klein and Cross-Surface Bounded Grids for Triangular rules - disable Sphere Bounded Grid for Triangular rules - fixed playback stopping after 1 generation if initial pattern was empty Build 889 - fixed step being locked to 1 after all cells die - fixed [R]History state6 cell processing with Bounded Grids - fixed [R]Super patterns hitting the boundary not always being visually deleted - fixed Random Fill not correctly overwriting state 6 [R]History cells Build 888 - fixed an issue with custom colours and RuleTree or [R]Super rules Build 887 - show cell as [boundary] if outside grid - display "No live cells" if Go To Gen used with no alive cells - improve Undo handling at T=0 - fixed Margolus patterns not displaying "Life ended at" if stepping back Build 886 - fixed Spherical Bounded Grids for PCA rules - fixed specifying history state colour for [R]History rules Build 885 - draw the Population Graph below Identify results - fixed Waypoint AutoFit issue with Margolus rules - fixed custom PCA colours being persisted Build 884 - fixed crash when PCA patterns hit grid boundary - changed "Empty Pattern" message for Select and Identify Build 883 - show DYINGRAMP for 3-state Generations rules in Help->Themes - fixed not being able to specify custom PCA N colour - fixed Icon state numbering in Help->Info->Pattern Build 882 - increase maximum STARTFROM generation to 4194304 - "Life ended at" message now includes PASTEs - fixed COLOR dead to point at Dead colour and not Background Build 881 - don't display "Life ended at" if there are pending PASTEs - remove unused colour from Help->Themes for 3-state Generations patterns - added script command [[ NOSNOW ]] to disable secret snow Build 880 - adjusted Dying colour for Mono and Inverse Themes - playback will now stop when Life ends (unless there are pending PASTEs) Build 879 - fixed Alt GridLines button not having correct visual state - only apply custom colours when Custom Theme active Build 878 - disable Alt GridLines if GRIDMAJOR is not 2 - Custom Themes are now based on the default Theme for the rule type Build 877 - don't show Waypoint toggle message from UI control - re-enable STOP - improve error message when illegal PCA state name specified for COLOR - fixed a crash when Waypoints enabled at first Waypoint - fixed an issue where Generations was fading at double speed - added Mod FlipXorYorRot90or270 Build 876 - hide Cell Period Map and Cell Period Table if Help or Settings open - fixed bounding box issue with Strict Volatility Build 875 - ensure PCA rules continue to process history when all alive cells die - don't persist PCA state colour - fixed setting state colour with a number or state name not creating a Custom Theme - fixed issue with Help displaying colour boxes or icons incorrectly when UIBACKGROUND and HELP colours are the same - fixed "Life ended at" message after Undo - fixed Mod calculation for HROT Generations patterns Build 874 - fixed "Life ended at" message when Step Back causes cells to become alive after all dead - show @ICONS definitions in Help->Info->Pattern - moved Help->Info->Stars above Help->Info->Randomize - Help->Info->Themes now correctly shows GRIDMAJOR as 2 for Margolus Themes that have a non-zero GRIDMAJOR Build 873 - fixed "Life ended at" message for Generations patterns - don't display GRIDMAJOR colour in Help->Themes if GRIDMAJOR is 0 - updated Help->Info->Engine Build 872 - only "New Pattern" when there are no cells in the pattern - updated MCell Theme - fixed Generations patterns being deleted at the grid border Build 871 - ensure "none" rules report neighbourhood as "none" Build 870 - fixed random cell generation for PCA rules Build 869 - fixed Generations patterns hitting grid extent - fixed Identify when patterns die - fixed StartFrom when patterns die Build 868 - change how DYING is reported for 3-state Generations patterns Build 867 - fixed reverse playback for PCA alternating patterns - fixed DYINGRAMP for a few Themes Build 866 - enable Strict Volatility for [R]Super rules Build 865 - re-enabled Mod for Spaceships - fixed Identify for [R]Super spaceships Build 864 - fixed issue with Dying colours not being defined correctly - when constrasting colours are automatically generated for Themes ensure they are visually different - always display grid line settings in Help->Themes Build 863 - ensure PASTE is processed even when all cells die that generation - don't show "Life ended at" if there were no alive states originally in the pattern Build 862 - fixed an Identify issue with PCA rules and Rot180 Build 861 - fixed Go To Gen not displaying generations when a Theme with no history is selected - fixed clearing patterns hitting the boundary population calculation - fixed Identify showing symmetry for Mod when it is the same as the Period Build 860 - fixed an issue calculating Mod for Identify Build 859 - fixed [R]Super population statistics with state 6 cells - fixed [R]Super not displaying "Life ended at" message when all cells die Build 858 - fixed VIEWONLY and Error label width when THUMBNAIL used Build 857 - fixed issue with metrics being forgotten when toggling Stats - handle final generation for Generations rules when all cells die during Identify Build 856 - improved error message for alternating rules with nested alternating aliases Build 855 - fixed Select All for multi-state patterns in Bounded Grids - fixed Reset and Step Back to T=0 clearing [R]History state 2 cells - Identify with alternating or Margolus rules no longer shows period 2 cells as part of the Rotor Build 854 - fixed an issue with Select All and multi-state patterns Build 853 - fixed Major GridLines button then interval 0 used Build 852 - fixed a cosmetic issue with Step Back Build 851 - fixed Rainbow rendering after Step Back to T=0 Build 850 - fixed PCA rules not calculating deaths correctly Build 849 - fixed Custom Theme being greyed out when only GRIDMAJOR customised Build 848 - fixed Density calculation for PCA rules in Bounded Grids Build 847 - hide population data selection buttons for all Bounded Grid types Build 846 - improve handling of Waypoint messages at T=0 Build 845 - editing cells in Rainbow mode was drawing the new cells in a single colour in Bounded Grids - Tilt hotkeys now skip dead zone Build 844 - fixed Fast Identify not being disabled for relevant rules - fixed Identify and Fast Identify being disabled if a non-deterministic and then deterministic pattern is loaded Build 843 - fixed rainbow mode being allowed for unsupported rules - fixed reset when rainbow switched on/off Build 842 - added PCA Themes - made Help->Themes specific to the rule - fixed small rounding issue when creating cell colours Build 841 - re-enable Themes Help topic for Margolus rules Build 840 - fixed Niemec cells in [R]Super patterns - fixed bounding box issue with [R]Super patterns Build 839 - stop scaling Population Graph when maximum samples reached - show a message on the Population Graph if no data selected to display - don't allow the Population Graph with the 'none' rule - hide Themes Help topic if not relevant to current rule - fixed error message for PCA rules with History postfix - added a shadow to the colour boxes displayed in Help Build 838 - fixed Margolus/PCA rules T counter not changing after pattern died - fixed playback delay after an undo which causes history calculation Build 837 - fixed regression with Identify calculating Mod for PCA patterns Build 836 - hide statistics during pattern load Build 835 - made remaining shadow colours use the UI background colour - fixed the T button looking selected during pattern load Build 834 - made more shadow colours use the UI background colour Build 833 - fixed an issue with Icon shadow colour when UI background colour is white Build 832 - frame rate warning now uses the Error colour - re-ordered some Help->Info->Identify entries Build 831 - use UI background colour for dimming when Help or Settings menu displayed - better error message if [[ TITLE ]] argument is not a quoted string Build 830 - added Population Graph data selection to Help->Info->Graph - fixed issue with VIEWONLY label appearing in the wrong place - add hotkey Ins to show Help sections within a topic - further performance improvement for Identify with 2-state patterns - fixed an issue with newlines in waypoint messages Build 829 - further improved categorization of some Help->Info items Build 828 - improved categorization of some Help->Info->Theme and Help->Info->UI items Build 827 - improved Identify performance for 2-state patterns Build 826 - disable Identify for non-deterministic rules - improve Cell Period Map fit Build 825 - added data toggles to Population Graph - hotkey Shift F3 to toggle population - hotkey Shift F4 to toggle births - hotkey Shift F5 to toggle deaths Build 824 - fixed an issue with computing strict volatility with patterns with many cells Build 823 - fixed an issue with HROT rules and bounded grids Build 822 - added Cell Period Map background and grid colours to Help->Info->Identify - fixed Identify Mod for Generations rules again Build 821 - fixed Identify Mod for Generations rules - added period legend colour information to Help->Info->Identify Build 820 - fixed snapshot issue every 64 generations Build 819 - fixed stars not drawing outside actual grid extent during Theme change involving background colour change Build 818 - fixed an issue with two line notifications - improved the progress bar for Go To Generation - if Rainbow mode specified in script commands then make it the default on hard reset Build 817 - added Settings->General->Last Identify to display last Identify results (hotkey Shift F6) Build 816 - improve contrast for some Cell Period Map values - prevent hotkeys from switching to Cell Period Map or Cell Period Table when strict volatility not calculated Build 815 - changed Cell Period Map style Build 814 - improved position and style of Cell Period Table - improved style of Cell Period Map legend - fixed pattern information for too big patterns Build 813 - added cell period table to Identify output for ocillators with strict volatility Build 812 - use a smaller cell size for large cell period maps Build 811 - use larger zoom for scales < 1 for cell map display Build 810 - improved cell and border rendering for cell map display Build 809 - improved cell period map display - hotkey Shift-D to download cell period map - fixed crash with Identify and 2-state RuleTable rules Build 808 - can now draw cell period maps that are less than 1 cell per pixel - performance improvements when computing strict volatility Build 807 - hotkey Shift-F6 will now display any previous Identify result - hide Identify controls when Settings menu open Build 806 - fixed cell period map legend for strict volatility 1 - fixed cell period map legend text positioning - fixed cell period map for alternating rules (including B0) - fixed loading triangular rules Build 805 - added legend to cell period map Build 804 - added cell period map display option in Identify results for Oscillators - hotkey D to toggle Build 803 - fixed most of the selection issues Build 802 - fixed an issue where too big patterns where crashing the Viewer Build 801 - if strict volatility not available show it as N/A in results - don't use fixed point for integer values in Identify results - fixed custom Themes - fixed CXRLE Pos with bounded grids Build 800 - fixed annotation coordinates in bounded grids - fixed Arrow and Polygon view distance fading Build 799 - fixed drawing multi-line Labels without shadows Build 798 - added [[ POLYSHADOW (OFF) ]], [[ LABELSHADOW (OFF) ]] and [[ ARROWSHADOW (OFF) ]] - enable/disable shadows for subsequent annotation definitions - fixed issue with KILLGLIDERS executing during reset - fixed GRID AND GRIDMAJOR colours being ignored when THEME specified - fixed incorrect pattern size when repository rule downloaded Build 797 - fixed Bounded Grid cell placement Build 796 - added cell counts for identified oscillators to Help->Info->Identify - reduced memory usage for computing strict volatility - increase maximum allowed period for strict volatility calculation to 65535 Build 795 - make Strict Volatility use fixed-point notation - fixed issue with Help not closing properly when Identify launched Build 794 - Identify will now compute Strict Volatility for oscillators in 2-state patterns (excluding RuleTable and Margolus rules) Build 793 - fixed issue with initial display after RAINBOW disabled and pattern reset Build 792 - clear animated notification when touch released outside Viewer - faster animated notification Build 791 - fixed issue with Rainbow mode and Themes without history - added "#S" to strings as a substitution for random seed - all HROT neighbourhoods now support non-deterministic births and survivals by adding ",P" (for probabilistic) to the end of the rule Build 790 - fixed an issue with step back Build 789 - fixed issue with RuleTable and "none" rules ignoring [[ COLOR BACKGROUND ]] Build 788 - added non-deterministic rules specified with LtL/HROT NR neighbourhood - the neighbourhood is Moore but each birth and survival is based on probability - the probabilities are randomly generated and can be made repeatable by specifying a [[ RANDSEED ]] Build 787 - fixed an issue with rule name validation - don't show cell display workaround for chromium builds >= 107 Build 786 -hide priority notifications when Settings or Help are opened - made "Life ended at..." notification consistent Build 785 - colour animated notifications now use UI Foreground and UI Select colours Build 784 - hotkeys in tooltips now use the Help colour - Help menu now uses the UI locked colour for disabled items Build 783 - added [[ COLOR HELP ]] to define a custom help text colour Build 782 - VIEWONLY label now uses the UI foreground colour Build 781 - add shadow to greyed out icons Build 780 - fixed the wrong grid icon being used for square neighbourhood - UI controls with icons now have a shadow Build 779 - fixed issue with KILLGLIDERS Build 778 - fixed problem with reset after Rainbow mode switched on - restructured some Settings menu options with new General category - added Settings->General->Save View and Settings->General->Restore View to save and restore the camera Build 777 - allow T menu in VIEWONLY mode Build 776 - extend cell display workaround warning to Brave browser Build 775 - fixed initial population for HROT Generations rules Build 774 - fixed setting custom colours for Generations and HROT rules Build 773 - workaround warning message can be permanently disabled by clicking "OK" next to the Help message about it Build 772 - make warning message specific to Chrome on Windows Build 771 - fixed an issue with [[ PASTEMODE ]] interfering with UI paste Build 770 - improve Wolfram validation message - give warning message if on a version of Chrome that needs a workaround to display cells Build 769 - ensure major grid lines start at cell 0, 0 (for unbounded grids) - grey out Snap Angle if grid type doesn't support rotation Build 768 - revert Chrome 103 cell display fix due to slowdown in Chrome 106 Build 767 - improved repository error reporting Build 766 - improved performance when fitting long labels to UI controls - fixed an issue with detecting duplicate alternates for LtL/HROT rules - untoggle Kill Gliders UI control when locked Build 765 - fixed issue with HROT rule validation Build 764 - spherical bounded grid now supports flipping the axis - adding a '*' after the definition flips the axis (e.g. :S30*) Build 763 - fixed an issue validation alternating rules Build 762 - added B0 emulation to HROT 2-state rules Build 761 - disable dragging when UI disabled Build 760 - added two new range-1 triangular neighbourhoods: - Triangular Biohazard (postfix LB) - Triangular Radiation (postfix LR) Build 759 - ignore pattern specified width and height for bounded grid cell positions Build 758 - more accurate cell location when using hexagons - report different custom or weighted neighbourhoods as an error for alternating rules Build 757 - more accurate cell location when using rectangles on triangular grid - hide notifications when Help or Settings opened - add rectangular grid icon Build 756 - fix issue reading hex colour specification for some elements Build 755 - new script command [[ RANDCELLS W H ]] defines a box of random cells - must be used after [[ RLE ]] or [[ PASTE ]] commands - W and H specify the width and heigh of the box (from 1 to 4096) Build 754 - [[ COLOR ]] command now accepts hexadecimal colour specification (must be # followed by six hex digits) Build 753 - rule label tooltip now includes neighbourhood - [[ TITLE ]] and waypoint text now support #D for neighbourhood name Build 752 - added new UI controls in Settings->Advanced: - Stop All: stops all running LifeViewers (hotkey Shift Z) - Stop Others: stops other running LifeViewers (hotkey Z) - Reset All: resets all LifeViewers (hotkey Shift R) - Snap Angle: snaps camera angle to nearest 45 degrees (hotkey Alt /) - hotkey Alt < rotates the camera left 45 degrees - hokey Alt > rotates the camera right 45 degrees Build 751 - improved cell selection accuracy on hex grid Build 750 - fix Hexagonal empty pattern zoom and camera position Build 749 - fix deaths and population when [R]Super cells killed by state 6 Build 748 - disable [R]History with Hex Tripod or triangular neighbourhoods Build 747 - report [R]Super does not support Hex Tripod - fix [R]Super hexagon display - report rules with multiple neighbourhoods defined - fix [R]History state 6 for hexagonal and von Neumann neighbourhoods - fix [R]Super hex state 6 issue Build 746 - fixed an issue with grid growing during PASTE Build 745 - added script command [[ RANDOMIZE2 ]] to create a random 2-state pattern Build 744 - remove Mod information from Identify for Margolus and alternating rules Build 743 - improve handling when rule fails to load - added dead zone to Tilt slider Build 742 - process script commands when rule fails to load Build 741 - hide cell info and selection boxes during initialization - extended Tilt so range is now -5 to +5 - added hotkey @ to reset Tilt to 0 Build 740 - fixed an issue with Go To Gen in benchmark mode not growing the grid Build 739 - fixed blank PCA patterns not showing "New Pattern" message - fixed issue with redo Build 738 - fixed Triangular rules with Torus bounded grid Build 737 Grid UI control now changes grid background when Themes change - fixed PCA paste not working - fixed invert selection for [R]Super rules Build 736 - fixed PCA paste in OR mode - fixed undo/redo with PCA double buffering Build 735 - grid UI control now uses grid colour for background grid Build 734 - fixed "none" rule custom colours not displaying in Help - fixed Identify sometimes failing with alternating HROT rules Build 733 - fixed died generation for HROT patterns hitting boundary Build 732 - added [[ COLOR SELECTED R G B|name ]] to define the colour of selected cells during paste Build 731 - clear history states when switching to Rainbow mode - fix selections with #CXRLE Pos Build 730 - don't show Bounded colour when bounded grid not defined Build 729 - add UI colours to Help->Info->UI Build 728 - added Settings->Advanced->Clear Drawing to clear all cells in the current drawing state Build 727 - mark UI controls that are toggles with +/- in top right corner Build 726 - added Settings->Clipboard->Copy All to copy the selection with comments - added Settings->Clipboard->Paste To Seln to paste the clipboard into the current selection Build 725 - created new Clipboard category in settings menu: - Open Clipboard: opens the clipboard as a pattern - Copy Original: copy the last loaded pattern to the clipboard - Copy Rule: copy the rule definition to the clipboard - Copy Nhood: copy a CoordCA neighbourhood definition to the clipboard Build 724 - added two missing UI controls - Settings->Display->Integer Zoom (hotkey Shift 1) sets the Zoom to the nearest integer - Settings->Display->Center Pattern (hotkey Ctrl M) centers the pattern on the Viewer without changing the Zoom - centered UI controls in Settings->Playback Build 723 - temporary fix for [R]Super static tile issue Build 722 - fix "Life ended at" message with [R]Super patterns - don't allow Generations and [R]Super to be defined together Build 721 - experimental fix for blank canvas issue Build 720 - improved [R]Super performance for some patterns Build 719 - fixed issue with converting patterns to [R]History that are already [R]History Build 718 - fix issue with undo/redo and cell states >= 128 - fixed allocation issue with HROT von Neumnann neighbourhoods Build 717 - improve PASTE performance with blank cells Build 716 - don't change camera if all cells die during Identify Build 715 - implement [R]Super sub-pixel renderer Build 714 - fixed issue with Advance Selection when all cells die in selection Build 713 - [[ STOP ]] will now always define initial stop generation unless specified at a [[ POI ]] - fixed Waypoint target when playback throttled Build 712 - fix died generation Build 711 - enforce WIDTH and HEIGHT limits Build 710 - fix Population Graph screenshot height Build 709 - Settings->Pattern->Save Image and Save Graph will now download the image in the browser Build 708 - added benchmark mode for Go To Gen - enter generation with B (e.g. 1000B) Build 707 - performance improvement when rendering 2-state patterns using Themes with no history Build 706 - disable Identify, Fast Identify, Go to Gen and [[ STARTFROM ]] for [[ VIEWONLY ]] patterns - don't assume Generations rule for multi-state patterns if pattern failed to decode Build 705 - grey out rather than hide Settings Menu button when window too short - disable Major Gridlines button when [[ GRIDMAJOR 0 ]] set Build 704 - don't use alias names for rules when saving RLE Build 703 - maximum grid boundary is now always drawn Build 702 - fixed an issue with copying Themes Build 701 - fixed an issue with stop generation and Themes with no history Build 700 - allow extra parameters in meta setting Build 699 - the optional rule name postfix specified with the tag now allows postfixes beginning with "?" - Build 698 - fix [R]History rendering glitch after ZOOM < 16x - only show grid borders when both height and width at maximum Build 697 - new LtL/HROT neighbourhood 'ND' for aligned checkerboard Build 696 - new LtL/HROT neighbourhood 'NF' for far corner/far edges rules - rule R parameter sets the default range for Corners and Edges - override R by specifying C and/or E - example: FarCorners rule would be: R2,C2,S2-3,B3,NFE1 (i.e. corners 2, edges 1) - new script command [[ PLAYTIME ]] will show duration of last playback Build 695 - further performance improvement to HROT Triangular rules Build 694 - fixed a potential crash for unbounded LtL/HROT von Neumann neighbourhoods - improved performance for HROT Checkerboard rules Build 693 - added "Text" and "Error" colours to Help->Info->Theme when not customized - improved performance for HROT Triangular rules Build 692 - when a pattern fails to decode add a "Show Pattern Error" link which pops up the error details when clicked Build 691 - show in which directions there are more states on the state UI slider in Draw mode - fixed edit actions for 2-state RuleTable/RuleTree rules on odd generations Build 690 - added a small dead zone in the speed slider to make it easier to select 1x speed - you can also set 1x by clicking the button to the left of the slider - fixed CellBorders UI control not being set when CELLBORDERS script command specified - added Hex RGB values to Help Build 689 - you can now zoom out to -32x - hotkey Shift+3 now sets zoom to -32x Build 688 - fix Tilt issue during frame rate measurement - prevent script commands from altering camera controls not supported by the current rule - align "Empty Pattern" messages - step forward after step back was being ignored for the first step - sort outer-totalistic Triangular aliases alphabetically Build 687 - only show Age states in Help for rules that have them - restore Hex grid support for LtL rules - fixed issue with Triangular rules and grid alignment Build 686 - fixed Alive cell count for "none" rules Build 685 - fixed issue with UI controls being hidden after error report Build 684 - restore Hex grid support for HROT rules Build 683 - ensure frame rate is no lower than 60Hz Build 682 - add extra frame time measurement information to Help->Info->Display Build 681 - prevent flickering during frame rate measurement Build 680 - don't jump to Script Help Topic if Help requested when script errors displayed Build 679 - don't override GPS definition when STEP is 1x Build 678 - fix incorrect speed setting in initial UI control Build 677 - handle different refresh rates - measured frame rate is shown in Help->Info->Display Build 676 - added Cancel Selection button to Select mode - added Rand Pattern button to Settings->Pattern menu which randomizes the pattern but keeps the current rule Build 675 - fix issue for Safari 12 on iOS Build 674 - various fixes for Edit operations with [R]History state 6 cells Build 673 - fixed Select All for [R]Super patterns Build 672 - fixed a crash when multi-state LtL/HROT patterns hit the grid boundary - disable selection for none rules - added Shrink Selection button to Edit mode (hotkey Shift+A) - fixed crash with grid growth - when playback STEP size can not be reached show actual STEP attained in playback speed UI control Build 671 - fixes to Waypoint playback speed Build 670 - fixed Bounded cell colour in Help - fixed state names in Help when patterns have more states than the rule Build 669 - fixed step size rounding Build 668 - combine generations per step and steps per second controls and add 1x Speed button - allow blank RLE to mean empty pattern - fix menu colours when invalid pattern loaded - LifeViewer window is 40px wider Build 667 - Select All for Generations now ignores history states - 2-state Random Fill (selection and paste) now use the current drawing state Build 666 - don't show Heat for Margolus or alternating rules (including B0) - fix state names for none rule - fix neighborhood info for none rule - increased the width of the current cell display - disable Layers and Depth for none rule Build 665 - fixed LOOP Build 664 - fix elapsed time not being calculated for T >= 16384 with Identify - fix Annotation positions - [R]Super patterns were not loading Build 663 - don't expand THUMBNAILs on Touch devices unless touch is released over Viewer - ignore extra states for 2-state patterns when computing number of alive cells at pattern load - disable [[ KILLGLIDERS ]] for non-2-state patterns - fixed [[ STARTFROM ]] when multi-state patterns die - don't create undo record if no selection is made - add AGESTATES to Theme Help - fixed an infinite loop when invalid [[ COLOR ]] element specified - improve invalid Theme error message - default grid size is now 512x256 (used to be 512x512) - grid can now grow independently in X and Y direction - fixed elapsed time not being calculated for T >= 16384 with [[ STARTFROM ]] - enforce even bounded grid width and height for triangular LtL/HROT rules - Select All was including bounding box for 2-state HROT/LtL patterns - Cells outside a bounded grid are shown as "[Boundary]" - when patterns are killed by hitting the grid boundary update the population and death statistics - hotkey "m" will display Memory topic when in Help topics menu - rectangular cells for triangular patterns were not being used for paste overlay - fixed clear [R]History/[R]Super tooltips - [[ STARTFROM ]] now stops if all cells die - fixed rotate selection for hex rules - fix janking during normal playback Build 662 - ignore history states for Select All on PCA rules Build 661 - Select All with an empty pattern now cancels any selection - stop Identify iterating first generation with an empty pattern - Identify now displays generation that pattern died Build 660 - allocate TILT buffer on first use Build 659 - annotation position now works with camera tilt Build 658 - 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 hex and triangular grids) Build 657 - added hotkeys Ctrl-[ and Ctrl-] to tilt image Build 656 - experimental mode7 support - hotkey ; to toggle tilt mode on/off Build 655 - fix LifeSuper patterns with only dead cells stopping generating Build 654 - revert create canvas for now Build 653 - change canvas mode to reduce potential flickering Build 652 - extend TRACK range to +/- 8 - create canvas if it doesn't exist - disable STARTFROM notifications if NOREPORT is enabled Build 651 - don't reset playback direction on soft reset Build 650 - fixed an issue when all cells died during Identify Build 649 - Labels support variable substitution with #I for relative generation and #J for relative reversible generation - fixed an issue with Margolus rules incrementing generation count when Stats display enabled Build 648 - Labels support variable substitution with #H for reversible generation (for PCA and Margolus rules) Build 647 - fixed an issue with edited state 6 [R]History cells not working after Reset Build 646 - make 2-state HROT selection box consistent with Life-like equivalent Build 645 - fixed an issue with inline Viewer window resizing incorrectly when loading rules from repository Build 644 - fixed thumbnail mode on touch devices Build 643 - fixed alive ramp on Step Back to generation 0 - fixed "Life ended at..." message not displaying if pattern died and then during playback new cells are added which all die Build 642 - add #P for population to Label variable substitutions Build 641 - Labels support variable substitution with #G for current generation Build 640 - fix bounded grids with RuleTree rules Build 639 - Annotation zoom range visibility is now defined in separate script commands: - [[ LABELZOOMRANGE MINZOOM MAXZOOM|OFF ]] - [[ ARROWZOOMRANGE MINZOOM MAXZOOM|OFF ]] - [[ POLYZOOMRANGE MINZOOM MAXZOOM|OFF ]] - the "OFF" keyword defaults to a visible zoom range of the Annotation ZOOM/4 to Annotation ZOOM*4 - these commands specfiy the visible zoom range for subsequent Annotation definitions - new Annotation script commands to specify Annotation visibility based on distance in cells from viewpoint center: - [[ LABELVIEWDIST D|OFF]] - [[ ARROWVIEWDIST D|OFF]] - [[ POLYVIEWDIST D|OFF]] - the "OFF" keyword means no distance limit - these commands specify the visible distance from the viewpoint center for subsequent Annotation definitions - Annotation visibility target script commands have been deprecated: - [[ LABELTARGET X Y D ]] - [[ ARROWTARGET X Y D ]] - [[ POLYTARGET X Y D ] Build 638 - fixed visual issue after deleting cells for RuleTable rules Build 637 - [[ LABEL X Y ZOOM MINZOOM MAXZOOM ]] was ignoring ZOOM parameter Build 636 - URLE move to 6bit format for 2-state patterns - convert "Conway's Life" alias to "Life" to prevent compatibility issues with other tools Build 635 - performance improvements to experimental URLE decoder Build 634 - alternative experimental URLE decoder Build 633 - fixed [[ KILLGLIDERS ]] Build 632 - alternative experimental URLE encoder Build 631 - fixed popup Viewer scaling issue when loading rules from Repository Build 630 - experimental new URLE encoder can now compress non-sequential duplicate rows Build 629 - experimental new URLE encoder has improved blank cell optimization Build 628 - experimental new URLE encoder now has a state by state mode which gives better compression for most multi-state patterns Build 627 - changed default B3/S23 alias to "Life" - Select All and Save now work with Generations dying states - experimental new URLE encoder detects used states in pattern for better compression Build 626 - experimental new URLE encoder now supports up to 256 states Build 625 - experimental new URLE encoder now uses two methods for [R]History rules Build 624 - experimental new URLE encoder now supports up to 16 states Build 623 - fixed Identify so [R]Super rules are as fast as 2-state rules for detection Build 622 - improved compression of experimental URLE encoder (hotkey Ctrl-E will display statistics) Build 621 - fix Identify statistics for oscillators that take some generations to form Build 620 - bounding box was sometimes not being correctly sized when dead cells drawn - experimental new URLE encoder (hotkey Ctrl-E) [no decoder] Build 619 - fix error reporting after failed Repository lookup Build 618 - don't create links for patterns that are too big Build 617 - new [[ STARTFROM ]] script command to fast-forward to the specified generation on pattern load - Settings->Playback->Go To Gen or hotkey Shift+N to navigate to the specified generation - a relative generation can be specified by prefixing the generation number with + or - - new Cancel button (hotkey Esc) to stop Identify or Go To Gen Build 616 - Step Back and Undo should now work with [R]History states Build 615 - experimental performance improvement for RuleTree von Neumann neighbourhood rules Build 614 - better handling during repository rule load - add missing [[ QUALITY ]] command description to Help Build 613 - experimental performance improvement for RuleTree Moore neighbourhood rules - Help toggle was not clearing if Help closed with Backspace Build 612 - state names can now be used with the [[ COLOR ]] script command (part 1) - re-enable Ctrl-C to copy Help - fixed an issue with the Population Graph at sample limit - increased maximum number of Population Graph samples to 524288 Build 611 - add keyboard shortcuts to tooltips for POI buttons and Universe buttons - adjust states slider when picking states - small performance improvement for von Neumann LtL/HROT rules - state names are now displayed - added support for @NAMES section in RuleTable/RuleTree rules Build 610 - new menu button Settings->Pattern->Save Image will save an image of the current pattern in a new browser window - new menu button Settings->Pattern->Save Graph will save an image of the current population graph in a new browser window - remove canvas focus on touch devices - if GRIDMAJOR is specified but is the same as the current Theme then don't create a CUSTOM Them Build 609 - attempt to fix slowdown on mobile with blue border after Copy Build 608 - hotkey Shift+B now toggles the clipboard library in Edit mode - added hotkeys to clipboard library tooltips - mouse cursor no longer changes when moving over greyed-out controls Build 607 - fixed [R]History colours Build 606 - Identify now detects Mod transformations where the pattern is identical when rotated either CCW or CW as "RotCWorCCW" - remove legacy colour management Build 605 - Help topics can now be selected with hotkeys - hotkey "Backspace" will close a Help topic Build 604 - fix click or tap occasionally being ignored Build 603 - fix CUSTOM Theme button not responding correctly Build 602 - Identify now detects Mod transformations where the pattern is identical when flipped in either the X or Y direction as "FlipXorY" Build 601 - fix Mod calculation for Identify Build 600 - "Hexagons"/"Triangles" button is now "Use Rectangles" - fixed "Einstein" alias - added hotkey "Backspace" to Settings menu "Close" and "Back" buttons - fixed Hexagonal grid camera positions - fixed "Life ended at" message when KILLGLIDERS kills all live cells - fixed population metrics for KILLGLIDERS Build 599 - add Fast Identify button to Settings->Pattern - fix issue with Fast Identify mode persisting Build 598 - fix crash with Identify if grid grows Build 597 - fix missing highlight on range controls on touch devices Build 596 - use case-insensitive match when loading rules from repository Build 595 - tooltips now use a different colour for hotkeys - hotkey Ctrl-P to toggle pause playback while drawing - hotkey Alt-U to toggle autohide UI during playback - hotkey Ctrl-D to toggle states display Build 594 - fix snapshot missing last frame of history states - hide selection size information when Help displayed - added keyboard shortcuts to tooltips Build 593 - improved graph rendering for smoother scaling Build 592 - double digit Weighted neighborhoods were not displaying correctly in Help->Info->Pattern Build 591 - fix issue with HROT Weighted neighborhoods with negative counts Build 590 - fix rendering issue for [R]History rules Build 589 - fix rendering issue that caused an extra initial row and column of cells to be drawn at edge of grid - fix when turning waypoints back on tracking the camera to the right location Build 588 - fix issues with editing [R]History patterns Build 587 - ~15% performance improvement for LifeSuper algo (Moore) Build 586 - fixed population count for [R]History rules with state 6 cells Build 585 - display Weighted or Custom neighbourhood grid in Help->Info->Pattern - fix issue with vertical UI slider Build 584 - [[ LABEL ]] and [[ ARROW ]] now support three ways of defining the zoom and zoom range: 1. [[ LABEL X Y Z "text" ]] : zoom is Z, min zoom is Z/4 and max zoom is Z*4 2. [[ LABEL X Y Z MAXZ "text" ]] : zoom is Z, min zoom is also Z, and max zoom is MAXZ 3. [[ LABEL X Y Z MINZ MAXZ "text" ]] : zoom is Z, min zoom is MINZ, and max zoom is MAXZ Build 583 - add missing space for T in Copy Position to clipboard Build 582 - improved [[ KILLGLIDERS ]] Build 581 - fix blank grid display when [R]Super pattern dies Build 580 - cells on a Triangular grid can now be drawn as Triangles (the default) or Rectangles (faster) - toggle with hotkey / or Settings->Display->Triangles - override the default with script command [[ SQUARECELLS ]] Build 579 - new script command [[ POIADDLABELS ]] will automatically create a POI from each Label definition - new script command [[ AGESTATES <0..63> ]] defines the number of age states to display for a live cell when using Theme Build 578 - hotkey Ctrl+J to copy rule definition to clipboard - fix [[ KILLGLIDERS ]] deleting gliders one step too early in some cases Build 577 - Settings->Pattern->Copy Rule will now copy the rule definition to the clipboard - note the rule definition will have blank lines removed Build 576 - "B3/S23History" rule name is copied as "LifeHistory" Build 575 - you can now fix the size of a Label so it doesn't scale with zoom [[ LABELSIZE (FIXED) ]] Build 574 - prevent clicks between States slider and Smart Drawing button from drawing on the background Build 573 - fix UI slider range on scaled Viewers Build 572 - hotkey Alt+G switches [R]Standard or [R]History to [R]Super - hotkey Alt+H swtiches [R]Standard or [R]Super to [R]History - hotkey Alt+J switches [R]History or [R]Super to [R]Standard - kill gliders toggle is now on hotkey Ctrl+L - [R]Super colours can now be customised with [[ COLOR <0..25> R G B|name ]] - [R]Super paste can now paste and valid state with [[ PASTEMODE COPY ]] - Help->Scripts->Colours was sometimes showing an incorrect number of states for the [[ COLOR ]] command Build 571 - documented rainbow mode toggle hotkey in help (Alt+W) - fixed a tiling issue for RuleTable rules Build 570 - fixed issue with drag-to-select text not working after PopUp Viewer launched Build 569 - fix [[ PASTET ]] in COPY mode for [R]History Build 568 - add Rainbow toggle button to Settings->Display Build 567 - ensure random fill% stay in valid range Build 566 - new [R]Super colours - abbreviate [R]Super state names in Help->Info->Theme Build 565 - ensure paste can't create invalid states Build 564 - fixed a bug with initial AutoFit on hex patterns Build 563 - fixed a bug in Hash neighbourhood Build 562 - fixed B0 with native triangular rules Build 561 - fixed some bugs in [R]Super Build 560 - new script command [[ EXCLUSIVEPLAY ]] will pause other Viewers when playback is started - new script command [[ IGNOREEXCLUSIVE ]] will ignore pause requests from other Viewers Build 559 - fixed broken 8-bit rules Build 558 - [R]Super support for Moore, Hexagonal and von Neumann neighbourhoods - [R]Super cells can be displayed as 2-state pattern: - Settings->Display->[R]Super to toggle cell display - hotkey Alt-H to enable [R]Super cell display, hotkey Alt-J to disable [R]Super cell display - while [R]Super display is disabled Copy will copy 2-state pattern - [R]Super cells can be cleared from a Selection in the editor with the [R] button or hotkey Ctrl+Del - fixed maximum Bounded Grid size (depending on rule at least 6 less than max grid size) - rainbow rendering now works with hexagons and triangles Build 557 - improved [[ RAINBOW ]] rendering performance - hotkey Alt+W to toggle rainbow rendering mode (only available for 2-state Life-like patterns) - [[ RAINBOW ]] works with layers Build 556 - Help->Aliases now marks aliases with duplicate names - added Weighted Generations aliases - new script command [[ THUMBSTART ]] will start playback when a thumbnail is expanded - new script commmand [[ RAINBOW ]] will draw 2-state Life-like patterns in rainbow colours - improved performance for range 1 Weighted and Weighted Generations rule Build 555 - added state weights to Weighted rules - add a comma after NW specification and then one hex digit per state - state weight values are 0 - 15 (decimal) = 0 to f (hexadecimal) Build 554 - added Gaussian neighbourhood for Generations Build 553 - hotkey Ctrl+B will now create a Weighted neighbourhood from a selection if the pattern is multi-state Build 552 - fixed HROT/LtL S limit issue Build 551 - added the majority of Weighted aliases from MCell's built-in Weighted Life rule page Build 550 - added two new totalistic rules: - weighted rules - specify with NW and then hex digits for each cell in the neighbourhood - single hex digit for range from -7 to +7 - double hex digit for range from -127 to +127 - hexadecimal representation has MSB as sign bit - 0 to 7 represent 0 to 7 - 8 to f represent 0 to -7 - 00 to 7f represent 0 to 127 - 80 to ff represent 0 to -127 - e.g. -3, 0, 1 5, 0, -4 1, 3, 2 becomes NWb0150c132 - e.g. -10, 5, 20 4, 100, -2 -11, 6, -20 becomes NW8a05140464828b0694 - can postfix with "H" for hex grid or "L" for triangular grid - triangular grid will cause weightings to be treated as a triangular neighbourhood and flip vertically on alternating cells - Gaussian rules (specify with NG) - fixed an issue with bounded grids on tile boundaries - fixed initial zoom for empty patterns - don't capture F11 while LifeViewer has focus (to allow browser fullscreen toggle) - fix an error decoding HROT rules with empty B or S sections - embedded viewer can now resize with the browser window - enabled with "fullscreen" keyword in content section - triangular display is now correctly stretched for ZOOM < 4x - allow & and : in alias names Build 549 - close settings submenus when settings closed with hotkey Build 548 - Waypoints now do not lock controls if there are no camera commands - added support for triangular neighbourhoods for LtL and HROT rules - specify with NL - clicking or dragging the pattern during Waypoint playback (when controls are locked) will pause playback - improved Goucher LtL format detection - external and internal clipboard Sync is now enabled by default (to make Copy more intuitive) - disable to use internal clipboard only for faster cut/copy/paste - fix annotation position when drawing with triangular grid - fixed Advance Selection for non Life-like patterns - clipboard buttons tooltip now contains cell count Build 547 - fixed an issue with waypoint timing Build 546 - Identify works better with multi-state rules Build 545 - "Click to control" doesn't show controls if AUTOHIDEGUI active - can now drag background during AUTOHIDEGUI - better synchronization of Annotation positions during performance throttling Build 544 - Custom neighbourhoods now allow a postfix of "L" to specify triangular grid - Random Pattern no longer randomizes Custom neighbourhood Build 543 - Custom neighbourhoods now allow a postfix of "H" to specify hex grid Build 542 - hotkey Ctrl+B converts the selection to a CoordCA neighbourhood and copies it to the external clipboard - selection must be square and have a odd side length from 3 to 99 Build 541 - improved Custom neighbourhood performance Build 540 - added support for Asterisk and Tripod hexagonal neighbourhoods for LtL and HROT rules - specify with NA and N3 Build 539 - improved random rule choice for HROT rules - added support for Custom neighbourhood for LtL and HROT rules - specify with N@ and then hex digits - added support for range 1 Hex Tripod neighbourhood - specify with HT - added support for range 1 Triangular Inner and Triangular Outer neighbourhoods - specify with LI and LO Build 538 - added support for Hash neighbourhood for LtL and HROT rules - specify with N# - added hotkey Ctrl+Shift+O to open clipboard as pattern on some browsers Build 537 - added support for Checkerboard neighbourhood for LtL and HROT rules - specify with NB Build 536 - fixed "New pattern" message for non-RLE format patterns Build 535 - added more aliases Build 534 - hex display was incorrect from ZOOM 1x to 4x when High Quality Rendering enabled - improved text wrapping in Help->Aliases - hotkey "b" and "Backspace" should only step back 1 generation Build 533 - added support for Hex neighbourhood for LtL and HROT rules - specify with NH - display "New pattern" if there are only state 0 cells - playback controls were not being reset after rule change from reversible rule - fixed some Margolus Identify issues Build 532 - fixed LtL L2 random rule generation - disabled Alt Gridlines button should be off Build 531 - added more aliases - added support for Cross, Saltire, Star and L2 neighbourhoods for Generations LtL/HROT rules Build 530 - added support for L2 neighbourhood for LtL and HROT rules - specify with N2 Build 529 - don't randomize pattern if the rule is invalid - added some more aliases - improved Cross performance for LtL and HROT rules Build 528 - attempt to fix ignored touch events on iPad - add [[ RANDOMIZE ]] command to create random pattern on start Build 527 - added support for Saltire and Star neighbourhoods for LtL and HROT rules - specify with NX (Saltire) and N* (Star) Build 526 - added support for Cross neighbourhood for LtL and HROT rules - specify with N+ Build 525 - Ctrl-C while Help displayed will copy topic to clipboard Build 524 - attempt to fix second popup move on iPad Build 523 - attempt to fix window positioning on iPad - fix Load Pattern Build 522 - fixed an issue with Copy to External Clipboard and Selection direction Build 521 - fixed an issue with Nudge and Selection direction Build 520 - annotations now support specifying the zoom range at which they will be visible - [[ LABEL X Y ZOOM (MAXZOOM) (FIXED) "string" ]] - [[ ARROW X1 Y1 X2 Y2 ZOOM (MAXZOOM) (FIXED) ]] - [[ POLYLINE X1 Y1 X2 Y2 .. ZOOM (MAXZOOM) (FIXED) ]] - [[ POLYFILL X1 Y1 X2 Y2 .. ZOOM (MAXZOOM) (FIXED) ]] - if MAXZOOM is specified then the annotation will be visible from ZOOM to MAXZOOM - if MAXZOOM is not specified then the annotation will be visible from ZOOM / 4 to ZOOM * 4 - negative zoom value -N mean a zoom of 1/N so ZOOM -4 is the same as ZOOM 1/4 or ZOOM 0.25 - fixed Theme button position - fixed Help->Info->Identify having info when no identification happene Build 519 - added BOOK Theme Build 518 - fix [R]History 2-state paste Build 517 - added [[ PASTEDELTA X Y ]] command - sets incremental position delta for subsequent [[ PASTET EVERY ]] commands Build 516 - fix [[ RLE ]] with multi-line patterns Build 515 - display message if Identify reaches maximum period - added some more aliases Build 514 - fixed support for reversible alternating Margolus rules Build 513 - fixed a couple of aliases and added a new one Build 512 - added script command [[ REVERSESTART ]] - sets initial playback direction to Reverse for reversible rules - ignored for other rules - reverse playback is also set on hard Reset - Randomize now supports alternating rules - Margolus gridlines now alternate by default - Bounded Grids were clipping Margolus patterns Build 511 - fix STEP in Waypoints Build 510 - fix selection box position with #CXRLE Pos Build 509 - added new aliases - fixed Margolus bounding box on alternate generations Build 508 - allow custom colours for RuleTable states - fix Mod for PCA Build 507 - disable reverse playback for alternating Margolus rules - fixed an issue calculating rotor and stator missing the final generation Build 506 - grey out Step Back button when disabled or at Gen 0 with non-reversible rule - PCA state 0 drawing should draw background colour - switched Alive, Births and Deaths label and value so the value is visible when reversible rules are loaded Build 505 - remove Identify Close button for empty patterns - fixed inconsitency on PCA Identify - change Speed values to canonical form - fix Margolus Still Life detection Build 504 - fixed PCA Invert Selection - fixed PCA initial population count - changed PCA births and deaths calculation to use subcells - fixed Change Rule incorrectly enforcing VIEWONLY - hide Random 2-state button for PCA patterns - check Mod values using more than 1 sample Build 503 - hotkey Ctrl+M for middle (center pattern on display but don't change Zoom) - check FlipX and FlipY before FlipXY in Mod detection Build 502 - hotkey Ctrl+F will Fit Selection to the display - remove period 1 from simplified Speed Build 501 - better error handling for invalid LtL/HROT rules - added more aliases - fix Evolve Selection initial position and handling life ending Build 500 - hotkey Ctrl+Alt+Z randomizes the pattern without changing the rule - generations AutoFit now includes Dying states - editor action buttons now hide when not available (rather than grey out) - fix paste mode UI Build 499 - new UI buttons in Select mode to nudge pattern one cell up, down, left or right - can also use hotkeys Alt+Up, Alt+Down, Alt+Left and Alt+Right - fix another Slope simplification for Identify - fix Slope /1 issue for Identify Build 498 - Ctrl+Alt+cursor hotkeys now nudge selection one cell in the specified direction - fix non-reducible Slope for Identify - added more aliases Build 497 - fix Fit Zoom for triangular grid Build 496 - simplify oblique speeds for Identify - search for hex neighbourhood definition for @TREE rules - add Close button for Identify - added more aliases Build 495 - [[ COLOR BOUNDED R G B|name ]] sets custom bounded grid border colour - [[ COLOR SELECT R G B|name ]] sets custom selection colour - [[ COLOR PASTE R G B|name ]] sets custom paste colour - [[ COLOR ADVANCE R G B|name ]] sets custom advance selection colour - fix button overlap - Pick on the bounded grid border now always sets Dead cell for drawing - added more aliases - fix simplified Speeds and Slope for Identify Build 494 - [[ RANDCHANCE FIXED ]] keeps the rule constant when generating random patterns - handle non-integer Slopes - fix colours for [R]History patterns containing illegal states - add more aliases Build 493 - fix Fit Zoom on hex grid Build 492 - fixed a crash while drawing population graph due to no data after pattern died Build 491 - hide Slope and Direction for Identify on non-square grid since they're not supported Build 490 - handle selection in infinite dimension bounded grid - hide Mod for Identify on non-square grid since it's not supported Build 489 - fix get/set state for 2-state RuleTable rules - fix null with reverse alias lookup Build 488 - fix Identify for 2-state RuleTable rules Build 487 - replace dynamic calls with switch - reset died generation when new cells are drawn Build 486 - don't eat commas when parsing script commands Build 485 - fix one alias and add another - add PCA states to Help for COLOR command - hide Help section buttons that don't fit - fixed notification size on scaled window Build 484 - allow PCA state names in [[ COLOR ]] command - ensure smooth UI icons with High Quality rendering Build 483 - resolve Alternate rule aliases from rule - fixed two aliases that were not in canoncial form - Identify now reduces down displacements - PCA colours can be set with [[ COLOR 0..15 RGB|name ]] - added new aliases Build 482 - Identify was not correctly identifying B0 or Alternating rule still lives - added new aliases - added some movement displacements to Identify output Build 481 - use grab pointer for scrolling Help - added more aliases Build 480 - faster high quality rendering if none of stars, snow or grid lines are displayed Build 479 - much faster high quality rendering performance Build 478 - high quality rendering performance improvement - don't use high quality renderer at integer zooms - if pattern load failure is because of illegal cell state then don't assume rule is invalid - high quality rendering now works with [R]History rules Build 477 - new button Settings->Advanced->Render Quality (hotkey Ctrl+"Q") toggles rendering quality - high quality - cells are anti-aliased at ZOOM > 1 - slower and uses more memory - standard quality (the original) - default rendering mode - faster and uses less memory - new script command [[ QUALITY ]] enables high quality rendering Build 476 - make pretty rendering less blurry Build 475 - prettier rendering at ZOOM > 1 - list controls were not respecting custom background colour Build 474 - increase update count Build 473 - snow improvements Build 472 - export build number Build 471 - do not add local @RULEs to the rule cache - fixed an issue when repository load failed Build 470 - allow @RULE in pattern comments Build 469 - improved @TABLE decode performance - fix pattern settings not being reset when rule already in cache Build 468 - fixed quotes handling in tokenizer for script commands Build 467 - parse built-in icon sets Build 466 - decode RuleTable @ICONS section (no render) - IE compatibility fixes - fixed reading RuleTables with missing final new line - reset pattern type flags before RuleTable decode - fix quotes in comments for tokenizer - allow empty @TABLE or @TREE section for -shared rules - improved @TABLE runtime performance Build 465 - case insensitive matches for @TREE and @TABLE decoding Build 464 - improved @TABLE runtime performance Build 463 - added hexagonal and one dimensional neighbourhood @TABLE runtimes - fixed colours for @TREE or @TABLE rules with only 2 states - added improved error reporting for invalid @TREE or @TABLE rules - allow var redefinition in @TABLE rules Build 462 - added @TABLE support - an optional rule name postfix may be specified with the tag on the web page hosting the Viewer - - an entry beginning with "." is used to define the postfix Build 461 - further performance improvements to tokenizer - improved performance of @TREE decoder - fixed Identify misbehaving with LOOP - handle HTML entities Build 460 - fix an issue with Identify calculating wrong spaceship speeds after grid growth - ensure RuleTable sections are at the beginning of the line Build 459 - fix a grid boundary crash in RuleTree algo - tokenizer uses less memory and is significantly faster - added size and timing information to Help->Info->Rule Cache Build 458 - decode Repository response faster - use original rule name for Repository request Build 457 - faster RuleTree performance for von Neumann rules with <= 16 states Build 456 - handle html line breaks in Wiki rules - improve clear tile performance Build 455 - neighbourhood was sometimes wrong in Help->Info for RuleTree rules - improved tile usage in RuleTree algorithm - fixed set cell for RuleTree rules - only make one request per rule Build 454 - Identify can perform much faster since it's no longer limited by maximum STEP - reduce chance of Identify false positives - fix snapshot and step back issue at snapshot interval (every 64 generations) - RuleTree algo performance improvements Build 453 - the location of the rule Repository can be overriden with the tag on the web page hosting the Viewer - - an entry beginning with a "/" is used to define the location Build 452 - fix reading comments in @COLORS section Build 451 - support colour ramp in @COLORS section - RuleTree definitions are cached when retrieved from repository - cache information is in Help->Info->Rule Cache Build 450 - fix thumbnail mode being ignored Build 449 - experimental RuleTree support - supports @TREE and @COLORS sections from Wiki repository Build 448 - fix false positive for Mod on some patterns - fix rule lookup for too big patterns Build 447 - Ctrl+F6 will now run Identify in fast mode - Active Cells, Mod, Temperature and Volatility are not calculated - performance is much faster especially for large patterns Build 446 - added Temperature (active and rotor) to Identify output for Oscillators - added Unsimplified Speed to Identify output for Spaceships - fixed an issue with Mod calculation for non-square bounding boxes and rotations - Active cells counts and Volatility now work for PCA sub-cells - disable TRACK and LOOP during Identify Build 445 - improved Mod calculation performance for multi-state patterns - Mod calculation now works for PCA sub-cells - reverse playback hotkey was not working for PCA rules - fixed Identify for alternating rules - fixed canonical form for Hex rules - made step back hotkey behaviour for PCA rules match Margolus rules - fixed step back at T=0 for reversible rules - fixed an issue with Mod buffer not being reset when loading new pattern in Viewer - Identify results now include: - min, max and average cells - rotor, stator, total active cells (for Oscillators) - min, max and average Heat (for Oscillators and Spaceships) - Mod transformation (for Oscillators and Spaceships) - bounding box size in cells Build 444 - added Mod to Identify Build 443 - added Volatility to Identify output for Oscillators Build 442 - IE11 compatibility fix Build 441 - improved hash function - fixed bounding box for oscillators - fix Identify not working with Themes with no history Build 440 - Identify improvements: - automatically starts searching at full STEP speed - stops playback when finished - displays table of results - autofits display to result - clicking Settings->Pattern->Identify will now close Settings menu - Reset to hide table of results Build 439 - Identify now adds the following metrics to Help->Info->Identify: - Type (Still Life [0], Oscillator [1] or Spaceship [2]) - Cells (number of live cells) or if different: - Min Cells and Max Cells [1][2] - Bounding Box - Direction (Orthogonal, Diagonal or Oblique) [2] - Period [1][2] - Slope [2] - Speed [2] - Heat [1][2] - Generation (the start and end generation of detection) Build 438 - fix various rendering issues for patterns with invalid rules Build 437 - added Oscillator and Spaceship period detection - toggle with Settings->Pattern->Identify (hotkey F6) - will detect oscillators and spaceships up to a period of 2^20 generations - Help->Info->Identify shows last search result - adjusted position of close window button - multi-state patterns with invalid rules were displaying as 2-state Build 436 - fixed tab position on scaled window for error messages - remove focus from embedded Viewer after THUMBLAUNCH - fixed resizing bounding box after some editor action Build 435 - PASTEMODE now accepts binary truth table output (e.g. 0001 for AND and 0111 for OR) - PASTEMODE now allows DIFF as an alias for mode 4 (0100) Build 434 - fixed Wolfram alternate rules - alternate rules where the alternates are duplicates now remove duplicate from rule and alias name - [[ PASTEMODE <0..15>|mode ]] script command now supports 16 paste modes: - ZERO, AND, 0010, X, 0100, Y, XOR, OR, NOR, XNOR, NOTY, 1011, NOTX, 1101, NAND, ONE - COPY can be used instead of X Build 433 - workround for performance issue on iOS 13 Build 432 - Flip X and Flip Y now flip sub-pixels in PCA cells - Help->Info->Theme now shows PCA Theme colour labels - fixed editor issue with PCA rules on odd generations Build 431 - fixed issue with PCA Theme for non-PCA rules Build 430 - CXRLE Gen now accepts negative generations - new Theme for PCA rules which has a different colour for each of the 4 sub-pixels Build 429 - ensure PopUp Viewer size is consistent when using Randomize, New Pattern or Change Rule - fixed PopUp title message size Build 428 - PCA rules now support Randomize - PCA population now takes into account the 4 parts per cell - updated Help information for PCA rules Build 427 - PCA rules now support LifeViewer history states Build 426 - added Bounded Grid support for PCA rules Build 425 - experimental support for PCA rules - reverse playback is supported for reversible rules - Bounded Grids are not yet supported and will be ignored Build 424 - PopUp Viewer dynamically resizes with browser window and zoom level - fix PopUp Viewer window drag scale - pass through some browser keyboard shortcuts Build 423 - fix cross browser window scaling Build 422 - improved window scaling for PopUp Viewer - fixed PopUp Viewer controls not responding when browser scrolled Build 421 - fix image loading issue on Firefox - fix button scale Build 420 - more accurate window scale for PopUp Viewer Build 419 - fix window scale on high DPI devices on forum - fix title bar on new Wiki Build 418 - fixed LifeViewer title bar on new forum - add generation to T menu Build 417 - T button tooltip now shows generation - Life ended notification wasn't always triggering correctly - keep camera position when Life ends - Randomize was discarding [R]History postfix - ignore out of range [[ RANDCHANCE ]] specific birth or survival condition - Randomize was generating B0 for Generations rules Build 416 - new script commands to customize the Randomize random pattern generator - [[ RANDSEED ]] sets the random seed (so you can have the same random pattern each time) - [[ RANDWIDTH <1..1024> ]] sets the width of the randomly generated pattern (default is 64) - [[ RANDHEIGHT <1..1024> ]] sets the height of the randomly generated pattern (default is 64) - this is fixed at 1 for Wolfram patterns - [[ RANDFILL <1..100> ]] sets the random fill percentage for the pattern - new script commands to customize the Randomzie random rule generator - Life-like rules: - [[ RANDCHANCE <0..100> ]] - set percentage chance of being generated - can be: - ALL - all items - B - all birth conditions - S - all survival conditions - B - specific birth condition - S - specific survival condition - random chance defaults to 50 for all conditions except B0 which defaults to 25 - Margolus patterns: - [[ RANDREVERSIBLE ]] generate a reversible rule - [[ RANDFIXEDPOP ]] generate a fixed population rule Build 415 - new button Settings->Pattern->Randomize (hotkey Alt+"Z") which creates a random 64x64 pattern with a random rule - the rule is based on the current rule family - the rule will have the same number of states and neighbourhood as the original rule Build 414 - Margolus enhancements - made gridline colours more distinct - Step Forward and Step Back controls are reversed during reverse playback - Step Back now respects generations-per-step setting - hotkeys Tab and Shift+Tab step forward and back generations-per-step generations - hotkeys Space and "b" step forward and back one generation - [[ PASTE EVERY ]] is disabled when current generation is less than maximum generation reached - maximum generation reached is zeroed on Reset Build 413 - new button Settings->Display->Alt Gridlines to toggle Margolus alternating odd/even gridlines (hotkey Alt+"D") - Change Rule and New Pattern now support Bounded Grid suffix - if in Draw or Select mode when Auto GridLines is enabled then turn on GridLines - setting [[ GRIDMAJOR ]] with no other custom Theme settings creates a Custom Theme based on the default or specified Theme with the specified grid major interval Build 412 - fixed mouse wheel zoom so it works better with "Smooth scrolling" features Build 411 - improved how Step Back works with reversible Margolus rules - added a few non-totalistic aliases Build 410 - Paste commands now allow blank cells in COPY mode Build 409 - lock Direction button during waypoint playback - reset playback direction to forward during waypoint playback - thumbnail launch was only working the first time on touch devices - added some new aliases - Margolus patterns now show Margolus generation - absolute generation is shown in Generation Statistics (toggle with bottom left button or hotkey "G") - absolute generation is needed for Waypoint, Annotation, Stop and Loop commands Build 408 - added new Reverse direction button to toggle playback direction for reversible Margolus rules - improved Population Graph vertical fit Build 407 - [[ PASTET EVERY ]] now works with Margolus reverse playback when Margolus generation >= 0 - Margolus generation number is now in Help->Info->Grid - fixed an issue where [[ PASTE ]] commands weren't happening on step back Build 406 - allow reverse playback for reversible alternate Margolus rules - new script command [[ NOTHROTTLE ]] will disable playback throttling - Margolus rules can now use right hand tile column on the grid Build 405 - fixed alternate Margolus rules - fixed a few Margolus aliases Build 404 - tooltips will now split at | to improve alternating rule display - tooltips now scale with window - graph axes now scale with window - reverse playback for Margolus rules (hotkey "U" to toggle direction) - toggle UI is now on hotkey Shift+"U" - close Help and Errors when UI switched off Build 403 - do not dim display if settings menu open and UI is hidden because of Auto Hide UI - Margolus alternate rules were the wrong way round - fix colour box alignment in Help when window scaled Build 402 - fix title bar sizing - handle conflicting accesskey attributes Build 401 - ignore trailing # for string substitutions - fixed rendering with layers - improved handling when plugin included multiple times Build 400 - Settings menu buttons are now more descriptive - new Settings menu Display setting: Auto Grid (hotkey Ctrl+"G") - turns on grid lines when switching to Draw and Select modes - turns off grid lines when switching to Pan mode - new Settings menu Pattern action: New Pattern (hotkey Alt+"N") - creates a new empty pattern - new Settings menu Info setting: Relative Gen (hotkey Shift+"G") - when #CXRLE Gen is defined toggles the generation display between Absolute and Relative - State Slider now hidden for Generations patterns when states fit on display - selecting a drawing state with hotkeys Ctrl+"0" to Ctrl+"9" now scrolls state selection UI to show new state - PopUp Viewer scales on high DPI devices Build 399 - Settings menu now has Pattern section - Rule (hotkey Alt+"R") prompts for a new rule - Save (hotkey Ctrl+"S") saves the current pattern as RLE to the source document node - Load (hotkey Ctrt+"O") loads the last saved pattern from the source document node Build 398 - fixed an issue where sometimes touch events were deferring clicks Build 397 - fixed capitalisation on error messages - fixed crash on attempting to load patterns that are too big Build 396 - the PopUp Viewer Close button is back and now has a red background - Margolus patterns now use GRIDMAJOR 2 for all Themes except Custom - LifeViewer was broken on IE - added a new alias - fixed Margolus even generation tile issue Build 395 - removed close UI button from PopUp Viewer now window close button works - switch to Pan mode when Population Graph is turned on (since it's not visible in Draw or Select mode) - improved touch event handling - fixed scrolling help list on mobile device Build 394 - added new Margolus THEME - added new Margolus alias - fixed a tile boundary issue with Margolus rule Build 393 - added experimental support for Margolus rules - rule format is Mn0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15 - where n0 to n15 are integers from 0 to 15 - also supports MS,Dn0;n1;n2;n3;n4;n5;n6;n7;n8;n9;n10;n11;n12;n13;n14;n15 - bounded grids and alternate rules are allowed - rules where n0 = 15 and n15 = 0 are replaced with equivalent rules that don't strobe - rules where n0 is not zero apart from the case above are not allowed - using [[ GRIDMAJOR ]] creates a custom Theme Build 392 - performance improvement for editing tasks for 2-state Life-like and [R]History patterns - fixed an issue where rotate selection could be incorrect when grid grew Build 391 - ensure window appears above other page elements - dim screen when Settings menu displayed Build 390 - fixed a graphical glitch for THEMEs with no history at STEP > 1 - corrected and ordered Wolfram aliases - disable drawing, selecting and panning while settings displayed Build 389 - locked Layers and Depth controls if hex or triangular grid - added Wolfram aliases - improved multi-state pattern Layers - LifeViewer window close button now works on mobile Build 388 - improved Settings menu - settings are now grouped into topics - new Rule button that prompts for a new rule - clicking on a Theme that is already active just closes Theme selection - reduced memory used by rule Build 387 - added another alias - Generations rules now have brightness shading when using layers - hotkey Shift+"P" to toggle LOOP (when defined) wasn't working - performance improvement for THEMEs without history - START indicator now toggles AutoStart if defined - hotkey Alt+"O" to toggle - if START disabled when LOOP defined then playback stops when Loop happens at T=0 - STOP indicator now toggles Stop if defined - hotkey Alt+"P" to toggle - take screenshot (hotkey "O") was not working Build 386 - hotkey Alt+"Del" to clear [R]History marked cells - hotkey "Esc" will cancel a Pick or Replace Build 385 - hotkey Shift+"A" shrinks selection - toggle kill escaping gliders is now on hotkey Alt+"G" - replace cells of selected state with current drawing state - hotkey Alt+"K" prompts the user to click on a cell and then replaces cells that state with current drawing state - clear current drawing state cells - hotkey Ctrl+Alt+"K" - hotkey for random fill is now Shift+"5" - hotkeys Ctrl+"0" to Ctrl+"9" select drawing state Build 384 - clear out side selection - new button in Select mode - hotkey Shift+"Del" - clear [R]History cells - new button in Select mode Build 383 - selections now work with [[ XOFFSET ]] and [[ YOFFSET ]] - added more new aliases - performance warning toggle - hotkey Shift+"W" to toggle - new button PerfWarn in Settings menu - undo/redo now use less memory - LtL M0 rules will now match M1 aliases Build 382 - added Throttle button to Settings menu - fixed an issue with HROT/LtL patterns not correctly shrinking bounding box - close Settings menu when switching mode - added new aliases Build 381 - enable Kill button for 2-state Moore range 1 HROT/LtL patterns - fixed [R]History display for hexagons and triangles - hotkey for clear [R]History cells is now Ctrl+"Del" - added some non-isotropic aliases Build 380 - hotkey Alt+"T" to toggle playback throttling - [R]History COLOR commands were being ignored - hexagons and triangles were ignoring [R]History colours - updated MCell multi-state Theme Build 379 - hide POI prev/next buttons when Settings menu is displayed - grey out Kill button unless rule is 2-state Moore - replaced Theme slider with a Theme button that opens a page of buttons to select the required theme - hotkeys Alt+"0" to Alt+"9" select drawing states when in Draw mode - hotkey "Del" clears all cells of the current drawing state when in Draw mode - hotkey Shift+"Del" clears [R]History cells - ensure PopUp Viewer is right aligned Build 378 - updated out of date test - fixed problem with colours for Generations patterns - switching from a history THEME to a non-history THEME sometimes stepped back a generation - added Grid colour description to "Help" -> "Themes" - live cells drawn after all cells died would then not generate - you can no longer switch between square grid and hexagonal or offset square grid - removed script commands [[ SQUAREDISPLAY ]] and [[ HEXDISPLAY ]] - removed hotkeys Alt-/ and Shift-/ - removed Hex toggle button from Settings menu - hotkey / now toggles between hexagonal and offset square grid for hexagonal rules - new Settings toggle button AutoHide - automatically hides UI during pattern playback - Angle control now greys out when unavailable - Theme control now greys out when unavailable Build 377 - custom colours were reporting false errors - fixed issue with LtL/HROT 2 state patterns and THEMEs with no history Build 376 - added endian information and platform capabilities to "Help" -> "Info" -> "Engine" - several performance improvements - disable Major button for hexagonal or triangular grids - custom Theme major grid line setting was being applied to all themes Build 375 - increased maximum viewer size to 4096x4096 - improved rendering to window speed - fixed B0 rules Build 374 - performance improvement for next generation (excluding LtL/HROT) - population statistics were incorrect if stats were off and pattern had bounded grid - improved allocation speed for random grid Build 373 - performance improvement for THEMEs with history Build 372 - performance improvement for ZOOM < 1 - performance improvement for THEMEs without history and ZOOM < 1 - [[ TIME ]] output now has one decimal place Build 371 - performance improvement for THEMEs without history - new script command [[ TIME ]] to trigger timing at a waypoint - waypoint messages can now use string substitutions #0 to #9 to display timing results as average frames per second Build 370 - performance improvement when ZOOM < -2 - not all menu items were being drawn locked when menu locked - performance improvement for THEMEs without history and STEP size 1 - performance improvement for THEMEs without history when ZOOM < 1 - switching to a THEME without history clears history cell Build 369 - Performance improvement for cell history and longevity - Performance improvement when ZOOM < 1 - THEMEs without history (Mono, Inverse, Golly, MCell, Caterer and Life32) and PASTE commands now have improved performance at STEP sizes > 1 Build 368 - Advance Outside now works in a single step with Undo/Redo - Advance Outside now always uses Copy paste mode - fixed POPUPWIDTH validation Build 367 - improved performance for hexagonal grid selection display - improved selection and paste boxes for triangular grid - paste bottom left and bottom right positions were the wrong way round Build 366 - create and clear selection were missing from undo/redo - improved selection and paste boxes for offset-square grid and hexagonal grid - horizontal and vertical flip were not working for paste Build 365 - selections now respect [[ VIEWONLY ]] - fixes for undo/redo during playback Build 364 - there are now four additional standard paste locations: Top, Left, Right, bottom - Ctrl-C with no selection copies entire pattern to external clipboard Build 363 - selection and paste boxes now work with camera rotation - hotkey Ctrl "Space" to advance paste generation - select required cells (green box) - cut selection with Ctrl "X" - advance paste generation one or more times with Ctrl "Space" - yellow bounding box will show location of advanced paste - Ctrl+Shift "V" pastes evolved position (yellow box) - left click or Enter pastes to mouse position (red box) - Esc cancels paste - Ctrl "Z" then Ctrl "X" to start paste again Build 362 - hotkey Shift "L" to cycle paste location - hotkey Shift "M" to cycle paste mode - hotkey Alt "L" to toggle annotation display (was previously hotkey Shift "L") - don't draw individual paste cells if zoom < 1 (just the paste rectangle) - Paste to Selection will tile the paste if the selection is bigger than the paste - auto-shrink no longer removes empty selections so they can be used for Paste Selection Build 361 - auto-shrink feature will automatically shrink selections to alive cells - Auto-Shrink toggle button in Selection menu - hotkey Alt "A" to toggle - fixed bug when growing grid during drawing - fixed bug with undo/redo while drawing during playback - hotkey Ctrl+Shift "V" pastes to selection Build 360 - [R]History state 2 was being ignored on pattern load - some patterns were failing when the grid grows - 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 - prevent selection controls from going off bottom of window - added 2-state random fill button when multi-state pattern loaded - fixed an issue with selection box and undo - replaced main Copy button with Sync toggle which if set synchronises cut and copy actions with external clipboard - hotkey Alt "S" toggles sync Build 359 - 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 - when paste cells displayed flip X, flip Y, rotate CW, rotate CCW, random fill, clear and invert work on the paste cells - hotkey "Esc" clears paste if paste displayed - hotkey "Enter" performs paste if paste displayed - hotkey Alt "N" prompts for rule and then creates a new empty pattern - hotkey Alt "R" prompts for new rule for the current pattern - new Paste Position slider defines where to paste relative to the mouse - lock Hexagon toggle if not in hex display mode - hotkey Ctrl+Shift "5" for 2-state only random fill - hotkey Ctrl "O" to load original or last saved pattern Build 358 - added selection box display - hotkey Ctrl "I" for invert selection - 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 Build 357 - 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 - 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") - fixed Help text wrapping - added invert selection button Build 356 - Draw mode was incorrectly always showing a minimum of 7 states for Generations patterns - Select mode Random fill was only using 2 states for Generations patterns - selection and cancel selection are now undo/redo points - selection rotation is now consistent Build 355 - selections now support: - 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 - fixed an issue with redo and snapshots - fixed draw buttons being hidden with states toggle Build 354 - fixed selecting drawing state - disable starting playback while mid-draw Build 353 - hide Draw, Graph and Select menus when Settings open - selection size display (width x height) - sometimes playback wasn't resuming after auto-paused during drawing Build 352 - do not draw when clicking to get window focus - remove unneeded extra undo step - added Smart Drawing button to Draw menu - increased maximum number of LtL and HROT states to 25 Build 351 - redo no longer goes back to previous snapshot - picked cell colour notification wasn't displaying - stop playback on undo - fix step back with undo - added undo/redo detail to button tooltips Build 350 - moved graph controls below top row - graph is now hidden if drawing or selecting - new toggle button to control whether playback is paused during drawing - fixed playback pause during editing - improved toggle states icon - added select mode UI controls Build 349 - 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 (not just the text) - Pick mode was not being cancelled when another mode selected Build 348 - handle LifeViewer being loaded more than once in a web page - hotkey F2 draw mode - hotkey F3 pick mode - hotkey F4 select mode - hotkey F5 pan mode - undo and redo buttons were not being hidden for VIEWONLY patterns - mouse cursor changes based on action - UI list control can now lock individual items Build 347 - 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 - locked UI controls were allowing clicks through to the background Build 346 - fixed a bug where the playback controls were disappearing after reset Build 345 - state 6 regression in editor - new "[R]History" button in navigation menu to toggle [R]History display - new previous and next POI button on main screen if POIs defined Build 344 - fixed undo/redo records persisting across patterns Build 343 - hotkey Ctrl "Z" for undo edit - hotkey Ctrl+Shift "Z" for redo edit - hotkey Alt "J" disables [R]History display and Alt "H" enables it - only works for [R]History rules - this is only a display toggle: state 6 processing still happens - however: copy RLE to clipboard will honour current settings - hotkey Alt "K" toggles deleting escaping gliders - new "Kill" button in navigation menu to toggle deleting escaping gliders - number of deleted gliders is shown in "Help" -> "Info" -> "Grid" - editor now works with step back Build 342 - hotkey Ctrl "S" now saves pattern to source document node Build 341 - [[ KILLGLIDERS ]] now fades dead gliders Build 340 - [[ PASTET EVERY ]] now has optional end generation (as well as optional start generation) - [[ PASTET EVERY interval (start (end)) ]] - if specified then "end" must be at least "interval" + "start" - new script command [[ RECIPE ]] creates a named list to be used by [[ PASTET ]] command - syntax is [[ RECIPE name <1..>* ]] - [[ PASTET <0..> (name|<1..>*)* ]] - [[ RLE ]] and [[ RECIPE ]] names can not be script command names - display actual STEP size if specified size can not be achieved Build 339 - new script command [[ KILLGLIDERS ]] will delete escaping boundary gliders - better PASTE information in "Help" -> "Info" -> "Pattern" - fixed [[ PASTET EVERY ]] Build 338 - performance improvement to setting cells - patterns that are too big for LifeViewer but have [[ PASTE ]] commands will ignore the pattern and just run the pastes Build 337 - improved paste evolution performance - don't block F5 from refreshing browser when mouse over LifeViewer window - rle for [[ PASTE ]] and [[ RLE ]] commands can now span multiple lines Build 336 - paste mode XOR was not working on reset or step back - max initial default zoom if AUTOFIT or ZOOM not specified is now 32x - [[ PASTE ]] X Y location is now optional and defaults to 0, 0 - syntax is now [[ PASTE rle|name (X Y) (TRANS) ]] - [[ RLE ]] syntax is now [[ RLE name (X Y) (TRANS) ]] - [[ PASTET ]] now supports a list of deltas after the initial generation - syntax is now [[ PASTET <0..> (<1..>)* ]] or [[ PASTET EVERY <1..> (<0..>) ]] Build 335 - paste commands now support optional transformations: - [[ PASTE rle|name X Y (TRANS) ]] - paste the rle or named rle at X, Y with optional transformation TRANS - [[ RLE name rle (X Y (TRANS)) ]] - create named rle at optional X, Y with optional transformation TRANS - TRANS is one of: - IDENTITY - FLIP - FLIPX - FLIPY - SWAPXY - SWAPXYFLIP - RCW - RCCW - [[ PASTE ]] now works with Generations rules - state at cursor position label widens for grids > 9999x9999 Build 334 - new script command [[ PASTET ]] - defines the paste generation for subsequent [[ PASTE ]] commands - [[ PASTET gen ]] pastes once on the specified gen - [[ PASTET EVERY interval (start) ]] pastes every interval generations starting at start (or 0 if not defined) - [[ PASTE ]] command no longer has the T parameter - adjusted snapshot interval to new maximum STEP size Build 333 - [[ RLE ]] and [[ RLEMODE ]] are now called [[ PASTE ]] and [[ PASTEMODE ]] - new script command [[ RLE name rle ]] defines a named snippet of RLE - [[ PASTE ]] command can take name or rle as argument - fixed a bug where an invalid pattern could cause a crash on the PopUp Viewer if the previous valid pattern had been [R]History - fixed a bug where T=0 could not show entire pattern on the PopUpViewer if previous pattern had smaller bounding box - fixed a bug where drawing LifeHistory state 5 would be incorrect on one corner of 16x16 tile boundaries Build 332 - Generations rules were fading an extra step when all cells died Build 331 - added new script command [[ RLEMODE (OR|COPY|XOR|AND|NOT) ]] to set rle paste mode Build 330 - added new script command [[ RLE T X Y rle ]] - pastes the given rle at position X, Y at generation T Build 329 - improved rule name validation - fixed script reader Build 328 - custom colour could not be applied to state 255 - deprecated [[ STRICT ]] validation command - increased maximum STEP to 64 - first part of @RULE and @TREE decoder Build 327 - global camera and view settings were being ignored when POIs defined - disabled Themes for "none" rule Build 326 - "none" rule now uses Golly's default colour set - disable [R]History for "none" rule Build 325 - added empty rule "none" which does not change cells each generation - can be postfixed with neighbourhood and/or bounded grid - default colours are generations ramp Build 324 - custom colours for Generations rules were in reverse order - increased maximum zoom to 64x - hotkey Shift and "3" sets 64x zoom Build 323 - updated Neighbourhood in Help information with triangular neighbourhood - canonical alias names are used - fixed Wolfram rules - drawing on a triangular grid is now more accurate - fixed an issue with Triangular B0 rules - AutoFit now works better on bounded grids with an infinite dimension Build 322 - improved hexagonal cell drawing - fix for LV neighbourhood Build 321 - changed neighbourhood postfixes from T, TE, TV to L, LE, LV Build 320 - further improvements to triangular cell alignment - triangular patterns may be padded with a blank row and/or column on copy to ensure even/odd alignment Build 319 - added B0 support for triangular rules - improved triangular cell alignment Build 318 - drawing cells wasn't correctly updating tile map - triangular rules now ignore HEXDISPLAY script command - check bounded grid width and height are even for triangular rules - triangular rules now support three neighbourhoods: - Triangular (postfix "T") with 12 neighbours (touching triangle edges and vertices) - neighbourhood digits are "0123456789XYZ" where X, Y and Z represent 10, 11 and 12 respectively - Triangular Edges (postfix "TE") with 3 neighbours (touching triangle edges) - neighbourhood digits are "0123" - Triangular Vertices (postfix "TV") with 9 neighbours (touching triangle vertices) - neighbourhood digits are "0123456789" - cells can now have a border - "Border" button in bottom-right menu - hotkey Alt and "X" to toggle setting - new script command [[ CELLBORDERS ]] to turn cell borders on Build 317 - experimental support for triangular neighbourhood - rules with a postfix "T" have 12-cell triangular neighbourhood - neighbourhood digits are "0123456789ABC" where A, B and C represent 10, 11 and 12 respectively - generations rules are supported - known issues: - B0 support is not correct - Copy RLE needs to correctly offset for odd/even cells - zooms < 4 have a different y scaling - step back was not working correctly every 50 generations Build 316 - fixed single phase Copy on Firefox - fixed step back after patterns dies Build 315 - could not edit patterns which had cylindrical bounded grids - hex patterns would not display cylindrical bounded grid borders when using hexagons - improved hexagonal grid lines drawing speed Build 314 - fixed hexagonal grid colours - addded isotropic non-totalistic hexagonal aliases Build 313 - added Paul Callahan's isotropic non-totalistic hex rule format - only allocate hex buffers on first use - created annotations topic in help Build 312 - ensure hexagonal grid lines are integer thickness (for speed) - fixed an issue with pattern comments on invalid patterns causing a crash - fixed an issue with pattern specified width and height not being ignored - improved hexagon cell drawing speed - grid icon now has hexagonal grid when hexagons selected Build 311 - drawing hexagonal cells is a bit faster - added hexagonal grid lines - hex or von Neumann rule letter can be before Generations postfix e.g.: B23/S1H/G3 Build 310 - made hexagons more regular shaped - hotkey Alt+"/" to toggle hexagonal/square cells for hex display - new script command [[ SQUARECELLS ]] to set square cells for hex display - new script command [[ HEXCELLS ]] to set hexagonal cells for hex display (the default) - new bottom right menu button "Hexagon" to toggle hexagonal/square cells Build 309 - annotation positions were not correct in hex display mode - in hex display mode cells are now drawn as hexagons at zoom >= 4 Build 308 - ensure copied RLE comments end with newline - comments found after RLE now get copied after RLE Build 307 - added more flexibility to rule decoder for B/S style rules - added support for #P|#R x,y in RLE to set pattern top left position - added support for "h = nnn, v = nnn" in rule header - new annotation polygons: - new script command [[ POLYLINE X1 Y1 X2 Y2 .. Xn Yn ZOOM ]] - draw polyline from X1, Y1, to X2, Y2, to Xn, Yn at zoom ZOOM - new script command [[ POLYFILL X1 Y1 X2 Y2 .. Xn Yn ZOOM ]] - draw filled polygon from X1, Y1, to X2, Y2, to Xn, Yn at zoom ZOOM - new script command [[ POLYALPHA <0.0..1.0> ]] - set alpha value for subsequent polygon definitions - new script command [[ POLYSIZE <1..> ]] - set line width for subsequent polygon definitions - new script command [[ POLYT ]] - sets a range of generations from to for subsequent polygons to be visible - specifies generations to fade polygon in/out - use [[ POLYT ALL ]] to specify all generations - new script command [[ POLYANGLE <0..359> (FIXED) ]] - sets the angle for subsequent polygon definitions - optional keyword FIXED means polygon will not rotate when camera rotates - new script command [[ COLOR POLY R G B|]] - set colour for subsequent polygon definitions - new script command [[ POLYTARGET X Y D|OFF ]] - sets the target point and distance for subsequent polygon definitions - the viewpoint must be within the distance of the target point for the polygon to be displayed - [[ POLYTARGET OFF ]] turns off the target for subsequent polygon definitions - new script command [[ POLYTRACK DX DY|FIXED ]] - sets movement vector for subsequent polygon definitions - [[ POLYTRACK FIXED ]] turns off movement for subsequent polygon definitions Build 306 - fixes for IE and Edge Build 305 - arrow head size can now be zero to allow for line drawing - arrow head size is now specified as a multiple of arrow length rather than percentage - [[ ARROWSIZE <1..> <0.0..1.0> ]] Build 304 - added label and arrow definitions to help information - toggle labels was not working if just arrows defined Build 303 - new annotation arrows: - new script command [[ ARROW X1 Y1 X2 Y2 ZOOM (FIXED) ]] - draw arrow from X1,Y1 to X2,Y2 at zoom ZOOM - new script command [[ ARROWALPHA <0.0..1.0> ]] - set alpha value for subsequent arrow definitions - new script command [[ ARROWSIZE <1..> <1.0..100.0> ]] - set line width and head size percentage for subsequent arrow definitions - new script command [[ ARROWT ]] - sets a range of generations from to for subsequent arrows to be visible - specifies generations to fade arrow in/out - use [[ ARROWT ALL ]] to specify all generations - new script command [[ ARROWANGLE <0..359> (FIXED) ]] - sets the arrow angle for subsequent arrow definitions - optional keyword FIXED means arrow will not rotate when camera rotates - new script command [[ COLOR ARROW R G B|]] - set arrow colour for subsequent arrow definitions - new script command [[ ARROWTARGET X Y D|OFF ]] - sets the target point and distance for subsequent arrow definitions - the viewpoint must be within the distance of the target point for the arrow to be displayed - [[ ARROWTARGET OFF ]] turns off the target for subsequent arrow definitions - new script command [[ ARROWTRACK DX DY|FIXED ]] - sets movement vector for subsequent arrow definitions - [[ ARROWTRACK FIXED ]] turns off movement for subsequent arrow definitions - new script command [[ AUTOHIDEGUI ]] will hide GUI while playing - click while playing to pause and show GUI - hotkeys are still enabled - new script command [[ NOPERFWARNING ]] removes GPS/STEP shading when performance is slow - hotkeys Ctrl-Left, Ctrl-Right, Ctrl-Up and Ctrl-Down can be used for Page Up, Page Down, Home and End - bottom right menu now has "Prev" and "Next" buttons to go to previous and next universe when in Multiverse mode - copy reset position now works when in Multiverse mode Build 302 - label positions can now be from -MAXGRIDSIZE to 2*MAXGRIDSIZE - fps display < 10 now shows one decimal place - clear notifications on pattern load - Waypoint animation was incorrect at STEP > 1 Build 301 - hotkey Ctrl+Alt "C" copies current pattern with comments - Life 1.05 decoder now ignores trailing spaces - added support for trailing g for Generations rules e.g. B3S23G10 - copying empty patterns is faster - improved RLE generation speed - grid automatically grows as needed when drawing Build 300 - multiverse mode - new meta keyword "multi" puts the Viewer in multiverse mode - RLE on the page is now added to a list of Universes (patterns) that can by cycled through in a single Viewer - hotkey "PageUp" goes to previous universe - hotkey "PageDown" goes to next universe - hotkey "Home" goes to first universe - hotkey "End" goes to last universe - Help text could incorrectly wrap because of shadow - Copy pattern failed on full lines Build 299 - graph and labels were not rendering during copy RLE or computing previous generations - graph was broken when computing previous generations - use single phase copy if time and size are below thresholds Build 298 - copying LifeHistory RLE needs to use history bounding box - switch off custom Theme on new pattern load - always compute all history generations for [R]History patterns regardless of Theme - copy now happens in two steps to support large patterns Build 297 - hotkey Ctrl "C" now copies current pattern as RLE to clipboard - hotkey Shift+Ctrl "C" copies original pattern as RLE to clipboard - disable editing while in view only mode Build 296 - multi-state drawing now supports all states - Help sections are displayed when topic is first displayed and disappear when clicked - added Help sections button to show Help sections when hidden - Help sections list updates as Help topic scrolls - label positions were being validated against screen coordinates and not cell coordinates - patterns were not being correctly validated against maximum grid size - view offset was not being correctly reset when grid resized to default Buld 295 - added notifications when using Pick control or choosing a drawing colour - added multi-state drawing (but colour selection limited to 7 states currently) Build 294 - added Help section UI to each topic - added alternating rule aliases - hotkey Shift "F1" to toggle smart drawing - smart drawing automatically deletes cells if you start drawing on a cell whose state is the current drawing state - always create overlay for LifeHistory patterns since states can be created by the editor - added pick state control to editor - added toggle states display control to editor - [R]History patterns can now be edited Build 293 - fixed HROT multi-state pattern runtime - fixed Globe alias - don't processes unneeded history states - reorganised script help - can now define UI border colour with [[ COLOR UIBORDER R G B| ]] Build 292 - alternating rule support - use a | between two rule names to define even/odd generation rules - e.g. rule = Life|HighLife - does not support B0 - first part of UI customization - can now define UI colours using [[ COLOR R G B| ]] where is one of: - UIFOREGROUND for foreground colour - UIBACKGROUND for background colour - UIHIGHLIGHT for colour when mouse is over control - UISELECT for colour when item is selected - UILOCKED for colour when item is locked - menu foreground default colour is now white - fixed a couple of LTL alias definitions - disable drawing while viewing help or errors Build 291 - Ltl/HROT patterns now use DELETERANGE when patterns reach the grid boundary - Zoom and Opacity sliders are wider when the Viewer is wider Build 290 - added a Labels button to the bottom right menu to toggle label display - added missing Help information for hotkey "K" and Shift "K" - copy view to clipboard (hotkey Shift and "K") now uses Theme names and handles custom Themes - allow empty patterns - remove "Life ended at" message when grid was empty when play started - each Help topic is now in a separate page - Help topics page now has individual buttons for each topic Build 289 - improved handling of custom Theme definitions - for all Themes: - if ALIVE not specified then set it to the inverse of DEAD or the inverse of BACKGROUND or white - if both BACKGROUND and DEAD not specified then set BACKGROUND to the inverse of ALIVE or black - if DEAD not specified then set it to BACKGROUND - if DEADRAMP not specified then set it to DEAD - for 2-state Themes: - if ALIVERAMP not specified then set it to ALIVE - for multi-state Themes: - if DYING not specified then make DYING to step 2 of ALIVE to DYINGRAMP dynamic - if DYINGRAMP not specified then set it to DYING - added more aliases - aliases with the same rule are marked with '*' in the Help information Aliases topic Build 288 - fixed an issue with HROT/LtL von Neumann patterns not allocating a large enough border to cause grid to grow correctly - hex coordinates were wrong - colour Themes now have names - the [[ THEME ]] script command can take a theme number or name - the Help Information has a new "Themes" topic that lists the theme definitions - grid lines definition is also included in the Theme - added a few new aliases - improved Help information text wrapping - COLOR DEAD is now the cell colour when it first dies and COLOR DEADRAMP is the colour it becomes after staying dead Build 287 - new Draw and Pan buttons - improved LtL multi-state von Neumann performance for large range patterns - Generations population statistics were wrong - memory details in Help information could be negative - reduced memory consumption for 2-state startup - rule aliases were not appearing for HROT/LtL rules - long rule aliases now wrap across two lines in Help information - fixed an issue with HROT rule validation - added some more aliases Build 286 - population data is now dynamically allocated to reduce memory footprint - Themes can not be changed for patterns with illegal rules or states - population graph disabled for patterns with illegal rules or states - PopUp Viewer window right alignment now happens in a single step - pattern area display was not working in Help information - AUTOFIT and HISTORYFIT fit now work with HROT/LtL patterns - new HistFit button in bottom right menu to toggle HISTORYFIT mode - don't lock ANGLE control when AUTOFIT on - new Major button in bottom right menu to toggle major grid lines - update display after every step back - AutoFit works better at high zooms and/or step sizes > 1 Build 285 - new Stars button to toggle starfield display in bottom right menu - new Help topics UI in Help menu - fixed HROT canonical S8 bug again - FPS button moved and now called "Timing" - added Details button to bottom right menu to toggle timing details - Help Topics list auto-updates as Help scrolls - pattern editor now updates population - faster HROT/LTL performance for von Neumann and Circular neighborhoods Build 284 - Esc button to close error display in bottom right menu - when specifying a Klein bounded grid without defining the twist edge the default is now vertical (to match Golly) - new script command [[ HISTORYSTATES <0..> ]] to define the number of history states to use - default and maximum is 63 for 2 state patterns and 1 for multi-state patterns - set to 0 to disable cell history drawing - pattern editor now respects bounded grid - new Info button in bottom right menu to toggle InfoBar display - bounded grids >=8192 and <=16384 were causing a crash - pattern died generation was not working in the PopUp Viewer for the second pattern onwards if not reset - added aggregate memory usage information to Help information - toolTips can now be two lines long and will try to split at a space, comma or slash - when PopUp windows resize the right edge position will stay fixed - bounded grid types that do not support twists were not being reported as errors when twists were specified - PopUp viewer was not having grid size reset after MAXGRIDSIZE specified - default grid size reduced to 512x512 to save memory for pages with multiple Viewers - MAXGRIDSIZE argument is now from 9 (2^9 = 512) to 14 (2^14 is 16384) - memory for population graph is not allocated if NOGRAPH is specified or if THUMBLAUNCH is specified without GRAPH - only allocate memory for Stars on first use - pattern editor automatically switches temporarily to pan mode while ZOOM < 1 - HROT patterns were defaulting S8 to on - canonical HROT patterns were not validating counts against von Neumann or Circular neighborhoods Build 283 - added new rule aliases - better error reporting when invalid characters in RLE - Generations rules were not displaying Life ended message - pattern edit mode toggle available on hotkey F1 - only works for 2-state patterns Build 282 - survival counts in canonical HROT form were off by 1 - improved rule validation for non-totalistic rules Build 281 - moved Shrink button from top left to bottom right - added support for C in generations postfix e.g. B3/S23/C3 - cell under mouse display now correctly ignores bounded grid border cells Build 280 - rule names now support slash after generations prefix and G in generations postfix - prefix: G3/B3/S23 - postfix: B3/S23/G3 or MAPFEABCD/G3 - multi-state LtL and HROT patterns now display history Build 279 - LABELTRACK positions are now relative to T1 if defined by LABELT Build 278 - close button in bottom right menu is available in PopUp viewers when help or errors are displayed - fps toggle in bottom right menu is available when help or errors are displayed - increased maximum LABELSIZE to 128 - bounded grid border colour no longer overwrites state colour for 256 state patterns - hotkey shift and l is now toggle labels - hotkey shift and p is toggle loop mode - MAXGRIDSIZE was only allowing patterns to grow to the specified size rather than start at the specified size - new script command [[ LABELTRACK DX DY|FIXED ]] - sets movement vector for subsequent label definitions - [[ LABELTRACK FIXED ]] turns off movement for subsequent label definitions Build 277 - multi-state Generations patterns now display history - fixed rare incorrect B0 error report when decoding multi-state patterns - more consistent timing for animation Build 276 - allow Wolfram W0 rule - allow range 1 HROT rules - fixed an issue with decoding hex format HROT rules - fixed an issue with canonical form of HROT rules - Label coordinates are now relative to pattern coordinates and respect CXRLE Pos - LABELT fading was going one step too far Build 275 - fixed layer rendering for 2 state generations, LtL and HROT rules Build 274 - fixed an issue with 2 state LtL HROT rules and Plane Build 273 - 2 state LtL and HROT rules now use standard Themes Build 272 - graph close button was not updating graph toggle button - HROT rules now support von Neumann and Circular neighbourhoods - new optional neighbourhood postfix: Rr,Cc,Slist,Blist(,Nn) - 2 state Generations rules now use standard Themes Build 271 - new script command [[ LABELTARGET X Y D|OFF ]] - sets the target point and distance for subsequent label definitions - the viewpoint must be within the distance of the target point for the label to be displayed - [[ LABELTARGET OFF ]] turns off the target for subsequent label definitions - new menu button to toggle population graph Build 270 - labels now use non-integer font point sizes - labels now work with TRACKBOX - grid lines now work at all angles - fixed an issue with custom Themes Build 269 - updated script command: [[ LABEL X Y ZOOM (FIXED) " ]] - optional FIXED argument makes the position static when TRACK mode is on - cell under mouse display was incorrect when TRACK mode is on - cell under mouse display now works at any ANGLE Build 268 - labels work with non-zero ANGLE - new script command [[ LABELANGLE <0..359> (FIXED) ]] - sets the label angle for subsequent label definitions - optional keyword FIXED means label will not rotate when camera rotates Build 267 - new script command [[ MAXGRIDSIZE <10..14> ]] - specifies the maximum grid size 2^n - if not specified the grid size starts at 2^10 (1024) and automatically grows as needed up to 2^13 (8192) - 2^14 (16384) is only available if specified with this command - Labels now work wth [[ TRACK ]] and [[ TRACKLOOP ]] - Label shadow is now based on label size Build 266 - new script command [[ LABELT ]] - sets a range of generations from to for subsequent labels to be visible - specifies number of generations to fade label in/out - use [[ LABELT ALL ]] to specify all generations Build 265 - fixed canonical HROT rule decoder - new script command [[ LABEL X Y ZOOM "" ]] - displays a static label at the given cell position and zoom - Help information contains label definitions - new script command [[ LABELALPHA <0.0..1.0> ]] - sets opacity for following label definitions from 0 (transparent) to 1 (opaque - the default) - new script command [[ LABELSIZE <4..32> ]] - sets the label font size for following label definitions (default is 18) - new script command [[ COLOR LABEL |R G B ]] - sets the label text colour (default is 240 255 255) - fixed broken Torus - fixed LtL and HROT patterns not clearing correctly on right boundary Build 264 - new canonical HROT rule format: - R,C,S,B - is from 2 to 500 - is from 0 to 255 (and values < 2 are treated as 2) - is a comma separated list of counts e.g. 2,4,6-11,13 - improved validation for LTL and HROT rules Build 263 - HROT (higher range outer totalistic) rules are now supported - LifeViewer now accepts lifelib style rule names: - generations rules can be specified with "g" prefix rather than "/" postfix - rbtst is now supported for LtL - canonical forms remain the original formats Build 262 - LtL now computes births and deaths - LtL Moore algorithm speed improvements Build 261 - mousewheel shouldn't zoom thumbnails - new script command [[ THUMBZOOM ]] to set the zoom in the thumbnail - autofit on reset wasn't centering pattern if hex/square display mode had changed - hex UI control wasn't set correctly on hex pattern load Build 260 - added support for Larger than Life (LtL) rules - Moore, von Neumann and Circular neighborhoods - maximum range of 500 cells - non-totalistic rules without digits were not being marked as invalid - LOOP with Waypoints or AutoFit now resets camera on reset - fixed a potential crash when reading meta settings - meta "limit" setting default is now false, not true - displayed XY location was incorrect after grid growth - canonical form of MAP rules with Generations now adds the generations - UI now has a button to toggle hex display - label UI controls under buttons no longer receive clicks - Help information now shows neighborhood range when greater than 1 Build 259 - script commands copied to the clipboard are now prefixed with RLE comments - with bounded grids the stats show cell density rather than births and deaths - fixed population count for bounded grids Build 258 - better fix for Themes without history - hotkey "u" toggles NOGUI mode - will be ignored if [[ NOGUI ]] defined - hotkey "k" copies the current position to the clipboard as script commands - [[ X 10 Y -5 ZOOM 3 ]] - shift and hotkey "k" copies the current position and the view to the clipboard as script commands - [[ X 5 Y 13 ZOOM 2.33 ]] - [[ THEME 3 WIDTH 640 HEIGHT 400 ]] Build 257 - Themes without history were causing rendering issues - improved elapsed time calculation for multi-generation steps - manual step forward for multiple generations no longer bails out early due to time Build 256 - added colour sets for JvN29, Hutton32 and Nobili32 - initial zoom and fit zoom (but not autofit) will snap to integer if zoom is within 1% of an integer Build 255 - custom colours now work with Generations rules Build 254 - gps control was incorrectly showing 10.0 for 10 - added colour names to help information - aligned R G B values in help information - hotkey shift and Page Up moves to previous help topic - hotkey shift and Page Down moves to next help topic - hotkey control and "r" now resets the pattern (like Golly) rather than refreshing the browser - fixed an issue with Waypoint playback that was causing stuttering Build 253 - waypoints now work with step back - fixed a crash when invalid patterns have a bounded grid specification - LOOP no longer resets camera - fit zoom UI control is now disabled when AutoFit enabled Build 252 - fixed a display flicker with PAUSE 0 Build 251 - [[ PAUSE ]] script command can now take 0 as an argument for instant camera relocation - removed bounded grid postfix from rule name display Build 250 - hex neighbourhood MAP rules were not working correctly - playback speeds < 60gps are much more accurate - gps UI control now shows steps per second and values less than 10 show one decimal place Build 249 - patterns larger than bounded grids are now correctly clipped to top left Build 248 - corrected coordinate display Build 247 - popup Viewer should not respect meta width limit Build 246 - fixed error when STOP or LOOP defined before first waypoint Build 245 - validation error with THUMBNAIL Build 244 - added [[ STARS OFF ]] script command - added [[ THUMBNAIL OFF ]] and [[ THUMBLAUNCH OFF ]] script commands - both stars and grid display can be defined per POI - added [[ AUTOFIT OFF ]] and [[ HISTORYFIT OFF ]] script commands - fixed TRACKLOOP that had stopped looping - fixed pattern position in bounded box when specified pattern size is not actual size - LOOP and STOP definitions not at POIs change the initial settings - pattern actual size vs specified size shown in Help information Build 243 - added [[ AUTOSTART OFF ]] and [[ GRID OFF ]] script commands Build 242 - added [[ POPUPWIDTH ]] and [[ POPUPHEIGHT ]] script commands Build 241 - RLE patterns without 'rule =' now default to Conway's Life - allowed click to work on Viewers that are not fully on the window - maximum [[ WIDTH ]] and [[ HEIGHT ]] increased to 2048 Build 240 - mouse was behaving badly Build 239 - previous build broke LifeHistory states 2 and 6 Build 238 - help information now marks current POI with a * - added [[ SUPPRESS ]] which suppresses overwrite error message for duplicate definitions once - [[ WIDTH ]] and [[ HEIGHT ]] are now checked for duplicate definitions Build 237 - POI definitions were always inheriting X, Y, ZOOM and ANGLE - [[ POI INITIAL ]] was not making the default POI the current POI (for next and previous POI hotkeys) - [[ POI INITIAL ]] was not setting ANGLE or STEP Build 236 - further enhancements to POI capability: - you can now specify a THEME at a POI - if none specified then the current THEME is not changed - you can specify DEPTH and LAYERS at a POI - you can specify STOP and LOOP generation at a POI - [[ POIT ]] will start the POI at the defined generation - added parameter value [[ INITIAL ]] - [[ POI INITIAL ]] makes the defined POI current on pattern load - [[ ALL INITIAL ]] specifies that all values for the current POI are copied from the initial camera - [[ X|Y|Z|ZOOM|ANGLE|LAYERS|DEPTH|GPS|STEP|THEME|LOOP|STOP INITIAL ]] copy the defined value for the current POI from its initial value - STOP and LOOP can now take the parameter OFF to disable them (useful for POI definitions) - non-totalistic rules with repeated neighbour counts were decoded incorrectly - POITRANS speeds up to 200 are now valid - MAP rules now allow base64 padding - hotkey shift and "c" now cycles backwards through colour themes - hotkey alt and "c" selects the default theme - panning with the cursor keys is faster when zoomed out - hotkey shift and "l" will toggle LOOP mode if defined - LOOP was performing a camera reset when LOOP enabled after the LOOP generation - Life 1.05 format patterns now support all rules including bounded grids - Waypoint error messages were showing incorrect sign when overwriting X or Y camera positions - if there were more script errors than could fit on the viewer then the last error could not be scrolled to - bounded grids now work correctly with CXRLE POS Build 235 - whitespace at the beginning of lines is now removed before copying patterns to clipboard (to be nice to Golly) - rules in the format SnnBnn were being decoded with S and B transposed - error could be generated about XOFFSET and YOFFSET when they weren't specified - updated event handling for UI to handle spurious mouseleave events posted when mouseup and mousedown both happen between updates - enhanced POI (point of interest) capability: - there are new script commands that allow you specify actions when switching to a POI - [[ POIRESET ]] will reset playback to T=0 - [[ POIPLAY ]] will start playback (if stopped) - [[ POISTOP ]] will stop playback (if playing) - if neither [[ POIPLAY ]] or [[ POISTOP ]] are specified then playback status is unaffected - [[ POITRANS 0..60 ]] specifies transition speed - 0 means instantaneous transition - if not specified then the default is 12 - hotkeys alt-1 to alt-9 will switch to respective POIs (if specified) - STOP and LOOP UI indicators tooltip now shows generation Build 234 - added support for Hex and von Neumann neighbourhoods with MAP rules - LifeHistory patterns were not respecting Themes at generation 0 - [[ NOSOURCE ]] now also hides the "CODE: SELECT ALL" line on the conwaylife.com forums - copy pattern source (hotkey "c") was not working correctly in the standalone viewer Build 233 - the RLE reader could skip rule definition if previous line was just a # character - bounded grids are now checked to make sure they fit - fixed MAP rules so final character is canonical - help information now shows MAP rules on multiple lines Build 232 - improved compatibility of copy pattern source - renamed [[ NORLE ]] to [[ NOCOPY ]] and the link from "RLE" to "Copy" - [[ NOCOPY ]] will also disable hotkey control and "c" - added [[ NOSOURCE ]] which hides the pattern source textbox Build 231 - added [[ NORLE ]] which disables the "RLE" link when you mouse over a [[ NOGUI ]] image - hotkey control and "c" will copy pattern source to clipboard Build 230 - when you mouse over a [[ NOGUI ]] viewer an RLE link appears which when clicked will copy the displayed pattern's RLE into the Clipboard - [[ NOGUI ]] minimum width and height now 64 - [[ NOGUI ]] silently disables [[ GRAPH ]], [[ THUMB ]], [[ THUMBLAUNCH ]], [[ SHOWTIMING ]], [[ SHOWGENSTATS ]] and [[ SHOWINFOBAR ]] if specified - viewers that have [[ NOGUI ]] specified with script errors will not enforce [[ NOGUI ]] so the script errors can be seen Build 229 - added [[ NOGUI ]] to disable menus and hotkeys - also reduces [[ WIDTH ]] and [[ HEIGHT ]] minimum limit to 16 - silently disables [[ AUTOSTART ]] if specified - screenshots can now be generated inline in an img tag (rather than in a separate window) Build 228 - variable substitution can now be used in waypoint messages - #B the LifeViewer build number - #N the pattern name (if defined) - #O the pattern originator (if defined) - #R the pattern rule name - #A the pattern rule alias name - #T the program title ("LifeViewer") - ## the # symbol - added [[ COLOR ERROR R G B ]] to set colour for error messages - rule decoder was failing on totalistic rules with no slash and only one of B or S - fixed a bug with Torus bounded grids with Y shift Build 227 - Generations does not support B0 rules - status bar errors are now drawn in red - generation statistics tooltips for alive, births and deaths shows full value (rather than abbreviated, e.g. 102302 vs 102K) Build 226 - fixed an issue with canonical representation of non-totalistic rules Build 225 - statistics generation was not being reset when new pattern loaded in existing viewer - added script command [[ NOGRAPH ]] which disables graph - slight performance increase when not tracking population data Build 224 - AUTOSTART no longer runs patterns with illegal rules - better error reporting for MAP rules Build 223 - graphs now display properly in thumbnail mode - fit zoom and thumbnail mode now work together - graph colors were incorrect on some browsers - fixed an issue with MAP rules and bounded grids Build 222 - fixed an issue with the allocator during startup Build 221 - tooltips in multi-item controls now work after item clicked Build 220 - added ability to customize graph colors: - [[ COLOR GRAPHBG R G B ]] to set background color - [[ COLOR GRAPHAXIS R G B ]] to set axis color - [[ COLOR GRAPHALIVE R G B ]] to set alive color - [[ COLOR GRAPHBIRTH R G B ]] to set birth color - [[ COLOR GRAPHDEATH R G B ]] to set death color - added graph colors to help information - fixed an issue when just COLOR BACKGROUND and COLOR ALIVE were defined which caused an invalid COLOR DEADRAMP Build 219 - hotkey shift and "o" now opens population graph snapshot in separate window - graph x axis limit was wrong for generations less than the graph width Build 218 - new graph script commands: - [[ GRAPH ]] enables population graph display on pattern load - [[ GRAPHOPACITY <0.0..1.0> ]] set graph background opacity - [[ GRAPHPOINTS ]] draw the graph with points rather than lines - graph data added to help information - graph y axis label now abbreviates automatically when viewer height is small - fixed graph scale issue if first generation deaths or births was greater than population - added "Just Friends" to the non-totalistic aliases Build 217 - hotkey "y" now toggles a graph display of population over time - hotkey shift and "y" to toggle graph lines or points - hotkey "7" to decrease and hotkey "9" to increase graph opacity Build 216 - patterns were not correctly centered when bounded grid had a zero dimension - Faders and Sticks aliases were incorrect - native support for MAP rules (2 state and Generations) - deprecated [[ FILL ]], [[ MAP ]] and [[ MAPODD ]] script commmands - added non-totalistic rule B0 support Build 215 - [[ TRACK ]], [[ TRACKBOX ]] and [[ TRACKLOOP ]] now scroll more smoothly at low GPS - changed timing display to show load% - error display wasn't hiding UI controls correctly - added a close button to the navigation menu - accurate "Life ended at" generation when using STEP > 1 - new script command [[ STATE1FIT ]] that forces autofit only to use state 1 - hotkey shift and "s" to toggle Build 214 - [[ HISTORYFIT ]] would not work correctly until pattern reset - added another non-totalistic alias Build 213 - resizing snapshots could leave unused buffers not resized - numeric keypad now works as hotkeys - changed the behaviour of speed up (hotkey "=" or num "+") and speed down (hotkey "-" or num "-") so it flows from GPS to STEP - hotkey "0" and num "0" now reset speed and gps - hotkey "5" now resets angle - all COLOR recipients can now use named colours - hex patterns now support bounded grids Build 212 - CXRLE Pos now works with [R]History - UI controls now step forward and back one generation - hotkey "Space" and "b" now step forward and back one generation - hotkey "Tab" and Shift "Tab" now step forward and back STEP generations Build 211 - non-totalistic rules now use correct canonical form - tooltips are now in boxes with shadows - at some zooms the right hand grid line was not being drawn Build 210 - added new variable to [[ TITLE ]] string - #A the pattern rule alias name - number of times [[ FILL ]] used is displayed in help information - fixed TRACKBOX so N is top and S is bottom - fixed TRACKBOX error so it doesn't need to wrap Build 209 - new script command [[ RANDOMSEED ]] to define the random seed - used by the [[ MAP ]] and [[ FILL ]] script commands - if not specified then a seed based on the system time is used - random seed is displayed in help information - starfield uses its own random number stream - Track mode details were sometimes incorrect in help information - rule name is now canonical - added tooltip for rule name and rule alias (if defined) - rule alias is shown in help information if defined - rule names are shown as aliases if an alias exists for the rule - added tooltips for population statistics, elapsed time, coordinate state value, and the information bar Build 208 - script errors are now displayed on the thumbnail (rather than just the error header) - Viewers with a height too small to display the navigation menu were not correctly respositioning the adjacent UI controls - bounded grids that wrap (Torus, Klein, Sphere, Cross-Surface) failed when grid edges were on tile boundaries - Klein bottles without a twist specification now default to horizontal twist - CXRLE Gen and Pos only displayed in help information if defined - shift and hotkey "g" only toggles relative generation display if CXRLE Gen defined - added support for #CXRLE Pos Build 207 - timer was not being properly reset on the standalone viewer when a second pattern loaded - viewer height and width were not being properly constrained when limit no in force Build 206 - full zoom range is available again in Track mode - improved elapsed time display - added 19 new rule aliases - removed a brief glitch on the zoom UI control when Track mode switched on using TRACK button - grid UI button now reflects hex/square mode - improved when tooltips appear Build 205 - zoom to mouse position now works with track mode - fixed issue with pausing playback and slow GPS tracking - integer zoom now works with track mode Build 204 - improved formatting of timing information - shift and hotkey "t" toggles extended timing information Build 203 - switching AutoFit on when playback paused would not AutoFit until playback resumed - TRACK, TRACKLOOP and TRACKBOX now use dynamic origin rather than AutoFit - all controls are available - text messages defined in scripts now appear in thumbnail mode - "Expand" and "Launch" messages are now vertically centered - script error indication is shown in thumbnail mode - first Reset no longer resets camera, use hotkey "v" to do so - you can now toggle TRACK/Waypoints and LOOP by clicking the UI indicators - if both are defined then they toggle together - you can now use [[ Z ]] as an alias for [[ ZOOM ]] - step back no longer disables LOOP if defined - help hides population statistics overlay and navigation menu - added Shrink button to navigation menu which shrinks the viewer back to the thumbnail - shift and hotkey "x" toggles major grid lines (if not disabled with GRIDMAJOR 0) - grid lines are now more accurate - drawing grid lines is now about 10% faster - error is raised if TRACKBOX W is greater than E or S is greater than N - improved AutoFit and Fit Zoom icons - added tool tips for UI controls - improved notification when STOP point reached - stars and coordinate display were using angle in Hex display mode (which doesn't allow rotation) - coordinates label now disappears if coordinates aren't displayed and generation statistics are off - [[ NOREPORT ]] now also disables STOP message - new "FPS" button in navigation menu to toggle timing display - timing display now positioned correctly in thumbnail mode Build 202 - Generations rules were failing to draw some decay states at T=0 Build 201 - the vertical bounding box calculation was incorrect for AutoFit Build 200 - fixed an issue with Fit Zoom in THUMBNAIL mode - fixed an issue with Waypoints and AutoFit in THUMBNAIL mode Build 199 - when playback loops only the camera position, zoom and angle are reset - further layout improvements to the information bar - Reset and STEP now work better together Build 198 - changed TRACKBOX parameter order to E S W N - improved layout on information bar - new AutoFit engine - now has four modes - Regular (uses live cells) - TRACK X Y (horizontal and vertical speeds in cells/generation) - TRACKLOOP P X Y (loop period, horizontal and vertical speeds in cells/generation) - TRACKBOX E S W N (east, south, west and north box edge speeds in cells/generation) - additionally HISTORYFIT can be used to modify each mode to include cells that died - when Paused all controls are enabled - first Reset disables AutoFit, second Reset enables AutoFit if defined Build 197 - shift and hotkey "i" now toggles display of the information bar which displays the camera X, Y, ANGLE and the TRACKBOX speeds - new script command [[ SHOWINFOBAR ]] which turns the information bar on at pattern load - ensure navigation menu appears above population statistics - first Reset now also resets camera - TRACKBOX mode no longer disables STEP and GPS controls - angle, layers and depth hotkeys were not disabled when corresponding UI controls were disabled Build 196 - fixed an edge case where the grid could grow too late based on the increase in maximum STEP size - numeric values in scripts can now be specified as fractions [[ DEPTH 2/3 ]] - division by zero is treated as zero - inverted X and Y offsets - hotkey "w" will now toggle LOOP mode when no waypoints defined - added UI indicators for AUTOSTART, LOOP, TRACK and STOP - don't show "Life ended at generation" notification if LOOP defined and enabled - reduced the font size of the generation statistics, rule, elapsed time and mouse coordinates - Shift and hotkey "r" will reset all viewers - new script command [[ HISTORYFIT ]] that changes AUTOFIT so it uses cells that have died as well as live cells to set the camera position - Shift and hotkey "h" will toggle HISTORYFIT mode - HISTORYFIT just defines the AUTOFIT mode, you still need to switch AUTOFIT on - added AUTOFIT status to help information - close button is now larger on standalone viewer - added bounding box speed (cells/generation) N, E, S and W to help information - new script command TRACKBOX N E S W which makes camera track the bounding box starting at the initial pattern position by applying N E S W as speeds in cells/generation to the North, East, South and West edges - pause no longer disables LOOP if no Waypoints are specified Build 195 - new script command [[ TRACK N X Y ]] makes tracking spaceships with the camera easier - N is the period and X and Y define the offset in cells at the period generation - fixed Reset behaviour with LOOP only and no Pause - fixed flicker while looping - Reset notification now also shows whether AutoStart was switched On or Off Build 194 - fixed Reset behaviour with any combination of LOOP and Waypoints so that first Reset always gives manual control and second is full reset - Waypoint playback at < 60 GPS was not spending enough time at T=0 Build 193 - improved title bar styling - [[ TITLE ]] string is now correctly clipped to the title bar - new script command [[ NOREPORT ]] that disables the "Life ended at generation" notification Build 192 - title bar styling for LifeWiki - rle patterns beginning with "o" were being treated as Cells format and failing to decode - patterns with Waypoints defined and no theme were defaulting to the wrong theme - patterns with Waypoints defined were ignoring initial ZOOM Build 191 - enable standalone viewer to work with LifeWiki - standalone viewer should ignore WIDTH and HEIGHT validation since they are not used - first Reset no longer enables LOOP if defined - [[ THUMBLAUNCH ]] script command also enables [[ THUMBNAIL ]] mode (no need to use both) Build 190 - added [[ THUMBSIZE ]] script command to define thumbnail divisor (2, 3 or 4) - when a thumbnail is expanded briefly display hotkey to shrink - saving (hotkey "v") and restoring (shift and hotkey "v") camera position now works with thumbnail view - default grid line colours are based on brightness of background colour - added [[ THUMBLAUNCH ]] script command which changes thumbnail behaviour so when clicked on launches the standalone viewer Build 189 - hotkey "Esc" will close the standalone viewer - standalone viewer grabs focus when open - added support for #CXRLE Gen - generations >= 1000,000,000 are shown as "1B+" in the UI - shift and hotkey "g" toggles generation display between absolute generation and offset from start (these are the same unless #CXRLE Gen is defined and non-zero) - fixed an issue with Generations algorithm when only decaying cells remain Build 188 - fixed a visual glitch caused by a previous optimization - [[ TITLE ]] string was ignoring text after last variable substitution - & symbols in script strings were being converted to html friendly versions - snapshots were not working with patterns containing no live cells - Wolfram rule number must be even - added B0 emulation support for totalistic rules with Hex or Von Neumann neighbourhoods - when all cells died the STEP size was ignored - if the STEP size is too large to allow frequent update then it will by dynamically reduced to keep the UI responsive - initial fix for tags embedded in tags on forum Build 187 - von Neumann neighbourhoods are now supported (e.g. B12/S1V) - state 1 of Generations patterns with 2 states were being drawn in black - neighbourhood is now displayed in help information - display mode (hex or square) is now displayed in help information - you can now specify just one dimension for bounded grids and it is used for both width and height - shift and hotkey "/" now sets display to pattern default (hex or square) - shift and hotkey "1" zooms to the nearest integer zoom - added support for Wolfram 1D rules - bounded grids with an odd height were being drawn one line off Build 186 - points of interest would get lost if mode switched between Hex and Square - when waypoints are defined the reset state should use the first waypoint theme - new script commands [[ LINEAR ALL|X|Y|ZOOM ]] and [[ BEZIER ALL|X|Y|ZOOM ]] that set the camera mode for X, Y and ZOOM or ALL elements at once - the default is bezier motion is used for camera transitions Build 185 - added GlideLife to the aliases - aliases in help information are now grouped by rule family - two of the Generations aliases were incorrect - improved rule error checking, pattern state validation and error messages - TITLE string can contain new variable: - #T the program title (LifeViewer) Build 184 - new script command [[ SQUAREDISPLAY ]] to force square display (for unknown rules that are autodetected as Hex) - increased maximum STEP to 50 - increased step back generations to 2500 - left column of bounded box was sometimes not drawing correctly - improved the "Auto", "Fit" and "Help" buttons Build 183 - state display was incorrect for Generations rules - Generations decay states were not counted in bounding box - Generations rule patterns with scripts were marked as VIEWONLY - angle UI slider should not display in Hex mode - TITLE string can contain variables - #B the LifeViewer build number - #N the pattern name (if defined) - #O the pattern originator (if defined) - #R the pattern rule name - ## the # symbol - performance improvements for next generation calculations and colour updates Build 182 - added Generations aliases - bottom line error messages were not being cleared in the standalone viewer Build 181 - make patterns that are larger than their bounded grids invalid - bounded grid is not valid for hex rules - bottom line of LifeViewer window now displays "VIEWONLY" or reason why a pattern is not exectuable or valid - [R]History is not valid with Generations rules Build 180 - help information now includes pattern name and originator if specified in the RLE (#N and #O) - added support for Generations rules (including Moore and Hex neighbourhoods and bounded grids) - generation display now shows decimal places for millions - RLE patterns without ! were missing last row Build 179 - added support for bounded grids - Plane - Tube/Torus - Cross-surface - Klein-bottle - Sphere - tile counts were only updated every even generation in help information Build 178 - new script command [[ HEXDISPLAY ]] to switch on hex display (used for unspported rule patterns you want to show as hex) - x coordinate display for hex rules now works correctly - better whitespace handling for rule decoding Build 177 - patterns of any size can now be deleted in one go when they hit the boundary - added support for Alan Hensel's non-totalistic rule format - added support for Mark Niemiec's x, y and z states - added support for hex neighbourhoods - hotkey "/" will toggle hex display (note this does not change the rule) - added alias list to help information - moving the mouse within a Viewer without focus will also trigger the "click to control" message - previously this was only triggered when moving the mouse onto the Viewer Build 176 - state value in coordinate display now works with non-executable patterns - multiple [[ LOOP ]] or [[ STOP ]] script commands are now flagged as errors - added ability to define generation transition tables - [[ MAP | ]] defines transition for all generations - [[ MAPODD | ]] defines transition for odd generations (in which case MAP is used for even generations) - is a base64 encoding of 512 bit transition map - is a value <0.0..1.0> - bounding box calculation occasionally create a box too high - scripts can now display a message when waypoints not defined [[ "This is a message" ]] - custom colors DEAD and DEADRAMP were switched - notification now displayed when all cells are dead Build 175 - creating rule lookup table is now 5x faster - UI icons are now shared across all viewers - "Click to Control" message now uses colour animation - added state value to coordinate display Build 174 - new script command [[ DELETERANGE <1..16> ]] that defines how near live cells have to be to each other to be deleted as part of a pattern - default is 3 cells - RLE decoder was not failing on some invalid patterns - removed support for LV85 format patterns Build 173 - patterns that hit the boundary are now instantly deleted in their entirety Build 172 - drawing starfield is now 25% faster in the general case and 4x faster at ANGLE=0 - drawing gridlines is now 3.5x faster Build 171 - validate that patterns still fit on the grid when XOFFSET or YOFFSET specified - only clear boundaries if pattern is near the edge of the grid - clicking step back on a running pattern now functions identically to the pause button (i.e. looping is cancelled if defined) - left and right boundaries are no longer 16 pixels from the edge Build 170 - added state names to [R]History colours in help information - modest performance improvements to boundary clear - added custom state colours for [R]History - COLOR RGB where is "OFF", "ON", "HISTORY", "MARK1", "MARKOFF", "MARK2" or "KILL" - hotkey ZOOM changes were resetting ANGLE to 0 - new script commands [[ XOFFSET ]] and [[ YOFFSET ]] to define pattern position offset on grid - added [[ COLOR BOUNDARY R G B ]] to define custom boundary colour - fixed an issue with the RLE pattern decoder which would ignore invalid characters in rule names Build 169 - integration with Molly - add a link to "Show in Molly" on the forum for patterns that are too big or use a rule that LifeViewer can not execute - switched Depth and Theme controls - some invalid [R]History style rules were being marked as LifeHistory - switched position of Layers and Depth controls to match hotkey positions - layers now use dynamic zoom level of detail - [R]History state 6 execution is now much faster - fixed potential issue with initial grid size (step speed) - better [R]History zoom out due to priority state reordering Build 168 - smooth camera transitions - between POIs (hotkey "j") - when restoring saved View (hotkey "v") - when using fit zoom (hotkey "f") - when setting zoom to a multiple (hotkeys "1", "2", "3", "4" "6", "8") - saved View and POIs now also remember ANGLE - fit zoom and autofit controls disabled during waypoint playback - further performance improvements to rendering when ANGLE=0 but clipping required - better handling of patterns hitting the grid boundary for non-explosive rules - [[ X ]] and [[ Y ]] script commands now allow arguments between +/- half maximum grid size rather than half current grid size Build 167 - improved performance when computing previous generations for step back function (hotkey "b") - script command [[ SHOWGENSTATS ]] will display the generation statistics at pattern load (hotkey "g" to toggle) - script command [[ SHOWTIMING ]] will display timing information at pattern load (hotkey "t" to toggle) - [[ AUTOFIT ]] keyword will now set AutoFit on at pattern load when no Waypoints are specified - ensure AutoFit gets to target camera position Build 166 - ability to define points of interest - script command [[ POI ]] followed by X, Y, and ZOOM definitions - hotkey "j" to jump to next point of interest - shift and hotkey "j" to jump to previous point of interest - list of POI definitions added to help information - notification if attempt to switch POI while AutoFit is enabled - added "OPEN MOLLY" link for patterns that are either too big for LifeViewer or patterns that LifeViewer can display but not execute - currently just points to Molly on Andrew's site but will be updated to a "SHOW IN MOLLY" link once we agree a pattern passing mechanism Build 165 - increased maximum step back generations to 1024 - when step back generations exhausted automatically compute the previous set of generations - shift and hotkey "v" now saves the camera position, hotkey "v" restores camera position - area outside maximum grid size is drawn in grey - shift and hotkey "c" sets default Theme Build 164 - improved notification message when Pause other LifeViewers is used (hotkey "z") - faster rendering when ANGLE=0 and/or clipping not required - shift and hotkey "2" now sets ZOOM to -2x (used to be hotkey "5" which now does nothing) - shift and hotkey "4" now sets ZOOM to -4x - shift and hotkey "8" now sets ZOOM to -8x - shift and hotkey "6" now sets ZOOM to -16x - shift and hotkey "z" now pauses all Viewers (unlike hotkey "z" which pauses other Viewers) - population count for T=0 was incorrect in some cases - fit zoom was incorrect for [R]History patterns that had no live cells - RLE pattern decoder is now case-insensitive for rule names - RLE pattern decoder can now deal with incorrect x and y values - Life 1.05 pattern decoder now ignores non-standard # commands - display coordinates under mouse cursor (when ANGLE = 0) - coordinates automatically display when paused and disappear during playback unless stats are on - [[ ZOOM ]] script command now accepts negative zoom values -16 to -1 (as well as 0.0625 to 1) Build 163 - added a notification when AutoFit switched on or off - improved the pattern decoder so it is less lenient on files that look like Life 1.05 but aren't - hide the AutoFit, Fit, Zoom and Grid UI controls when help is displayed - corrected colours on AutoFit button - faster rendering when ZOOM < 1 - extended minimum zoom from 0.25x (-4x) to 0.0625x (-16x) and adjusted how zoom values are displayed - removed duplicate grid clears during startup - removed duplicate initialization during standalone viewer creation - improved snapshot memory usage after reset - snapshot memory now dynamically grows to reduce GC - added coloured boxes to help information when showing colours - increased number of stars for larger zoom out - improved tile usage during snapshot restore and reset - moved timing information so it no longer overlaps help button - improved validation of rule names for RLE decoder - when step back disabled do not allocate snapshot 0 - fixed an issue with tile clear failing causing extra tiles to be processed - made the zoom control always available at the top of the window - zoom control hides when help displayed - help information now shows number of grid tiles and colour tiles - help information also shows when grid lines are switched on but hidden (due to non-zero ANGLE or ZOOM < 4) - added button for fit zoom - added toggle button for grid display - lock ZOOM UI control when AutoFit on - display notification when ZOOM change attempted via hotkeys or mouse wheel and AutoFit is on - display notification when X or Y change attempted via hotkeys or mouse pan and AutoFit is on - increased the height of the standalone Viewer so area without menus is square - UI library can now draw icons on simple buttons - corrected the highlight on UI items that are selected - AutoFit is now smoother - updated help text to document "Esc" stops playback - help display for [R]History rules now includes state colours as well as Theme colours (since Theme only defines states 0, 1 and 2) - background drag now scrolls help information and error list when displayed - zoom control was not being disabled during waypoint playback Build 162 - do not run [R]History patterns with an invalid number of states - added support for HTML5 colour names [[ COLOR ALIVE Red ]] - added [[ COLOR TEXT R G B ]] to set colour for waypoint messages - if help is open then hotkey "i" will move to the info section - shift and hotkey "e" will set STEP to maximum (32) - shift and hotkey "d" will set STEP to minimum (1) - shift and hotkey "+" will set GPS to maximum (60) - shift and hotkey "-" will set GPS to minimum (1) - only allocate the [R]History overlay for [R]History rule patterns that contain cells in states >= 2 - only allocate the [R]History state 6 bitmaps when pattern contains cells in state 6 - moved stars further away to create better depth perception - LifeHistory pattern fit zoom failed after grid grows - pattern decoder now accepts well known rule names (2x2, Bugs, Gnarl, etc.) - fixed a crash after failing to decode an invalid multi-state pattern - when step back disabled (with [[ NOSTEPBACK ]]) and step back attempted display a more useful message - help information now displays counts of cells in each state present at pattern load - failing to decode an invalid RLE pattern (i.e. illegal number of states) could be then marked valid by another decoder - added [R]History support which extends LifeHistory features to any supported Life-like rule - with multiple viewers and more than one non-library rule the rule names were displayed as the first non-library rule - added some rule aliases - added new button (top left) to toggle AutoFit - shift and hotkey "f" to toggle Build 161 - updated help text for step back and step forward hotkeys - implemented LifeHistory state 6 execution - added support for "life" as as rule name - shift and hotkey "." or "," will rotate left or right in 90 degree steps - shift and hotkey "[" or "]" will zoom in or out by a factor of 2 - zoom via hotkeys is now centered around cell under the mouse cursor - corrected generations rule decoding - rules without B or S prefixes were being read in the wrong order Build 160 - improved LifeHistory display for ZOOM < 1x Build 159 - opening a new pattern in the standalone viewer was not resetting the stars mode - fixed minor overflow in mouse wheel zoom - failed to read rules where one of the sections was empty - improved support for executing LifeHistory - added the "step back" button to the UI - hotkey "b" will pause execution if running - pause button image becomes "step forward" when paused - LifeViewer build number now at top of help text - added a help button to the UI Build 158 - improved performance of step back function - notification system now discards duplicate notifications - LifeHistory patterns were not executing - significant performance optimizations for allocating, copying and growing the grids - rules were incorrectly decoding if no space between the equals sign and the rule definition - the standalone viewer title was not centered correctly - modified the standalone viewer title - NOSTEPBACK was not being reset when new patterns were opened in the standalone viewer - added keyword [[ TITLE ]] that allows you to specify the window title for the standalone viewer (up to 30 characters) Build 157 - arrow keys now use the zoom level to determine how far to move the pattern - shift key with the arrow keys now moves diagonally - improved key handling for non hotkeys - updated pattern decoder did not respect "Life" rule name - patterns with x and y defined but no rule defined were not defaulting to B3/S23 - increased step back one generation (hotkey "b") to a maximum of 512 generations - step back function now uses step size1 - added keyword [[ NOSTEPBACK ]] to disable step back function - added snapshot details to help information Build 156 - you can now specify THEME CUSTOM to use the custom definition at a waypoint - added hotkey "5" for 0.5x ZOOM - disabled THUMBNAIL, WIDTH and HEIGHT commands for standalone Viewer - added keyword [[ STARS ]] to switch on starfield background - hotkey "s" to toggle starfield - added COLOR STARS R G B to set stars colour (default is white) - toggle thumbnail mode is now hotkey "n" - addded hotkey "0" to reset angle to 0 - the Theme UI was not extending when a custom theme was defined - remove forum search decoration from patterns - patterns bigger than their defined width or height were failing to decode with an exception (that was caught) - step back one generation (hotkey "b") now limited to a maximum of 64 generations - hex rules are no longer executable Build 155 - enhanced the pattern decoders to support simple ASCII "." and "*" with no header - default fit zoom display was not being updated after grid grows - patterns in extended RLE format but with valid rule definition and two states were being treated as multi-state - waypoint ZOOM was not working correctly in THUMBNAIL mode - LOOP in waypoint mode was showing a single non-waypoint controlled frame - added step back one generation (hotkey "b") - mousewheel ZOOM was broken Build 154 - improved error checking in Cells decoder - grid growth had been inadvertently disabled - further minor improvements to start up time Build 153 - fit zoom widened a little - added some more colour sets - further improved styling to the standalone viewer Build 152 - DEPTH was not being read correctly for initial waypoint - births and deaths are now computed when stats switched from off to on (rather than just population) - initial population statistics are remembered for faster Reset - automatically increase grid size to ensure display doesn't wrap at 1x ZOOM - minor (~15%) improvements to start up time - ZOOM rate of change is now a constant factor (for smoother zooms) - waypoint interpolation now uses Bezier curves to smooth start and stop of a camera move - correctly handle non-breaking spaces in patterns - waypoints with no initial zoom defined were using a default rather than the fit to zoom value - fit zoom (hotkey "F") no longer keeps a border around the pattern and avoids the UI controls - fit zoom and reset view are now disabled during waypoint playback (but work if waypoint playback paused) - improved the styling on the standalone viewer window - standalone viewer window no longer intrudes on vertical scrollbar if present - added support for B0 rules via emulation - manual adjustment during waypoint catch up now works correctly - disabled manual THEME change during waypoint playback - improved colour history display at ZOOM < 0.5x - new script command [[ AUTOFIT ]] which can be used as a target for [[ T ]] and [[ PAUSE ]] waypoint commands - it is an error to use AUTOFIT not at a waypoint - AUTOFIT overrides any X, Y or ZOOM setting at the waypoint - STEP size was not being respected after last waypoint or when waypoints disabled - when waypoint playback passes the last defined waypoint the help information displays ">" at the last waypoint in the list rather than "*" Build 151 - minimum zoom is now 0.25x - 4x supersampling is used when 0.5x <= zoom < 1.0x - 16x supersampling is used when 0.25x <= zoom < 0.5x - waypoint playback was not performing smooth course correction after manual adjustment at last waypoint - switched to smaller tile size - it was possible to create a Viewer whose width was not a multiple of 8 - locking a UI item would not cancel any current interaction Build 150 - only "Expand" notifications display when in thumbnail mode - generations per step was not being reset when different patterns were opened in the standalone viewer - gps and STEP sliders background goes red if playback is not happening in "real time" due to machine performance - more consistent handling of playback when machine performance is low - vastly improved reset time - Themes with no colour history perform better playback than other Themes when STEP > 1 is used (Theme 0 and Theme 6 or any custom Theme with just an ALIVE and DEAD colour defined) - zooms < 1 use super-sample to ensure alive cells are displayed - display no longer appears to wrap at low zooms Build 149 - tile-based generation engine for faster performance on sparse patterns - increased maximum STEP to 32 - switching on or off waypoint playback (with hotkey "W") also turns on or off LOOP mode if defined Build 148 - ensure initial standalone viewer all visible - if the screenshot window could not be opened display a notification (usually because popups are blocked by the browser) - initial waypoints without position information were not resetting to defaults in the standalone viewer - only display LOOP on and off message at Pause and Reset if LOOP is actually defined - increased the duration of error notifications - hotkey "M" was toggling navigation menu when disabled - prevent progress bar from drawing > 100% on systems that are not fast enough to keep up - step slider was not being displayed in the standalone viewer if the previous pattern was VIEWONLY Build 147 - don't display progress bar in viewonly mode - improved the waypoint catch up algorithm after pause or waypoint playback disable/enable - limit catch up rate to prevent race condition - when waypoints are defined LOOP is not disabled on pause but on first Reset (to match waypoint playback mode) - only the first 128 state colours were being displayed - help information correctly shows subset of custom colours used - out of range state colours are now silently ignored - pattern decoder was too lenient - prevent standalone viewer window from being dragged off the main window - some pattern rule names were causing colours to be set to all white Build 146 - opening a multi-state pattern in the standalone viewer after it previously contained an executable pattern caused the colours to be wrong - valid patterns that are too large now display a "Pattern too big!" message rather than "Invalid pattern!" - added step slider to ui - hotkey "d" to decrease and "e" to increase step size Build 145 - closing and opening the standalone viewer on the same pattern now correctly enables looping and waypoints (where specified) - waypoint messages and system messages are now displayed on separate lines - waypoint messages can now be two lines [[ "This is a\ntwo line message" ]] - [[ STEP ]] can now be used in waypoints - in some cases a third reset caused odd behaviour - added a progress bar behind the Gen button when LOOP or waypoint playback enabled - the Pause and Reset messages will now say if LOOP or waypoint playback have changed or if AutoStart is activated - waypoint messages containing more than one newline are reported as errors - startup time was being counted in the first waypoint - waypoint messages are cleared when waypoints are switched off Build 144 - waypoint playback can be toggled with hotkey "W" - controls are unlocked after final waypoint - controls are temporarily unlocked when waypoint playback paused - first reset will disable waypoint playback (if available) - second reset will enable - hotkey "Esc" will pause playback and if already paused will disable waypoints - if you pause during waypoint playback and move the camera then restarting will glide to the correct waypoint position - added waypoint details to help information - angle changes always take the shortest path (e.g. 350 -> 10 degrees) Build 143 - [[ GPS ]] and [[ THEME ]] can now be specified at each waypoint - playback continues after the last defined waypoint at the current gps - pan, zoom, angle, layer, depth, theme and gps controls are locked (greyed out) during waypoint playback Build 142 - extended maximum STEP to 20 - intial implementation of Waypoint system - script command [[ T {generation} ]] defines a waypoint at the specified generation - script command [[ PAUSE {seconds} ]] pauses Life for the specified number of seconds - both the [[ T ]] and [[ PAUSE ]] commands can be followed by camera setting commands - [[ X ]] to set the target camera X position - [[ Y ]] to set the target camera Y position - [[ ZOOM ]] to set the target camera zoom - [[ ANGLE ]] to set the target camera angle - [[ LAYERS ]] to set the number of layers - [[ DEPTH ]] to set the layer depth - text in double quotes is displayed for the duration of the waypoint [[ "This is a message" ]] Build 141 - added hotkey "Z" to stop playback in all other LifeViewers - help information now shows number of viewers that are playing - re-enabled scrolling the error list - inverted cursor keys to align with Golly - blocks on phpbb will now get a "Show in Viewer" link that when clicked will open a standalone Viewer in a moveable window - added script command [[ STEP 1..10 ]] that defines generations per step - the gps slider controls steps per second - the display is only updated at the end of each step Build 140 - added notification if grid lines switched on or off when the grid lines can't be displayed - menus work correctly when canvas is contained in a style="position:fixed;" div - added missing LifeHistory state colour - LifeHistory patterns now center correctly when in VIEWONLY mode - existing Viewers can be reused with a new pattern - corrected extended RLE format states > 24 Build 139 - fixed rule reader broken in build 136 Build 138 - major gridlines drawn after minor gridlines - added Page Up, Page Down, Home and End keys to error list - Up or Down message is greyed if help or error list at top or bottom Build 137 - added ability to create an image of the LifeViewer in a new browser window - overlays are removed for the captured image (menus, population count, timing information, etc.) - image is saved in PNG format Build 136 - added major grid lines to grid line display - script command "GRIDMAJOR <0..16>" to define interval (default 10) - script command "COLOR GRIDMAJOR R G B" to define colour - grid is now drawn with bottom layer rather than over the top - extended multi-state support to 256 states - corrected multi-state fit zoom for non-LifeHistory rules Build 135 - added grid line diplay (disabled by default) - will only display at zoom levels >= 4 and angle 0 - hotkey 'X' to toggle - script command "GRID" to enable on startup - COLOR or COLOUR GRID R G B will define grid line colour - correctly handle ":" character in rule name - added "shapeloop-b" and "2armshapeloop-a" to the "shapeloop" set Build 134 - "limit" now both limits the width of the Viewer to that of the assosicate pattern element and sets it as the default width - default width without "limit" increased to 1024 - added ability to define a custom Theme - error list can now be scrolled with cursor keys, page up and down, and the mouse wheel Build 133 - parameters to integrate the Viewer in a web page are now read from a meta tag - - "viewer" is the class name of the div - "textarea" is the embedded element name containing the pattern - "30" is the maximum height in px of the element containing the pattern, or -1 not to change the height - "hide" is optional and if present indicates that canvas element should be hidden if the browser doesn't support the viewer - "limit" is optional and if present indicates that the Viewer width is limited by the width of the element containing the pattern Build 132 - RLE pattern reader now copes with blank lines between comments and header - mouse wheel will now scroll help text Build 131 - code block is only shortened if height is greater than 2.5 lines - improved start up time for each Viewer - start up time is typically 67% of previous builds - viewers with the same rule as the last viewer start in 25% of previous builds Build 130 - missing custom colours now use the corresponding state colour from the rule's set (or default set if no rule set exists) - missing colour errors now display the RGB value substituted - the information display shows the set name as "(default)", the rule set name (e.g. "LifeHistory"), "(custom)" where all states are custom or "LifeHistory (custom*)" - in the latter mode the custom entries are marked with a * - added hotkey V to reset camera view - help and error visibility is retained across thumbnail toggle - slightly reduced notification font size - removed error report for STOP generation being later than LOOP generation since you can disable LOOP with pause and then continue to the STOP - fixed a problem which allowed non-LifeHistory multistate rules to be AUTOSTART when VIEWONLY wasn't specified Build 129 - default colour set is not Golly's default - errors are now only generated for missing colours for states that area actually in the pattern - missing colours are defaulted to Golly's Build 128 - Viewer now has a list of default colour sets for a range of rules - multi-state patterns that aren't LifeHistory are forced to be VIEWONLY if not specified - rule name now displays correctly in the help information for multi-state patterns - added COLOR and COLOUR script commands to define multi-state colour sets - udpated help so only hotkeys available in the current mode are displayed Build 127 - maximum Viewer size is now limited to maximum width of Code element - added hotkey "S" to toggle thumbnail view Build 126 - added THUMBNAIL script command which starts Viewer at a quarter size, click to expand to full size Build 125 - remove 'M' from help if navigation menu unavailable - added ZOOM and ANGLE to information display Build 124 - fixed menus and zoom not behaving in nested scrolled panes - play now respects the gps setting for the first generation Build 123 - pause now temporarily disables LOOP until the next reset - cursor up/down now work in help. page up/down now do scroll a page at a time - added X and Y position to the information page in help Build 122 - fixed broken X and Y Build 121 - basic support for displaying static multi-state patterns Build 120 - fixed zoom and menus after a change is made to browser zoom - trim pattern text to help decoders - report error if LOOP generation appears before STOP generation - added new script command, VIEWONLY, to disable playback - fit zoom display hotkey was not updating zoom control Build 119 - added zoom to cursor position - display 2.5 lines of "code" block Build 118 - display two lines of "code" block Build 117 - reduced font size for notifications - removed "Control On" and "Control Off" notifications - reduced minimum window height (via HEIGHT script command) to 240 pixels - heights below 480 pixels do not show the navigation menu - added keys Page Up and Page Down to scroll through help text - corrected helptext for X and Y script commands to show correct range - added keys Home and End to go to the top and bottom of the help text - added hotkey I to toggle information display on the pattern and Viewer - if there is no support for the Viewer then automatically hide the rle div - added more information - decoder for current pattern - number of running Viewers - number of script commands and errors Build 116 - first plugin build (fork from main LifeViewer)