Reference · Visual & spatial
Diagramming & graphs
201 functions in 71 classes, grouped by what they do, each with the explanation the library gives of itself.
The story of this area, for a general reader: what a crafter does with it, an example run and its rated lanes, is on its Platform page.
The functions, by what they do
Testing and checking
- HasRule Check if rule loaded in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.HasRule("a") #--> 0composed from the signature, run for this page - HasEngine Public doorway to the engine-resident graph, so a collaborator (the graphics face, a future analytics face) can hand the HANDLE to an engine metric instead of marshalling a copy of the adjacency. in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.HasEngine() #--> 1composed from the signature, run for this page - CanAddEdge Pre-flight checks (non-mutating) in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.CanAddEdge("A", "D", "a") #--> 1composed from the signature, run for this page - IsBipartite TRUE if the graph is 2-colourable (bipartite). Engine-backed. in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.IsBipartite() #--> 1composed from the signature, run for this page - IsConnected engine-backed graph methods in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.IsConnected() #--> 1composed from the signature, run for this page - CheckConstraintRules rule management in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? @@( o1.CheckConstraintRules([ 2, 3 ]) ) #--> [ 1, [ ] ]composed from the signature, run for this page - HasCyclicDependencies cycle detection in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.HasCyclicDependencies() #--> 0composed from the signature, run for this page - IsInWindow IS THIS THING IN VIEW? What a frame shows decides whether a mark is any use, and a mark pointing at something outside the window is a narration defect the one gate reports. in stzMathDiagram
composed example
o1 = new stzMathDiagram(StzGraphDomain(), new stzMathSubstance(StzGraphDomain()), StzCurvedGraphStyle()) ? o1.IsInWindow("a") #--> 1composed from the signature, run for this page - IsSequential workflow type in stzWorkflow
composed example
o1 = new stzWorkflow("affirm65b") ? o1.IsSequential() #--> 1composed from the signature, run for this page - IsStateMachine workflow type in stzWorkflow
composed example
o1 = new stzWorkflow("affirm65b") ? o1.IsStateMachine() #--> 0composed from the signature, run for this page - IsExceptionalTransition intended vs exceptional path in stzWorkflow
composed example
o1 = new stzWorkflow("affirm65b") ? o1.IsExceptionalTransition("an", "an", "an") #--> 0composed from the signature, run for this page - IsDefinedAs Is pcName defined as pcFunction over exactly these objects, in order? in stzMathSubstance
composed example
o1 = new stzMathSubstance(StzDotDomain()) ? o1.IsDefinedAs("a", "a", [ 2, 3 ]) #--> 0composed from the signature, run for this page
and 9 more in the reference
Finding
- PositionsByLevel organizational metrics in stzOrgChart
composed example
o1 = new stzOrgChart("firm") o1.AddPositionXTT("ceo", "CEO", [ :level = "executive" ]) o1.AddPositionXTT("cfo", "CFO", [ :level = "senior", :reportsTo = "ceo" ]) o1.AddPositionXTT("clerk", "Clerk", [ :level = "staff", :reportsTo = "cfo" ]) ? @@( o1.PositionsByLevel() ) #--> [ [ "executive", [ "ceo" ] ], [ "management", [ ] ], [ "staff", [ "clerk" ] ] ]composed from the signature, run for this page - FindQ Opens a rich query on the graph. The finder is an OBJECT, so it carries the Q -- there is no data-shaped twin of a query builder. in stzGraph
- LastCanvas The picture as last drawn. A live session redraws THIS between gestures instead of building a new one -- the difference between a frame that costs a present and a frame that costs a layout. in stzDiagram
- Positions Found 2026-08-29 by the scope governance on its first run over this domain, and not by any of the 22 assertions the org suite already passed: every one of them checks what the rules SAY, and a rule that governs nothing says nothing. The count of governed subjects is what made it visible -- no-self-report governs 0 positions in a chart of four, which no verdict-shaped test can express. in stzOrgChart
Counting and measuring
- MaxFlow Maximum flow from pcSource to pcSink (Edmonds-Karp, engine). Edge :weight is the capacity (default 1). Returns the flow value. in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.MaxFlow("A", "a") #--> 0composed from the signature, run for this page - MinCostMaxFlow Min-cost max-flow from pcSource to pcSink. Edge :weight is capacity, edge :cost is per-unit cost. Returns [ flowValue, totalCost ]. Engine (successive shortest paths). in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? @@( o1.MinCostMaxFlow("A", "a") ) #--> [ 0, 0 ]composed from the signature, run for this page - NumberOfCommunities engine-backed graph methods in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.NumberOfCommunities() #--> 2composed from the signature, run for this page - NumberOfConnectedComponents engine-backed graph methods in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.NumberOfConnectedComponents() #--> 1composed from the signature, run for this page - NumberOfStronglyConnectedComponents Number of strongly connected components. Engine-backed. in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.NumberOfStronglyConnectedComponents() #--> 4composed from the signature, run for this page - AverageSpanOfControl organizational metrics in stzOrgChart
composed example
o1 = new stzOrgChart("firm") o1.AddPositionXTT("ceo", "CEO", [ :level = "executive" ]) o1.AddPositionXTT("cfo", "CFO", [ :level = "senior", :reportsTo = "ceo" ]) o1.AddPositionXTT("clerk", "Clerk", [ :level = "staff", :reportsTo = "cfo" ]) ? o1.AverageSpanOfControl() #--> 1composed from the signature, run for this page - NumberOfPositionsByLevel organizational metrics in stzOrgChart
composed example
o1 = new stzOrgChart("firm") o1.AddPositionXTT("ceo", "CEO", [ :level = "executive" ]) o1.AddPositionXTT("cfo", "CFO", [ :level = "senior", :reportsTo = "ceo" ]) o1.AddPositionXTT("clerk", "Clerk", [ :level = "staff", :reportsTo = "cfo" ]) ? @@( o1.NumberOfPositionsByLevel() ) #--> [ [ "executive", 1 ], [ "management", 0 ], [ "staff", 1 ] ]composed from the signature, run for this page - MinCut Minimum cut between pcSource and pcSink: the saturated edges crossing the cut, as a list of [from, to] id pairs (max-flow / min-cut). Engine. in stzGraph
- AveragePathLength Mean shortest-path length over all reachable pairs (engine, all-pairs BFS). in stzGraph
- NumberOfHoles how many numbers this narration shows, all of them from facts in stzStoryboard
- NumberOfFrames what the storyboard is, once written in stzStoryboard
Replacing and setting
- SetEdgeWeight Override the (engine) weight of a directed edge. Used by stzGraphPlanner to push per-optimisation transition costs before an engine A* search. Returns 1 on success, 0 if the edge is unknown. in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.SetEdgeWeight("A", "D", 2) #--> 0composed from the signature, run for this page - UpdateEdges batch update operations using functions in stzGraph
- UpdateNodes batch update operations using functions in stzGraph
- SetNodeLabel A node could only ever be labelled at birth, via AddNodeXT(id, label); there was no way to say it afterwards, and no way to ask. So a format that reads a node first and learns its label a line later (.stzsim's `add node X` / `label: "..."`) had nowhere to put it. in stzGraph
- SetLayout A LAYOUT NAME THIS DOES NOT KNOW IS REFUSED, not stored. It used to take anything, and an unrecognised name became top-down in silence -- so `SetLayout(:LeftToRight)` drew a top-down picture and there was nothing anywhere to say the instruction had been dropped. A setter that accepts a value it will not honour is worse than one that refuses: the caller has evidence of neither. in stzDiagram
- SetNotation THE NOTATION (DN0) ------------------------------------------------ Takes a registered name or a profile object. A name the registry does not know resolves to the default -- a diagram always has a notation, the way it always has a theme. in stzDiagram
- SetFocusColor The focus colour's setter, missing until now. ExportToStyl() has always WRITTEN a focus section (color + penwidth), and _ApplyStyle() has always called This.SetFocusColor() to read it back -- a method nobody had written, so loading any exported .stzstyl died on R14. Same shape as its siblings: resolve the name, keep the resolved value. in stzDiagram
- SetClusterColor cluster operations in stzDiagram
- SetEdgeLineStyle Routing on the value keeps every call that works today working: a spline name still sets the spline, and a pen style now sets the pen style instead of vanishing. in stzDiagram
- SetCurrentPlan plan management in stzGraphPlanner
- ChangeReportingLine organizational changes in stzOrgChart
- SetFont knobs in stzMathDiagram
and 29 more in the reference
Removing
- RemoveLinkAt REMOVE THE LINK UNDER THE POINTER, as one logged command. Not a gesture: removal is instantaneous, so it is a verb the window binds to whatever it likes (a key held while clicking, a context action) rather than a state the machine has to carry. in stzDiagram
composed example
o1 = new stzDiagram("flow") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.RemoveLinkAt(2, 5) #--> 0composed from the signature, run for this page - ClearEdges edge removal in stzGraph
- RemoveEdge edge removal in stzGraph
- RemoveRule Remove specific rule in stzGraph
- RemoveEdges edge removal in stzGraph
- RemoveAllEdges edge removal in stzGraph
- RemoveThisEdge edge removal in stzGraph
- WithoutConstraints Temporarily bypass rules in stzGraph
- ClearConstraintRules Clear specific type in stzGraph
- RemoveEdgesConnectedTo edge removal in stzGraph
- RemovePlan plan management in stzGraphPlanner
- RemovePosition organizational changes in stzOrgChart
Adding
- AddConversation CONVERSATIONS IN THIS SPACE (composition) ----------------------------- A knowledge space HOLDS its conversations: an elicitation is an EPISODE that happens INSIDE the space it grows -- never a session that owns a space. So the space is the door for everything that needs knowledge (AskIn / ReplyIn / GapsIn / ConcludeIn hand THIS graph, live, into the session); session-only state is reached through ConversationQ(topic). -- the conversations, as a collection this space OWNS in stzKnowledgeGraph
oRest = new stzKnowledgeGraph("restaurant") oRest.Know("margherita", "dish").Know("tiramisu", "dish") oRest.AddConversationQ("setup").SetGoal(StzGoalQ().RequireEach("dish", "contains")) ? len( oRest.GapsIn("setup") ) #--> 2library test - AddRule Attach one rule. Plain does the act; the Q form chains (Q convention). in stzGraph
- InsertNodeAfter insert node after in stzGraph
- InsertNodeBefore insert node before in stzGraph
- InsertNodesAfter insert multiple nodes in stzGraph
- InsertNodesBefore insert multiple nodes in stzGraph
- AddCircle NOTE // We can add nodes using parent stzGraph methods AddNode(), AddNodeXT() and AddNodeXTT() Rounded/Elliptical Shapes in stzDiagram
- AddSquare Quadrilateral Shapes in stzDiagram
- AddCluster cluster operations in stzDiagram
- AddMessage So messages are their own ordered list, and adding one also ensures the RELATION exists -- ConnectIfAbsent, never Connect, so the tenth call between two participants does not raise. The graph stays true and the picture becomes possible, without either giving ground to the other. in stzDiagram
- AddCylinder Non-geometric/Conceptual Shapes in stzDiagram
- AddTemplate template operations in stzDiagram
and 32 more in the reference
Splitting and extracting
- SplitNode merge operations in stzGraph
- ExtractFirstNodeId import with subdiagram support in stzDiagram
Converting
- ToPages Returns [ [ path, row, col, sceneX, sceneY ], ... ] -- what was written and which part of the picture each sheet holds. in stzDiagram
composed example
o1 = new stzDiagram("flow") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? @@( o1.ToPages("a") ) #--> [ [ "a_r1c1.png", 1, 1, 0, 0 ] ]composed from the signature, run for this page - ConvertColorTogray color resolution in stzDiagram
composed example
o1 = new stzDiagram("flow") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.ConvertColorTogray("a") #--> #FFFFFFcomposed from the signature, run for this page - ToTreeNodes Options ride through to stzTreeCanvas: :Font :Title :NodeWidth :NodeHeight :HGap :VGap :Background :NodeColor :NodeBorder :LineColor :TextColor :FontSize :Width :Height in stzOrgChart
composed example
o1 = new stzOrgChart("firm") o1.AddPositionXTT("ceo", "CEO", [ :level = "executive" ]) o1.AddPositionXTT("cfo", "CFO", [ :level = "senior", :reportsTo = "ceo" ]) o1.AddPositionXTT("clerk", "Clerk", [ :level = "staff", :reportsTo = "cfo" ]) ? @@( o1.ToTreeNodes() ) #--> [ [ "ceo", "CEO", "" ], [ "cfo", "CFO", "ceo" ], [ "clerk", "Clerk", "cfo" ] ]composed from the signature, run for this page - ToWorkflow export in stzWorkflow
composed example
o1 = new stzWorkflow("affirm65b") ? o1.ToWorkflow() #--> workflow "affirm65b" #--> type: sequential #--> steps #--> flowcomposed from the signature, run for this page - ToCanvas The doorway to the graphics plane: a graph hands back a CANVAS whose node sizes and colours are computed from the graph's own shape. oG.ToCanvasQ([ :Layout = :Hierarchical, :SizeBy = :Impact ]) It answers an stzCanvas, so ToSVG() and ToPNG() come with it. in stzGraph
- ParseAndImport import with subdiagram support in stzDiagram
- AsRuleGraph An stzOrgChart is a POSITIONS model. AsRuleGraph projects it into a clean colored stzGraph -- one node per position (kind=position, carrying level / department / title / roles), one "supervises" edge supervisor->subordinate -- so the compliance rule bases (stzSOXRuleBase, ...) can run graph rules over it (separation-of-duties, no-orphan-position, no-cyclic-reporting). A FRESH graph, built from @aPositions, not the diagram's layout graph. in stzOrgChart
- ToNarration The question of whether this shape conforms was routed to the sibling through Central as DN9-EMITTER-01 and is unanswered; silence is not a veto here, so this is written, pinned and marked, and a correction costs one function. in stzStoryboard
- ToView graph projection in stzGraphQuery
- ToGraphQ graph projection in stzGraphQuery
- ToOpenCypher opencypher import/export in stzGraphQuery
- ToStzGraphView graph projection in stzGraphQuery
and 3 more in the reference
Showing, drawing and formatting
- RenderHops Where the picture declared a crossing with a wire hop. Published so an instrument can ask whether each one had room to be read as one -- a bump a few pixels from a rounded elbow is two curves in a row, and the reader cannot tell which is the corner. in stzDiagram
- RenderForks The vertices where a stem forked and the corner was therefore drawn SQUARE: [ x, y, key ]. See _VertexIsFork. in stzDiagram
- RenderArrows Recorded because "an arrow means a loop" is the law in this notation most able to break without showing: it is enforced in the two places that draw a head, and gating one of them alone produced a picture identical to the one before. A law with two enforcement points and no way to count the result is a law on trust. in stzDiagram
- Show display methods in stzGraphPlanner
- ShowPlan display methods in stzGraphPlanner
- ShowCurrentPlan display methods in stzGraphPlanner
- DrawIndexOf Where a shape falls in the drawing order: 1 is painted first and so sits at the back. A shape that must not be buried has to come out with a HIGHER index than everything that could cover it, and that is a fact about the picture worth asserting rather than eyeballing -- layering is a partial order, and the depths it relaxes to are not obvious from reading the rules. in stzMathDiagram
- Render the folio, and the page --------------------------------------------- The frames are already drawn, one file each, as they closed. This writes the page that puts them in order with their sentences. in stzStoryboard
- RenderProbabilities the drawing ---------------------------------------------------------- what was written inside the basic events on the last render: [ id, p, x, y ], p = -1 where none was declared in stzFaultTree
- RenderTokens the drawing --------------------------------------------------------- what was drawn inside the places on the last render: [ place, count, x, y ] in stzPetriNet
Reading and writing
- ExportToStzRulz .stzrulz format in stzGraph
composed example
o1 = new stzGraph("g") o1.AddNode("A") o1.AddNode("B") o1.AddNode("C") o1.AddNode("D") o1.AddEdge("A", "B") o1.AddEdge("A", "C") o1.AddEdge("B", "D") ? o1.AsStzRulz() #--> ruleset "g Rules" #--> ruleGroup: structural #--> version: 1.0 #--> rulescomposed from the signature, run for this page - LoadFromStzRulz .stzrulz format in stzGraph
oGraph = new stzGraph("org") oGraph.LoadFromStzRulz("../_data/bceao_banking.stzrulz") ? "Rules loaded: " + oGraph.NumberOfRules() ? @@( oGraph.RulesSummary()[:Validation] ) ? @@( oGraph.RulesSummary()[:Constraint] ) #--> Rules loaded: 2 #--> [ "board_required", "audit_independence" ] #--> [ ]library test - LoadRuleBase LoadRuleBase: stub for the future rule-base validation system. Accepts a file path, a class instance, or a pre-built profile name (string). For now it just records the source -- the actual rule-evaluation engine will land with the dedicated stzRuleBase class. in stzOrgChart
oOrg = new stzOrgChart("acme") oOrg.LoadRuleBase(new stzSOXRuleBase()) # LoadRuleBase records the base ? len(oOrg.RuleBases()) >= 1 # ...the base kept its name ? (new stzSOXRuleBase()).Name() #--> 1 #--> SOXlibrary test - SaveTo serialization - file format support in stzGraph
- LoadFrom serialization - file format support in stzGraph
- LoadStzGraf .stzgraf format in stzGraph
- LoadStzRulf .stzrulf format in stzGraph
- LoadStzRulz .stzrulz format in stzGraph
- SaveAsStzSim .stzsim format in stzGraph
- SaveToStzSim .stzsim format in stzGraph
- SaveAsStzGraf .stzgraf format in stzGraph
- SaveAsStzRulz .stzrulz format in stzGraph
and 19 more in the reference
Walking and applying
- Execute query execution in stzGraphQuery
composed example
oG = new stzGraph("g") oG.AddNode("a") oG.AddNode("b") oG.Connect("a", "b") o1 = new stzGraphQuery(oG) ? o1.Run() #--> 1composed from the signature, run for this page - ApplyStzSim .stzsim format in stzGraph
- ApplySimulation .stzsim format in stzGraph
- ApplyDerivationRules rule management in stzGraph
- RunIn The loop, for a caller that has nothing else to do. Answers when the window closes. in stzDiagram
- ApplyFocusTo focus management in stzDiagram
- ApplyTemplates template operations in stzDiagram
- ApplyVisualRules visual rules in stzDiagram
- MapRoleToPosition org chart linking in stzWorkflow
- Run collecting findings --------------------------------------------- Run a rule set over a graph and collect its findings (already unified, carrying :subject from each rule's domain). in stzRuleReport
The explanations are the ones the library gives of itself, read from its documentation comments on 2026-10-01 04:14, from the library at commit 0e72e2e2c, by the library's own stzSelfDoc over 635 class sources.
The classes of this area
- stzGraph · 292 methods
- stzDiagram · 246 methods
- stzGraphPlanner · 139 methods
- stzOrgChart · 129 methods
- stzMathDiagram · 83 methods
- stzWorkflow · 48 methods
- stzKnowledgeGraph · 47 methods
- stzNotation · 43 methods
- stzGraphRule · 42 methods
- stzStoryboard · 34 methods
- stzGraphQuery · 32 methods
- stzFaultTree · 24 methods
- stzMathSubstance · 23 methods
- stzPetriNet · 21 methods
- stzScopedRule · 21 methods
- stzFamilyTree · 20 methods
- stzMathStyle · 19 methods
- stzNetworkDiagram · 19 methods
- stzWorldGraph · 19 methods
- stzMathDomain · 18 methods
- stzRuleReport · 16 methods
- stzErDiagram · 14 methods
- stzGraphComparison · 14 methods
- stzGraphRuleSet · 14 methods
Narrations about this area
- Rules That See the Whole Picture(opens in a new tab)
- Graphviz DOT Language Guide: Using stzDotCode(opens in a new tab)
- What ChatGPT Thinks of the `stzGraph` Module in the Softanza Library(opens in a new tab)
- ClaudeAI Opinion on stzGraph design(opens in a new tab)
- stzGraph: Computational Foundation and Design(opens in a new tab)
- stzGraph — Modeling Knowledge Through Structure(opens in a new tab)
- Softanza stzGraph vs. Modern Graph Ecosystem(opens in a new tab)
- stzGraph: The Art of Connected Thinking(opens in a new tab)
- Intelligence in Motion: Graph Planning in Softanza(opens in a new tab)
- stzGraphQuery: Asking Questions to Your Graph(opens in a new tab)

