You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reported by a consumer (axioval), seen in axiolid-mesh-compile 0.3.10–0.3.12. The reference mesh compiler can't sweep along an elevated directrix (`Curve3::Elevated`, which a gradient curve lowers to): it returns `GeomError::Unsupported { operation: CurveEvaluation }`, even for a constant grade. `evaluate3` has no `Elevated` arm (noted as open in #239), and sweep directrix resolution classifies elevated curves as an unsupported family. Example: a pipe whose swept disk follows a gradient curve with a vertical circular sag (R = 1000) is unmeasured.
The building blocks exist: `elevated_point`/`elevated_tangent` (#238 `elevation_height`/`elevation_grade`, #239 chains as plans), `elevation_chord_bound` (#238), the plan's chord bounds (#232/#239), and the banked section frames (#240).
Proposal
Add `Curve3::Elevated` to `evaluate3`/`derivative3`/`domain3`.
Accept elevated (and banked) directrices for swept disks and swept areas. Sample the directrix by plan distance with a certified 3D chord bound composed from the plan's bound and the elevation's `elevation_chord_bound`; plan and elevation chord errors combine, so derive the 3D bound and split the budget. Sweep with frames along the 3D tangent; for `Banked3`, use its section frames.
Report the deviation as `Certified`/`Proven` through `compile_mesh_with_deviation`, or as `Unbounded` by name where a piece can't be bounded.
Reported by a consumer (axioval), seen in axiolid-mesh-compile 0.3.10–0.3.12. The reference mesh compiler can't sweep along an elevated directrix (`Curve3::Elevated`, which a gradient curve lowers to): it returns `GeomError::Unsupported { operation: CurveEvaluation }`, even for a constant grade. `evaluate3` has no `Elevated` arm (noted as open in #239), and sweep directrix resolution classifies elevated curves as an unsupported family. Example: a pipe whose swept disk follows a gradient curve with a vertical circular sag (R = 1000) is unmeasured.
The building blocks exist: `elevated_point`/`elevated_tangent` (#238 `elevation_height`/`elevation_grade`, #239 chains as plans), `elevation_chord_bound` (#238), the plan's chord bounds (#232/#239), and the banked section frames (#240).
Proposal
Done when