@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
@@ -0,0 +1,9 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / AuthCatalog
2
+
3
+ # Type Alias: AuthCatalog
4
+
5
+ ```ts
6
+ type AuthCatalog = typeof authCatalog;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/catalog.ts#L6)
@@ -0,0 +1,12 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / About
2
+
3
+ # Variable: About
4
+
5
+ ```ts
6
+ const About: ComponentFn<AuthCatalog, "About">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/About.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/About.ts#L8)
10
+
11
+ About — Public information page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'About'>). Renders static content from props.
@@ -0,0 +1,12 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Contact
2
+
3
+ # Variable: Contact
4
+
5
+ ```ts
6
+ const Contact: ComponentFn<AuthCatalog, "Contact">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Contact.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Contact.ts#L8)
10
+
11
+ Contact — Public contact page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Contact'>). Renders static content from props.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Dashboard
2
+
3
+ # Variable: Dashboard
4
+
5
+ ```ts
6
+ const Dashboard: ComponentFn<AuthCatalog, "Dashboard">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Dashboard.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Dashboard.ts#L9)
10
+
11
+ Dashboard — Protected authenticated home. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Dashboard'>). Renders welcome message; logout
13
+ button emits 'logout' action.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Home
2
+
3
+ # Variable: Home
4
+
5
+ ```ts
6
+ const Home: ComponentFn<AuthCatalog, "Home">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Home.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Home.ts#L9)
10
+
11
+ Home — Public landing page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Home'>). Renders static welcome content from
13
+ props.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Login
2
+
3
+ # Variable: Login
4
+
5
+ ```ts
6
+ const Login: ComponentFn<AuthCatalog, "Login">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Login.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Login.ts#L9)
10
+
11
+ Login — Authentication form. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Login'>). Binds username input to ctx.store via
13
+ $bindState; emits 'submit' on form submit.
@@ -0,0 +1,16 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / NavBarView
2
+
3
+ # Variable: NavBarView
4
+
5
+ ```ts
6
+ const NavBarView: ComponentFn<AuthCatalog, "NavBar">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/NavBarView.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/NavBarView.ts#L12)
10
+
11
+ NavBarView — Catalog-typed NavBar component for DOM renderer.
12
+
13
+ Receives props from spec (isAuthenticated, username) and renders a static nav element.
14
+ Used in the defineRegistry components map.
15
+
16
+ The actor-driven NavBar (createNavBar) is mounted at the shell level.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Navigation
2
+
3
+ # Variable: Navigation
4
+
5
+ ```ts
6
+ const Navigation: ComponentFn<AuthCatalog, "Navigation">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Navigation.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Navigation.ts#L9)
10
+
11
+ Navigation — Navigation status display. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Navigation'>). Renders current path and auth
13
+ status from props.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Overview
2
+
3
+ # Variable: Overview
4
+
5
+ ```ts
6
+ const Overview: ComponentFn<AuthCatalog, "Overview">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Overview.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Overview.ts#L9)
10
+
11
+ Overview — Dashboard overview child route. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Overview'>). Relative route resolves to
13
+ /dashboard/overview. Logout and goToStats buttons emit actions.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Profile
2
+
3
+ # Variable: Profile
4
+
5
+ ```ts
6
+ const Profile: ComponentFn<AuthCatalog, "Profile">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Profile.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Profile.ts#L9)
10
+
11
+ Profile — Protected user profile page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Profile'>). Renders username from route params
13
+ filled into props.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Settings
2
+
3
+ # Variable: Settings
4
+
5
+ ```ts
6
+ const Settings: ComponentFn<AuthCatalog, "Settings">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Settings.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Settings.ts#L9)
10
+
11
+ Settings — Protected settings page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Settings'>). Renders active section and username
13
+ from props.
@@ -0,0 +1,13 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / Stats
2
+
3
+ # Variable: Stats
4
+
5
+ ```ts
6
+ const Stats: ComponentFn<AuthCatalog, "Stats">;
7
+ ```
8
+
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Stats.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/components/Stats.ts#L9)
10
+
11
+ Stats — Dashboard stats child route. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Stats'>). Relative route resolves to
13
+ /dashboard/stats. goToOverview button emits action.
@@ -0,0 +1,172 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-dom-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-dom/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-dom/examples/demo/src/catalog.ts#L5)
@@ -0,0 +1,145 @@
1
+ [Examples](../../README.md) / @xmachines/play-dom-router-demo
2
+
3
+ <!-- generated-by: gsd-doc-writer -->
4
+
5
+ # @xmachines/play-dom-router-demo
6
+
7
+ Pure TypeScript integration demo for [`@xmachines/play-dom-router`](../../../api/@xmachines/play-dom-router/README.md) — actor-authoritative routing with the Browser History API and no framework.
8
+
9
+ ## What This Demonstrates
10
+
11
+ - Shared auth machine reused without framework-specific business logic
12
+ - `connectRouter` + `createBrowserHistory` wiring actor ↔ browser History API
13
+ - Shell-driven DOM rendering via `connectRenderer` with actor-authoritative navigation
14
+ - Manual TC39 Signal watcher lifecycle — the mechanism that framework adapters abstract
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-dom-router-demo run dev
24
+ ```
25
+
26
+ Then open `http://localhost:3005`.
27
+
28
+ ## Step-by-Step Code Flow
29
+
30
+ Use this order to understand the implementation:
31
+
32
+ 1. `src/main.ts` looks up the host element (throws if absent), calls `initApp(app)` from `src/runtime.ts`, and registers unload cleanup.
33
+ 2. `src/runtime.ts` creates the actor from the shared machine via `definePlayer`, starts it, initializes router sync via `initRouter(actor)`, mounts the shared DOM shell via `initShell(actor, host)`, and returns one cleanup function.
34
+ 3. `initRouter(actor)` from `src/router.ts` extracts route metadata, creates a browser history wrapper, instantiates a router, and calls `connectRouter` to wire bidirectional actor ↔ URL sync.
35
+ 4. `initShell(actor, host)` is imported from `@xmachines/play-dom-demo`, so the router demo reuses the shared DOM shell instead of duplicating the scaffold and renderer wiring.
36
+ 5. Navigation buttons and links dispatch `play.route`, `auth.login`, and `auth.logout` events directly to the actor — no URL mutations from the shell.
37
+ 6. Browser tests in `test/browser/` validate startup rendering and the full auth route flow.
38
+
39
+ ```ts
40
+ // src/main.ts (shape)
41
+ const app = document.getElementById("app");
42
+ if (!app) throw new Error("Root element not found");
43
+
44
+ const cleanup = initApp(app);
45
+
46
+ window.addEventListener("beforeunload", () => {
47
+ cleanup();
48
+ });
49
+ ```
50
+
51
+ ```ts
52
+ // src/router.ts (shape)
53
+ export function initRouter(actor) {
54
+ const routeTree = extractMachineRoutes(authMachine);
55
+ const routeMap = createRouteMap(authMachine);
56
+ const history = createBrowserHistory({ window });
57
+ const router = createRouter({ routeTree, history });
58
+ const disconnect = connectRouter({ actor, router, routeMap });
59
+
60
+ return () => {
61
+ disconnect();
62
+ router.destroy();
63
+ };
64
+ }
65
+ ```
66
+
67
+ ```ts
68
+ // src/runtime.ts (shape)
69
+ export function initApp(host: HTMLElement): () => void {
70
+ const createPlayer = definePlayer({ machine: authMachine });
71
+ const actor = createPlayer();
72
+ actor.start();
73
+
74
+ const cleanupRouter = initRouter(actor);
75
+ const cleanupShell = initShell(actor, host);
76
+
77
+ return () => {
78
+ cleanupShell();
79
+ cleanupRouter();
80
+ actor.stop();
81
+ };
82
+ }
83
+ ```
84
+
85
+ ## Key Files
86
+
87
+ - `src/main.ts` - host lookup, app bootstrap, and unload cleanup
88
+ - `src/runtime.ts` - actor startup, router initialization, and shared shell wiring
89
+ - `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
90
+ - `@xmachines/play-dom-demo` - shared DOM shell, NavBar, DebugPanel, and renderer wiring reused by this router demo
91
+ - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
92
+ - `test/browser/shared-demo.browser.test.ts` - startup rendering and full auth route browser flow
93
+
94
+ ## State Machine & Architecture Details
95
+
96
+ The demo utilizes XMachines architectural invariants at the lowest level:
97
+
98
+ 1. **Actor Authority:** Intercepting browser `popstate` events or navigation button clicks dispatches a `play.route` event to the actor. The actor processes the request against the current state, ensuring any auth logic is correctly applied.
99
+ 2. **Passive Infrastructure:** The router simply updates `window.history` and the DOM solely renders HTML based on what `actor.currentView` yields. Neither holds business state.
100
+ 3. **Signal-Only Reactivity:** The integration registers `watchSignal` observers that trigger DOM reconciliation, illustrating the underlying mechanism that framework adapters abstract.
101
+
102
+ ## Watcher Lifecycle and Cleanup Contract
103
+
104
+ Even in the vanilla demo, watcher handling follows the canonical lifecycle:
105
+
106
+ 1. `notify`
107
+ 2. `queueMicrotask`
108
+ 3. `getPending()`
109
+ 4. Read actor signals and project DOM state
110
+ 5. Re-arm with `watch()`/`watch(...signals)`
111
+
112
+ Watcher notifications are one-shot, so re-arm is mandatory. Router/shell teardown must explicitly call cleanup (`disconnect`/`unwatch`) and not rely on GC-only behavior. In vanilla TypeScript, this means retaining cleanup functions and calling them on `beforeunload` or during hot-module replacement.
113
+
114
+ ## Adapter Boundaries
115
+
116
+ `connectRouter` and browser-history wiring (from [`@xmachines/play-dom-router`](../../../api/@xmachines/play-dom-router/README.md)) are passive infrastructure. Actor logic remains authoritative for route validity, and shared synchronization policy stays in `RouterBridgeBase` for framework bridges. This demo proves frameworks are not required for Play Architecture to work.
117
+
118
+ ## Available Scripts
119
+
120
+ These commands are defined in `package.json`:
121
+
122
+ | Command | Description |
123
+ | ---------------------------------------------------------------- | ---------------------------------------------- |
124
+ | `pnpm --filter @xmachines/play-dom-router-demo run dev` | Start Vite dev server (http://localhost:3005/) |
125
+ | `pnpm --filter @xmachines/play-dom-router-demo run build` | Build production bundle |
126
+ | `pnpm --filter @xmachines/play-dom-router-demo run preview` | Preview built bundle |
127
+ | `pnpm --filter @xmachines/play-dom-router-demo run test` | Run Vitest test suite |
128
+ | `pnpm --filter @xmachines/play-dom-router-demo run test:browser` | Run browser-focused Vitest suite |
129
+
130
+ ## Verification
131
+
132
+ Use these checks to validate README claims against the current demo implementation:
133
+
134
+ ```bash
135
+ pnpm --filter @xmachines/play-dom-router-demo run test
136
+ pnpm --filter @xmachines/play-dom-router-demo run test:browser
137
+ ```
138
+
139
+ Expected result: tests pass, including startup rendering and the full browser auth flow in `test/browser/`.
140
+
141
+ ## Learn More
142
+
143
+ - [Play DOM Router](../../../api/@xmachines/play-dom-router/README.md)
144
+ - [Play DOM](../play-dom-demo/README.md)
145
+ - [Play Router](../../../api/@xmachines/play-router/README.md)
@@ -0,0 +1,187 @@
1
+ [Examples](../../README.md) / @xmachines/play-react-demo
2
+
3
+ <!-- generated-by: gsd-doc-writer -->
4
+
5
+ # @xmachines/play-react-demo
6
+
7
+ React renderer demo for [`@xmachines/play-react`](../../../api/@xmachines/play-react/README.md) — actor + `PlayRenderer` without a router.
8
+
9
+ ## What This Demonstrates
10
+
11
+ - Shared auth machine reused without framework-specific business logic
12
+ - `PlayRenderer` rendering actor-projected views with a typed `defineRegistry` catalog
13
+ - Auth machine states drive view switching via `auth.login` / `auth.logout` events only — no `play.route` routing
14
+ - Canonical TC39 Signals lifecycle surfaced through React's rendering model
15
+ - Non-browser invariant tests plus browser renderer coverage
16
+
17
+ ## Running the Demo
18
+
19
+ From the repository root:
20
+
21
+ ```bash
22
+ pnpm install
23
+ pnpm --filter @xmachines/play-react-demo run dev
24
+ ```
25
+
26
+ Then open `http://localhost:3001`.
27
+
28
+ ## Step-by-Step Code Flow
29
+
30
+ Use this order to understand the implementation:
31
+
32
+ 1. `src/main.tsx` mounts `<App />`.
33
+ 2. `src/App.tsx` creates the actor at module scope via `definePlayer({ machine: authMachine })()` — created once when the module is first evaluated.
34
+ 3. `defineRegistry(authCatalog, { components, actions })` builds the typed `registryResult` — real async action handlers dispatching to `actor.send()`.
35
+ 4. `<PlayUIProvider actor={actor} registryResult={registryResult}><PlayRenderer /></PlayUIProvider>` observes `actor.currentView` and renders the active spec.
36
+ 5. A `NavBar` component observes `actor` signals directly for nav visibility.
37
+ 6. `<DebugPanel actor={actor} />` shows live state, auth status, and current route.
38
+ 7. Browser tests in `test/browser/` validate startup and interaction behavior.
39
+
40
+ ```tsx
41
+ // src/main.tsx (shape)
42
+ createRoot(document.getElementById("root")!).render(<App />);
43
+ ```
44
+
45
+ ```tsx
46
+ // src/App.tsx (shape)
47
+ // Both actor and registryResult are module-scope singletons — created once,
48
+ // never recreated, no useMemo needed inside the component.
49
+ const actor: AuthActor = definePlayer({ machine: authMachine })();
50
+ actor.start();
51
+
52
+ const registryResult = defineRegistry(authCatalog, {
53
+ components: {
54
+ Home,
55
+ About,
56
+ Contact,
57
+ Login,
58
+ Dashboard,
59
+ Overview,
60
+ Stats,
61
+ Profile,
62
+ Settings,
63
+ Navigation,
64
+ NavBar: NavBarView,
65
+ },
66
+ actions: {
67
+ login: async (args) =>
68
+ actor.send({
69
+ type: "auth.login",
70
+ username: assertNonNullable(args, "args").username,
71
+ }),
72
+ logout: async () => actor.send({ type: "auth.logout" }),
73
+ route: async (args) => {
74
+ const { to, params } = assertNonNullable(args, "args");
75
+ actor.send({
76
+ type: "play.route",
77
+ to,
78
+ ...(params != null && { params }),
79
+ });
80
+ },
81
+ },
82
+ });
83
+
84
+ export function App() {
85
+ return (
86
+ <div className="demo-app" data-demo-shell>
87
+ <header className="demo-header">
88
+ <h1 className="demo-title">XMachines Play React Demo</h1>
89
+ <NavBar actor={actor} />
90
+ </header>
91
+ <main className="demo-content" data-demo-content>
92
+ <PlayUIProvider actor={actor} registryResult={registryResult}>
93
+ <PlayRenderer />
94
+ </PlayUIProvider>
95
+ </main>
96
+ <DebugPanel actor={actor} />
97
+ </div>
98
+ );
99
+ }
100
+ ```
101
+
102
+ ## Key Files
103
+
104
+ - `src/main.tsx` - React entry point that mounts `<App />`
105
+ - `src/App.tsx` - actor lifecycle, registry construction, and `PlayUIProvider` + `PlayRenderer` composition
106
+ - `src/catalog.ts` - catalog definition using `defineCatalog` from `@xmachines/json-render-core` with `@xmachines/json-render-react/schema`
107
+ - `src/components/` - demo view components bound to catalog component keys (Home, Login, Dashboard, Profile, etc.)
108
+ - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
109
+ - `test/browser/renderer-demo.browser.test.tsx` - browser-mode renderer coverage
110
+
111
+ ## State Machine & Architecture Details
112
+
113
+ The demo utilizes XMachines architectural invariants:
114
+
115
+ 1. **Actor Authority:** View components dispatch `auth.login` and `auth.logout` events to the actor. The actor evaluates guards and transitions — React never decides which view to render.
116
+ 2. **Passive Infrastructure:** `PlayRenderer` observes `actor.currentView` signals only. It holds no business state and makes no routing decisions.
117
+ 3. **Signal-Only Reactivity:** The bridge leverages React's rendering model to react precisely when actor signals update, without polluting the component tree with `useState` or `useEffect` for business logic.
118
+
119
+ ## Watcher Lifecycle and Cleanup Contract
120
+
121
+ This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
122
+
123
+ 1. `notify`
124
+ 2. `queueMicrotask`
125
+ 3. `getPending()`
126
+ 4. Read actor signals and project React render state
127
+ 5. Re-arm with `watch()`/`watch(...signals)`
128
+
129
+ Watcher notifications are one-shot. Cleanup is explicit: `actor.stop()` is called on component unmount via `useEffect`, and `PlayRenderer` handles internal watcher teardown natively.
130
+
131
+ ## Adapter Boundaries
132
+
133
+ `PlayRenderer` and `defineRegistry` stay passive infrastructure. Business validity remains actor-owned. The registry maps catalog component keys to React component implementations — the actor owns which key is active. The demo intentionally omits URL routing to isolate the renderer contract.
134
+
135
+ ## Available Scripts
136
+
137
+ These commands are defined in `package.json`:
138
+
139
+ | Command | Description |
140
+ | ----------------------------------------------------------- | ---------------------------------------------- |
141
+ | `pnpm --filter @xmachines/play-react-demo run dev` | Start Vite dev server (http://localhost:3001/) |
142
+ | `pnpm --filter @xmachines/play-react-demo run build` | Build production bundle |
143
+ | `pnpm --filter @xmachines/play-react-demo run preview` | Preview built bundle |
144
+ | `pnpm --filter @xmachines/play-react-demo run test` | Run Vitest test suite |
145
+ | `pnpm --filter @xmachines/play-react-demo run test:browser` | Run browser-focused Vitest suite |
146
+
147
+ ## Verification
148
+
149
+ Use these checks to validate README claims against the current demo implementation:
150
+
151
+ ```bash
152
+ pnpm --filter @xmachines/play-react-demo run test
153
+ pnpm --filter @xmachines/play-react-demo run test:browser
154
+ ```
155
+
156
+ Expected result: library-pattern invariant tests pass and the browser renderer suite completes.
157
+
158
+ ## Learn More
159
+
160
+ - [play-react](../../../api/@xmachines/play-react/README.md)
161
+ - [React Router demo](../play-react-router-demo/README.md)
162
+
163
+ ## Type Aliases
164
+
165
+ - [AuthCatalog](type-aliases/AuthCatalog.md)
166
+
167
+ ## Variables
168
+
169
+ - [About](variables/About.md)
170
+ - [authCatalog](variables/authCatalog.md)
171
+ - [Contact](variables/Contact.md)
172
+ - [Dashboard](variables/Dashboard.md)
173
+ - [DebugPanel](variables/DebugPanel.md)
174
+ - [Home](variables/Home.md)
175
+ - [Login](variables/Login.md)
176
+ - [NavBar](variables/NavBar.md)
177
+ - [NavBarView](variables/NavBarView.md)
178
+ - [Navigation](variables/Navigation.md)
179
+ - [Overview](variables/Overview.md)
180
+ - [Profile](variables/Profile.md)
181
+ - [Settings](variables/Settings.md)
182
+ - [Shell](variables/Shell.md)
183
+ - [Stats](variables/Stats.md)
184
+
185
+ ## Functions
186
+
187
+ - [App](functions/App.md)