buffalo_wings.airfoil.validate_spec

buffalo_wings.airfoil.validate_spec(spec)[source]

Validate one schema-backed airfoil definition.

Parameters:

spec (Naca4AirfoilSpec | Naca4ModifiedAirfoilSpec | Naca5AirfoilSpec | Naca5ModifiedAirfoilSpec | Naca16AirfoilSpec | FlatPlateAirfoilSpec | BiconvexAirfoilSpec | BiconvexParabolaAirfoilSpec | PolygonAirfoilSpec | EllipseAirfoilSpec | CircularArcAirfoilSpec | JoukowskiAirfoilSpec | Naca6AirfoilSpec | Naca6AAirfoilSpec | FileAirfoilSpec | PointsAirfoilSpec | SplineAirfoilSpec | CstAirfoilSpec | ParsecAirfoilSpec) – Airfoil schema object to validate.

Returns:

Validation result containing the original schema copy when valid and a structured diagnostics report describing schema errors or unsupported runtime families.

Return type:

AirfoilValidationResult

Notes

This workflow reports malformed schema content and runtime-support gaps through structured diagnostics instead of raising for ordinary validation failures. Use AirfoilFactory.from_spec(...) only after checking that the returned result is valid and supported by the current runtime.

Examples

>>> import buffalo_wings.airfoil as bwa
>>> spec = bwa.Naca4AirfoilSpec(
...     params=bwa.Naca4AirfoilParamsSpec(
...         m=0.02,
...         p=0.4,
...         max_thickness=0.12,
...     )
... )
>>> result = bwa.validate_spec(spec)
>>> result.is_valid
True