StressLayout

:= []

Cross-module face: importers reach the stress layout only through this module's namesake nominal, so the public wiring uses these delegations.

run_stress : StressPrepared, RunArgs -> {
    layout : {
        positions : List({ x : F64, y : F64 }),
        bounds : { x : F64, y : F64, width : F64, height : F64 },
        routes : List(Route),
    },
    components : List(U64),
    convergence : { iterations : U64, converged : Bool },
}
layout_stress : Spec, Settings, RunArgs -> [
    Ok(
        {
            layout : {
                positions : List({ x : F64, y : F64 }),
                bounds : { x : F64, y : F64, width : F64, height : F64 },
                routes : List(Route),
            },
            components : List(U64),
            convergence : { iterations : U64, converged : Bool },
        },
    ),
    Err(List(Problem)),
]