@xmachines/docs 1.0.0-beta.9 → 1.0.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 +137 -7
  2. package/api/@xmachines/play/README.md +160 -38
  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 +141 -160
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +91 -122
  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 +384 -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 +271 -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 -334
  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 -114
  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 -353
  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 +116 -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 -234
  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 -560
  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 +84 -115
  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 +269 -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 +199 -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 +211 -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 -126
  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 +58 -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 +215 -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 +192 -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 -487
  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 +178 -347
  356. package/api/@xmachines/play-xstate/classes/PlayerActor.md +161 -191
  357. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +31 -20
  358. package/api/@xmachines/play-xstate/functions/composeGuards.md +2 -2
  359. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +2 -2
  360. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +38 -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 +2 -2
  364. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
  365. package/api/@xmachines/play-xstate/functions/hasContext.md +2 -2
  366. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
  367. package/api/@xmachines/play-xstate/functions/negateGuard.md +2 -2
  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 +12 -13
  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 +2 -2
  374. package/api/@xmachines/play-xstate/type-aliases/Guard.md +2 -2
  375. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +3 -3
  376. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +10 -9
  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 +30 -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 +599 -0
  395. package/contributing/configuration.md +368 -0
  396. package/contributing/deployment.md +312 -0
  397. package/contributing/development.md +464 -0
  398. package/contributing/testing.md +453 -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 +24 -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 +15 -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 +18 -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 +15 -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 +17 -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 +75 -31
  476. package/examples/form-validation.md +261 -118
  477. package/examples/multi-router-integration.md +314 -194
  478. package/examples/routing-patterns.md +230 -189
  479. package/examples/traffic-light.md +114 -65
  480. package/guides/README.md +9 -21
  481. package/guides/actor-model.md +180 -0
  482. package/guides/getting-started.md +619 -137
  483. package/guides/signals.md +166 -0
  484. package/guides/state-machines.md +284 -0
  485. package/package.json +18 -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
@@ -1,277 +1,397 @@
1
- # Multi-Router Integration - Renderer Prop Pattern
1
+ <!-- generated-by: gsd-doc-writer -->
2
2
 
3
- Learn how to integrate Play Architecture with three router modes using the unified renderer prop pattern introduced in
3
+ # Multi-Router Integration
4
+
5
+ How to integrate XMachines Play with the 8 router adapters shipped in this monorepo.
4
6
 
5
7
  ## Overview
6
8
 
7
- introduces a unified multi-router architecture supporting three integration modes with consistent API:
9
+ XMachines provides router adapters for every major JavaScript framework. All adapters implement the same **Actor Authority** invariant — the state machine guards control navigation, and the router passively observes `actor.currentRoute`.
8
10
 
9
- 1. **TanStack Router** - React + TanStack Router with full feature set
10
- 2. **Vanilla Router** - JSX frameworks (Preact, Solid, Vue) with framework-agnostic router
11
- 3. **Pure Browser** - Manual integration for jQuery, Alpine, vanilla JS
11
+ There are two integration patterns:
12
12
 
13
- All modes use the **renderer prop pattern** where providers receive an `actor` and `router`, then pass a `renderer` function (not children).
13
+ | Pattern | Used by | Key API |
14
+ | --------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------- |
15
+ | **Provider pattern** | React (TanStack, React Router), SolidJS (TanStack, SolidJS Router), Vue Router | `<PlayRouterProvider actor router routeMap renderer={...} />` |
16
+ | **`connectRouter` pattern** | Vanilla DOM, SvelteKit, Svelte SPA Router | `connectRouter({ actor, routeMap })` |
14
17
 
15
- ## Key Concepts
18
+ ## Pattern 1: Provider Pattern
16
19
 
17
- ### 1. Renderer Prop Pattern
20
+ Used by framework adapters that have a React/Solid/Vue provider context. The `PlayRouterProvider` owns the bridge lifecycle and calls a `renderer` prop with the current actor and router.
18
21
 
19
- All providers use a `renderer` prop that receives the actor and returns a ReactNode:
22
+ ### React + TanStack Router (`@xmachines/play-tanstack-react-router`)
20
23
 
