# Symmetries

Symmetries are sets of translations that transform your diagrams into other shapes.\
Symmetries can be any combination of `x`, `y` and `z` in order.\
eg: `xz`\
eg: `xyz`\
eg: `y`

A symmetry includes all possible variations of its axes.\
For example, `xy` includes all possible variations of `x` and `y` .\
They could flip over, swap around, etc...

**Note: When using the `xyz` symmetry, you must choose a subset (see below).**

## Subsets

You can also use certain subsets of symmetries.\
Symmetries have these properties, which let you access subsets:

* `directions` (only points your diagram in different directions - does not rotate)
* `rotations` (only rotates your diagram - does not reflect)
* `shifts` (only points your diagram in different directions and then rotates around those directions - does not do any other rotations or reflections)
* `swaps` (only swaps the axes with each other)

For example, this element would move in a random `xyz` direction (6 possible directions):

```
any(xyz.directions) @_ => _@
```

This would have 12 transformations:

```
any(xyz.shifts) {
    @  => _
     _     @
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://todepond.gitbook.io/spacetode/symmetries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
