Type Alias HatchSpace

HatchSpace: "screen" | "world" | "tangent"

Coordinate space in which a hatch pattern's spacing and lineWidth are measured.

  • "screen" (default) — units are screen-space pixels. The hatch tracks the camera: zooming in does not change the number of ink lines visible per surface unit, but those lines stay anchored to the screen rather than the geometry. Right for UI overlays, callout fills, and views where the hatch is part of the rendering style rather than the model.

  • "world" — units are world-space (the same units as the geometry's positions). The hatch is locked to the world XY plane and visible as the surface's intersection with a set of parallel world-space planes. Right for engineering plan views, cross sections, and architectural elevations where the hatch represents a physical material property (concrete fill at 200mm spacing, brickwork course at 250mm, etc.) and must stay consistent as the camera moves.

  • "tangent" — units are world-space, but the hatch axes follow the local surface frame (built from per-fragment derivatives of vWorldPos). Right for curved or tilted surfaces where a fixed world-XY hatch would skew or compress unnaturally — the hatch reads as if printed on the surface like a material decal. Slight per-face frame ambiguity at sharp corners is the documented trade-off.