21
24
  ```typescript
22
- <PlayTanStackRouterProvider
23
- actor={actor}
24
- router={router}
25
- renderer={(actor) => <PlayRenderer actor={actor} components={components} />}
26
- />
27
- ```
25
+ import { useEffect, useMemo } from "react";
26
+ import { createRouter, createRootRoute } from "@tanstack/react-router";
27
+ import { PlayRouterProvider, createRouteMapFromTree } from "@xmachines/play-tanstack-react-router";
28
+ import { extractMachineRoutes } from "@xmachines/play-router";
29
+ import { definePlayer } from "@xmachines/play-xstate";
30
+ import { defineRegistry } from "@xmachines/play-react";
31
+ import { authMachine, authCatalog } from "@xmachines/play-actor-shared";
32
+
33
+ const createPlayer = definePlayer({ machine: authMachine });
34
+
35
+ const { registry } = defineRegistry(authCatalog, {
36
+ components: { /* ...your components */ },
37
+ actions: { login: async () => {}, logout: async () => {}, /* ... */ },
38
+ });
28
39
 
29
- **Why renderer prop instead of children?**
40
+ function createAppRuntime() {
41
+ const actor = createPlayer();
42
+ actor.start();
30
43
 
31
- - Explicit dependency injection (actor passed to renderer function)
32
- - Type-safe integration (renderer function signature enforced)
33
- - Consistent pattern across all three modes
44
+ const routeTree = extractMachineRoutes(authMachine);
45
+ const routeMap = createRouteMapFromTree(routeTree);
46
+ const router = createRouter({ routeTree: createRootRoute(), defaultPreload: "intent" });
34
47
 
35
- ### 2. RouteMap as Explicit Prop
48
+ return { actor, routeMap, router };
49
+ }
36
50
 
37
- All providers require `routeMap` as an explicit prop. Routers fundamentally don't know about Play state IDs — the map bridges the gap:
51
+ export function App() {
52
+ const { actor, routeMap, router } = useMemo(createAppRuntime, []);
38
53
 
39
- ```typescript
40
- const routeTree = createPlayRouter({ machine });
41
- const router = createRouter({ routeTree, history: createMemoryHistory() });
42
-
43
- <PlayTanStackRouterProvider
44
- actor={actor}
45
- router={router}
46
- routeMap={routeMap} // Explicit mapping
47
- renderer={(actor) => <PlayRenderer actor={actor} components={components} />}
48
- />
49
- ```
54
+ useEffect(() => () => { actor.stop(); }, [actor]);
50
55
 
51
- ### 3. Provider Composition Pattern
56
+ return (
57
+ <PlayRouterProvider
58
+ actor={actor}
59
+ router={router}
60
+ routeMap={routeMap}
61
+ renderer={(currentActor, currentRouter) => (
62
+ <Shell actor={currentActor} router={currentRouter} registry={registry} />
63
+ )}
64
+ />
65
+ );
66
+ }
67
+ ```
52
68
 
53
- Providers wrap external providers (like TanStack's `RouterProvider`) and add Play integration layer:
69
+ ### React + React Router v7 (`@xmachines/play-react-router`)
54
70
 
55
71
  ```typescript
56
- // Provider wraps TanStack RouterProvider
57
- <RouterProvider router={router}>
58
- {/* Play integration layer */}
59
- {renderer(actor)}
60
- </RouterProvider>
61
- ```
72
+ import { createBrowserRouter, RouterProvider } from "react-router";
73
+ import { PlayRouterProvider, createRouteMapFromTree } from "@xmachines/play-react-router";
74
+ import { extractMachineRoutes } from "@xmachines/play-router";
75
+ import { definePlayer } from "@xmachines/play-xstate";
62
76
 
63
- ## Mode 1: TanStack Router (React)
77
+ const createPlayer = definePlayer({ machine: authMachine });
64
78
 
65
- Complete integration with React and TanStack Router.
79
+ function createAppRuntime() {
80
+ const actor = createPlayer();
81
+ actor.start();
66
82
 
67
- See [multi-router-example.ts](./src/multi-router-example.ts) for runnable example.
83
+ const routeTree = extractMachineRoutes(authMachine);
84
+ const routeMap = createRouteMapFromTree(routeTree);
68
85
 
69
- ```typescript
70
- import { StrictMode } from 'react';
71
- import { createRoot } from 'react-dom/client';
72
- import { createRouter, createMemoryHistory } from '@tanstack/react-router';
73
- import { createPlayRouter, PlayTanStackRouterProvider } from '@xmachines/play-tanstack-react-router';
74
- import { PlayRenderer } from '@xmachines/play-react';
75
- import { definePlayer } from '@xmachines/play-xstate';
76
-
77
- // 1. Create actor
78
- const createPlayer = definePlayer({ machine, catalog });
79
- const actor = createPlayer();
86
+ // React Router requires route elements upfront — use a catch-all
87
+ let router!: ReturnType<typeof createBrowserRouter>;
88
+ function RoutedShell() {
89
+ return <Shell actor={actor} router={router} registry={registry} />;
90
+ }
91
+ router = createBrowserRouter([{ path: "*", element: <RoutedShell /> }]);
80
92
 
