package layoutgraph

import (
	

	
	
)

// ContextWithTransactionWorkGuard lets a layout domain share one aggregate
// request budget with every speculative graph transaction it creates.
func ( context.Context,  *limits.WorkGuard) context.Context {
	return contextWithTransactionWorkGuard(, )
}

func (,  *geo.Box) bool {
	return covers(, )
}

func ( *Graph) ( *Node,  *GraphState,  bool,  *limits.WorkGuard) (bool, error) {
	return .isBadStateContext(, , , )
}

func (,  *geo.Point,  *Edge) *EdgeSegment {
	return &EdgeSegment{Segment: geo.Segment{Start: , End: }, edge: }
}

func ( *Node) (
	, ,  bool,
	 map[*Node]struct{},
	 *limits.WorkGuard,
) ([]*Node, error) {
	return .allReachableNodesGuarded(, , , , )
}

func ( *Node) (
	 func(*Node) bool,
	, ,  bool,
	 map[*Node]struct{},
	 *limits.WorkGuard,
) ([]*Node, error) {
	return .reachableNodesGuarded(, , , , , )
}

func ( *Graph) ( *Node,  bool,  *limits.WorkGuard) ([]*Node, error) {
	return .allDescendantNodesGuarded(, , )
}

func ( *Node) ( Nodes) (*geo.Point, *geo.Point) {
	return .bounds()
}

func ( *Node) ( *Node) geo.Orientation {
	return .orientation()
}

func ( *Node) (,  *geo.Point,  float64) bool {
	return .overlapsLine(, , )
}

func ( *Node) () (,  float64) {
	return .modifierElementAdjustments()
}