# Basic Concepts

### Components

A component is the basic building block of a game on Screentop. There are currently four kinds of components:

* **Container** - can contain other components
* **Tile** - can be flipped
* **Die** - can be rolled
* **Counter** - can be bumped up and down

A component also specifies a shape and some additional attributes such as **Flip Axis** for tile components and **Sides** for die components.

### Variants

A variant is a unique visual representation of a component. For example, a playing card component would have 52 variants, one of each rank + suit.

### Objects

An object is an instance of a component + variant. For example, a game that requires two decks of playing cards would have 104 objects, 2 of each variant of the component.

### Dropzones

A dropzone specifies which components are allowed within a **Container** and the layout of those components. There are curently two kinds of dropzones:

* **Grid** - objects align to a grid
* **Anchor** - objects snap to closest anchor

### Anchors

An anchor positions objects within a **Container**. There are currently two kinds of anchors:

* **Point** - moves objects to a point
* **Line** - distributes objects evenly along a line

### Assets

An asset is a collection of images placed in a sheet of evenly divided **Rows** and **Columns**.

Examples:

* [playing-card-001.png](https://storage.googleapis.com/static.screentop.gg/asset/playing-card/playing-card-001.png) is a **5**x**13** sheet
* [d6-die-001.png](https://storage.googleapis.com/static.screentop.gg/asset/d6-die/d6-die-001.png) is a **2**x**6** sheet

### Surfaces

A surface is an area that objects can be placed on and moved to. For example, a deck building game may have one surface for building the deck and another for playing the game.
