An engraving ladder is an ordered list of hatch layers; each is applied only
where the tone field is at least its threshold, so darker regions
accumulate more (and finer, cross-hatched) layers. Defaults trace the classic
etching progression: a sparse base layer, then denser same-angle lines, then
a second angle (cross-hatch), then the fine angles that read as black.
engrave_ladder(
n_levels = 5L,
base_gap = 0.1,
gap_ratio = 0.62,
base_angle = 45,
cross_after = 3L,
cross_angle = 90,
tone_floor = 0.12,
tone_ceiling = 0.92
)A list of layers, each list(gap, angle, threshold).
Number of hatch layers. Default 5.
Pitch (inches) of the sparsest layer. Each subsequent layer
tightens geometrically toward base_gap * gap_ratio^(n_levels - 1).
Default 0.10.
Multiplicative pitch shrink per layer (0 < r <= 1; smaller = faster densening). Default 0.62.
Angle (degrees) of the first layer. Default 45.
Layer index (1-based) at which cross-hatching begins; from
this layer on, angles alternate by cross_angle. Default 3.
Angular offset (degrees) of the cross direction. Default 90.
Tone thresholds of the first and last layers;
the layers' thresholds are spread evenly between them. A region with tone
below tone_floor is left blank (paper); tone at or above tone_ceiling
gets every layer. Defaults 0.12 and 0.92.
Other sketch-core:
arrowhead(),
curve_fill(),
engrave_fill(),
hachure_fill(),
hachure_fill_multi(),
leader_path(),
repel_layout(),
rough_arc(),
rough_bezier(),
rough_ellipse(),
roughen_polyline(),
sketch_arrowheads(),
sketch_fill(),
sketch_fill_multi(),
spray_scatter(),
stroke_profile(),
stroke_ribbon(),
treemap_layout(),
wash_bleed(),
watercolor_wash(),
watercolor_wash_multi()