# Glossary

### Dimension

The dimension class is basically how many dimensions in space the maze covers. Types are:
**2D:** Most mazes are this dimension,
it's always possible to __display them on a paper sheet__ and navigate
it without overlapping any passages.

**3D:** maze with multiple levels,
where passages may go up and down in addition to the 2D directions.
A 3D __maze may be seen as 2D mazes stack on each other__.

**Higher dimensions:** It's possible to have 4D and higher dimension mazes.
These are sometimes rendered as __3D mazes, with special "portals" to travel through the
4th dimension__ (e.g. "past" and "future" portals).

**Weave (2.5D):** A weave maze is basically a 2D
(or more accurately a 2.5D) maze,
but where __passages can overlap each other__.
For instance real life size mazes that have bridges passing above other passages.

### Direction

If there is direction, it means that
**certain passages can only be traveled in one way**.
In Computer Science terms, such mazes would be described by a directed graph,
as opposed to an undirected graph.

### Focus

This is just **an algorithmic property (no visual difference at the end)
when generating**.
The focus can be divided into **two general types : wall adders, and passage carvers**.
The first start with an empty space where we add walls while the second start with a full block
in which we carve passages.

### Hyperdimension - Hypermaze

The hyperdimension class refers to the dimension of the object you move through the maze,
as opposed to the dimension of the maze environment itself
(hypermaze can only exist in a 3D or higher dimension environment).
A hypermaze increases the dimension of the solving object and the passages themselves.

**
In a normal Maze you move a point through it, and the path behind you forms a line.
In a hypermaze you move a line through it, and your path forms a surface!
**

### Routing

Routing refers to the types of passages geometry resulting from the maze generation strategy.

**Braid - Partial Braid:**
A "Braid" Maze means __one without any dead ends__.
Such a Maze uses passages that coil around and run back into each other (hence the term "braid")
and cause you to spend time going in circles instead of bumping into dead ends.
A well-designed braid Maze can be much harder than a perfect Maze of the same size.

Note that __the adjective "Braid" can be used quantitatively__.
A "heavily braid Maze" will includes many loops or detached walls.
**Perfect - Simply-Connected:**
All the maze generation proposed at H.urna have a perfect routing.
A "perfect" maze means being without any loops, closed circuits and inaccessible areas.
From each point, there is exactly one path to any other point :
__the maze has exactly one solution__.
In Computer Science terms, such a maze __can be described as a spanning tree__.

**Sparseness:**
A sparse Maze is one that doesn't carve passages through every cell, meaning some are left uncreated.
This amounts to having inaccessible locations, making this
__somewhat the reverse of a braid maze__.
A similar concept can be applied on __wall adders__ algorithms
(e.g. the Recursive Division),
resulting in an irregular maze with wide passages and rooms.

**Unicursal:**
A unicursal Maze means one without any junctions.
Such mazes are also called labyrinth, there are no tricks or dead ends :
they __have a single circuitous path instead__
and are most often __used for relaxation, meditation or spirituality__.

### Tessellation

The tessellation class is the geometry of the individual cells that compose the maze.
You may imagine any geometry you want; here is a small list of the common ones :
Orthogonal (Rectangle cells), Crack (Amorphous), Delta (Triangle cells), Fractal (Recursive),
Omega (Non-orthogonal), Sigma (Hexagon cells),
Theta (Concentric Circles of passages), Upsilon (Octagons and Squares cells),
Zeta (Orthogonal with diagonal passages allowed)...

Images talk more than words, see below some of those 'common' types:

### Texture

The texture class is subtle and describes the style of the passages in whatever routing, whatever geometry. This property is more qualitative than quantitative one. See below two of the flags often encountered with H.urna maze generators:

### Topology

The topology class describes the geometry of the space the maze as a whole exists in:

**Normal:** standard maze in Euclidean space.
**Planar:**
any maze with an abnormal topology.
Examples are mazes on the surface of a cube, tore, sphere etc.

# References

- Astrolog by Walter D. Pullen
- Deadalus: The world's most sophisticated Maze program by Walter D. Pullen