pub struct WayClass {
pub min_width: u32,
pub max_width: u32,
pub min_clearance: u32,
}Expand description
A way class — the vocabulary a layout-graph node declares for a place whose footprint is bounded in one axis and free in the other: a road, a causeway, a corridor, a duct (spec-0053 §3).
§Why it is a second kind of classification and not a rung
The size-class ladder classifies a place by both horizontal extents at once, and that is what it is for. A route has no second extent to classify: a cut ledge one body wide climbing a whole seaward face is 4 by 90, and for any rung to admit it that rung would have to span 4..90 on an axis — a class in which an alcove and an expanse are the same thing has stopped classifying. The failure is by KIND, not by margin, which is why no calibration of the ladder reaches it.
§What it bounds, and what it deliberately does not
A way class bounds the cross-section — the axis a body feels walking it
— and says nothing whatever about the run. A route’s length is per-campaign
geometry, not a standard: a village lane, a canyon rim trail, a ship’s
gangway and a mine gallery are the same class of thing at four wildly
different lengths, and a max_length here would be this month’s map wearing
a standard’s clothes. The run is measured, into pacing, and is never
compared against anything (spec-0053 §7).
The elongation demand a way-classed box must satisfy is therefore
structural rather than a constant: the run must exceed
Self::max_width, which is exactly what a room cannot supply. A square box
can never qualify, because its “run” equals its width and one number cannot
both be <= max_width and exceed it. That is what makes “declare it a way to
escape the ladder” refused by the object’s own shape rather than by a rule
the author could satisfy by choosing differently.
Fields§
§min_width: u32Narrowest cross-section, in cells, inclusive. Never below the physical
passable width — Metrics::self_check holds it there.
max_width: u32Widest cross-section, in cells, inclusive. Doubles as the elongation floor: a way-classed box’s run must exceed this.
min_clearance: u32Least interior clearance, in cells.