@xmachines/docs 5.0.0 → 5.0.2

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 (524) hide show
  1. package/README.md +1 -1
  2. package/api/@xmachines/play/README.md +2 -2
  3. package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/errors/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/index/functions/asCleanup.md +1 -1
  6. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  7. package/api/@xmachines/play/index/functions/shallowEqualExcept.md +1 -1
  8. package/api/@xmachines/play/index/type-aliases/Cleanup.md +1 -1
  9. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +1 -1
  10. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
  11. package/api/@xmachines/play/index/variables/DISPOSE.md +1 -1
  12. package/api/@xmachines/play-actor/README.md +1 -1
  13. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
  14. package/api/@xmachines/play-actor/interfaces/PlayActor.md +3 -3
  15. package/api/@xmachines/play-atom/README.md +2 -2
  16. package/api/@xmachines/play-atom/functions/watchAtom.md +1 -1
  17. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +2 -2
  18. package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
  19. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +4 -4
  20. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +2 -2
  21. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  22. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
  23. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
  24. package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
  25. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
  26. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  27. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
  28. package/api/@xmachines/play-atom/type-aliases/Cleanup.md +1 -1
  29. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
  30. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  31. package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
  32. package/api/@xmachines/play-dom/README.md +1 -1
  33. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  34. package/api/@xmachines/play-dom/functions/asCleanup.md +1 -1
  35. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  36. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  37. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +3 -3
  38. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  39. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +6 -6
  40. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +1 -1
  41. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  42. package/api/@xmachines/play-dom-router/README.md +8 -5
  43. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  44. package/api/@xmachines/play-dom-router/classes/RouteMap.md +4 -4
  45. package/api/@xmachines/play-dom-router/functions/asCleanup.md +1 -1
  46. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  47. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  48. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  49. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
  50. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +15 -15
  51. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  52. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +8 -8
  53. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
  54. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  55. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  56. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +4 -4
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +7 -7
  60. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +5 -5
  61. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +1 -1
  62. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +1 -1
  63. package/api/@xmachines/play-pattern/README.md +1 -1
  64. package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
  65. package/api/@xmachines/play-pattern/functions/createPatternCache.md +1 -1
  66. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  67. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  68. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  69. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +4 -4
  70. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +3 -3
  71. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +7 -7
  72. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +2 -2
  73. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +12 -12
  74. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +3 -3
  75. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +4 -4
  76. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  77. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  78. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  79. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  80. package/api/@xmachines/play-react/README.md +2 -2
  81. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
  82. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  83. package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
  84. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  85. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  86. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  87. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  88. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  89. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  90. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  91. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  92. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  93. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  94. package/api/@xmachines/play-react-router/README.md +2 -2
  95. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  96. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  97. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  98. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  99. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  100. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +9 -9
  101. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +4 -4
  102. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
  103. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  104. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  105. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  106. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  107. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  108. package/api/@xmachines/play-router/README.md +2 -2
  109. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
  110. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
  111. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
  112. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
  113. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
  114. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
  115. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
  116. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
  117. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
  118. package/api/@xmachines/play-router/index/classes/RouteMap.md +4 -4
  119. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
  120. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  121. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
  122. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  123. package/api/@xmachines/play-router/index/functions/createPatternCache.md +1 -1
  124. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  125. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  126. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  127. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  128. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  129. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  130. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
  131. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  132. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  133. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  134. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  135. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
  136. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  137. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
  138. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  139. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  140. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  141. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  142. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  143. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  144. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  145. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  146. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +3 -3
  147. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
  148. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +3 -3
  149. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +7 -7
  150. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
  151. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +6 -6
  152. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +8 -8
  153. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +2 -2
  154. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +12 -12
  155. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +3 -3
  156. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
  157. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +9 -9
  158. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
  159. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
  160. package/api/@xmachines/play-router/index/interfaces/Routable.md +3 -3
  161. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +4 -4
  162. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
  163. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +4 -4
  164. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
  165. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
  166. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
  167. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
  168. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
  169. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  170. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
  171. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +5 -5
  172. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +7 -7
  173. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +5 -5
  174. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  175. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  176. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  177. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  178. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  179. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  180. package/api/@xmachines/play-router/index/variables/DISPOSE.md +1 -1
  181. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  182. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  183. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  184. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  185. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  186. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  187. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  188. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  189. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  190. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  191. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  192. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
  193. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
  194. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  195. package/api/@xmachines/play-solid/README.md +1 -1
  196. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  197. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  198. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  199. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  200. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  201. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  202. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  203. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  204. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  205. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  206. package/api/@xmachines/play-solid-router/README.md +2 -2
  207. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  208. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  209. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  210. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +3 -3
  211. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  212. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +9 -9
  213. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +4 -4
  214. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
  215. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  216. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  217. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  218. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  219. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  220. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  221. package/api/@xmachines/play-svelte/README.md +2 -2
  222. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  223. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  224. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  225. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  226. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  227. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  228. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
  229. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  230. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  231. package/api/@xmachines/play-svelte-spa-router/README.md +2 -2
  232. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  233. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  234. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  235. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
  236. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +8 -8
  237. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
  238. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +4 -4
  239. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
  240. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  241. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  242. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +7 -7
  243. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  244. package/api/@xmachines/play-sveltekit-router/README.md +2 -2
  245. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  246. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
  247. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  248. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
  249. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +8 -8
  250. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  251. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
  252. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +4 -4
  253. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
  254. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  255. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  256. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +7 -7
  257. package/api/@xmachines/play-tanstack-react-router/README.md +2 -2
  258. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  259. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  260. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  261. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  262. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  263. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +9 -9
  264. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +4 -4
  265. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
  266. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  267. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  268. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  269. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  270. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  271. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  272. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  273. package/api/@xmachines/play-tanstack-router/README.md +1 -1
  274. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  275. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  276. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  277. package/api/@xmachines/play-tanstack-solid-router/README.md +2 -2
  278. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  279. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  280. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  281. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  282. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +9 -9
  283. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +4 -4
  284. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
  285. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  286. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  287. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  288. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  289. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  290. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  291. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  292. package/api/@xmachines/play-url/README.md +1 -1
  293. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
  294. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
  295. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
  296. package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
  297. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  298. package/api/@xmachines/play-url/index/functions/createPatternCache.md +1 -1
  299. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  300. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
  301. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  302. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  303. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  304. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  305. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  306. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  307. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  308. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  309. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  310. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  311. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  312. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  313. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
  314. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +3 -3
  315. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +7 -7
  316. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +4 -4
  317. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +3 -3
  318. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +7 -7
  319. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +2 -2
  320. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +12 -12
  321. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +3 -3
  322. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +4 -4
  323. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
  324. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +5 -5
  325. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  326. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  327. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  328. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  329. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  330. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  331. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  332. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  333. package/api/@xmachines/play-view/README.md +1 -1
  334. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
  335. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
  336. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  337. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +1 -1
  338. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  339. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  340. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  341. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  342. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  343. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +1 -1
  344. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  345. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  346. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +5 -5
  347. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
  348. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
  349. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +2 -2
  350. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  351. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +3 -3
  352. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
  353. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +4 -4
  354. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +3 -3
  355. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +4 -4
  356. package/api/@xmachines/play-view/index/interfaces/Viewable.md +2 -2
  357. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  358. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  359. package/api/@xmachines/play-vue/README.md +2 -2
  360. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  361. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  362. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  363. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +6 -6
  364. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +9 -9
  365. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  366. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  367. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  368. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  369. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  370. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  371. package/api/@xmachines/play-vue-router/README.md +1 -1
  372. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
  373. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
  374. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +4 -4
  375. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  376. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
  377. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +4 -4
  378. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +4 -4
  379. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
  380. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  381. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +1 -1
  382. package/api/@xmachines/play-xstate/README.md +2 -2
  383. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
  384. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
  385. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
  386. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
  387. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
  388. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +7 -7
  389. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
  390. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
  391. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +11 -11
  392. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  393. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
  394. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
  395. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
  396. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +7 -7
  397. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  398. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  399. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  400. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +1 -1
  401. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
  402. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  403. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
  404. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  405. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  406. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
  407. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
  408. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  409. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  410. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  411. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  412. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  413. package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
  414. package/api/@xmachines/shared/README.md +1 -1
  415. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  416. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  417. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  418. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  419. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  420. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  421. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  422. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  423. package/contributing/configuration.md +2 -2
  424. package/contributing/deployment.md +23 -7
  425. package/contributing/development.md +1 -0
  426. package/contributing/migrating-to-play-atom.md +1 -1
  427. package/examples/@xmachines/play-dom-demo/README.md +44 -63
  428. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +35 -0
  429. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +27 -0
  430. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +2 -2
  431. package/examples/@xmachines/play-dom-demo/functions/initShell.md +7 -6
  432. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  433. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  434. package/examples/@xmachines/play-dom-demo/variables/Button.md +12 -0
  435. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  436. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  437. package/examples/@xmachines/play-dom-demo/variables/Field.md +19 -0
  438. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  439. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  440. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  441. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  442. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  443. package/examples/@xmachines/play-dom-demo/variables/Panel.md +14 -0
  444. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  445. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  446. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  447. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +190 -165
  448. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +30 -0
  449. package/examples/@xmachines/play-dom-router-demo/README.md +26 -34
  450. package/examples/@xmachines/play-react-demo/README.md +33 -57
  451. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +35 -0
  452. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  453. package/examples/@xmachines/play-react-demo/variables/About.md +2 -2
  454. package/examples/@xmachines/play-react-demo/variables/Button.md +12 -0
  455. package/examples/@xmachines/play-react-demo/variables/Contact.md +2 -2
  456. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +2 -2
  457. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +4 -3
  458. package/examples/@xmachines/play-react-demo/variables/Field.md +18 -0
  459. package/examples/@xmachines/play-react-demo/variables/Home.md +2 -2
  460. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  461. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  462. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  463. package/examples/@xmachines/play-react-demo/variables/Navigation.md +2 -2
  464. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  465. package/examples/@xmachines/play-react-demo/variables/Panel.md +15 -0
  466. package/examples/@xmachines/play-react-demo/variables/Profile.md +2 -2
  467. package/examples/@xmachines/play-react-demo/variables/Settings.md +2 -2
  468. package/examples/@xmachines/play-react-demo/variables/Shell.md +2 -1
  469. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  470. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +190 -165
  471. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +30 -0
  472. package/examples/@xmachines/play-react-router-demo/README.md +32 -32
  473. package/examples/@xmachines/play-solid-demo/README.md +33 -57
  474. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +35 -0
  475. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  476. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  477. package/examples/@xmachines/play-solid-demo/variables/Button.md +11 -0
  478. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  479. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  480. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +5 -3
  481. package/examples/@xmachines/play-solid-demo/variables/Field.md +11 -0
  482. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  483. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  484. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  485. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  486. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  487. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  488. package/examples/@xmachines/play-solid-demo/variables/Panel.md +11 -0
  489. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  490. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  491. package/examples/@xmachines/play-solid-demo/variables/Shell.md +2 -1
  492. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  493. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +114 -2
  494. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +30 -0
  495. package/examples/@xmachines/play-solid-router-demo/README.md +20 -23
  496. package/examples/@xmachines/play-svelte-demo/README.md +38 -44
  497. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +35 -0
  498. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  499. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +114 -2
  500. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +30 -0
  501. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +21 -27
  502. package/examples/@xmachines/play-sveltekit-router-demo/README.md +21 -27
  503. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +29 -31
  504. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +25 -27
  505. package/examples/@xmachines/play-vue-demo/README.md +36 -60
  506. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +35 -0
  507. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  508. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  509. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +114 -2
  510. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +11 -0
  511. package/examples/@xmachines/play-vue-router-demo/README.md +12 -23
  512. package/examples/form-validation.md +6 -3
  513. package/examples/multi-router-integration.md +6 -3
  514. package/examples/routing-patterns.md +6 -3
  515. package/guides/getting-started.md +8 -4
  516. package/package.json +2 -1
  517. package/examples/@xmachines/play-react-demo/functions/App.md +0 -13
  518. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +0 -20
  519. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +0 -20
  520. package/examples/@xmachines/play-react-demo/functions/Shell.md +0 -22
  521. package/examples/@xmachines/play-solid-demo/functions/App.md +0 -13
  522. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +0 -20
  523. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +0 -20
  524. package/examples/@xmachines/play-solid-demo/functions/Shell.md +0 -22
