> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pulze.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How LayerWise Works

> The core ideas behind LayerWise: render engines, render elements, name matching, templates, smart objects and mask targets.

LayerWise is built on a handful of ideas. Get these and every screen in the plugin makes sense.

![Diagram: render files, matched to element names, placed into a template, resulting in a layered PSD](https://mintcdn.com/sourcelinekft/z3vWbLeBmT4OoYjW/images/layerwise/lw_concepts_diagram.webp?fit=max\&auto=format\&n=z3vWbLeBmT4OoYjW\&q=85\&s=de9a7742bd53bf458f4b2ff2264b0642)

Render files are matched to elements by name, then placed into a template's layer structure

## Render engine

LayerWise supports three render engines: **V-Ray**, **Corona** and **FStorm**. Each has its own render element list and its own templates. Pick your engine on the [Home screen](https://docs.pulze.io/layerwise/interface.md#home) and everything else follows from it.

## Render elements and name matching

LayerWise ships with the render element names of each engine (75 for V-Ray, 36 for Corona, 25 for FStorm), and you can [add your own](https://docs.pulze.io/layerwise/render-elements.md).

Files and layers are recognized by **name**. If the name contains an element name, it belongs to that element:

| File name | Element |
| - | - |
| `cam01.Reflection.png` | Reflection |
| `Kitchen_VRayLighting_0001.exr` | Lighting |
| `cam01.MultiMatteElement.#Wood#Glass#Stone.png` | MultiMatteElement |
| `cam01.RandomFile.png` | *not recognized* |

Matching is **case-sensitive** and avoids the usual false matches between related passes. `Reflection` does not match `ReflectionFilter`, `RawReflection`, `TotalReflection`, `ReflectionAnalysis` or `CShading_Reflection`, so each of those lands on its own element.

A **multichannel EXR** works the same way: LayerWise splits it into one file per pass, named after the pass, and matches those. See [Multichannel EXR](https://docs.pulze.io/layerwise/workflows/multichannel-exr.md).

> [!TIP]
>
> No special naming scheme needed. The default file names from V-Ray, Corona and FStorm already contain the element names.

### Element flags

Each element has four switches, which change how LayerWise treats it:

| Flag | What it does | Typical elements |
| - | - | - |
| **Import all** | Import every matching file, not just one. | LightSelect, MultiMatteElement, ZDepth, MtlID |
| **RGB masks** | The file is a multimatte: its red, green and blue channels become three masks. | MultiMatteElement, CMasking\_Mask, MultiMatte |
| **Luma mask** | The file's brightness becomes a mask. | Alpha, ZDepth, ReflectionFilter |
| **Crypto** | A Cryptomatte: pick objects or materials and get a mask for each. | Cryptomatte, CMasking\_Cryptomatte, CryptoMatte |

See [Masks](https://docs.pulze.io/layerwise/masks.md) for how the masks are made and where they go.

## Templates

A **template** is the layer structure of a post-production PSD: a tree of groups, each with a name, label colour, blend mode, opacity and visibility, plus **element slots** inside the groups where the render files go. It also sets the document's bit depth (8, 16 or 32 bits).

You get eight built-in templates, and you can [create your own](https://docs.pulze.io/layerwise/templates.md) from any PSD or in the [template editor](https://docs.pulze.io/layerwise/template-editor.md).

![Inspect template dialog showing a V-Ray template's group tree and element slots](https://mintcdn.com/sourcelinekft/z3vWbLeBmT4OoYjW/images/layerwise/lw_concepts_template_tree.webp?fit=max\&auto=format\&n=z3vWbLeBmT4OoYjW\&q=85\&s=711585d2feffc57c8ca3309958d5c419)

A template: groups with their blend modes, and element slots inside them

## Smart objects

LayerWise places every render as a **smart object**. That's what makes updating possible: LayerWise replaces the contents later and leaves what's attached to the layer alone (its mask, smart filters, layer styles, blend mode and opacity).

* **Embedded** smart objects store the render inside the PSD. This is the default.
* **Linked** smart objects point to the render file on disk and keep the PSD small.

You choose between them in [Settings](https://docs.pulze.io/layerwise/settings.md).

When you [update the renders](https://docs.pulze.io/layerwise/workflows/update-renders.md) of an existing PSD, LayerWise looks for smart objects whose layer names match an element. A layer called `cam01.Reflection.png` or `Reflection` counts as the Reflection element.

> [!WARNING]
>
> Render element layers must stay smart objects for updating to work. If you rasterized them, use [Convert to smart objects](https://docs.pulze.io/layerwise/tools.md#convert-to-smart-objects) first.

## Mask targets

A **mask target** is any layer or group whose name matches a mask's name. When LayerWise makes a mask called `#Wood` from a multimatte, it puts that mask on every layer or group named exactly `#Wood`, and creates such a group if none exists. It also saves the mask as an alpha channel of the same name in the Channels panel.

This is what keeps your masks up to date: name a group `#Wood`, put your wood adjustments inside, and each time you update the renders, the group's mask is rebuilt from the new multimatte.

## Undo, cancel and safety

* Every job shows up as **undo steps** in the History panel, one per element (for example *Replacing Reflection*), so you can step back through it.
* Cancel a job at any time from the progress overlay or with **Esc**. If a step fails, only that step is rolled back.

## What stays on your computer

LayerWise works on your files locally. It only goes online to:

* sign you in with your Pulze account (after the first sign-in it also works offline),
* list and store your [cloud templates](https://docs.pulze.io/layerwise/cloud-templates.md), if you use them,
* check once per launch whether a new version is available.

There is no telemetry or analytics. The optional [AI assistant bridge](https://docs.pulze.io/layerwise/ai-assistant.md) only talks to apps on your own computer.

## Next steps

[Install LayerWise](https://docs.pulze.io/layerwise/installation.md), take the [tour of the interface](https://docs.pulze.io/layerwise/interface.md), then [create your first document](https://docs.pulze.io/layerwise/workflows/create-document.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.