Changes
(For the very latest changes, see
https://gollygang.github.io/ready/Help/changes.html.)
Changes in version 0.12 (released ???)
Changes in version 0.11.0 (released January 2021)
- Formulas now support more stencils: bilaplacian_a, trilaplacian_a, gaussian_a,
sobelN_a, sobelNE_a, x_gradient_a, x_deriv2_a, x_deriv3_a, gradient_mag_squared_a
(and similarly for the other chemicals and directions). Several patterns have been converted from kernel rules to formula rules
as a result.
- Formulas now support x_pos, y_pos and z_pos, giving the cell location in each direction, in
the range [0,1]. This allows a neater and more accurate way of implementing parameter maps.
- Formulas now support a_e, a_nw etc. in a more natural way. Instead of accessing the float4 block that is
the neighbor of the current block, these keywords return a float4 that has the four values that are neighbors in the specified way. Now we can do e.g. a = a_ne; in a formula to have the whole pattern shift down and left by one pixel. This is a
breaking change: formula rules that accessed cells using a_w, a_e, a_nw, a_se, etc. will no longer behave as they did before.
- New pattern setting: accuracy. Controls the size of the stencil. Use "low" to run fast, and "high" to run
accurately.
- Parameter dx is now reserved for controlling the grid spacing of the Gaussian, Laplacian, bi-Laplacian and tri-Laplacian
stencils. Formula rules no longer need to write e.g. laplacian_a / (delta_x * delta_x) and can just write laplacian_a since the value of dx is used in the stencil computation.
- New render setting: colormap, with 11 maps available: "HSV blend", "spectral", "spectral reversed", "inferno", "inferno reversed", "terrain", "terrain reversed", "orange-purple", "purple-orange", "brown-teal", "teal-brown". The old behavior (HSV interpolation between two colors) is still available - choose "HSV blend".
- New render setting: plot_ab_orthogonally. If true in a 1d pattern, we
plot chemicals 'a' and 'b' against each other in the line graph, allowing us to show e.g. Schrodinger1926/packet.vti or Yang2006/jumping_cGL.vti in a more useful way.
- Moved View Full Kernel... and Show OpenCL Diagnostics... to the View menu.
- Mac app requires macOS 10.10 or later.
- More smaller brush sizes.
- Improved wave_equation.vti
- New patterns:
Changes in version 0.10.1 (released April 2020)
Changes in version 0.10 (released March 2020)
- Fix: Resizing an image would allow uninitialized values and NaNs to appear in the simulation.
- Improved appearance of the caps where the contour of a volume meets the boundary.
- New patterns:
Changes in version 0.9 (released December 2019)
- Mac app requires Mac OS 10.9 or later. Retina screens are now supported (no more fuzzy text).
- Fix: Option to show multiple chemicals now works with 3D images and meshes too.
- Fix: File > Import Image... should now always work.
- Fix: Support for unicode characters in file paths in: Import Mesh, Export Mesh, Export Image, Save Screenshot.
- Improvement: The rdy command line utility accepts more arguments and can print VTI contents in text form for pipeing to other apps.
- Improvement: Added new HDAs (Houdini Digital Assets) for importing Ready VTIs into Houdini. See Scripts/Houdini/README.md
- New render settings:
- cap_contour Whether to close the holes where the contours meet the boundary.
- invert_contour_cap If true, closes the contour holes on the other side.
- New patterns:
- FCC3333/random.vtu, a simple rule on a rhombic dodecahedral honeycomb.
- FCC3333/glider.vtu, a glider in that rule.
- DanWills/grayscott-historyWaveDC_fibrousHistoryFill_wavePartition_init2.vti, A hot mess of gray-scott-ness (augmented with history and wave).
- DanWills/grayscott-historyWave_ddd_bubbleDynasties_init.vti, Complex waves and bubble-spiral-dynasties.
- DanWills/grayscott-historyWave_temporalWeb_mgsz_init.vti, Dynamic organic-looking-web formation (through budding) and slightly spirally propagation.
- DanWills/grayscott-withWaveCoupling_ddd_cauli_init.vti, Branchy dividing solitons/short wavefronts leave super-diffuse and wave-attenuated 'history' wakes.
- DanWills/grayscott-evolvingMask_ddd_frothierEchoes_init.vti, Soliton gliders form inside the active region and spread out, dividing continuously to fill the space. Once space is filled the solitons continue to propagate randomly, splitting and annihlating to maintain an overall density. The wave reagents are a bit 'frothy'.
- DanWills/grayscott-historyWave_fuseWorms-wiggletrains_init.vti, Soliton gliders form from a subset of initial nucleation sites. Solitons continue to propagate through space whilst dividing and tending to follow existing soliton trails.
- DanWills/orbits_nova_ddd_chicken_init.vti, Orbits-fractal-based formula showing a nice looking repeated structure-formation-and-destruction behaviour on a quite long (25k timesteps) cycle.
- DanWills/orbits_ddd_questionSpaceships-answer_init_djw.vti, Discovered while tweaking the Orbits (fractal-inspired) formula, this appears to almost emulate a discrete automata at the core of its continuous dynamics. Comparisons could be drawn to the 'star-wars' CA in golly, but a bit more spaceshippy.
- DanWills/orbits_ddd_epochs_init.djw.vti, This Mandelbrot/Julia-step inspired formula and parameters shows some fascinating and bizarre behaviour where over a huge time period (150k timesteps) fields of 'stars' form, merge and expire and then are eventually re-generated in complex wavefronts.
- GrayScott1984/parameter-map_3D.vti, A 3D version of the Gray-Scott parameter map, showing how the parameters affect the patterns generated in 3D.
Changes in version 0.8 (released April 2017)
- Can record 3D surface animations, as .obj or .vtp format frames.
- Can import an image (.png, .jpg or .bmp) to use as a starting condition.
- Can import a mesh to use as a starting pattern for a volume. (File > Import Mesh > Paint this pattern into a 3D volume image)
- New option for transparency in the initial pattern generator, to leave parts of the image unchanged.
- Changing the number of chemicals no longer blanks the existing pattern.
- New patterns:
Changes in version 0.7 (released August 2015)
- Ability to change data type from single to double precision floats, for formula rules.
- New patterns:
- LifeBlur.vti, where Conway's Game of Life seeds a diffusion process.
- Froese2014_Fig3.vti, Gray-Scott plus worm trails.
- Cornus Ammonis gives us MandelbrotWorms.vti, strange worms in a rule inspired by the formula that produces the Mandelbrot Set.
- Cornus Ammonis also gives us experiments in applying edge-detection kernels to R-D systems for gradient estimation:
mutually-catalytic pinwheels,
second normal derivative feedback,
Pearson chained edge-detectors,
"surfing" solitons, and
tip-splitting web.
- And more amazing rules by Cornus Ammonis: bz-warpsharp.vti applying the warp-sharp algorithm to the Belousov-Zhabotinsky system, smoke.vti, smoke-ising.vti, and splats.vti.
- advection.vti: the advection equation, plus some different
methods of integrating it, for comparison:
forward Euler,
two-step Adams-Bashforth,
three-step Adams-Bashforth,
modified Euler,
the midpoint method,
Heun's method,
staggered leapfrog,
Lax-Friedrichs,
Lax-Wendroff and
fourth-order Runge-Kutta.
- Pennybacker2013/phyllotaxis_fibonacci.vti and Pennybacker2013/phyllotaxis_hexagons.vti
showing a single-chemical model of phyllotaxis in plants. Also Pennybacker2013/spots.vti, Pennybacker2013/stripes.vti and
Pennybacker2013/parameter_map.vti, showing a simpler model without the gradient term.
- bilaplacian_interpolation.vti, showing the effect of the bilaplacian term instead of the more common laplacian.
- Agmon2014/oil-water.vti, where two mutually-repelling fluids undergo phase separation, and
Agmon2014/cells.vti showing cell-like structures with a membrane.
- Guo2014/guo.vti - a model of branching phenomena in lung morphogenesis.
- gaussian-smoothlife.vti - a variant of Stephan Rafler's SmoothLife system with neighborhoods computed with 2-pass 1D gaussian convolution.
- fast-mccabe.vti - McCabeism implemented with 2-pass 1D gaussian convolution.
- From Dave Mann: smiley_faces.vti.
- Five new patterns from Dan Wills: grayscott-historyWaveDC_movingWormsAndSolitons.vti, orbitsNova_buildAndDestroyBlobs.vti, orbits_epochs.vti, grayscott-historyWaveDC_dualPhaseSolitonWormFlow.vti, heat-equation-boiling-history-wave_glidersUnstable.vti.
- Fix for blank lines being inserted into files on every save.
- Fix for font size problems with the color bar.
Changes in version 0.6 (released November 2013)
- Phase plots, showing how the chemicals vary compared to each other.
- 1D systems now have option to show multiple chemicals.
- New overlay fills: gaussian, sine.
- New patterns:
- salt2D_demo.vti, Miller and Fredkin's Salt CA, running in 2D.
- salt3D_circular330.vti, Miller and Fredkin's Salt CA, showing circular movement.
- Brusselator.vti, a model of the famous chemical reaction named Belousov-Zhabotinsky.
- Yang_1.vti, Yang_2b.vti,
Yang_2c.vti, Yang_2d.vti,
Yang_3a.vti, Yang_3b.vti,
Yang_3c.vti, Yang_3d.vti,
Yang_4.vti: from a 2002 paper by Lingfa Yang et al.
- McCabe.vti, McCabe_simple.vti,
McCabe_additive2a.vti, McCabe_additive2b.vti:
Jonathan McCabe's "McCabeism"s, showing detail at multiple spatial scales.
- Yang2003/Fig2.vti, Yang2003/Fig3a.vti,
Yang2003/Fig3b.vti, Yang2003/Fig3c.vti,
from a 2003 paper by Lingfa Yang et al.
- Kytta2007/Fig5.7a.vti, Kytta2007/Fig5.7c.vti,
Kytta2007/Fig5.8c.vti, Kytta2007/Fig5.8d.vti,
Kytta2007/Fig5.8e.vti, Kytta2007/Fig5.8f.vti,
Kytta2007/Fig5.8g.vti, from Klaus Kyttä's 2007 MSc thesis.
- Yang2006/jumping.vti, jumping_cGL.vti,
showing 1D "jumping oscillons" from a 2006 paper by Lingfa Yang et al.
- Meinhardt1982/zebra.vtu (replaces horse.vtu), showing stripes on a zebra mesh.
- Schrödinger equation demos: packet.vti, packet_pass.vti,
packet_reflect.vti, packet_reflect2D.vti,
quantum_tunnelling.vti
- Purwins1999/multiGlider.vti by Dan Wills, showing many gliders in the Purwins rule.
- Experiments by Dan Wills: cglrd_ramps_example.vti,
grayscott-historyWave_fuseWorms.vti,
grayscott-historyWave_moreLifelike.vti,
grayscott-historyWaveDC_solitonsAndWorms_init.vti,
orbits_explodey_init.vti,
orbits_sharpWaves-init.vti,
grayscott-historyWave_coralGrow.vti
and Simon Gladman: vermiformSolitons.vti.
- Bug fix: File > Start Recording... wouldn't work when set to 'current view'
- Bug fix: Languages with different decimal separators (eg. French) would cause problems with importing meshes and editing parameters.
- Re-organised more patterns into folders
Changes in version 0.5 (released December 2012)
- Brush size can be changed.
- Polyhedral cells now supported. Use vertex-, edge- or face-neighbors.
- File > New Pattern now also offers to create:
- random 2D Delaunay and Voronoi meshes
- random 3D Delaunay honeycomb
- body-centred cubic honeycomb (truncated octahedra)
- face-centred cubic honeycomb (rhombic dodecahedra)
- diamond honeycomb (triakis truncated tetrahedra)
- New patterns:
- Buss_hex.vtu, Frank Buss' hexagonal CA.
- tri_life.vtu, B45/S34 on a triangular grid.
- Imai_glider_B2SC4.vtu, a
naturally-occuring glider on a Penrose tiling.
- Goucher_loops.vtu, showing
how Adam Goucher's Penrose glider behaves on the darts-and-kites tiling.
- hex_B2oS2m34_gliders.vtu, Paul Callahan's
Life-like rule on a hexagonal lattice.
- oregonator.vti, the Oregonator, a model for the
famous Belousov-Zhabotinsky reaction.
- complex_Ginzburg-Landau_magnitude.vti,
by showing the magnitude of the complex number we get a quite different view to the
original.
- larger-than-life.vti, a CA rule that uses a
larger neighborhood.
- GrayScott1984/Pearson1993.vti, following
Pearson's 1993 Science paper.
- SmoothLife2011/smoothglider.vti, Stephan Rafler's
SmoothLife is a continuous version of Conway's Game of Life. This version has a glider like the one
in Larger-than-Life.
- SmoothLife2011/smoothlifeL.vti, a SmoothLife
rule that supports an amazing variety of life-like phenomena.
- SmoothLife2011/glider_3D.vti, a 3D glider in a
SmoothLife rule.
- Purwins1999/glider.vti and glider_3D.vti: self-avoiding gliders in 2D and 3D.
- GrayScott1984/U-Skate/Hutton-and-helix-gliders.vti,
showing two newly discovered 3D gliders in the U-Skate World.
- GrayScott1984/U-Skate/o-ring_2D.vti,
showing another glider in the U-Skate World.
- New Laplacian stencils for faster or more accurate time steps: 2D 9-point, 3D 19-point, 3D 27-point.
- New File menu command: Save Compact... for easy sharing
of files.
- New Action menu command: Convert to Full Kernel
for converting formula rules to kernel rules (to get more flexibility).
- 3D images now show cell colors when use_image_interpolation=false, as with 3D meshes.
- File > Start Recording... can now save out all the chemicals.
- Bug fix: Full Screen wouldn't hide paint toolbar.
- Bug fix: Pencil tool wouldn't work in some meshes on some platforms.
Changes in version 0.4 (released August 2012)
- New paint tools: pencil, brush, color picker. Paint on images and meshes, even while the system
is running.
- Undo/redo mechanism for paint actions.
- New patterns:
- Bug fix: Color bar colors were garbled on some platforms.
- Bug fix: Some lines in the 1D view appeared black on some graphics drivers.
- Bug fix: Conflicting preferences file from previous versions would cause blank window. As an
interim fix in 0.3, use View > Restore Default Layout.
- Bug fix: Control-clicking could cause problems in Mac app.
- Bug fix: Mac users can command-click to roll the current image.
Changes in version 0.3 (released June 2012)
- Reaction-diffusion can now be run on the surface of meshes, or in a volume of tetrahedral cells.
Load the *.vtu files to see examples.
- New menu commands:
- File > New Pattern now offers to create a new image (1D, 2D
or 3D) or mesh dataset (geodesic sphere, torus, tetrahedral mesh, triangular tiling, hexagonal tiling,
rhombille tiling or Penrose tiling).
- New patterns:
- bunny.vtu, lion.vtu, showing RD systems running on the surface of polygonal
meshes.
- Bays_3D.vti, implements a 3D cellular automaton.
- Ising_regime.vti, showing how tiny
variation can grow into large meanders in the FitzHugh-Nagumo system.
- GrayScott1984/U-Skate/Munafo_glider.vti,
Robert Munafo's glider after which the U-Skate world is named.
- GrayScott1984/parameter-map.vti, showing
how the parameters affect the Gray-Scott system.
- Turing1952/spots_noisy.vti, showing
the effect of noise on Turing patterns.
- GrayScott1984/Lesmes_noisy.vti, showing
how noise can change the behavior of reaction-diffusion systems.
- GrayScott1984/noisy_solitons_mitosis.vti,
showing how noise can trigger solitons to replicate.
- mutually-catalytic_spots.vti, where
big spots can only replicate if full of small spots.
- parameter_modulation_demo.vti, showing how
values in an extra chemical can be used to modulate the parameters of a system in an 'R' shape.
- parameter_modulation_demo2.vti, showing how
values in an extra chemical can be used to modulate the parameters of a system in a circular shape.
- life_torus.vtu, showing Conway's Game of Life on a torus
covered with quadilaterals.
- PenroseTilings/life.vtu, showing the Life rule B3/S23 running on a
Penrose tiling.
- heat_equation_interpolation.vti,
showing how the heat equation can interpolate between spatial values.
- complex_Ginzburg-Landau.vti, a model of
superconductivity that shows the onset of spiral waves.
- wave_equation.vti, showing the spreading of a ripple.
- Changes to the render settings:
- use_image_interpolation=false now gives voxelised Minecraft-style rendering in 3D.
- New entries:
- show_color_scale: allows the color scale legend to be turned off.
- color_displacement_mapped_surface: allows the displacement-mapped surface (for 2D
images) to be colored using the image.
- show_cell_edges: allows the edges of the cells to be shown.
- show_bounding_box: allows the bounding box to be shown or hidden.
- Changes to the overlays:
- New overlay shape: pixel, for specifying cells directly.
- New overlay fill: linear_gradient, for
values that follow a linear ramp.
- New overlay fill: radial_gradient, for
for values that vary depending on the distance from the center.
- Each overlay element can now contain multiple shape
specifiers.
- Pattern files (*.vti, *.vtu) can now be loaded into Paraview correctly, with named chemicals
('a', 'b', etc.). There they can be visualized by volume rendering, or contoured in various ways.
- Ready has a new (much nicer!) icon.
- New option for image-based systems: wrap, to toggle toroidal
wrap-around on/off.
Changes in version 0.2.2 (released March 2012)
- Fixed issue that gave 'Invalid work group size' and 'expecting CL_KERNEL_WORK_GROUP_SIZE to be
a power of 2' errors on different graphics cards.
- Fixed XML-escaping issue that caused saved patterns to fail to load.
Changes in version 0.2 (released March 2012)
- 1D patterns now supported, as a color strip and a line graph.
- Patterns can be saved and loaded, as VTK image data files (*.vti) extended with
an extra XML element called "RD" - see formats.html
- Toolbars added, for common functions.
- Switched to a more flexible scheme for storing user preferences in a file
called ReadyPrefs. See here for more details.
- Added a Preferences dialog for changing various settings,
including keyboard shortcuts.
- Added File > New Pattern for setting the pattern to zeros.
- Added File > Open Recent submenu.
- Added View > Full Screen for toggling full screen mode.
- Added View > Fit Pattern to fill the view with the entire pattern.
- Added View > Wireframe for toggling from wireframe to surface view. Many other render settings
can be changed in the Info Pane.
- Added Action > Reset to restore a pattern back to its starting point.
- Some menu items have been moved or renamed.
- The Patterns Pane no longer shows inbuilt demos. It now shows files stored in the supplied
Patterns folder. Ctrl/right-clicking on a file will open it in your preferred text editor
(set in Preferences > File). You can also add your own pattern
folder via File > Add My Patterns.
- The Info Pane allows you to edit a rule's parameters and other properties while it is running.
- The Help Pane displays .html files stored in the Help folder via corresponding items
in the Help menu.
- An Initial Pattern Generator is stored in the file and can be run to make new starting patterns.
A series of overlays are composed in the different chemical images, and may include randomness.
- A new rule type "kernel" allows full OpenCL kernels to be specified, for maximum flexibility.
- The world size can now be changed. Set x, y or z to 1 for 2D or 1D systems, e.g. 128x1x1
- For 2D systems, all the chemicals are shown side-by-side. This can be turned off in the render
settings.
Changes in version 0.1 (released January 2012)
- Includes 2D and 3D Gray-Scott demos.
- CPU and OpenCL implementations.
- User can select from available OpenCL devices (GPUs or CPUs).
- OpenCL is loaded at runtime, so we can still do something even if it is not available.
- User can edit OpenCL kernel and apply it to the running system.
- 3D visualisation shows a volume contoured at a fixed value, and a slice from the middle
rendered as an image.
- 2D visualisation shows a false-color image and a height-mapped mesh on the back.
- Works on Windows XP+, Linux and MacOS 10.6+.