@xmachines/docs 1.0.0-beta.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +135 -7
  2. package/api/@xmachines/play/README.md +159 -39
  3. package/api/@xmachines/play/classes/NonNullableError.md +189 -0
  4. package/api/@xmachines/play/classes/PlayError.md +251 -0
  5. package/api/@xmachines/play/functions/assertNonNullable.md +56 -0
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +6 -6
  7. package/api/@xmachines/play-actor/README.md +153 -160
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +106 -121
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
  10. package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
  11. package/api/@xmachines/play-actor/functions/typedSpec.md +54 -0
  12. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
  13. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
  14. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +28 -0
  15. package/api/@xmachines/play-actor/interfaces/Routable.md +6 -21
  16. package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -6
  17. package/api/@xmachines/play-dom/README.md +385 -0
  18. package/api/@xmachines/play-dom/classes/PlayRenderer.md +115 -0
  19. package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
  20. package/api/@xmachines/play-dom/functions/createRenderer.md +44 -0
  21. package/api/@xmachines/play-dom/functions/defineRegistry.md +26 -0
  22. package/api/@xmachines/play-dom/functions/renderSpec.md +67 -0
  23. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +23 -0
  24. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +34 -0
  25. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +17 -0
  26. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +28 -0
  27. package/api/@xmachines/play-dom/interfaces/EventHandle.md +15 -0
  28. package/api/@xmachines/play-dom/interfaces/MountOptions.md +18 -0
  29. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +30 -0
  30. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +26 -0
  31. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +32 -0
  32. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +46 -0
  33. package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
  34. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +114 -0
  35. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +25 -0
  36. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +26 -0
  37. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +15 -0
  38. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
  39. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +39 -0
  40. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +20 -0
  41. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +9 -0
  42. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
  43. package/api/@xmachines/play-dom/type-aliases/MountFn.md +27 -0
  44. package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
  45. package/api/@xmachines/play-dom/type-aliases/SetState.md +30 -0
  46. package/api/@xmachines/play-dom/variables/schema.md +62 -0
  47. package/api/@xmachines/play-dom-router/README.md +272 -0
  48. package/api/@xmachines/play-dom-router/functions/connectRouter.md +43 -0
  49. package/api/@xmachines/{play-router → play-dom-router}/functions/createBrowserHistory.md +10 -2
  50. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +39 -0
  51. package/api/@xmachines/play-dom-router/functions/createRouter.md +54 -0
  52. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +176 -0
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +69 -0
  54. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +15 -0
  55. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +129 -0
  56. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +68 -0
  57. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +54 -0
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +121 -0
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -0
  60. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  61. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  62. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +28 -0
  63. package/api/@xmachines/play-react/README.md +185 -333
  64. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +46 -42
  65. package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
  66. package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
  67. package/api/@xmachines/play-react/functions/Renderer.md +21 -0
  68. package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
  69. package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
  70. package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
  71. package/api/@xmachines/play-react/functions/defineRegistry.md +49 -0
  72. package/api/@xmachines/play-react/functions/useActor.md +13 -0
  73. package/api/@xmachines/play-react/functions/useBoundProp.md +45 -0
  74. package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +29 -20
  76. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
  77. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
  78. package/api/@xmachines/play-react/interfaces/ComponentContext.md +37 -0
  79. package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +22 -0
  80. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
  81. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  82. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
  83. package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
  84. package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
  85. package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
  86. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
  87. package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
  88. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -0
  89. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +36 -0
  90. package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +23 -0
  91. package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
  92. package/api/@xmachines/play-react/variables/PlayRenderer.md +6 -56
  93. package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
  94. package/api/@xmachines/play-react-router/README.md +130 -115
  95. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +19 -242
  96. package/api/@xmachines/play-react-router/classes/RouteMap.md +48 -36
  97. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
  98. package/api/@xmachines/play-react-router/functions/createRouteMap.md +39 -0
  99. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +23 -12
  100. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +68 -0
  101. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +22 -12
  102. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  103. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  104. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
  105. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +19 -9
  106. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +8 -8
  107. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  108. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +32 -0
  109. package/api/@xmachines/play-router/README.md +275 -352
  110. package/api/@xmachines/play-router/classes/RouteMap.md +149 -0
  111. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -221
  112. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +32 -0
  113. package/api/@xmachines/play-router/functions/buildRouteTree.md +12 -2
  114. package/api/@xmachines/play-router/functions/createRouteMap.md +22 -36
  115. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +46 -0
  116. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +14 -7
  117. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +10 -46
  118. package/api/@xmachines/play-router/functions/extractQuery.md +22 -0
  119. package/api/@xmachines/play-router/functions/extractRouteParams.md +54 -0
  120. package/api/@xmachines/play-router/functions/findRouteById.md +2 -2
  121. package/api/@xmachines/play-router/functions/findRouteByPath.md +2 -2
  122. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +2 -2
  123. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +2 -2
  124. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +43 -0
  125. package/api/@xmachines/play-router/functions/isRouteReachable.md +38 -0
  126. package/api/@xmachines/play-router/functions/machineToGraph.md +19 -0
  127. package/api/@xmachines/play-router/functions/routeExists.md +2 -2
  128. package/api/@xmachines/play-router/functions/sanitizePathname.md +40 -0
  129. package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -9
  130. package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
  131. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +13 -0
  132. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  133. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +15 -0
  134. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +17 -0
  135. package/api/@xmachines/play-router/interfaces/PlayActor.md +68 -0
  136. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +22 -12
  137. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
  138. package/api/@xmachines/play-router/interfaces/RoutableActor.md +64 -0
  139. package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
  140. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
  141. package/api/@xmachines/play-router/interfaces/RouteMapping.md +27 -0
  142. package/api/@xmachines/play-router/interfaces/RouteMatch.md +12 -0
  143. package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
  144. package/api/@xmachines/play-router/interfaces/RouteObject.md +5 -5
  145. package/api/@xmachines/play-router/interfaces/RouteTree.md +8 -7
  146. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +55 -0
  147. package/api/@xmachines/play-router/interfaces/RouterBridge.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  149. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +20 -0
  150. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
  151. package/api/@xmachines/play-signals/README.md +117 -65
  152. package/api/@xmachines/play-signals/functions/watchSignal.md +42 -0
  153. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +7 -5
  154. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +3 -3
  155. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +7 -5
  156. package/api/@xmachines/play-signals/interfaces/SignalState.md +4 -4
  157. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +5 -5
  158. package/api/@xmachines/play-signals/namespaces/Signal/README.md +1 -1
  159. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +7 -7
  160. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -8
  161. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +7 -7
  162. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +1 -1
  163. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +9 -9
  164. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -2
  165. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -2
  166. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -2
  167. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -2
  168. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -2
  169. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -2
  170. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -2
  171. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -2
  172. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -2
  173. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -2
  174. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -2
  175. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +2 -2
  176. package/api/@xmachines/play-solid/README.md +196 -233
  177. package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
  178. package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
  179. package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
  180. package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
  181. package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
  182. package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
  183. package/api/@xmachines/play-solid/functions/defineRegistry.md +49 -0
  184. package/api/@xmachines/play-solid/functions/useAction.md +24 -0
  185. package/api/@xmachines/play-solid/functions/useActions.md +13 -0
  186. package/api/@xmachines/play-solid/functions/useActor.md +13 -0
  187. package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
  188. package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
  189. package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
  190. package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
  191. package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
  192. package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
  193. package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
  194. package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
  195. package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
  196. package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
  197. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
  198. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +37 -0
  199. package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
  200. package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +22 -0
  201. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
  202. package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
  203. package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
  204. package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
  205. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
  206. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -0
  207. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +36 -0
  208. package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +11 -0
  209. package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +23 -0
  210. package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
  211. package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
  212. package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
  213. package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
  214. package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -62
  215. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
  216. package/api/@xmachines/play-solid-router/README.md +151 -559
  217. package/api/@xmachines/play-solid-router/classes/RouteMap.md +31 -32
  218. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +27 -242
  219. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
  220. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +18 -11
  221. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +99 -114
  222. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +68 -0
  223. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +22 -12
  224. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
  225. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +25 -9
  226. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
  227. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +20 -7
  228. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +8 -8
  229. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
  230. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +8 -4
  231. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +22 -19
  232. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +52 -0
  233. package/api/@xmachines/play-svelte/README.md +270 -0
  234. package/api/@xmachines/play-svelte/functions/defineRegistry.md +31 -0
  235. package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
  236. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
  237. package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
  238. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +44 -0
  239. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
  240. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
  241. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +24 -0
  242. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
  243. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
  244. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +30 -0
  245. package/api/@xmachines/play-svelte/type-aliases/Actions.md +17 -0
  246. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -0
  247. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
  248. package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
  249. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
  250. package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +23 -0
  251. package/api/@xmachines/play-svelte/type-aliases/SetState.md +21 -0
  252. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
  253. package/api/@xmachines/play-svelte-spa-router/README.md +197 -0
  254. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +149 -0
  255. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
  256. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +39 -0
  257. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
  258. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +129 -0
  259. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
  260. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
  261. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  262. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  263. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  264. package/api/@xmachines/play-sveltekit-router/README.md +212 -0
  265. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +149 -0
  266. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
  267. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +39 -0
  268. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
  269. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  270. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +129 -0
  271. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
  272. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
  273. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  274. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  275. package/api/@xmachines/play-tanstack-react-router/README.md +155 -125
  276. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +48 -36
  277. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +31 -252
  278. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
  279. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +22 -36
  280. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +23 -12
  281. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +28 -0
  282. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +68 -0
  283. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +22 -12
  284. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  285. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  286. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
  287. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +19 -9
  288. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +6 -6
  289. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +8 -8
  290. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  291. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +2 -2
  292. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +40 -18
  293. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +34 -0
  294. package/api/@xmachines/play-tanstack-router/README.md +61 -0
  295. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
  296. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
  297. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
  298. package/api/@xmachines/play-tanstack-solid-router/README.md +216 -175
  299. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +31 -32
  300. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +121 -0
  301. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
  302. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +18 -11
  303. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +68 -0
  304. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +22 -12
  305. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
  306. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +23 -9
  307. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
  308. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +14 -10
  309. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +8 -8
  310. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  311. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +8 -4
  312. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +3 -3
  313. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +40 -18
  314. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
  315. package/api/@xmachines/play-vue/README.md +190 -210
  316. package/api/@xmachines/play-vue/functions/defineRegistry.md +32 -0
  317. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
  318. package/api/@xmachines/play-vue/functions/useActor.md +13 -0
  319. package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
  320. package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
  321. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
  322. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +37 -0
  323. package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
  324. package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +21 -0
  325. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
  326. package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
  327. package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
  328. package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
  329. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
  330. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
  331. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -0
  332. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +16 -0
  333. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +35 -0
  334. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +15 -0
  335. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +22 -0
  336. package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +23 -0
  337. package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
  338. package/api/@xmachines/play-vue/variables/JSONUIProvider.md +105 -0
  339. package/api/@xmachines/play-vue/variables/PlayRenderer.md +2 -2
  340. package/api/@xmachines/play-vue/variables/Renderer.md +88 -0
  341. package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
  342. package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
  343. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
  344. package/api/@xmachines/play-vue-router/README.md +173 -486
  345. package/api/@xmachines/play-vue-router/classes/RouteMap.md +56 -116
  346. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +23 -271
  347. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +26 -6
  348. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +68 -0
  349. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +22 -12
  350. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
  351. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +20 -8
  352. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +8 -8
  353. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +8 -4
  354. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +12 -6
  355. package/api/@xmachines/play-xstate/README.md +203 -354
  356. package/api/@xmachines/play-xstate/classes/PlayerActor.md +195 -201
  357. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +24 -20
  358. package/api/@xmachines/play-xstate/functions/composeGuards.md +8 -3
  359. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +8 -3
  360. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +43 -0
  361. package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
  362. package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
  363. package/api/@xmachines/play-xstate/functions/eventMatches.md +8 -3
  364. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
  365. package/api/@xmachines/play-xstate/functions/hasContext.md +8 -5
  366. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
  367. package/api/@xmachines/play-xstate/functions/negateGuard.md +8 -3
  368. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
  369. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
  370. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +14 -16
  371. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
  372. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
  373. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +8 -3
  374. package/api/@xmachines/play-xstate/type-aliases/Guard.md +8 -6
  375. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +9 -7
  376. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +15 -18
  377. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +15 -5
  378. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
  379. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +22 -6
  380. package/api/@xmachines/shared/README.md +95 -295
  381. package/api/@xmachines/shared/vite-aliases/README.md +11 -0
  382. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
  383. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
  384. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +35 -0
  385. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
  386. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
  387. package/api/@xmachines/shared/vitest/README.md +12 -0
  388. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
  389. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
  390. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
  391. package/api/README.md +6 -7
  392. package/api/llms.txt +72 -23
  393. package/contributing/README.md +10 -0
  394. package/contributing/architecture.md +601 -0
  395. package/contributing/configuration.md +368 -0
  396. package/contributing/deployment.md +333 -0
  397. package/contributing/development.md +503 -0
  398. package/contributing/testing.md +461 -0
  399. package/examples/@xmachines/play-dom-demo/README.md +181 -0
  400. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
  401. package/examples/@xmachines/play-dom-demo/functions/initShell.md +25 -0
  402. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
  403. package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
  404. package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
  405. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
  406. package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
  407. package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
  408. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
  409. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
  410. package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
  411. package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
  412. package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
  413. package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
  414. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
  415. package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
  416. package/examples/@xmachines/play-react-demo/README.md +187 -0
  417. package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
  418. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  419. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  420. package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
  421. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
  422. package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
  423. package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
  424. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
  425. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +16 -0
  426. package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
  427. package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
  428. package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
  429. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
  430. package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
  431. package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
  432. package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
  433. package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
  434. package/examples/@xmachines/play-react-demo/variables/Shell.md +19 -0
  435. package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
  436. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
  437. package/examples/@xmachines/play-react-router-demo/README.md +151 -0
  438. package/examples/@xmachines/play-solid-demo/README.md +187 -0
  439. package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
  440. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  441. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  442. package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  443. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
  444. package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
  445. package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  446. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  447. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +17 -0
  448. package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
  449. package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
  450. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
  451. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
  452. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  453. package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  454. package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  455. package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  456. package/examples/@xmachines/play-solid-demo/variables/Shell.md +18 -0
  457. package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  458. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
  459. package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
  460. package/examples/@xmachines/play-svelte-demo/README.md +143 -0
  461. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  462. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  463. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  464. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  465. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
  466. package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
  467. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
  468. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
  469. package/examples/@xmachines/play-vue-demo/README.md +183 -0
  470. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  471. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  472. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  473. package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
  474. package/examples/README.md +78 -30
  475. package/examples/basic-state-machine.md +73 -31
  476. package/examples/form-validation.md +259 -118
  477. package/examples/multi-router-integration.md +312 -194
  478. package/examples/routing-patterns.md +228 -189
  479. package/examples/traffic-light.md +112 -65
  480. package/guides/README.md +7 -21
  481. package/guides/actor-model.md +180 -0
  482. package/guides/getting-started.md +627 -137
  483. package/guides/signals.md +166 -0
  484. package/guides/state-machines.md +284 -0
  485. package/package.json +21 -7
  486. package/rfc/broker.md +100 -0
  487. package/rfc/browser.md +44 -0
  488. package/rfc/cli.md +118 -0
  489. package/rfc/git.md +61 -0
  490. package/rfc/mcp.md +43 -0
  491. package/rfc/node.md +36 -0
  492. package/rfc/play.md +472 -0
  493. package/rfc/rest.md +102 -0
  494. package/rfc/run.md +159 -0
  495. package/rfc/streams.md +168 -0
  496. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
  497. package/api/@xmachines/play-catalog/README.md +0 -331
  498. package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
  499. package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
  500. package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
  501. package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
  502. package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
  503. package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
  504. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
  505. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
  506. package/api/@xmachines/play-react-router-demo/README.md +0 -137
  507. package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
  508. package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
  509. package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
  510. package/api/@xmachines/play-router/functions/createRouter.md +0 -76
  511. package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
  512. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
  513. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
  514. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
  515. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
  516. package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
  517. package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
  518. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
  519. package/api/@xmachines/play-router-demo/README.md +0 -137
  520. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
  521. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
  522. package/api/@xmachines/play-solid-router-demo/README.md +0 -127
  523. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
  524. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  525. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
  526. package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
  527. package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
  528. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
  529. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
  530. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
  531. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
  532. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
  533. package/api/@xmachines/play-vue-router-demo/README.md +0 -133
  534. package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
  535. package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
  536. package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
  537. package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
  538. package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
  539. package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
  540. package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
  541. package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
  542. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
  543. package/api/@xmachines/shared/functions/xmAliases.md +0 -24
  544. package/guides/installation.md +0 -323
