> For the complete documentation index, see [llms.txt](https://help.craftsmanplus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.craftsmanplus.com/play/layers/shapes.md).

# Shapes

A Shape layer is a vector shape rendered natively in PLAY. Preset shapes are drawn directly from the properties you set, no uploaded asset required, while custom shapes are rendered from an SVG in your Asset Library. Either way, the result is lightweight, infinitely scalable without quality loss, and editable on the fly.

Use Shape layers for backgrounds, dividers, button fills, overlays, decorative accents, and tap targets or hit zones. Once added to the artboard, you can position, resize, animate, and add interactions like any other layer in PLAY.

***

### Shape Properties

The Shape section contains everything specific to how the shape looks. It only appears on Shape layers.

#### **Shape Type**

The Shape Type dropdown sets which kind of shape PLAY draws. Choose between:

* **Rectangle**
* **Circle**

Switching between presets updates the layer on the canvas immediately. The available controls in the Shape section also update to match: Rectangle shows the Roundness input below, while Circle hides it (since circles are already fully rounded).

When the layer holds a custom shape, the dropdown displays **Custom** instead. Custom only appears while a custom shape is active and can't be selected from the dropdown directly. Selecting a preset while Custom is active resets the layer to that preset shape. See Custom Shapes below.

#### **Roundness**

Sets the corner roundness of a Rectangle, from 0% (sharp corners) to 100% (fully rounded). At 0% the shape renders as a hard-edged rectangle. At 100%, a 1:1 Rectangle renders as a circle, and a stretched Rectangle renders as a capsule or pill.

This input only appears when Shape is set to Rectangle.

#### **Color Fill**

Sets the fill of the shape, as a solid color or a gradient. Enter a hex value, or click the swatch to open the [Color Selector](/play/general/color-selector.md) and choose the **Solid** or **Gradient** tab. The default is `#FFFFFF` (white). A gradient is laid out across the shape's box and rotates with the layer.

Custom shapes can carry more than one color, with a selector for each. See Editing a Custom Shape below.

#### **Opacity**

Sets the transparency of the shape, from 0 (fully transparent) to 100 (fully opaque). The default is 100.

***

### **Custom Shapes**

Shape layers aren't limited to the presets. Any SVG in your Asset Library can be used as its own fully editable shape layer.

#### **Adding a Custom Shape**

Upload an SVG to the Asset Library and it's stored as a **Shape** asset. Shape assets have their own **Shape** filter under **Asset Types**, so they're easy to find alongside the rest of your assets. See the [Uploading Assets](/asset-library/uploading-assets.md) documentation for details.

There are two ways to turn a Shape asset into a layer:

* **Add it from the Asset Library.** Add the Shape asset to your scene like any other asset, and it becomes its own Shape layer.
* **Replace an existing shape.** Select any Shape layer, click **Replace**, and choose an SVG from the Asset Library.

Either way, the Shape dropdown displays **Custom**, and the layer supports the same positioning, animations, and interactions as any other Shape layer. Custom shapes also work as global layers. See the [Global Layers](/play/layers/global-layers.md) documentation for details.

#### **Editing a Custom Shape**

A custom shape's geometry comes from its SVG, and its colors stay editable right in the Properties panel:

* **Color Fill.** Each distinct color in the SVG, fills and strokes alike, gets its own Color Fill selector. Edit its color and opacity just like a preset shape. Changing one selector recolors every part of the shape that uses that color.
* **Gradients.** Fill colors accept gradients. A gradient on one fill spans the whole layer box, not just that part of the shape.
* **Strokes.** Strokes are drawn in a single color. Setting a gradient on a stroke's selector shows only its first color.

#### **Replacing a Shape**

Click **Replace** to swap what a Shape layer displays. The Asset Library opens showing both your images and Shape assets: choose a Shape asset to apply it as a custom shape, or choose an image to swap the shape out for an image. You can also replace an image with a shape, so layers can move between the two at any time.

{% hint style="info" %}
*Shape layers in your Photoshop file can be imported directly as native PLAY Shape layers, preserving their type, dimensions, position, and fill color. See the* [*Photoshop Import*](/play/general/photoshop-import.md) *documentation for details.*
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.craftsmanplus.com/play/layers/shapes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