@@ -1,18 +1,24 @@
1
1
  [Examples](../../README.md) / @xmachines/play-svelte-demo
2
2
 
3
- <!-- generated-by: gsd-doc-writer -->
4
-
5
3
  # @xmachines/play-svelte-demo
6
4
 
7
5
  Svelte 5 renderer demo for [`@xmachines/play-svelte`](../../../api/@xmachines/play-svelte/README.md) — actor + `PlayRenderer` without a router.
8
6
 
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
9
  ## What This Demonstrates
10
10
 
11
11
  - Shared auth machine reused without framework-specific business logic
12
12
  - `PlayRenderer` rendering actor-projected views with a typed `defineRegistry` catalog
13
13
  - Auth machine states drive view switching via `auth.login` / `auth.logout` events only — no URL routing
14
- - Svelte 5 runes and `mount` API mapped to TC39 Signals lifecycle
14
+ - Svelte 5 runes and `mount` API mapped to atoms lifecycle
15
15
  - Non-browser invariant tests plus browser renderer coverage
16
+ - Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
17
+ - json-render 0.20 showcase pages driven purely by spec:
18
+ - **Overview** — two data planes side by side: `/context/tasks` (machine context via the read-only `/context` projection; `repeat` + `key`, `$item`-filtered lists, per-row actions sending inspectable machine events) next to ephemeral store state (`pushState`/`removeState`/`setState` built-ins driving filter chips and toggles that survive context updates)
19
+ - **Stats** — nested repeats (`repeat.statePath: { $item: "members" }`) over `/context/teams`
20
+ - **Settings** — declarative field validation, the `validateForm` built-in, a confirm-gated `resetForm` host action, and `onSuccess`/`onError` chains
21
+ - **Contact** — a chained named action: submit validates, then routes home on success or writes `"$error.message"` to state on failure
16
22
 
