Layers and labels
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).
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:
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.activeistrue,falseor a list of the label groups to show (['lithology', 'fractures', 'caves']).labels.lithologypicks 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.activemarks layers and construction items that started on a previous panel with↑.unitLabels.activedraws thegeologic_unitandaquifer_unitstrips beside the lithology column.constructionLabels.sideis'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 in the API reference for the full default values.