81
- // 2. Create router from machine
82
- const routeTree = createPlayRouter({ machine });
83
- const router = createRouter({
84
- routeTree,
85
- history: createMemoryHistory()
86
- });
93
+ return { actor, routeMap, router };
94
+ }
87
95
 
88
- // 3. Define React components
89
- const components = {
90
- HomeView: ({ send }) => (
91
- <div>
92
- <h1>Home</h1>
93
- <button onClick={() => send({ type: 'play.route', to: '/about' })}>
94
- Go to About
95
- </button>
96
- </div>
97
- ),
98
- AboutView: ({ send }) => (
99
- <div>
100
- <h1>About</h1>
101
- <button onClick={() => send({ type: 'play.route', to: '/' })}>
102
- Go to Home
103
- </button>
104
- </div>
105
- )
106
- };
96
+ export default function App() {
97
+ const { actor, routeMap, router } = useMemo(createAppRuntime, []);
98
+
99
+ useEffect(() => () => { actor.stop(); }, [actor]);
107
100
 
108
- // 4. Render with provider + renderer prop
109
- function App() {
110
101
  return (
111
- <PlayTanStackRouterProvider
102
+ <PlayRouterProvider
112
103
  actor={actor}
113
104
  router={router}
114
- renderer={(actor) => <PlayRenderer actor={actor} components={components} />}
105
+ routeMap={routeMap}
106
+ renderer={(currentActor, currentRouter) => (
107
+ <RouterProvider router={currentRouter} />
108
+ )}
115
109
  />
116
110
  );
117
111
  }
118
-
119
- const root = createRoot(document.getElementById('app')!);
120
- root.render(<StrictMode><App /></StrictMode>);
121
112
  ```
122
113
 
123
- ### Benefits
114
+ ### SolidJS + SolidJS Router (`@xmachines/play-solid-router`)
115
+
116
+ ```typescript
117
+ import { Router, Route } from "@solidjs/router";
118
+ import { onCleanup } from "solid-js";
119
+ import { PlayRouterProvider, createRouteMap } from "@xmachines/play-solid-router";
120
+ import { extractMachineRoutes, getRoutableRoutes } from "@xmachines/play-router";
121
+ import { definePlayer } from "@xmachines/play-xstate";
122
+
123
+ const createPlayer = definePlayer({ machine: authMachine });
124
+ const actor = createPlayer();
125
+ actor.start();
126
+
127
+ const routeTree = extractMachineRoutes(authMachine);
128
+ const routes = getRoutableRoutes(routeTree);
129
+ const routeMap = createRouteMap(authMachine);
124
130
 
125
- - Full React ecosystem support
126
- - Type-safe routing with TanStack Router
127
- - Browser history integration automatic
128
- - Signal reactivity via `PlayRenderer`
131
+ // Layout rendered inside Router — has access to navigate/location/params hooks
132
+ const Layout = () => {
133
+ const navigate = useNavigate();
134
+ const location = useLocation();
135
+ const params = useParams();
129
136
 
130
- ## Mode 2: Vanilla Router (Preact, Solid, Vue)
137
+ onCleanup(() => { actor.stop(); });
138
+
139
+ return (
140
+ <PlayRouterProvider
141
+ actor={actor}
142
+ routeMap={routeMap}
143
+ router={{ navigate, location, params }}
144
+ renderer={(currentActor, currentRouter) => (
145
+ <Shell actor={currentActor} router={currentRouter} registry={registry} />
146
+ )}
147
+ />
148
+ );
149
+ };
150
+
151
+ export default function App() {
152
+ return (
153
+ <Router root={Layout}>
154
+ {routes.map((route) => (
155
+ <Route path={route.fullPath} component={() => <div />} />
156
+ ))}
157
+ </Router>
158
+ );
159
+ }
160
+ ```
131
161
 
132
- Framework-agnostic router for JSX-based frameworks.
162
+ ### SolidJS + TanStack Solid Router (`@xmachines/play-tanstack-solid-router`)
133
163
 
134
164
  ```typescript
135
- import { createPlayRouter, connectRouter } from '@xmachines/play-router';
136
- import { definePlayer } from '@xmachines/play-xstate';
165
+ import { createRouter, createRootRoute, createRoute, RouterProvider } from "@tanstack/solid-router";
166
+ import { onCleanup } from "solid-js";
167
+ import { PlayRouterProvider, createRouteMap } from "@xmachines/play-tanstack-solid-router";
168
+ import { extractMachineRoutes, getRoutableRoutes } from "@xmachines/play-router";
169
+ import { definePlayer } from "@xmachines/play-xstate";
137
170
 
138
- // 1. Create actor
139
- const createPlayer = definePlayer({ machine, catalog });
171
+ const createPlayer = definePlayer({ machine: authMachine });
140
172
  const actor = createPlayer();
173
+ actor.start();
141
174
 
142
- // 2. Create framework-agnostic router
143
- const router = createPlayRouter({ machine });
175
+ const routeTree = extractMachineRoutes(authMachine);
176
+ const routes = getRoutableRoutes(routeTree);
177
+ const routeMap = createRouteMap(authMachine);
144
178
 
145
- // 3. Connect router with manual integration
146
- const disconnect = connectRouter(actor, {
147
- onNavigate: (path) => {
148
- // Update your framework's router
149
- myFrameworkRouter.push(path);
150
- }
179
+ const rootRoute = createRootRoute({ component: Layout });
180
+
181
+ // Convert XMachines :param to TanStack $param format
182
+ const tanstackRoutes = routes.map((route) => {
183
+ const tanstackPath = route.fullPath.replace(/:(\w+)/g, "$$$1");
184
+ return createRoute({ getParentRoute: () => rootRoute, path: tanstackPath, component: () => <div /> });
151
185
  });
152
186
 
153
- // 4. Framework-specific rendering
154
- // Preact:
155
- import { h } from 'preact';
156
- const view = actor.currentView.get();
157
- render(h(components[view.component], viewProps), container);
187
+ const router = createRouter({ routeTree: rootRoute.addChildren(tanstackRoutes) });
158
188
 
159
- // Solid:
160
- import { Dynamic } from 'solid-js/web';
161
- <Dynamic component={components[view.component]} {...viewProps} />
189
+ function Layout() {
190
+ onCleanup(() => { actor.stop(); });
162
191
 
163
- // Vue 3:
164
- import { h, resolveComponent } from 'vue';
165
- h(resolveComponent(view.component), viewProps)
192
+ return (
193
+ <PlayRouterProvider
194
+ actor={actor}
195
+ router={router}
196
+ routeMap={routeMap}
197
+ renderer={(currentActor, currentRouter) => (
198
+ <Shell actor={currentActor} router={currentRouter} registry={registry} />
199
+ )}
200
+ />
201
+ );
202
+ }
203
+
204
+ export default function App() {
205
+ return <RouterProvider router={router} />;
206
+ }
166
207
  ```
167
208
 
168
- ### Benefits
209
+ ### Vue + Vue Router (`@xmachines/play-vue-router`)
210
+
211
+ ```html
212
+ <!-- App.vue -->
213
+ <template>
214
+ <PlayRouterProvider
215
+ :actor="actor"
216
+ :route-map="routeMap"
217
+ :router="router"
218
+ :renderer="renderShell"
219
+ />
220
+ </template>
221
+
222
+ <script setup lang="ts">
223
+ import { h, inject } from "vue";
224
+ import { createRouter, createWebHistory } from "vue-router";
225
+ import { PlayRouterProvider, createRouteMap } from "@xmachines/play-vue-router";
226
+ import { defineRegistry } from "@xmachines/play-vue";
227
+ import { authMachine, authCatalog } from "@xmachines/play-actor-shared";
228
+
229
+ const actor = inject("actor");
230
+
231
+ const routeMap = createRouteMap(authMachine);
232
+
233
+ const router = createRouter({
234
+ history: createWebHistory(),
235
+ routes: [
236
+ {
237
+ path: "/:pathMatch(.*)*",
238
+ name: "xmachines-play",
239
+ component: { render: () => h("div") },
240
+ },
241
+ ],
242
+ });
243
+
244
+ const { registry } = defineRegistry(authCatalog, {
245
+ components: {/* ...your Vue SFC components */},
246
+ actions: { login: async () => {}, logout: async () => {} /* ... */ },
247
+ });
248
+
249
+ const renderShell = (currentActor, currentRouter) =>
250
+ h(Shell, { actor: currentActor, router: currentRouter, registry });
251
+ </script>
252
+ ```
169
253
 
170
- - Works with any JSX framework
171
- - Manual control over routing integration
172
- - No React dependency
173
- - Same actor/signal API
254
+ ## Pattern 2: `connectRouter` Pattern
174
255
 
175
- ## Mode 3: Pure Browser (jQuery, Alpine, Vanilla JS)
256
+ Used by vanilla DOM and Svelte adapters. Call `connectRouter` directly after creating the actor — no provider component needed.
176
257
 
177
- Manual browser integration with no framework.
258
+ ### Vanilla DOM (`@xmachines/play-dom-router`)
178
259
 
179
260
  ```typescript
180
- import { createPlayRouter, connectRouter } from "@xmachines/play-router";
181
-
182
- // 1. Create actor
261
+ import {
262
+ createBrowserHistory,
263
+ createRouter,
264
+ connectRouter,
265
+ createRouteMap,
266
+ } from "@xmachines/play-dom-router";
267
+ import { extractMachineRoutes } from "@xmachines/play-router";
268
+ import { definePlayer } from "@xmachines/play-xstate";
269
+ import { createPlayUI, defineRegistry } from "@xmachines/play-dom";
270
+ import { authMachine, authCatalog } from "@xmachines/play-actor-shared";
271
+
272
+ const createPlayer = definePlayer({ machine: authMachine });
183
273
  const actor = createPlayer();
274
+ actor.start();
184
275
 
185
- // 2. Connect router with browser integration
186
- const disconnect = connectRouter(actor, {
187
- onNavigate: (path) => {
188
- // Update browser history
189
- window.history.pushState({}, "", path);
190
- renderView();
191
- },
192
- });
276
+ // Router setup
277
+ const routeTree = extractMachineRoutes(authMachine);
278
+ const routeMap = createRouteMap(authMachine);
279
+ const history = createBrowserHistory({ window });
280
+ const router = createRouter({ routeTree, history });
193
281
 
194
- // 3. Manual rendering
195
- function renderView() {
196
- const view = actor.currentView.get();
197
-
198
- // Vanilla JS rendering
199
- if (view.component === "HomeView") {
200
- document.getElementById("app").innerHTML = `
201
- <h1>Home</h1>
202
- <button onclick="navigateToAbout()">Go to About</button>
203
- `;
204
- } else if (view.component === "AboutView") {
205
- document.getElementById("app").innerHTML = `
206
- <h1>About</h1>
207
- <button onclick="navigateToHome()">Go to Home</button>
208
- `;
209
- }
210
- }
282
+ // connectRouter handles bidirectional sync:
283
+ // - actor.currentRoute changes → browser URL updated
284
+ // - browser URL changes → play.route event sent to actor
285
+ const disconnect = connectRouter({ actor, router, routeMap });
211
286
 
212
- // 4. Listen to browser back/forward
213
- window.addEventListener("popstate", () => {
214
- const path = window.location.pathname;
215
- actor.send({ type: "play.route", to: path });
287
+ // Renderer setup
288
+ const registryResult = defineRegistry(authCatalog, {
289
+ components: {/* ...your DOM components */},
290
+ });
291
+ const mount = createPlayUI(registryResult);
292
+ const disconnectRenderer = mount(actor, document.getElementById("app")!);
293
+
294
+ // Cleanup
295
+ window.addEventListener("beforeunload", () => {
296
+ disconnect();
297
+ router.destroy();
298
+ disconnectRenderer();
299
+ actor.stop();
216
300
  });
301
+ ```
217
302
 
218
- // 5. Manual event handlers
219
- function navigateToAbout() {
220
- actor.send({ type: "play.route", to: "/about" });
221
- }
303
+ ### SvelteKit (`@xmachines/play-sveltekit-router`)
222
304
 
223
- function navigateToHome() {
224
- actor.send({ type: "play.route", to: "/" });
225
- }
305
+ ```typescript
306
+ // lib/router.ts
307
+ import { defineRegistry } from "@xmachines/play-svelte";
308
+ import { authCatalog, authMachine } from "@xmachines/play-actor-shared";
309
+ import { definePlayer } from "@xmachines/play-xstate";
310
+ import { connectRouter, createRouteMap } from "@xmachines/play-sveltekit-router";
311
+
312
+ const createDemoPlayer = definePlayer({ machine: authMachine });
226
313
 
227
- // Start
314
+ const { registry } = defineRegistry(authCatalog, {
315
+ components: {/* ...your Svelte components */},
316
+ actions: { login: async () => {}, logout: async () => {} /* ... */ },
317
+ });
318
+
319
+ export const actor = createDemoPlayer();
228
320
  actor.start();
229
- renderView();
321
+
322
+ export const routeMap = createRouteMap(authMachine);
323
+ export const disconnectRouter = connectRouter({ actor, routeMap });
324
+ ```
325
+
326
+ ```html
327
+ <!-- App.svelte -->
328
+ <script lang="ts">
329
+ import Shell from "./Shell.svelte";
330
+ import { actor, registry } from "./lib/router.js";
331
+ </script>
332
+
333
+ <Shell {actor} {registry} />
230
334
  ```
231
335
 
232
- ### Benefits
336
+ ### Svelte SPA Router (`@xmachines/play-svelte-spa-router`)
337
+
338
+ ```typescript
339
+ // lib/router.ts — identical pattern to SvelteKit, different import
340
+ import { connectRouter, createRouteMap } from "@xmachines/play-svelte-spa-router";
341
+ import { definePlayer } from "@xmachines/play-xstate";
342
+ import { authMachine } from "@xmachines/play-actor-shared";
343
+
344
+ const createDemoPlayer = definePlayer({ machine: authMachine });
345
+
346
+ export const actor = createDemoPlayer();
347
+ actor.start();
348
+
349
+ export const routeMap = createRouteMap(authMachine);
350
+ export const disconnectRouter = connectRouter({ actor, routeMap });
351
+ ```
233
352
 
234
- - No framework dependency at all
235
- - Maximum control and flexibility
236
- - Works with jQuery, Alpine.js, HTMX, etc.
237
- - Signals available via `actor.currentView.get()`
353
+ ## Adapter Summary
238
354
 
239
- ## Provider API Parallelism
355
+ | Package | Framework | Pattern | Key Import |
356
+ | --------------------------------------- | --------------------- | --------------- | ------------------------------------------------------------------------- |
357
+ | `@xmachines/play-dom-router` | Vanilla DOM | `connectRouter` | `connectRouter`, `createRouteMap`, `createBrowserHistory`, `createRouter` |
358
+ | `@xmachines/play-react-router` | React Router v7 | Provider | `PlayRouterProvider`, `createRouteMapFromTree` |
359
+ | `@xmachines/play-tanstack-react-router` | TanStack React Router | Provider | `PlayRouterProvider`, `createRouteMapFromTree` |
360
+ | `@xmachines/play-solid-router` | SolidJS Router | Provider | `PlayRouterProvider`, `createRouteMap` |
361
+ | `@xmachines/play-tanstack-solid-router` | TanStack Solid Router | Provider | `PlayRouterProvider`, `createRouteMap` |
362
+ | `@xmachines/play-vue-router` | Vue Router | Provider | `PlayRouterProvider`, `createRouteMap` |
363
+ | `@xmachines/play-sveltekit-router` | SvelteKit | `connectRouter` | `connectRouter`, `createRouteMap` |
364
+ | `@xmachines/play-svelte-spa-router` | Svelte SPA Router | `connectRouter` | `connectRouter`, `createRouteMap` |
240
365
 
241
- All three modes follow the same pattern:
366
+ ## Renderer Packages
242
367
 
243
- | Concept | TanStack Mode | Vanilla Mode | Pure Browser Mode |
244
- | ----------- | ---------------------------------- | ------------------------------------ | -------------------------- |
245
- | Actor | `createPlayer()` | `createPlayer()` | `createPlayer()` |
246
- | Router | `createRouter()` (TanStack) | `createPlayRouter()` | `connectRouter()` |
247
- | Integration | `<PlayTanStackRouterProvider>` | Manual via `onNavigate` callback | Manual + `window.popstate` |
248
- | Rendering | `<PlayRenderer>` via renderer prop | Framework-specific (h, Dynamic, etc) | `innerHTML` or DOM API |
249
- | Events | Component `onClick` → `send()` | Same | Same |
250
- | Signals | Observed by `useSignalEffect` | Manual `actor.currentView.get()` | Same |
368
+ Each framework also has a companion renderer package for the view layer:
251
369
 
252
- The API parallelism ensures consistent patterns regardless of mode.
370
+ | Package | Framework | Key API |
371
+ | ------------------------ | ----------- | -------------------------------------------------- |
372
+ | `@xmachines/play-dom` | Vanilla DOM | `createPlayUI`, `createRenderer`, `defineRegistry` |
373
+ | `@xmachines/play-react` | React | `PlayRenderer`, `defineRegistry` |
374
+ | `@xmachines/play-solid` | SolidJS | `PlayRenderer`, `defineRegistry` |
375
+ | `@xmachines/play-vue` | Vue 3 | `PlayRenderer`, `defineRegistry` |
376
+ | `@xmachines/play-svelte` | Svelte 5 | `PlayRenderer`, `defineRegistry` |
253
377
 
254
378
  ## Architectural Invariants
255
379
 
256
- All three modes preserve the 5 architectural invariants:
380
+ All adapters preserve the 5 architectural invariants:
257
381
 
258
- 1. **Actor Authority (INV-01):** Guards validate all navigation across all modes
382
+ 1. **Actor Authority (INV-01):** Machine guards validate all navigation
259
383
  2. **Strict Separation (INV-02):** Business logic (machine) has zero framework imports
260
- 3. **Signal-Only Reactivity (INV-05):** TC39 Signals work identically in all modes
384
+ 3. **State-Driven Reset (INV-03):** Browser back/forward sends `play.route` events to actor
261
385
  4. **Passive Infrastructure (INV-04):** Router observes actor, never decides
262
- 5. **State-Driven Reset (INV-03):** Browser back/forward sends events to actor
386
+ 5. **Signal-Only Reactivity (INV-05):** TC39 Signals work identically in all adapters
263
387
 
264
388
  ## Next Steps
265
389
 
266
- - **[Routing Patterns](./routing-patterns.md)** - Learn play.route events with parameters
267
- - **[Integration Example](./src/integration-example.ts)** - Complete authentication flow
268
- - **[React + TanStack Router Demo](../../packages/play-tanstack-react-router/examples/demo-app/)** - Production example using TanStack mode
269
- - **[Vue Router Demo](../../packages/play-vue-router/examples/demo/)** - Vue Composition API integration
270
- - **[SolidJS Router Demo](../../packages/play-solidjs-router/examples/demo/)** - Solid signals integration
390
+ - **[Routing Patterns](./routing-patterns.md)** `meta.route`, `play.route`, `always` guards
391
+ - **[Examples Index](./README.md)** Complete catalog of runnable demos
271
392
 
272
393
  ## Learn More
273
394
 
274
- - [play-tanstack-router README](../../packages/play-tanstack-react-router/README.md) - TanStack integration details
275
- - [play-react README](../../packages/play-react/README.md) - React renderer documentation
276
- - [play-router README](../../packages/play-router/README.md) - Framework-agnostic routing
277
- - [RFC Play v1](https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md) - Complete specification
395
+ - [Play RFC](../rfc/play.md) Complete architectural specification
396
+ - [play-router](../api/@xmachines/play-router/README.md) Route extraction and route maps
397
+ - [play-dom-router](../api/@xmachines/play-dom-router/README.md) Vanilla DOM router adapter