By an “n-Complex”, used as a noun in these pages, I mean a bunch of n dimensional simplexes glued together.
The word has been used in the past in that sense but meanings shift.
A complex is specified by enumerating its **vertexes**.
Vertexes are named by assigning integers to them.
We use the terms **zone, facet** and **bone** as described here to refer respectively to n, n−1 and n−2 dimensional simplexes.
The only facets we are interested in share n vertices with a zone and
the only bones we are interested in share n−1 vertices with a facet.
The gluing happens just when two zones share a facet.
For what its worth a vertex is a 0-simplex and an edge between two vertices is a 1-simplex.

This code computes the boundary of a complex which is another complex of one less dimensions. At this level of design we speak as if the whole 4-complex is in memory at once. Indeed I expect to write some exploratory code that way. If the code should proceed beyond exploration then only a time slice of the complex would be needed. Perhaps GC will take care of the details.

For a 4-complex describing a region of space-time, the complex will be simply connected except perhaps for a black hole thru the complex.
There will be two portions of the complex serving as bookends—the beginning time-slice and the ending time slice which we call the **frontier**.

Consider extending the complex on its frontier.
The frontier consists of facets whose edges all have positive ds^{2}s—i.e. space like facets.
The main goal is to find the geometry of the complex which is conveniently captured as ds^{2}s of all the edges, along with the topology, of course.
The ds^{2} is negative for time-like edges.

Consider a vertex f on the frontier and the union S of the facets which have f as a vertex.
S will be a polygonal shaped portion of 3-space—a 3-complex.
Imagine yourself at f.
You see the polyhedron S from the inside—its boundary is composed of bones which are triangles.
There are several ways the frontier may be advanced.
The most obvious is to allocate a new vertex to serve as a successor f' to f where you now sit.
You come up with a negative number to serve as the ds^{2} of the time like edge between f and f'.
You must also come up with space like (positive) ds^{2} between f' and the extant visible vertices.
There are several sorts of limitations on these new numbers:

- Physics will have its say in the form of GR, and ordinary hydrodynamics and conceivably even elasto-dynamics. The electromagnet field may have its say and GR tells us how to apply all of these rules. The rules have yet to be transformed into simplex and bcc language.
- The zones must be kept in good ‘shape’. Not too big and not too small. The mesh velocity must be at least the velocity of light so that cause and effect can work properly.
- When a vertex is within an event horizon we should probably not advance that part of the frontier.