ifc-geometry 0.4.1

IFC semantic views lowered into the format-neutral geometry DAG.
Documentation
# ifc-geometry resource instructions

Scope: Zero-copy views for IfcGeometryResource values and helper functions.

Follow the crate `../../AGENTS.md`.

## Owns

- points/directions/axes/placements/operators
- representation maps and geometric helper functions
- absolute STEP slot constants and accessor errors
- `resolve.rs`: the one place a raw reference becomes a type-checked view.
  Curve/surface/solid views keep their `*_ref` getter and add a resolving
  accessor beside it (`Line::point(&model)`) that calls `resolve`, so dangling
  (`MissingEntity`, names the referrer) and wrong-type (`WrongEntityType`,
  names the target) errors are identical everywhere. An attribute typed by an
  abstract supertype (`IfcSurface`, `IfcBoundedCurve`) stays a reference: the
  dispatch belongs to `lower`. `IfcProfileDef` has no view here either;
  `input::profile` owns profile reading.

## Does not own

- recursive model traversal
- unit conversion or transform composition
- kernel/graph types

## Growth map

`point.rs`, `direction.rs`, `axes.rs`, `placement.rs`, `operator.rs`, `mapped.rs`, `functions.rs`, `resolve.rs`. These source owners already compile as private scaffold modules. Replace a module's planned-owner marker with its first real contract and tests; do not add parallel placeholders.

Every source entity error cites EntityId/type/slot or rule. Add invalid, cycle,
and unsupported cases, not only happy paths.