Skip to the content.

CAViewer Release badge Build CAViewer Test CAViewer

See python branch for CAViewer v1.

Installation

CAViewer v2 is written in Kotlin / Java.
You will need the Java Runtime Environment / Java Development Kit to run the *.jar file.

If you can't use Java, download the precompiled binaries here.
On Linux and Mac, the binary may not be exectuable by default so run chmod +x CAViewer. This requires a github account.

Alternatively, get the binaries here.

Note that this *.jar runs on the Java Runtime Environment / Java Development Kit 11 and above.

See the wiki for instructions on how to build the application from source and how to modify it.

What is this?

CAViewer is a cellular automaton simulation program written in Java
It aims to support rulespaces unsupported by other CA simulation programs such as Golly and LifeViewer.

The GUI

The GUI is made with JavaFX & Scene Builder.

The Menu Bar

File Menu:
New Pattern - Creates a new pattern
Open Pattern - Opens a pattern file
Save Pattern - Saves the pattern to a file
New Rule - Opens the rule dialog to make a new rule
Set Rule Directory - Sets the directory for CAViewer to look for rules
Close - Closes the application

Edit Menu:
Copy - Copies selected cells to an RLE
Paste - Pastes the cells that are stored as an RLE on the clipboard
Delete - Deletes the selected cells
Random Soup Settings - Settings for the random soup generation

View Menu:
Adjust Colours - Adjusts the colours of the current rule
Grid Lines - Toggles between showing and not showing grid lines
View Population Graph - Displays a graph of the population against generation

Control Menu:
Set Generation - Sets the generation based on user input
Set Step Size - Sets the step size of the simulation
Set Simulation Speed - Sets the maximum simulation speed
Clear Cell Cache - Clears the cell cache to speed up the simulation (application may hang for a while)

Search Menu:
Generate Apgtable - Generates an apgtable to be used with apgsearch
Run Rule Search - Starts a search program that randomly enumerates rules to find spaceships & oscillators
Run Agar Search - Starts a search program that searches for agars
Run Catalyst Search - Starts a search program that searches for catalysts
Run Brute Force Search - Starts a brute force search program similiar to gsearch

Help Menu:
About - Opens the CAViewer Wiki in a built-in browser.
Rule Info - Provides information about the currently loaded rule.

The Tools Bar

Run Simulation Button - Runs the simulation
Simulate in Selection Button - Runs the simulation in the selection
Simulate outside Selection Button - Runs the simulation outside the selection
Drawing Button - Go into drawing mode
Panning Button - Go into panning mode
Selection Button - Go into selection mode

Random Soup Button - Generates a random soup
Flip Button - Flips the pattern horizontally / vertically
Rotate Button - Rotates the pattern clockwise / counter-clockwise
Increase / Decrease Step Size Button - Increases / decreases the step size
Recording Button - Records all patterns that move in the selection area and saves it as a *.gif
Identify Button - Identifies the pattern as a spaceship / oscillator

The Status Bar

The generation of the pattern, the current population and simulation speed is shown.

Keyboard Shortcuts

Space - Step 1 Generation
Delete - Deletes cells

Enter - Toggle Simulation
Shift + Enter - Toggle Simulation (In Selection)
Ctrl + Enter - Toggle Simulation (Outside Selection)

Ctrl + N - New Pattern
Ctrl + O - Open Pattern
Ctrl + S - Save Pattern to File

Ctrl + C - Copy Pattern to RLE
Ctrl + X - Cut Pattern (Copy + Delete)
Ctrl + V - Paste Pattern (requires that an area is already selected)
Ctrl + Shift + O - Load Pattern from Clipboard

Ctrl + A - Select the entire pattern
Ctrl + Z - Undo
Ctrl + Y - Redo

Ctrl + R - Change Rule
Ctrl + 5 - Generate Random Soup

X - Flip Selection Horizontally
Y - Flip Selection Vertically
> - Rotate Clockwise
< - Rotate Counter-Clockwise

GUI TODO List

Editing Features

Supported / Planned Rulespaces

Supported / Planned INT Neighbourhoods

Supported / Planned Named HROT Neighbourhoods

Search Programs

Long-term TODO List

Known Bugs