17
23
  ## Running the Demo
18
24
 
@@ -29,54 +35,49 @@ Then open `http://localhost:3003`.
29
35
 
30
36
  Use this order to understand the implementation:
31
37
 
32
- 1. `src/main.ts` calls `definePlayer({ machine: authMachine })` to create a factory, invokes it to get an actor, starts it, and mounts `App.svelte` via Svelte's `mount`.
38
+ 1. `src/main.ts` creates the page's inspector with `createDemoInspector()`, calls `definePlayer({ machine: authMachine, options: { inspect: inspector.inspect } })` to create a factory, invokes it to get an actor, starts it, and mounts `App.svelte` via Svelte's `mount` with both `actor` and `inspector` as props.
33
39
  2. The actor is passed to `App` as a prop.
34
40
  3. `src/App.svelte` calls `defineRegistry(authCatalog, { components, actions })` to build the typed `registryResult` — real async action handlers dispatching to `actor.send()`.
35
- 4. `App.svelte` delegates to `Shell.svelte`, passing both `actor` and `registryResult`.
36
- 5. `Shell.svelte` renders `<PlayUIProvider><PlayRenderer /></PlayUIProvider>`, `<NavBar>`, and `<DebugPanel>` — the latter two observe actor signals directly via `watchSignal` inside `$effect`.
41
+ 4. `App.svelte` delegates to `Shell.svelte`, passing `actor`, `registryResult`, and `inspector`.
42
+ 5. `Shell.svelte` renders `<PlayUIProvider><PlayRenderer /></PlayUIProvider>`, `<NavBar>`, and `<DebugPanel>` — the latter two observe actor atoms directly via `watchAtom` inside `$effect`, and the debug panel's **Show Inspector** button calls `inspector.show()`.
37
43
  6. HMR cleanup calls `actor.stop()` via `import.meta.hot.dispose`.
38
44
  7. Browser tests in `test/browser/` validate startup and interaction behavior.
39
45
 
40
46
  ```ts
41
47
  // src/main.ts (shape)
42
- const createPlayer = definePlayer({ machine: authMachine });
48
+ const inspector = createDemoInspector();
49
+ const createPlayer = definePlayer({
50
+ machine: authMachine,
51
+ options: { inspect: inspector.inspect },
52
+ actor: compose(PlayerActor, withRouting, withView),
53
+ });
43
54
  const actor = createPlayer();
44
55
  actor.start();
45
56
 
46
- mount(App, { target: document.getElementById("app")!, props: { actor } });
57
+ mount(App, { target: document.getElementById("app")!, props: { actor, inspector } });
47
58
  ```
