Multi-State Activation
Unlike traditional state machines, MultiState allows multiple states to be active simultaneously. Transitions can activate multiple states atomically, perfect for complex GUI applications.
# Traditional FSM: one state at a time
fsm.transition_to('panel_open')
# MultiState: multiple states together!
manager.add_transition(
'open_workspace',
activate=['toolbar', 'sidebar', 'content']
)
Multi-Target Pathfinding
Find optimal paths that reach ALL specified targets, not just one. The algorithm guarantees globally optimal solutions for complex navigation scenarios.
# Find path to reach ALL targets
targets = ['search', 'properties', 'debug']
path = manager.find_path_to(targets)
# Returns optimal sequence:
# 1. Open Workspace
# 2. Show All Panels
# Result: ALL three panels active
Why MultiState?

Multi-Target Navigation
Find optimal paths to reach multiple states simultaneously. Perfect for complex UI workflows.

Occlusion & Reveal
Automatically handle modal dialogs and overlays. Generate reveal transitions when occluding states close.

Safe Execution
Phased execution model with automatic rollback ensures your system never loses state on failure.
Built on Rigorous Mathematical Foundations
Ω = (S, T, G, ω, Td)
- S - Set of states with multi-activation
- T - Transitions with (from, activate, exit) semantics
- G - State groups for atomic operations
- ω - Occlusion function for state visibility
- Td - Dynamic transition generator
Production-Ready Framework

Proven in Production
Born from Brobot's real-world GUI automation needs. Powers Qontinui's state management. Battle-tested with millions of transitions.

Formally Verified
Mathematical proofs for all core properties. 100% theorem coverage with property-based testing. Guaranteed correctness and optimality.

Easy Integration
Clean API with adapters for existing systems. Works with any Python 3.8+ application. Minimal dependencies, maximum compatibility.