# Wedge anchors

Every percentage family accepts an integer from 0 through 100. A value of
`0` is the first endpoint, `50` is halfway along that edge or contact path,
and `100` is the last endpoint. The named wedge `W` is needed only when
another command refers to `(W.anchor-name)`.

## Boundary map

The three boundary families follow the outline counterclockwise from the
bottom-left corner (`bl`): `base` goes from `bl` to `br`, `right` goes from
`br` to `top`, and `slope` goes from `top` to `bl`. These names keep the same
endpoint order in all right-angle modes.

| `wedge right angle at` | `right-0..100` | `slope-0..100` | Usable incline |
| --- | --- | --- | --- |
| `br` (default) | right support, `br` to `top` | left incline, `top` to `bl` | `surface`, `bl` to `top` |
| `bl` | right incline, `br` to `top` | left support, `top` to `bl` | `surface`, `top` to `br` |
| `top` | right incline, `br` to `top` | left incline, `top` to `bl` | `surface`, `bl` to `top`; `right-surface`, `top` to `br` |

`surface-0..100` always runs left to right along the primary usable incline.
In the `top` mode, `right-surface-0..100` follows the second usable incline;
in the other two modes it coincides with `surface-0..100`.

`base-mid` is `base-50`. `right-mid` is `right-50`, including when that
boundary bends around a pulley edge. `slope-mid` is `surface-50` in every
mode: it marks the primary contact incline. In the `top` mode,
`slope-right-mid` is `right-surface-50`; otherwise it equals `slope-mid`.
`centroid` and `mid` identify the area centroid of the drawn wedge body.
The compass anchors (`north`, `south east`, and so on) describe its bounding
box, so some may lie outside the triangular outline.

## Contact guides

The `tangent-before-0..100` and `tangent-after-0..100` points lie along the
primary incline, on either side of each selected `surface` point.
`normal-0..100` lies outward from that incline. The matching `right-` guide
families refer to `right-surface` in the `top` mode. Set
`surface guide length` to adjust their distance from the contact point.
These are placement guides, so they deliberately lie beyond the boundary.

```latex
\node[wedge,wedge width=6cm,wedge right angle at=top,
  show anchors,
  physics debug/anchor list={bl,br,top,slope-mid,slope-right-mid},
  physics debug/anchor families={surface,right-surface},
  physics debug/anchor samples={0,50,100}] (W) {};
```

## Pulley edge

The `pulley edge` preset is available with `br` and `bl`. It adds a short
straight segment from `top` (`pulley-center`) to `wall-root`, keeping the
outline continuous. `transition-0..100` follows this segment from top to
root. With no inset or drop, `wall-root` coincides with `top` and the
transition has zero length.

The complete `right` boundary in `br` mode, or `slope` boundary in `bl`
mode, follows both segments of the bent outline by distance. Their `-50`
anchors are halfway along the *whole* boundary. The usable incline remains
the straight opposite side and is still selected with `surface`.
The four-point shape's `centroid` follows the filled area.

```latex
\node[wedge,pulley edge,wedge width=7cm,wedge angle=30,
  show anchors,
  physics debug/anchor list={top,pulley-center,wall-root,right-mid,centroid},
  physics debug/anchor families={base,right,slope,transition},
  physics debug/anchor samples={0,50,100}] (W) {};
```

## Visual reference

The [ten-page wedge show-anchors gallery](wedge-anchor-coverage.pdf) covers
the three right-angle modes, both contact faces in `top` mode, and both
pulley-edge orientations. The final page checks the default full named-anchor
table. Its [copy-ready source](../examples/wedge-anchor-coverage.tex)
uses the same `show anchors` overlay as the examples above. Compile it from
the package root with:

```sh
pdflatex -interaction=nonstopmode -halt-on-error -output-directory=docs \
  examples/wedge-anchor-coverage.tex
```
