"""
Ballistic correction engine.

Computes scope elevation and windage corrections given a rig, ammo,
target distance, and weather conditions.

Currently a stub — returns None until the trajectory integration is built.
"""


def compute_corrections(session, stage) -> dict:
    """
    Return scope corrections for a given PRS stage.

    Args:
        session: PRSSession instance (provides rig, ammo/reloaded_batch, weather)
        stage:   PRSStage instance (provides distance_m)

    Returns:
        dict with keys: elevation, windage, unit, message
    """
    # TODO: implement point-mass trajectory integration using:
    #   - session.rig.zero_distance_m, session.rig.scope_height_mm
    #   - ammo BC (Bullet.bc_g7 / bc_g1) and muzzle velocity
    #   - session weather fields (temperature_c, pressure_hpa, humidity_pct)
    #   - stage.distance_m and session wind fields
    return {
        'elevation': None,
        'windage': None,
        'unit': None,
        'message': 'Ballistic engine not yet implemented.',
    }
