# Layers and labels

> What each layer of the profile shows and which .well block it comes from, and how to turn on depth labels, descriptions, unit strips, construction labels and the optional layers.

The renderer draws each block of the file as a layer. This page lists them, the data each one reads, and the options that control it. Options live in `renderConfig`, which is merged over `INTERACTIVE_RENDER_CONFIG`.

## The layers

| Layer              | Reads                                      | Notes                                                                                                                                           |
| ------------------ | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Lithology column   | `lithology`                                | Fill color from `color`, pattern from `texture` (FGDC codes with a drawn pattern).                                                              |
| Borehole           | `bore_hole`                                | Open at the mouth, a shoulder at each diameter change, a line at total depth.                                                                   |
| Casing and screens | `well_case`, `well_screen`, `surface_case` | Walls only, open at joints. A filled casing shoe at the bottom of the string, dashed lines at each screen's ends.                               |
| Reductions         | `reduction`                                | Two slanted walls.                                                                                                                              |
| Annulus            | `hole_fill`                                | Gravel pack and seal fill only the annulus, with a line at each change of material.                                                             |
| Centralizers       | `centralizers`                             | Bow markers at each derived position.                                                                                                           |
| Wellhead pad       | `cement_pad`                               | Two slabs on the surface, drawn at a fixed size with break lines (not to scale); dimensions show in the tooltip.                                |
| Pump               | `pump_installations`                       | The installation without `removed_at`: a riser from the wellhead and a pump body ending at `intake_depth`. Earlier installations are not drawn. |
| Fractures          | `fractures`                                | Single or swarm, at their dip, with a mark when they yield water.                                                                               |
| Caves              | `caves`                                    | Cavity zones with wavy contacts, dry or with water.                                                                                             |

Construction is drawn at true depth and to a diameter scale, so a telescoping well reads as it was built. A casing with a negative `from` rises above the ground ([Panels and layout](/render/guides/panels-and-layout)).

Toggle individual construction details in `renderConfig.construction` (for example `casingShoe.active`, `screenEnds.active`, `pump.active`).

## Labels

The interactive preset draws no text labels, which keeps the drawing clean on a screen where tooltips carry the details. Turn them on as needed:

```ts
import {
  INTERACTIVE_RENDER_CONFIG,
  WellRenderer,
  applyRenderLocale,
} from '@welldot/render';

const base = applyRenderLocale(INTERACTIVE_RENDER_CONFIG, 'en');

const renderer = new WellRenderer(svgs, {
  locale: 'en',
  renderConfig: {
    ...base,
    labels: { ...base.labels, active: true }, // depth, description and divider of each layer
    unitLabels: { ...base.unitLabels, active: true }, // geologic and aquifer unit strips
    constructionLabels: { ...base.constructionLabels, active: true }, // casing and screen labels
  },
});
```

- `labels.active` is `true`, `false` or a list of the label groups to show (`['lithology', 'fractures', 'caves']`).
- `labels.lithology` picks the parts of each lithology annotation: `'depth'`, `'description'`, `'dividers'`, plus `'units'` (bold geologic unit and italic aquifer unit), `'swatch'` (a square of the layer's fill) and `'rules'` (a rule above each annotation).
- `labels.continuation.active` marks layers and construction items that started on a previous panel with `↑`.
- `unitLabels.active` draws the `geologic_unit` and `aquifer_unit` strips beside the lithology column.
- `constructionLabels.side` is `'left'` (each label next to its casing wall, the default) or `'right'` (one aligned column to the right of the construction).

Descriptions need horizontal room. `STATIC_RENDER_CONFIG` reserves it on the right of the drawing; with the interactive preset, widen the panel or adjust `renderConfig.geologic.xRightInset`.

## Optional layers for printed output

These are off by default and mostly useful for paged output such as PDF reports:

| Option                                      | Draws                                                                                              |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `columnHeaders`                             | Titles over the depth, lithology, construction and description columns.                            |
| `overview: { active, x, width, height }`    | A mini-map of the whole well's lithology in the left margin, with the panel's window outlined.     |
| `markers: { lithology, fractures, radius }` | A numbered circle on each lithology layer and `F1`, `F2`… next to each fracture, to match a table. |
| Overlap band                                | The hatched band of a panel with `repeatedTo`, labelled from `overlap.label`.                      |

## Tooltips

With tooltips on (the interactive preset), hovering a layer shows its data: depths, diameters, materials, descriptions, the pump's rated power. `renderConfig.tooltips` takes `false` or a list of the tooltip kinds to keep: `geology`, `hole`, `surfaceCase`, `holeFill`, `wellCase`, `wellScreen`, `reduction`, `centralizer`, `pump`, `conflict`, `fracture`, and more. Tooltip text comes from `tooltipLabels`, set by `applyRenderLocale`.

All the options are typed in `RenderConfig`; see [`INTERACTIVE_RENDER_CONFIG`](/render/api/variables/INTERACTIVE_RENDER_CONFIG) in the API reference for the full default values.
