Complicated Tools for Simple Simulations

I want to make a set of tools which can make a showcasing of ULAM and MFM based systems as an understandable and usable system for people outside of cellular simulation systems. Things like rolling a selection of numbers and outputting a selection, or use it to program and rotate through different displays like a street sign would, without going back down into the programming language.

I think this can help to demonstrate a lot of more complex ideas with object based systems in a much more obvious way than usual and make it some sort of teaching utility.

First goal I want to try setting is a hand drawn DLA system in a completely controlled system. For me to think this has succeeded would require the gardener/bounding box system, transmission wires between different boxes, and some sort of fairly minded diffusion system for incoming types of transmitted data.

Box Identity

Things in an enclosure should be able to

  1. Identify what they are
  2. Produce a signal when give an activation system

Gardener Box System

Gardeners are a smart replacement for walls, in order to reduce complexity of human-construction in systems, and to secure boundaries used by walls. Keeping out out and in in. Easy expansion goals could obviously include the support of other wall systems like filtering doors or fetching machines to take things out of walls.

Proposed Procedure
  1. User draws a simple shape that resembles an enclosed space with Gardeners
  2. Gardeners agree upon an inside-outside definition for all sides on the shape
  3. Shape is filled out while keeping the boundary stable, meeting the maxima distant blocks from each side.
  4. Gardeners patrol the wall and keep it well defined
Problems and Solutions

On placement Gardeners first go through an extinction event, to reduce useage complexity and create a basis for a walled enclosure. Since the workload is already a space-ratio system, proposed extinction is a neighbor count, four or greater neighboring Gardeners kills the Event Gardener.

For any situation where a wall is diagonal to another, a Gardener should expand the structure and create an empty space that the three walls enclose on one side. To do this Gardeners always need to know which side is in and which is out, either by marking their expansion or keeping track of which wall face they are on through symmetry. I believe keeping track of it through markings may be necessary in cases where Gardeners are simply drawn with concave shapes.

As a Gardener rotates, the left side will always be the outermost barrier. AKA, left has leftmost outside, right has rightmost outside. Gardeners could take a random chance and shoot off out into the distance but this may be too destructive and removes the possibility of edges being walls. Maybe Gardeners mark as they pass, and if any two Gardeners Interesect, that becomes the inside area. Would require Gardeners to have neighborhood ideas to avoid extra friends coming together. Gardeners do consensus voting based on how right-left sided their neighbors are versus up-down sided. Local maxima, the left most Gardener must be on the left side of the box. Hillclimbing isolation problem here? Might be self solving when gardeners draw a line from the maxima. How do corners work?

Once Gardeners know they’re done shaping a wall they make it thicker? Maybe optional system based on a Gatekeeper existing? Does a Gardener reset to recreating the box they live in if the system changes, or just repair their box?