moonrockz/diagrams-svg/state-layout
Types
Connection
pub struct Connection {
transition : @moonrockz/diagrams/state.Transition
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/state.StateDiagram
shapes : ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Shape]
connections : ReadOnlyArray[Connection]
width : Int
height : Int
boundaries : ReadOnlyArray[(String, String)]
// private fields
} derive(Eq, @moonbitlang/core/debug.Debug)Geometry::drawing
fn Geometry::drawing(self : Geometry) -> @moonrockz/diagrams-svg/flowchart-layout.GeometryGeometry::drawing_result
fn Geometry::drawing_result(self : Geometry) -> @moonrockz/diagrams-svg/swimlane-layout.ResultGeometry::equal
fn Geometry::equal(Geometry, Geometry) -> BoolGeometry::not_equal
fn Geometry::not_equal(x : Geometry, y : Geometry) -> BoolGeometry::separators
fn Geometry::separators(self : Geometry) -> ReadOnlyArray[RegionSeparator]The actual drawn compartment lines, independent of source transitions.
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)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) -> LimitsRegionSeparator
pub struct RegionSeparator {
region : String
orientation : @moonrockz/diagrams/state.Separator
start : @moonrockz/diagrams-svg/swimlane-layout.Point
end : @moonrockz/diagrams-svg/swimlane-layout.Point
} derive(Eq, @moonbitlang/core/debug.Debug)RegionSeparator::equal
fn RegionSeparator::equal(RegionSeparator, RegionSeparator) -> BoolRegionSeparator::not_equal
fn RegionSeparator::not_equal(x : RegionSeparator, y : RegionSeparator) -> BoolRegionSeparator::to_repr
fn RegionSeparator::to_repr(RegionSeparator) -> @moonbitlang/core/debug.ReprResult
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/state.StateDiagram, limits? : Limits) -> ResultRegion containers are drawing groups only. They never create graph edges.