48
59
 
49
60
  ```svelte
50
61
  <!-- src/App.svelte (shape) -->
51
62
  <script lang="ts">
52
- let { actor }: { actor: AuthActor } = $props();
63
+ import Shell from "./components/Shell.svelte";
64
+
65
+ let { actor, inspector }: { actor: AuthActor; inspector: DemoInspector } = $props();
53
66
 
54
67
  const registryResult = defineRegistry(authCatalog, {
55
- components: {
56
- Home, About, Contact, Login, Dashboard,
57
- Overview, Stats, Profile, Settings, Navigation,
58
- NavBar: NavBarView,
59
- },
60
- actions: {
61
- login: async (args) =>
62
- actor.send({ type: "auth.login", username: assertNonNullable(args, "args").username }),
63
- logout: async () => actor.send({ type: "auth.logout" }),
64
- route: async (args) => {
65
- const { to, params } = assertNonNullable(args, "args");
66
- actor.send({ type: "play.route", to, ...(params != null && { params }) });
67
- },
68
- },
68
+ components: demoComponents, // one shared map — Home…NavBar plus the 0.20 Panel/Field/Button leaves
69
+ actions: createAuthActionHandlers(actor), // login/logout/route + task events + form actions
69
70
  });
70
71
  </script>
71
72
 
72
- <Shell {actor} {registryResult} />
73
+ <Shell {actor} {registryResult} {inspector} />
73
74
  ```
74
75
 
75
76
  ## Key Files
76
77
 
77
78
  - `src/main.ts` - actor creation/start and Svelte app mount with actor as prop
78
79
  - `src/App.svelte` - registry construction, delegates rendering to `Shell.svelte`
79
- - `src/components/Shell.svelte` - shared shell with `PlayUIProvider` + `PlayRenderer`, `NavBar`, and `DebugPanel`
80
+ - `src/components/Shell.svelte` - shared shell with `PlayUIProvider` + `PlayRenderer`, `NavBar`, and `DebugPanel` (which owns the **Show Inspector** button)
80
81
  - `src/components/` - demo view Svelte components bound to catalog component keys
81
82
  - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
82
83
  - `test/browser/renderer-demo.browser.test.ts` - browser-mode renderer coverage
@@ -86,20 +87,18 @@ mount(App, { target: document.getElementById("app")!, props: { actor } });
86
87
  The demo utilizes XMachines architectural invariants:
87
88
 
88
89
  1. **Actor Authority:** View components dispatch `auth.login` and `auth.logout` events to the actor. The actor evaluates guards and transitions — Svelte never decides which view to render.
89
- 2. **Passive Infrastructure:** `PlayRenderer` observes `actor.currentView` signals only. It holds no business state and makes no routing decisions.
90
- 3. **Signal-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor signals update, without ad-hoc `$state` stores for business logic.
90
+ 2. **Passive Infrastructure:** `PlayRenderer` observes `actor.currentView` atoms only. It holds no business state and makes no routing decisions.
91
+ 3. **Atom-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor atoms update, without ad-hoc `$state` stores for business logic.
91
92
 
92
93
  ## Watcher Lifecycle and Cleanup Contract
93
94
 
94
95
  This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
95
96
 
96
- 1. `notify`
97
- 2. `queueMicrotask`
98
- 3. `getPending()`
99
- 4. Read actor signals and project Svelte-local render state
100
- 5. Re-arm with `watch()`/`watch(...signals)`
97
+ 1. The atom notifies the subscription, synchronously, from the `set` that changed it
98
+ 2. `watchAtom` queues one microtask, and it drops each duplicate notification of that batch
99
+ 3. The microtask reads the actor atoms and projects Svelte-local render state
101
100
 
102
- Watcher notifications are one-shot. Cleanup is explicit: `actor.stop()` is called during HMR disposal, and `PlayRenderer` handles internal watcher teardown natively on component destruction.
101
+ One subscription lives for the whole watch, and no caller arms a watcher again. Cleanup is explicit: `actor.stop()` is called during HMR disposal, and `PlayRenderer` handles internal watcher teardown natively on component destruction.
103
102
 
104
103
  ## Adapter Boundaries
105
104
 
@@ -117,20 +116,10 @@ These commands are defined in `package.json`:
117
116
  | `pnpm --filter @xmachines/play-svelte-demo run test` | Run Vitest test suite |
118
117
  | `pnpm --filter @xmachines/play-svelte-demo run test:browser` | Run browser-focused Vitest suite |
119
118
 
120
- ## Verification
121
-
122
- Use these checks to validate README claims against the current demo implementation:
123
-
124
- ```bash
125
- pnpm --filter @xmachines/play-svelte-demo run test
126
- pnpm --filter @xmachines/play-svelte-demo run test:browser
127
- ```
128
-
129
- Expected result: library-pattern invariant tests pass and the browser renderer suite completes.
130
-
131
119
  ## Learn More
132
120
 
133
121
  - [`@xmachines/play-svelte`](../../../api/@xmachines/play-svelte/README.md) — the Svelte 5 renderer package this demo exercises
122
+ - [Inspecting a Running Actor](../../../guides/inspector.md)
134
123
 
135
124
  ## Type Aliases
136
125
 
@@ -141,3 +130,8 @@ Expected result: library-pattern invariant tests pass and the browser renderer s
141
130
 
