ifc-geometry 0.3.0

IFC semantic views lowered into the format-neutral geometry DAG.
Documentation
# ifc-geometry surface plan

Status: active scaffold under parent task(s) `GEOM-SURFACE`.
Last updated: 2026-08-19

Follow `AGENTS.md`. Claim one local task, leave blockers/decisions beneath it,
and check it off only after the proof runs.

## Work queue

- [x] `SURF-SLOTS` - verify every surface accessor
  - Audited (2026-09-05): Every surface accessor is verified against generated absolute slots.
  - Proof: focused tests, crate clippy, and relevant declaration/corpus gate.
- [x] `SURF-ELEM` - frames/radii and degeneracy rules
  - Done (2026-09-05): degeneracy/radii logic was already complete; the four
    placement TODOs are now real typed accessors. `position(&model)` resolves
    an `Axis2Placement3D` view for plane, cylinder, sphere and torus.
  - Proof: focused tests, crate clippy, and relevant declaration/corpus gate.
- [x] `SURF-SWEPT` - extrusion/revolution surface inputs
  - Audited (2026-09-05): Extrusion and revolution surface inputs are read and tested.
  - Proof: focused tests, crate clippy, and relevant declaration/corpus gate.
- [x] `SURF-BOUND` - curve-bounded/rectangular trimmed semantics
  - Audited (2026-09-05): Curve-bounded and rectangular-trimmed semantics are covered, including sense flags.
  - Proof: focused tests, crate clippy, and relevant declaration/corpus gate.
- [x] `SURF-BSPLINE` - control grid/knots/weights validation
  - Audited (2026-09-05): Control grid, knots and weights are validated with typed errors.
  - Proof: focused tests, crate clippy, and relevant declaration/corpus gate.

## Completion log

Append `TASK-ID - proof - material decision`; keep long logs out of this file.