@@ -0,0 +1,172 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-vue-demo](../README.md) / authCatalog
2
+
3
+ # Variable: authCatalog
4
+
5
+ ```ts
6
+ const authCatalog: Catalog<
7
+ {
8
+ catalog: SchemaType<
9
+ "object",
10
+ {
11
+ actions: SchemaType<
12
+ "map",
13
+ {
14
+ description: SchemaType<"string", unknown>;
15
+ params: SchemaType<"zod", unknown>;
16
+ }
17
+ >;
18
+ components: SchemaType<
19
+ "map",
20
+ {
21
+ description: SchemaType<"string", unknown>;
22
+ example: SchemaType<"any", unknown>;
23
+ props: SchemaType<"zod", unknown>;
24
+ slots: SchemaType<"array", SchemaType<"string", unknown>>;
25
+ }
26
+ >;
27
+ }
28
+ >;
29
+ spec: SchemaType<
30
+ "object",
31
+ {
32
+ elements: SchemaType<
33
+ "record",
34
+ SchemaType<
35
+ "object",
36
+ {
37
+ children: SchemaType<"array", SchemaType<"string", unknown>>;
38
+ props: SchemaType<"propsOf", string>;
39
+ type: SchemaType<"ref", string>;
40
+ visible: SchemaType<"any", unknown>;
41
+ }
42
+ >
43
+ >;
44
+ root: SchemaType<"string", unknown>;
45
+ }
46
+ >;
47
+ },
48
+ {
49
+ actions: {
50
+ login: {
51
+ description: "Login with username";
52
+ params: ZodObject<
53
+ {
54
+ username: ZodString;
55
+ },
56
+ $strip
57
+ >;
58
+ };
59
+ logout: {
60
+ description: "Logout and return to home";
61
+ };
62
+ route: {
63
+ description: "Navigate to a route by path (e.g. '#home', '#login', '#dashboard')";
64
+ params: ZodObject<
65
+ {
66
+ params: ZodOptional<ZodRecord<ZodString, ZodString>>;
67
+ to: ZodString;
68
+ },
69
+ $strip
70
+ >;
71
+ };
72
+ };
73
+ components: {
74
+ About: {
75
+ props: ZodObject<
76
+ {
77
+ title: ZodString;
78
+ },
79
+ $strip
80
+ >;
81
+ };
82
+ Contact: {
83
+ props: ZodObject<
84
+ {
85
+ title: ZodString;
86
+ },
87
+ $strip
88
+ >;
89
+ };
90
+ Dashboard: {
91
+ props: ZodObject<
92
+ {
93
+ username: ZodString;
94
+ welcome: ZodBoolean;
95
+ },
96
+ $strip
97
+ >;
98
+ };
99
+ Home: {
100
+ props: ZodObject<
101
+ {
102
+ title: ZodString;
103
+ },
104
+ $strip
105
+ >;
106
+ };
107
+ Login: {
108
+ props: ZodObject<
109
+ {
110
+ title: ZodString;
111
+ username: ZodOptional<ZodString>;
112
+ },
113
+ $strip
114
+ >;
115
+ };
116
+ NavBar: {
117
+ props: ZodObject<
118
+ {
119
+ isAuthenticated: ZodBoolean;
120
+ username: ZodNullable<ZodString>;
121
+ },
122
+ $strip
123
+ >;
124
+ };
125
+ Navigation: {
126
+ props: ZodObject<
127
+ {
128
+ currentPath: ZodString;
129
+ isAuthenticated: ZodBoolean;
130
+ },
131
+ $strip
132
+ >;
133
+ };
134
+ Overview: {
135
+ props: ZodObject<
136
+ {
137
+ title: ZodString;
138
+ },
139
+ $strip
140
+ >;
141
+ };
142
+ Profile: {
143
+ props: ZodObject<
144
+ {
145
+ username: ZodString;
146
+ },
147
+ $strip
148
+ >;
149
+ };
150
+ Settings: {
151
+ props: ZodObject<
152
+ {
153
+ section: ZodOptional<ZodString>;
154
+ username: ZodString;
155
+ },
156
+ $strip
157
+ >;
158
+ };
159
+ Stats: {
160
+ props: ZodObject<
161
+ {
162
+ title: ZodString;
163
+ },
164
+ $strip
165
+ >;
166
+ };
167
+ };
168
+ }
169
+ >;
170
+ ```
171
+
172
+ Defined in: [packages/play-vue/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-vue/examples/demo/src/catalog.ts#L5)
@@ -0,0 +1,139 @@
1
+ [Examples](../../README.md) / @xmachines/play-vue-router-demo
2
+
3
+ # @xmachines/play-vue-router-demo
4
+
5
+ Vue Router integration demo for the XMachines Play architecture using Vue Composition API.
6
+
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
+ ## What This Demonstrates
10
+
11
+ - Shared auth machine reused without framework-specific business logic
12
+ - `PlayRouterProvider` renderer-based integration with Vue Router
13
+ - Shell-driven rendering via `PlayRenderer` with actor-authoritative navigation
14
+ - Vue Composition API mapping to TC39 Signals lifecycle
15
+ - Non-browser invariant tests plus browser E2E coverage
16
+
17
+ ## Running the Demo
18
+
19
+ From the repository root:
20
+
21
+ ```bash
22
+ pnpm install
23
+ pnpm --filter @xmachines/play-vue-router-demo run dev
24
+ ```
25
+
26
+ Then open `http://localhost:3010`.
27
+
28
+ ## Step-by-Step Code Flow
29
+
30
+ Use this order to understand how the demo is wired:
31
+
32
+ 1. `src/main.ts` creates the Vue app, installs Vue Router, mounts, and wires HMR cleanup.
33
+ 2. `src/runtime.ts` creates the actor, starts it, builds the shared `registryResult`, and creates the `routeMap`.
34
+ 3. `src/router.ts` installs a single catch-all route; `PlayRenderer` selects the actual view from actor state.
35
+ 4. `src/App.vue` renders `<PlayRouterProvider>` with the shared actor, routeMap, router instance, and a `renderShell` renderer function.
36
+ 5. The renderer function creates the shared `Shell` component with actor, router, and registry as props.
37
+ 6. `PlayRouterProvider` waits for `router.isReady()` so direct URL loads are handled correctly.
38
+ 7. Browser tests in `test/browser/` validate startup and auth route transitions.
39
+
40
+ ```ts
41
+ // src/main.ts (shape)
42
+ const app = createApp(App);
43
+ app.use(router);
44
+ app.mount("#app");
45
+ ```
46
+
47
+ ```ts
48
+ // src/router.ts (shape)
49
+ export const routes = [{ path: "/:pathMatch(.*)*", name: "xmachines-play", component: RouteHost }];
50
+ ```
51
+
52
+ ```vue
53
+ <!-- src/App.vue (shape) -->
54
+ <script setup lang="ts">
55
+ import { actor, routeMap, registryResult } from "./runtime.js";
56
+
57
+ const renderShell = (currentActor, currentRouter) =>
58
+ h(SharedShell, { actor: currentActor, router: currentRouter, registryResult });
59
+ </script>
60
+
61
+ <template>
62
+ <PlayRouterProvider
63
+ :actor="actor"
64
+ :route-map="routeMap"
65
+ :router="router"
66
+ :renderer="renderShell"
67
+ />
68
+ </template>
69
+ ```
70
+
71
+ ```ts
72
+ // src/runtime.ts (shape)
73
+ export const actor = createPlayer();
74
+ actor.start();
75
+
76
+ export const routeMap = createRouteMap(authMachine);
77
+ export const registryResult = defineRegistry(authCatalog, { components, actions });
78
+ ```
79
+
80
+ ## Key Files
81
+
82
+ - `src/main.ts` - Vue app bootstrap (mount + router install + HMR cleanup)
83
+ - `src/runtime.ts` - actor startup, routeMap creation, and registry construction
84
+ - `src/router.ts` - single catch-all route record
85
+ - `src/App.vue` - `PlayRouterProvider` wiring and renderer composition using the shared runtime
86
+ - `test/reactivity.test.ts` - reactive integration assertions
87
+ - `test/browser/shared-demo.browser.test.ts` - browser startup and full auth flow coverage
88
+
89
+ ## State Machine & Architecture Details
90
+
91
+ The demo utilizes XMachines architectural invariants:
92
+
93
+ 1. **Actor Authority:** When a user navigates to a protected route via a link, Vue Router updates the location. The `PlayRouterProvider` intercepts this, translates it to a `play.route` event, and sends it to the actor. The actor evaluates guards (e.g. `isAuthenticated`) and transitions.
94
+ 2. **Passive Infrastructure:** The router does not execute Vue route guards for business logic. The actor dictates whether navigation is permitted. The Vue application only renders the state.
95
+ 3. **Signal-Only Reactivity:** The bridge leverages Vue's `watch` and `triggerRef` internally to react precisely when signals update, without polluting the Vue component tree with reactive refs that hold business state.
96
+
97
+ ## Watcher Lifecycle and Cleanup Contract
98
+
99
+ This demo follows the canonical watcher lifecycle:
100
+
101
+ 1. `notify`
102
+ 2. `queueMicrotask`
103
+ 3. `getPending()`
104
+ 4. Read actor signals and sync Vue-local render state
105
+ 5. Re-arm with `watch()`/`watch(...signals)`
106
+
107
+ Notifications are one-shot, so re-arm is required. Teardown is explicit: provider/bridge cleanup must flow through `disconnect` and watcher `unwatch`, not GC-only assumptions. The `PlayRouterProvider` wires this seamlessly into the component's `onUnmounted` hook.
108
+
109
+ ## Adapter Boundaries
110
+
111
+ Vue Router integration remains passive infrastructure. `RouterBridgeBase` owns shared synchronization policy and the Vue adapter is a thin framework port. Route extraction override strategies remain supported when teams need custom route-name mapping.
112
+
113
+ ## Available Scripts
114
+
115
+ These commands are defined in `package.json`:
116
+
117
+ | Command | Description |
118
+ | ---------------------------------------------------------------- | ---------------------------------------------- |
119
+ | `pnpm --filter @xmachines/play-vue-router-demo run dev` | Start Vite dev server (http://localhost:3010/) |
120
+ | `pnpm --filter @xmachines/play-vue-router-demo run build` | Build production bundle |
121
+ | `pnpm --filter @xmachines/play-vue-router-demo run preview` | Preview built bundle |
122
+ | `pnpm --filter @xmachines/play-vue-router-demo run test` | Run Vitest test suite |
123
+ | `pnpm --filter @xmachines/play-vue-router-demo run test:browser` | Run browser-focused Vitest suite |
124
+
125
+ ## Verification
126
+
127
+ Use these checks to validate README claims against the current demo implementation:
128
+
129
+ ```bash
130
+ pnpm --filter @xmachines/play-vue-router-demo run test
131
+ pnpm --filter @xmachines/play-vue-router-demo run test:browser
132
+ ```
133
+
134
+ Expected result: reactivity integration tests and the browser shared-demo suite both pass, confirming login/logout transitions update both view and URL correctly.
135
+
136
+ ## Learn More
137
+
138
+ - [Vue Router](../../../api/@xmachines/play-vue-router/README.md)
139
+ - [Vue](../../../api/@xmachines/play-vue/README.md)
@@ -1,63 +1,111 @@
1
1
  # XMachines Examples
2
2
 
3
- Practical code examples demonstrating common XMachines patterns and use cases.
3
+ Practical code examples demonstrating current XMachines Play patterns and use cases.
4
4
 
5
5
  ## Learning Path
6
6
 
7
7
  ### Level 1: Basic Concepts
8
8
 
9
- Start with fundamental state machine concepts:
9
+ Start with the fundamental machine + actor pattern:
10
10
 
11
- - **[Basic State Machine](basic-state-machine.md)** - Simple two-state toggle machine
12
- - **[Traffic Light](traffic-light.md)** - Multi-state machine with cyclic transitions
13
- - **[Form Validation](form-validation.md)** - Validation with guards and conditional logic
11
+ - **[Basic State Machine](basic-state-machine.md)** `setup().createMachine()` + `definePlayer()` + TC39 Signals
12
+ - **[Traffic Light](traffic-light.md)** Multi-state machine with `meta.route` and `formatPlayRouteTransitions`
13
+ - **[Form Validation](form-validation.md)** Typed context mutations with `setup.assign`, guards, and `$bindState`
14
14
 
15
15
  ### Level 2: Routing Patterns
16
16
 
17
17
  Learn how state machines control navigation:
18
18
 
19
- - **[Routing Patterns](routing-patterns.md)** - State-driven routing and navigation guards
20
- - **[Multi-Router Integration](multi-router-integration.md)** - Framework-agnostic routing architecture
19
+ - **[Routing Patterns](routing-patterns.md)** `meta.route`, `play.route` events, `always` auth guards, and parameter routes
20
+ - **[Multi-Router Integration](multi-router-integration.md)** All 8 router adapters: provider pattern vs `connectRouter` pattern
21
21
 
22
22
  ### Level 3: Full Applications
23
23
 
24
- See complete working implementations demonstrating all architectural invariants:
24
+ Complete working implementations of actor-authoritative routing with all architectural invariants enforced.
25
25
 
26
- ## Demo Applications
26
+ ## Complete Demo Applications
27
27
 
28
- Complete working applications demonstrating all 5 architectural invariants:
28
+ ### Renderer Demos
29
29
 
30
- - **[React + TanStack Router Demo](../../packages/play-tanstack-react-router/examples/demo-app/)** - Canonical reference implementation showing all 5 invariants, comprehensive routing, authentication guards, and browser tests
31
- - **[Vue Router Demo](../../packages/play-vue-router/examples/demo/)** - Vue Composition API integration with same auth patterns
32
- - **[SolidJS Router Demo](../../packages/play-solidjs-router/examples/demo/)** - Solid signals integration demonstrating framework independence
30
+ <!-- typedoc:renderer-demos:start -->
33
31
 
34
- ## Running Examples
32
+ - [@xmachines/play-dom-demo](@xmachines/play-dom-demo/README.md)
33
+ - [@xmachines/play-react-demo](@xmachines/play-react-demo/README.md)
34
+ - [@xmachines/play-solid-demo](@xmachines/play-solid-demo/README.md)
35
+ - [@xmachines/play-svelte-demo](@xmachines/play-svelte-demo/README.md)
36
+ - [@xmachines/play-vue-demo](@xmachines/play-vue-demo/README.md)
35
37
 
36
- All examples are written in TypeScript and can be run in:
38
+ <!-- typedoc:renderer-demos:end -->
37
39
 
38
- **Node.js:**
40
+ ### Router Demos
41
+
42
+ <!-- typedoc:router-demos:start -->
43
+
44
+ - [@xmachines/play-dom-router-demo](@xmachines/play-dom-router-demo/README.md)
45
+ - [@xmachines/play-react-router-demo](@xmachines/play-react-router-demo/README.md)
46
+ - [@xmachines/play-solid-router-demo](@xmachines/play-solid-router-demo/README.md)
47
+ - [@xmachines/play-svelte-spa-router-demo](@xmachines/play-svelte-spa-router-demo/README.md)
48
+ - [@xmachines/play-sveltekit-router-demo](@xmachines/play-sveltekit-router-demo/README.md)
49
+ - [@xmachines/play-tanstack-react-router-demo](@xmachines/play-tanstack-react-router-demo/README.md)
50
+ - [@xmachines/play-tanstack-solid-router-demo](@xmachines/play-tanstack-solid-router-demo/README.md)
51
+ - [@xmachines/play-vue-router-demo](@xmachines/play-vue-router-demo/README.md)
52
+
53
+ <!-- typedoc:router-demos:end -->
54
+
55
+ ## Running the Code Examples
56
+
57
+ The conceptual examples in this directory are TypeScript snippets. To run them:
39
58
 
40
59
  ```bash
41
- npm install @xmachines/play
42
- npx tsx example.ts
43
- ```
60
+ # Install dependencies (from the monorepo root)
61
+ pnpm add @xmachines/play-xstate @xmachines/play-actor @xmachines/play-signals xstate
44
62
 
45
- **Browser:**
46
- Include via bundler (Vite, Webpack) or use browser platform package.
63
+ # Run with tsx
64
+ pnpm dlx tsx my-example.ts
65
+ ```
47
66
 
48
- **Deno:**
67
+ To run a complete demo application, use the workspace package name:
49
68
 
50
69
  ```bash
51
- deno run --allow-net example.ts
70
+ pnpm --filter @xmachines/play-dom-router-demo run dev
52
71
  ```
53
72
 
54
- ## Related Documentation
73
+ ## Key Packages
74
+
75
+ ### Core
76
+
77
+ | Package | Role |
78
+ | --------------------------------------------------------------------- | ----------------------------------------------------------- |
79
+ | [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | `definePlayer`, `formatPlayRouteTransitions`, `PlayerActor` |
80
+ | [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `AbstractActor`, `typedSpec` |
81
+ | [`@xmachines/play-signals`](../api/@xmachines/play-signals/README.md) | TC39 Signals polyfill, `watchSignal` |
82
+ | [`@xmachines/play-router`](../api/@xmachines/play-router/README.md) | `extractMachineRoutes`, `getRoutableRoutes` |
83
+
84
+ ### Renderers
55
85
 
56
- - **[Getting Started Guide](/docs/guides/getting-started)** - First steps with XMachines
57
- - **[API Reference](/docs/api)** - Complete API documentation
58
- - **[Core Concepts](/docs/api/guides/core-concepts)** - Architecture and design patterns
86
+ | Package | Role |
87
+ | ------------------------------------------------------------------- | -------------------------------------------------- |
88
+ | [`@xmachines/play-dom`](../api/@xmachines/play-dom/README.md) | `createPlayUI`, `createRenderer`, `defineRegistry` |
89
+ | [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `PlayRenderer`, `defineRegistry` |
90
+ | [`@xmachines/play-solid`](../api/@xmachines/play-solid/README.md) | `PlayRenderer`, `defineRegistry` |
91
+ | [`@xmachines/play-svelte`](../api/@xmachines/play-svelte/README.md) | `PlayRenderer`, `defineRegistry` |
92
+ | [`@xmachines/play-vue`](../api/@xmachines/play-vue/README.md) | `PlayRenderer`, `defineRegistry` |
59
93
 
60
- ---
94
+ ### Router Adapters
95
+
96
+ | Package | Router |
97
+ | ------------------------------------------------------------------------------------------------- | ----------------------- |
98
+ | [`@xmachines/play-dom-router`](../api/@xmachines/play-dom-router/README.md) | Vanilla browser history |
99
+ | [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) | React Router v7 |
100
+ | [`@xmachines/play-tanstack-react-router`](../api/@xmachines/play-tanstack-react-router/README.md) | TanStack Router (React) |
101
+ | [`@xmachines/play-solid-router`](../api/@xmachines/play-solid-router/README.md) | SolidJS Router |
102
+ | [`@xmachines/play-tanstack-solid-router`](../api/@xmachines/play-tanstack-solid-router/README.md) | TanStack Router (Solid) |
103
+ | [`@xmachines/play-vue-router`](../api/@xmachines/play-vue-router/README.md) | Vue Router |
104
+ | [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | svelte-spa-router |
105
+ | [`@xmachines/play-sveltekit-router`](../api/@xmachines/play-sveltekit-router/README.md) | SvelteKit |
106
+
107
+ ## Related Documentation
61
108
 
62
- **Contributing Examples:**
63
- Have a useful example to share? See [Development Docs](/development) for contribution guidelines.
109
+ - **[Getting Started](../guides/getting-started.md)** — Installation, first actor, routing, and view renderer setup
110
+ - **[API Reference](../api/README.md)** — Generated API docs for all public packages
111
+ - **[Play RFC](../rfc/play.md)** — Complete architectural specification
@@ -1,70 +1,112 @@
1
1
  # Basic State Machine
2
2
 
3
- Learn how to create a simple state machine with two states.
3
+ Learn how to define a simple toggle machine using the current XState v5 + XMachines `setup().createMachine()` + `definePlayer()` pattern.
4
4
 
5
5
  ## Use Case
6
6
 
7
- This example demonstrates a toggle switch or on/off button - the foundation for understanding state transitions in XMachines. It's the simplest possible state machine with just two states and one event type.
7
+ This example demonstrates a toggle switch the foundation for understanding state machines in XMachines. It is the simplest possible machine: two states, one event type, no router, no catalog.
8
8
 
9
9
  ## Complete Code
10
10
 
11
11
  ```typescript
12
- import { createMachine } from "xstate";
13
-
14
- // Define states
15
- type ToggleState = "off" | "on";
16
-
17
- // Define events
18
- type ToggleEvent = { type: "TOGGLE" };
12
+ import { setup } from "xstate";
13
+ import { definePlayer } from "@xmachines/play-xstate";
14
+
15
+ // 1. Declare types for context, events, and input via setup()
16
+ const toggleSetup = setup({
17
+ types: {
18
+ context: {} as { toggleCount: number },
19
+ events: {} as { type: "toggle" },
20
+ input: {} as { toggleCount?: number } | undefined,
21
+ },
22
+ });
19
23
 
20
- // Create machine
21
- const toggleMachine = createMachine<ToggleState, ToggleEvent>({
24
+ // 2. Create the machine using setup().createMachine()
25
+ const toggleMachine = toggleSetup.createMachine({
22
26
  id: "toggle",
23
27
  initial: "off",
28
+ context: ({ input }) => ({
29
+ toggleCount: input?.toggleCount ?? 0,
30
+ }),
24
31
  states: {
25
32
  off: {
26
33
  on: {
27
- TOGGLE: "on",
34
+ toggle: {
35
+ target: "on",
36
+ actions: toggleSetup.assign({
37
+ toggleCount: ({ context }) => context.toggleCount + 1,
38
+ }),
39
+ },
28
40
  },
29
41
  },
30
42
  on: {
31
43
  on: {
32
- TOGGLE: "off",
44
+ toggle: {
45
+ target: "off",
46
+ actions: toggleSetup.assign({
47
+ toggleCount: ({ context }) => context.toggleCount + 1,
48
+ }),
49
+ },
33
50
  },
34
51
  },
35
52
  },
36
53
  });
37
54
 
38
- // Usage
39
- let state = toggleMachine.initialState;
40
- console.log(state); // 'off'
55
+ // 3. Create a player factory
56
+ const createPlayer = definePlayer({ machine: toggleMachine });
57
+
58
+ // 4. Create and start an actor
59
+ const actor = createPlayer();
60
+ actor.start();
61
+
62
+ // 5. Read initial state via getSnapshot()
63
+ console.log(actor.getSnapshot().value); // "off"
64
+ console.log(actor.getSnapshot().context.toggleCount); // 0
41
65
 
42
- state = toggleMachine.transition(state, { type: "TOGGLE" });
43
- console.log(state); // 'on'
66
+ // 6. Read state via TC39 Signal
67
+ console.log(actor.state.get().value); // "off"
44
68
 
45
- state = toggleMachine.transition(state, { type: "TOGGLE" });
46
- console.log(state); // 'off'
69
+ // 7. Send events
70
+ actor.send({ type: "toggle" });
71
+ console.log(actor.getSnapshot().value); // "on"
72
+ console.log(actor.getSnapshot().context.toggleCount); // 1
73
+
74
+ actor.send({ type: "toggle" });
75
+ console.log(actor.getSnapshot().value); // "off"
76
+ console.log(actor.getSnapshot().context.toggleCount); // 2
77
+
78
+ // 8. Cleanup
79
+ actor.stop();
47
80
  ```
48
81
 
49
82
  ## Code Explanation
50
83
 
51
- 1. **Define TypeScript types** - Create union types for states (`'off' | 'on'`) and events (`{ type: 'TOGGLE' }`) to get type safety throughout your application.
84
+ 1. **`setup({ types })`** Declares TypeScript types for `context`, `events`, and `input` before the machine is created. This is the XState v5 typed entry point. Never pass type parameters directly to `createMachine`.
85
+
86
+ 2. **`toggleSetup.createMachine(...)`** — Creates the state machine. Using the scoped `toggleSetup.createMachine` (instead of the bare `createMachine` from xstate) ensures that guards and actions are type-checked against the declared types.
87
+
88
+ 3. **`toggleSetup.assign(...)`** — Assigns context mutations using the typed setup's `assign` helper. This provides full inference from the declared context type — no manual type assertions needed.
89
+
90
+ 4. **`definePlayer({ machine })`** — Wraps the machine in a factory. Calling `createPlayer()` returns a `PlayerActor` — XMachines' actor type that extends XState's actor with TC39 Signal reactivity and Play Architecture hooks.
91
+
92
+ 5. **`actor.start()`** — Activates the machine. Always call `start()` before sending events.
52
93
 
53
- 2. **Create machine with initial state** - Use `createMachine` with an `initial` property to specify which state the machine starts in.
94
+ 6. **`actor.getSnapshot()`** Returns the current XState snapshot synchronously. `.value` is the state name; `.context` is the typed context object.
54
95
 
55
- 3. **Define state transitions** - In the `states` config, each state has an `on` object mapping event types to target states.
96
+ 7. **`actor.state.get()`** TC39 Signal access to the current snapshot. Useful when wiring infrastructure that observes signals (renderers, router bridges). Equivalent to `actor.getSnapshot()` for one-time reads.
56
97
 
57
- 4. **Use the machine** - Call `transition(currentState, event)` to compute the next state based on the current state and incoming event.
98
+ 8. **Event types use dot-separated lowercase** `"toggle"` not `"TOGGLE"`. This matches the XMachines convention used throughout the codebase (e.g. `"auth.login"`, `"auth.logout"`, `"play.route"`).
58
99
 
59
100
  ## Key Concepts
60
101
 
61
- - **State**: The current mode or condition of the machine (`'off'` or `'on'`)
62
- - **Event**: A trigger that causes a state change (`{ type: 'TOGGLE' }`)
63
- - **Transition**: A rule defining how the machine moves from one state to another
64
- - **Type Safety**: TypeScript ensures you only use valid states and events, catching errors at compile time
102
+ - **`setup({ types })`**: The XState v5 typed entry point. Declares context, event, and input shapes before machine creation.
103
+ - **`definePlayer({ machine })`**: Creates a factory function that returns `PlayerActor` instances.
104
+ - **`actor.state`**: A `Signal.State<Snapshot>` TC39 Signals-based reactive handle on the machine snapshot.
105
+ - **`actor.getSnapshot()`**: Synchronous snapshot access use for one-time reads and TypeScript-typed context inspection.
106
+ - **Typed `assign`**: Always call `setup.assign(...)` (not the bare `assign` from xstate) for context mutations.
65
107
 
66
108
  ## Next Steps
67
109
 
68
- - **[Traffic Light Example](traffic-light.md)** - See how to handle multiple states with cyclic transitions
69
- - **[Form Validation Example](form-validation.md)** - Learn about guards and conditional transitions
70
- - **[API Documentation](/docs/api/xmachines/play/readme)** - Explore the complete API reference
110
+ - **[Traffic Light Example](traffic-light.md)** — Multi-state machine with `meta.route` and `formatPlayRouteTransitions`
111
+ - **[Form Validation Example](form-validation.md)** Typed context mutations with `setup.assign` and guards
112
+ - **[Routing Patterns](routing-patterns.md)** Adding `meta.route` to states and using `play.route` events