142
131
  - [App](variables/App.md)
143
132
  - [authCatalog](variables/authCatalog.md)
133
+ - [demoComponents](variables/demoComponents.md)
134
+
135
+ ## Functions
136
+
137
+ - [createAuthActionHandlers](functions/createAuthActionHandlers.md)
@@ -0,0 +1,35 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-svelte-demo](../README.md) / createAuthActionHandlers
2
+
3
+ # Function: createAuthActionHandlers()
4
+
5
+ ```ts
6
+ function createAuthActionHandlers(actor): object;
7
+ ```
8
+
9
+ Defined in: [packages/play-actor/examples/shared/src/actions.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L48)
10
+
11
+ Build the demo action handler map for one actor.
12
+
13
+ Returned functions use the `(params, setState) => Promise<void>` shape every
14
+ framework's `defineRegistry` accepts; spread the result into its `actions`.
15
+
16
+ ## Parameters
17
+
18
+ | Parameter | Type |
19
+ | --------- | ----------- |
20
+ | `actor` | `AuthActor` |
21
+
22
+ ## Returns
23
+
24
+ `object`
25
+
26
+ | Name | Type | Defined in |
27
+ | ---------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
28
+ | `addTask()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L65) |
29
+ | `completeTask()` | (`params`, `_setState`, `state`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L72) |
30
+ | `login()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L50) |
31
+ | `logout()` | () => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L54) |
32
+ | `removeTask()` | (`params`, `_setState`, `state`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L81) |
33
+ | `resetForm()` | (`params`, `setState`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L99) |
34
+ | `route()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L55) |
35
+ | `submitForm()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-actor/examples/shared/src/actions.ts#L92) |
@@ -6,4 +6,4 @@
6
6
  type AuthCatalog = typeof authCatalog;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-svelte/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.56/packages/play-svelte/examples/demo/src/catalog.ts#L6)
9
+ Defined in: [packages/play-svelte/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/catalog.ts#L6)
@@ -36,8 +36,17 @@ const authCatalog: Catalog<
36
36
  {
37
37
  children: SchemaType<"array", SchemaType<"string", unknown>>;
38
38
  props: SchemaType<"propsOf", string>;
39
+ repeat: {
40
+ inner?: unknown;
41
+ kind: "any";
42
+ optional: true;
43
+ };
39
44
  type: SchemaType<"ref", string>;
40
- visible: SchemaType<"any", unknown>;
45
+ visible: {
46
+ inner?: unknown;
47
+ kind: "any";
48
+ optional: true;
49
+ };
41
50
  }
42
51
  >
43
52
  >;
@@ -47,6 +56,24 @@ const authCatalog: Catalog<
47
56
  },
