moonrockz/diagrams-svg/flowchart-layout
Types
Connection
pub struct Connection {
connection : @moonrockz/diagrams/flowchart.Connection
index : Int
source : String
target : String
line : ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Point]
label : @moonrockz/diagrams-svg/swimlane-layout.Label?
} derive(Eq, @moonbitlang/core/debug.Debug)Connection::equal
fn Connection::equal(Connection, Connection) -> BoolConnection::not_equal
fn Connection::not_equal(x : Connection, y : Connection) -> BoolConnection::to_repr
fn Connection::to_repr(Connection) -> @moonbitlang/core/debug.ReprGeometry
pub struct Geometry {
view : @moonrockz/diagrams/flowchart.Flowchart
shapes : ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Shape]
connections : ReadOnlyArray[Connection]
width : Int
height : Int
// private fields
} derive(Eq, @moonbitlang/core/debug.Debug)Geometry::drawing
fn Geometry::drawing(self : Geometry) -> @moonrockz/diagrams-svg/swimlane-layout.GeometryShared low-level geometry for the vector painter, separate from the model.
Geometry::drawing_result
fn Geometry::drawing_result(self : Geometry) -> @moonrockz/diagrams-svg/swimlane-layout.ResultGeometry::equal
fn Geometry::equal(Geometry, Geometry) -> BoolGeometry::hidden_containers
fn Geometry::hidden_containers(self : Geometry) -> ReadOnlyArray[String]Geometry::intentional_containment
fn Geometry::intentional_containment(self : Geometry) -> ReadOnlyArray[(String, String)]Geometry::not_equal
fn Geometry::not_equal(x : Geometry, y : Geometry) -> BoolGeometry::prior_diagnostics
fn Geometry::prior_diagnostics(self : Geometry) -> ReadOnlyArray[@moonrockz/diagrams.Diagnostic]Findings from geometry phases before the final shared drawing phase.
Geometry::to_repr
fn Geometry::to_repr(Geometry) -> @moonbitlang/core/debug.ReprLimits
pub struct Limits {
nodes : Int
edges : Int
depth : Int
work : Int
output_units : Int
width : Int
height : Int
minimum_approach : Double
} derive(Eq, @moonbitlang/core/debug.Debug)Flowcharts share vector geometry primitives with the swimlane layout engine. The adapter preserves ordinary groups and introduces no responsibility lanes.
Limits::equal
fn Limits::equal(Limits, Limits) -> BoolLimits::new
fn Limits::new(nodes? : Int, edges? : Int, depth? : Int, work? : Int, output_units? : Int, width? : Int, height? : Int, minimum_approach? : Double) -> LimitsLimits::not_equal
fn Limits::not_equal(x : Limits, y : Limits) -> BoolLimits::to_repr
fn Limits::to_repr(Limits) -> @moonbitlang/core/debug.ReprLimits::with_minimum_approach
fn Limits::with_minimum_approach(self : Limits, minimum_approach : Double) -> LimitsRetain resource limits while selecting the marked terminal reservation.
Result
pub struct Result {
geometry : Geometry?
diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
} derive(Eq, @moonbitlang/core/debug.Debug)Result::equal
fn Result::equal(Result, Result) -> BoolResult::not_equal
fn Result::not_equal(x : Result, y : Result) -> BoolResult::to_repr
fn Result::to_repr(Result) -> @moonbitlang/core/debug.ReprValues
check
fn check(geometry : Geometry, palette : @moonrockz/diagrams-svg/theme.Palette, work_limit? : Int) -> ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Finding]diagnostics
fn diagnostics(values : ArrayView[@moonrockz/diagrams.Diagnostic]) -> ReadOnlyArray[@moonrockz/diagrams.Diagnostic]layout
fn layout(view : @moonrockz/diagrams/flowchart.Flowchart, limits? : Limits, ordered_scopes? : ArrayView[(String, @moonrockz/diagrams/flowchart.Direction)], region_directions? : ArrayView[(String, @moonrockz/diagrams/flowchart.Direction)], scope_padding? : Double) -> Result