pub struct Contact {
pub extent: Option<[NonZeroU32; 2]>,
}Expand description
A contact: the span of a shared face along which two places simply meet (spec-0053 §4).
§What a contact MEANS
The boundary is continuous ground. The derivation writes no wall along the
span — and wall as ever outside it — and crossing is legitimate anywhere
along it the step rule admits. It is not a wide door: DW0829’s standard-name
resolution and sill rule are portal checks and do not apply, because a
contact has no opening name to resolve and no single sill. Calling a 55-cell
front a door would make every downstream door check wrong.
§What the author allocates and what the engine measures
The author allocates where the places meet. The engine measures the
crossing profile from assembled bytes — which columns of the span a body
actually crosses under the step rule — and DW0877 refuses a contact nothing
can cross. “This face is fine” is never a declaration this engine accepts.
Seams stay allocated, never discovered: the span is the edge’s allocation
set for DW0838, so a crossing outside it is still a refusal.
Fields§
§extent: Option<[NonZeroU32; 2]>The span, [u, v] in cells on the face’s own two in-plane axes, anchored
at the seam’s at.
Omitted, the span runs from at to the far edge of the shared face on
both axes — which is how a contact along the whole of a face is
written, by putting at at the face’s low corner. DW0828’s refusal
prints that corner, so the number an author needs is in the message they
would already be reading.
There is no width standard and no length here, and both absences are
the design (spec-0053 §7).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Contact
impl<'de> Deserialize<'de> for Contact
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for Contact
impl JsonSchema for Contact
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more