48
57
  {
49
58
  actions: {
59
+ addTask: {
60
+ description: "Add a task (sends task.add to the machine)";
61
+ params: ZodObject<
62
+ {
63
+ title: ZodString;
64
+ },
65
+ $strip
66
+ >;
67
+ };
68
+ completeTask: {
69
+ description: "Mark a task done (sends task.complete to the machine)";
70
+ params: ZodObject<
71
+ {
72
+ id: ZodString;
73
+ },
74
+ $strip
75
+ >;
76
+ };
50
77
  login: {
51
78
  description: "Login with username";
52
79
  params: ZodObject<
@@ -59,6 +86,24 @@ const authCatalog: Catalog<
59
86
  logout: {
60
87
  description: "Logout and return to home";
61
88
  };
89
+ removeTask: {
90
+ description: "Remove a task (sends task.remove to the machine)";
91
+ params: ZodObject<
92
+ {
93
+ id: ZodString;
94
+ },
95
+ $strip
96
+ >;
97
+ };
98
+ resetForm: {
99
+ description: "Reset a demo form to its defaults (confirm-gated in the spec)";
100
+ params: ZodObject<
101
+ {
102
+ form: ZodString;
103
+ },
104
+ $strip
105
+ >;
106
+ };
62
107
  route: {
63
108
  description: "Navigate to a route by path (e.g. '#home', '#login', '#dashboard')";
64
109
  params: ZodObject<
@@ -69,6 +114,16 @@ const authCatalog: Catalog<
69
114
  $strip
70
115
  >;
71
116
  };
117
+ submitForm: {
118
+ description: "Submit a demo form; rejects when the form did not pass validation";
119
+ params: ZodObject<
120
+ {
121
+ form: ZodString;
122
+ valid: ZodOptional<ZodNullable<ZodBoolean>>;
123
+ },
124
+ $strip
125
+ >;
126
+ };
72
127
  };
73
128
  components: {
74
129
  About: {
@@ -79,6 +134,23 @@ const authCatalog: Catalog<
79
134
  $strip
80
135
  >;
81
136
  };
137
+ Button: {
138
+ props: ZodObject<
139
+ {
140
+ disabled: ZodOptional<ZodBoolean>;
141
+ label: ZodString;
142
+ testId: ZodOptional<ZodString>;
143
+ variant: ZodOptional<
144
+ ZodEnum<{
145
+ danger: "danger";
146
+ primary: "primary";
147
+ secondary: "secondary";
148
+ }>
149
+ >;
150
+ },
151
+ $strip
152
+ >;
153
+ };
82
154
  Contact: {
83
155
  props: ZodObject<
84
156
  {
@@ -96,6 +168,26 @@ const authCatalog: Catalog<
96
168
  $strip
97
169
  >;
98
170
  };
171
+ Field: {
172
+ props: ZodObject<
173
+ {
174
+ checks: ZodOptional<ZodArray<ZodCustom<ValidationCheck, ValidationCheck>>>;
175
+ formErrors: ZodOptional<ZodRecord<ZodString, ZodArray<ZodString>>>;
176
+ inputType: ZodOptional<
177
+ ZodEnum<{
178
+ email: "email";
179
+ text: "text";
180
+ textarea: "textarea";
181
+ }>
182
+ >;
183
+ label: ZodString;
184
+ placeholder: ZodOptional<ZodString>;
185
+ testId: ZodOptional<ZodString>;
186
+ value: ZodOptional<ZodString>;
187
+ },
188
+ $strip
189
+ >;
190
+ };
99
191
  Home: {
100
192
  props: ZodObject<
101
193
  {
@@ -139,6 +231,26 @@ const authCatalog: Catalog<
139
231
  $strip
140
232
  >;
141
233
  };
234
+ Panel: {
235
+ props: ZodObject<
236
+ {
237
+ note: ZodOptional<
238
+ ZodUnion<readonly [ZodString, ZodNumber, ZodBoolean, ZodNull]>
239
+ >;
240
+ testId: ZodOptional<ZodString>;
241
+ title: ZodOptional<ZodUnion<readonly [ZodString, ZodNumber]>>;
242
+ tone: ZodOptional<
243
+ ZodEnum<{
244
+ danger: "danger";
245
+ default: "default";
246
+ muted: "muted";
247
+ success: "success";
248
+ }>
249
+ >;
250
+ },
251
+ $strip
252
+ >;
253
+ };
142
254
  Profile: {
143
255
  props: ZodObject<
144
256
  {
@@ -169,4 +281,4 @@ const authCatalog: Catalog<
169
281
  >;
170
282
  ```
171
283
 
172
- Defined in: [packages/play-svelte/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.56/packages/play-svelte/examples/demo/src/catalog.ts#L5)
284
+ Defined in: [packages/play-svelte/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/catalog.ts#L5)
@@ -0,0 +1,30 @@
1
+ [Examples](../../../README.md) / [@xmachines/play-svelte-demo](../README.md) / demoComponents
2
+
3
+ # Variable: demoComponents
4
+
5
+ ```ts
6
+ const demoComponents: object;
7
+ ```
8
+
9
+ Defined in: [packages/play-svelte/examples/demo/src/components/demo-components.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L20)
10
+
11
+ demoComponents — the full catalog component map, shared with the router demos.
12
+
13
+ ## Type Declaration
14
+
15
+ | Name | Type | Default value | Defined in |
16
+ | --------------------------------------------- | --------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
17
+ | <a id="property-about"></a> `About` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L22) |
18
+ | <a id="property-button"></a> `Button` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L34) |
19
+ | <a id="property-contact"></a> `Contact` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L23) |
20
+ | <a id="property-dashboard"></a> `Dashboard` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L25) |
21
+ | <a id="property-field"></a> `Field` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L33) |
22
+ | <a id="property-home"></a> `Home` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L21) |
23
+ | <a id="property-login"></a> `Login` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L24) |
24
+ | <a id="property-navbar"></a> `NavBar` | `LegacyComponentType` | `NavBarView` | [packages/play-svelte/examples/demo/src/components/demo-components.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L31) |
25
+ | <a id="property-navigation"></a> `Navigation` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L30) |
26
+ | <a id="property-overview"></a> `Overview` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L26) |
27
+ | <a id="property-panel"></a> `Panel` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L32) |
28
+ | <a id="property-profile"></a> `Profile` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L28) |
29
+ | <a id="property-settings"></a> `Settings` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L29) |
30
+ | <a id="property-stats"></a> `Stats` | `LegacyComponentType` | - | [packages/play-svelte/examples/demo/src/components/demo-components.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-svelte/examples/demo/src/components/demo-components.ts#L27) |
@@ -1,18 +1,19 @@
1
1
  [Examples](../../README.md) / @xmachines/play-svelte-spa-router-demo
2
2
 
3
- <!-- generated-by: gsd-doc-writer -->
4
-
5
3
  # @xmachines/play-svelte-spa-router-demo
6
4
 
7
5
  Svelte 5 + `svelte-spa-router` integration demo for the XMachines Play architecture using hash-based URL routing.
8
6
 
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
9
  ## What This Demonstrates
10
10
 
11
11
  - Shared auth machine reused without framework-specific business logic
12
12
  - `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md)
13
13
  - Shell-driven rendering via `PlayRenderer` with actor-authoritative navigation
14
- - Canonical TC39 Signals lifecycle integrated with Svelte 5 runes
14
+ - Canonical atoms lifecycle integrated with Svelte 5 runes
15
15
  - Non-browser invariant tests plus browser E2E coverage
16
+ - Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
16
17
 
17
18
  ## Running the Demo
18
19
 
@@ -32,13 +33,18 @@ Use this order to understand the implementation:
32
33
  1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
33
34
  2. `src/runtime.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
34
35
  3. `connectRouter` synchronizes hash URL changes with the actor via `play.route` events and reflects actor-approved routes back to the hash URL.
35
- 4. `src/App.svelte` imports the singleton `actor` and `registryResult` from `src/runtime.ts` and delegates to the shared `Shell.svelte`.
36
- 5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (nav, debug panel).
36
+ 4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the shared `Shell.svelte`.
37
+ 5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (nav, debug panel with the **Show Inspector** button).
37
38
  6. Browser tests in `test/browser/` validate startup and auth route transitions.
38
39
 
39
40
  ```ts
40
41
  // src/runtime.ts (shape)
41
- const createDemoPlayer = definePlayer({ machine: authMachine });
42
+ export const inspector = createDemoInspector();
43
+ const createDemoPlayer = definePlayer({
44
+ machine: authMachine,
45
+ options: { inspect: inspector.inspect },
46
+ actor: compose(PlayerActor, withRouting, withView),
47
+ });
42
48
  export const actor = createDemoPlayer();
43
49
  actor.start();
44
50
 
@@ -55,10 +61,10 @@ export function cleanup(): void {
55
61
  <!-- src/App.svelte (shape) -->
56
62
  <script lang="ts">
57
63
  import { Shell } from "@xmachines/play-svelte-demo";
58
- import { actor, registryResult } from "./runtime.js";
64
+ import { actor, inspector, registryResult } from "./runtime.js";
59
65
  </script>
60
66
 
61
- <Shell {actor} {registryResult} />
67
+ <Shell {actor} {registryResult} {inspector} />
62
68
  ```
63
69
 
64
70
  ```svelte
@@ -82,23 +88,21 @@ The demo utilizes XMachines architectural invariants:
82
88
 
83
89
  1. **Actor Authority:** When a user clicks a nav link, the hash URL changes. `connectRouter` intercepts this, translates it to a `play.route` event, and sends it to the actor. The actor evaluates guards (e.g. `isAuthenticated`) and transitions to the appropriate state.
84
90
  2. **Passive Infrastructure:** `svelte-spa-router` does not execute business logic. The actor dictates whether navigation is permitted. The Svelte application only renders the state.
85
- 3. **Signal-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor signals update, without ad-hoc `$state` stores for business logic.
91
+ 3. **Atom-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor atoms update, without ad-hoc `$state` stores for business logic.
86
92
 
87
93
  ## Watcher Lifecycle and Cleanup Contract
88
94
 
89
95
  This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
90
96
 
91
- 1. `notify`
92
- 2. `queueMicrotask`
93
- 3. `getPending()`
94
- 4. Read actor signals and project Svelte-local render state
95
- 5. Re-arm with `watch()`/`watch(...signals)`
97
+ 1. The atom notifies the subscription, synchronously, from the `set` that changed it
98
+ 2. `watchAtom` queues one microtask, and it drops each duplicate notification of that batch
99
+ 3. The microtask reads the actor atoms and projects Svelte-local render state
96
100
 
97
- Watcher notifications are one-shot. Cleanup is explicit: `cleanup()` calls `disconnectRouter()` and `actor.stop()` during HMR disposal, preventing memory leaks and ghost subscriptions.
101
+ One subscription lives for the whole watch, and no caller arms a watcher again. Cleanup is explicit: `cleanup()` calls `disconnectRouter()` and `actor.stop()` during HMR disposal, preventing memory leaks and ghost subscriptions.
98
102
 
99
103
  ## Adapter Boundaries
100
104
 
101
- `connectRouter` (from [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md)) is passive infrastructure. It translates hash URL changes into `play.route` events and reflects actor-approved route changes back to the URL. Business validity remains actor-owned. The shared `Shell.svelte` from `@xmachines/play-svelte-demo` is reused to avoid duplicating view components across router demos.
105
+ `connectRouter` (from [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md)) is passive infrastructure. It translates hash URL changes into `play.route` events and reflects actor-approved route changes back to the URL. Business validity remains actor-owned. The shared `Shell.svelte` from [`@xmachines/play-svelte-demo`](../play-svelte-demo/README.md) is reused to avoid duplicating view components across router demos.
102
106
 
103
107
  ## Available Scripts
104
108
 
@@ -112,18 +116,8 @@ These commands are defined in `package.json`:
112
116
  | `pnpm --filter @xmachines/play-svelte-spa-router-demo run test` | Run Vitest test suite |
113
117
  | `pnpm --filter @xmachines/play-svelte-spa-router-demo run test:browser` | Run browser-focused Vitest suite |
114
118
 
115
- ## Verification
116
-
117
- Use these checks to validate README claims against the current demo implementation:
118
-
119
- ```bash
120
- pnpm --filter @xmachines/play-svelte-spa-router-demo run test
121
- pnpm --filter @xmachines/play-svelte-spa-router-demo run test:browser
122
- ```
123
-
124
- Expected result: library-pattern invariant tests pass and the browser demo suite validates startup rendering and auth navigation.
125
-
126
119
  ## Learn More
127
120
 
128
121
  - [Svelte SPA Router](../../../api/@xmachines/play-svelte-spa-router/README.md)
129
122
  - [Svelte](../../../api/@xmachines/play-svelte/README.md)
123
+ - [Inspecting a Running Actor](../../../guides/inspector.md)
@@ -1,18 +1,19 @@
1
1
  [Examples](../../README.md) / @xmachines/play-sveltekit-router-demo
2
2
 
3
- <!-- generated-by: gsd-doc-writer -->
4
-
5
3
  # @xmachines/play-sveltekit-router-demo
6
4
 
7
5
  Svelte 5 + SvelteKit router adapter integration demo for the XMachines Play architecture using browser pathname URL routing.
8
6
 
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
9
  ## What This Demonstrates
10
10
 
11
11
  - Shared auth machine reused without framework-specific business logic
12
12
  - `connectRouter` pathname URL ↔ actor sync via [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)
13
13
  - Shell-driven rendering via `PlayUIProvider` + `PlayRenderer` with actor-authoritative navigation
14
- - Canonical TC39 Signals lifecycle integrated with Svelte 5 runes
14
+ - Canonical atoms lifecycle integrated with Svelte 5 runes
15
15
  - Non-browser invariant tests plus browser E2E coverage
16
+ - Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
16
17
 
17
18
  ## Running the Demo
18
19
 
@@ -32,13 +33,18 @@ Use this order to understand the implementation:
32
33
  1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
33
34
  2. `src/runtime.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
34
35
  3. `connectRouter` synchronizes browser pathname changes with the actor via `play.route` events and reflects actor-approved routes back to the pathname URL.
35
- 4. `src/App.svelte` imports the singleton `actor` and `registryResult` from `src/runtime.ts` and delegates to the shared `Shell.svelte`.
36
- 5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (nav, debug panel).
36
+ 4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the shared `Shell.svelte`.
37
+ 5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (nav, debug panel with the **Show Inspector** button).
37
38
  6. Browser tests in `test/browser/` validate startup and auth route transitions.
38
39
 
39
40
  ```ts
40
41
  // src/runtime.ts (shape)
41
- const createDemoPlayer = definePlayer({ machine: authMachine });
42
+ export const inspector = createDemoInspector();
43
+ const createDemoPlayer = definePlayer({
44
+ machine: authMachine,
45
+ options: { inspect: inspector.inspect },
46
+ actor: compose(PlayerActor, withRouting, withView),
47
+ });
42
48
  export const actor = createDemoPlayer();
43
49
  actor.start();
44
50
 
@@ -55,10 +61,10 @@ export function cleanup(): void {
55
61
  <!-- src/App.svelte (shape) -->
56
62
  <script lang="ts">
57
63
  import { Shell } from "@xmachines/play-svelte-demo";
58
- import { actor, registryResult } from "./runtime.js";
64
+ import { actor, inspector, registryResult } from "./runtime.js";
59
65
  </script>
60
66
 
61
- <Shell {actor} {registryResult} />
67
+ <Shell {actor} {registryResult} {inspector} />
62
68
  ```
63
69
 
64
70
  ```svelte
@@ -84,23 +90,21 @@ The demo utilizes XMachines architectural invariants:
84
90
 
85
91
  1. **Actor Authority:** When a user clicks a nav link, the browser pathname changes. `connectRouter` intercepts this, translates it to a `play.route` event, and sends it to the actor. The actor evaluates guards (e.g. `isAuthenticated`) and transitions to the appropriate state.
86
92
  2. **Passive Infrastructure:** The SvelteKit router adapter does not execute business logic. The actor dictates whether navigation is permitted. The Svelte application only renders the state.
87
- 3. **Signal-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor signals update, without ad-hoc `$state` stores for business logic.
93
+ 3. **Atom-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor atoms update, without ad-hoc `$state` stores for business logic.
88
94
 
89
95
  ## Watcher Lifecycle and Cleanup Contract
90
96
 
91
97
  This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
92
98
 
93
- 1. `notify`
94
- 2. `queueMicrotask`
95
- 3. `getPending()`
96
- 4. Read actor signals and project Svelte-local render state
97
- 5. Re-arm with `watch()`/`watch(...signals)`
99
+ 1. The atom notifies the subscription, synchronously, from the `set` that changed it
100
+ 2. `watchAtom` queues one microtask, and it drops each duplicate notification of that batch
101
+ 3. The microtask reads the actor atoms and projects Svelte-local render state
98
102
 
99
- Watcher notifications are one-shot. Cleanup is explicit: `cleanup()` calls `disconnectRouter()` and `actor.stop()` during HMR disposal, preventing memory leaks and ghost subscriptions.
103
+ One subscription lives for the whole watch, and no caller arms a watcher again. Cleanup is explicit: `cleanup()` calls `disconnectRouter()` and `actor.stop()` during HMR disposal, preventing memory leaks and ghost subscriptions.
100
104
 
101
105
  ## Adapter Boundaries
102
106
 
103
- `connectRouter` (from [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)) is passive infrastructure. It translates pathname URL changes into `play.route` events and reflects actor-approved route changes back to the browser pathname. Business validity remains actor-owned. The shared `Shell.svelte` from `@xmachines/play-svelte-demo` is reused to avoid duplicating view components across router demos.
107
+ `connectRouter` (from [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)) is passive infrastructure. It translates pathname URL changes into `play.route` events and reflects actor-approved route changes back to the browser pathname. Business validity remains actor-owned. The shared `Shell.svelte` from [`@xmachines/play-svelte-demo`](../play-svelte-demo/README.md) is reused to avoid duplicating view components across router demos.
104
108
 
105
109
  The `$app/navigation` module is shimmed by `src/lib/navigation.ts` using the History API, so the demo runs outside a full SvelteKit project (plain Vite dev server and production build).
106
110
 
@@ -116,18 +120,8 @@ These commands are defined in `package.json`:
116
120
  | `pnpm --filter @xmachines/play-sveltekit-router-demo run test` | Run Vitest test suite |
117
121
  | `pnpm --filter @xmachines/play-sveltekit-router-demo run test:browser` | Run browser-focused Vitest suite |
118
122
 
119
- ## Verification
120
-
121
- Use these checks to validate README claims against the current demo implementation:
122
-
123
- ```bash
124
- pnpm --filter @xmachines/play-sveltekit-router-demo run test
125
- pnpm --filter @xmachines/play-sveltekit-router-demo run test:browser
126
- ```
127
-
128
- Expected result: library-pattern invariant tests pass and the browser demo suite validates startup rendering and auth navigation.
129
-
130
123
  ## Learn More
131
124
 
132
125
  - [SvelteKit Router](../../../api/@xmachines/play-sveltekit-router/README.md)
133
126
  - [Svelte](../../../api/@xmachines/play-svelte/README.md)
127
+ - [Inspecting a Running Actor](../../../guides/inspector.md)