@xmachines/docs 5.0.1 → 6.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 (564) hide show
  1. package/README.md +4 -1
  2. package/api/@xmachines/core/README.md +209 -0
  3. package/api/@xmachines/core/cache/README.md +17 -0
  4. package/api/@xmachines/core/cache/functions/createLruCache.md +52 -0
  5. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +61 -0
  6. package/api/@xmachines/core/errors/README.md +11 -0
  7. package/api/@xmachines/core/errors/classes/BaseError.md +226 -0
  8. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +177 -0
  9. package/api/@xmachines/core/utils/README.md +33 -0
  10. package/api/@xmachines/core/utils/functions/asDisposable.md +139 -0
  11. package/api/@xmachines/core/utils/functions/createNullRecord.md +39 -0
  12. package/api/@xmachines/core/utils/functions/createWarnOnce.md +39 -0
  13. package/api/@xmachines/core/utils/functions/describeValue.md +39 -0
  14. package/api/@xmachines/core/utils/functions/isError.md +46 -0
  15. package/api/@xmachines/core/utils/functions/isThenable.md +43 -0
  16. package/api/@xmachines/core/utils/functions/releaseQuietly.md +37 -0
  17. package/api/@xmachines/core/utils/functions/rethrowLater.md +43 -0
  18. package/api/@xmachines/core/utils/functions/safeString.md +36 -0
  19. package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +42 -0
  20. package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +28 -0
  21. package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +14 -0
  22. package/api/@xmachines/{play-router/index → core/utils}/variables/DISPOSE.md +9 -9
  23. package/api/@xmachines/play/README.md +19 -70
  24. package/api/@xmachines/play/errors/classes/NonNullableError.md +4 -4
  25. package/api/@xmachines/play/errors/classes/PlayError.md +30 -34
  26. package/api/@xmachines/play/index/README.md +0 -8
  27. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  28. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
  29. package/api/@xmachines/play-actor/README.md +1 -1
  30. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
  31. package/api/@xmachines/play-actor/interfaces/PlayActor.md +3 -3
  32. package/api/@xmachines/play-atom/README.md +35 -26
  33. package/api/@xmachines/play-atom/functions/watchAtom.md +8 -8
  34. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  35. package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
  36. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +6 -6
  37. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +4 -4
  38. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  39. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
  40. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
  41. package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
  42. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
  43. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  44. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
  45. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
  46. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  47. package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
  48. package/api/@xmachines/play-dom/README.md +32 -34
  49. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  50. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  51. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  52. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +11 -11
  53. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  54. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -14
  55. package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -17
  56. package/api/@xmachines/play-dom-router/README.md +35 -49
  57. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +13 -13
  58. package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -6
  59. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  60. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +5 -3
  61. package/api/@xmachines/play-dom-router/functions/createRouter.md +5 -3
  62. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
  63. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +21 -67
  64. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  65. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  66. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
  67. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  68. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  69. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  70. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  71. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +5 -5
  72. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +12 -31
  73. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +12 -27
  74. package/api/@xmachines/play-pattern/README.md +10 -6
  75. package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
  76. package/api/@xmachines/play-pattern/functions/{createPatternCache.md → createLruCache.md} +19 -14
  77. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  78. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  79. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  80. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
  81. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +61 -0
  82. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  83. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  84. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  85. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  86. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  87. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  88. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  89. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  90. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  91. package/api/@xmachines/play-react/README.md +5 -5
  92. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
  93. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  94. package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
  95. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  96. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  97. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  98. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  99. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  100. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  101. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  102. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  103. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  104. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  105. package/api/@xmachines/play-react-router/README.md +5 -3
  106. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  107. package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -6
  108. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  109. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  110. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  111. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  112. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +4 -4
  113. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  114. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  115. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +5 -5
  116. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  117. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  118. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  119. package/api/@xmachines/play-router/README.md +15 -14
  120. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
  121. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
  122. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
  123. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
  124. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
  125. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
  126. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
  127. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
  128. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
  129. package/api/@xmachines/play-router/index/README.md +2 -3
  130. package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -6
  131. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
  132. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  133. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
  134. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  135. package/api/@xmachines/play-router/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
  136. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  137. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  138. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  139. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  140. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  141. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  142. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +3 -3
  143. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  144. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  145. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  146. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  147. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
  148. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  149. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
  150. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  151. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  152. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  153. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  154. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  155. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  156. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  157. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  158. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +3 -3
  159. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
  160. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  161. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  162. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +61 -0
  163. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
  164. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +6 -6
  165. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +10 -10
  166. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  167. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +12 -12
  168. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
  169. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +11 -11
  170. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
  171. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
  172. package/api/@xmachines/play-router/index/interfaces/Routable.md +3 -3
  173. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +4 -4
  174. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
  175. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  176. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
  177. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
  178. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
  179. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
  180. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
  181. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  182. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +5 -5
  183. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +7 -7
  184. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +12 -31
  185. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +5 -5
  186. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  187. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  188. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  189. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  190. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  191. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  192. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  193. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  194. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  195. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  196. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  197. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  198. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  199. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  200. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  201. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  202. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  203. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
  204. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
  205. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  206. package/api/@xmachines/play-solid/README.md +2 -2
  207. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  208. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  209. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  210. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  211. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  212. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  213. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  214. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  215. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  216. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  217. package/api/@xmachines/play-solid-router/README.md +5 -3
  218. package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -6
  219. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  220. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  221. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +3 -3
  222. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  223. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  224. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +4 -4
  225. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  226. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  227. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +5 -5
  228. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  229. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  230. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  231. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  232. package/api/@xmachines/play-svelte/README.md +4 -4
  233. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  234. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  235. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  236. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  237. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  238. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  239. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  240. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  241. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  242. package/api/@xmachines/play-svelte-spa-router/README.md +5 -3
  243. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -6
  244. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  245. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  246. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
  247. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  248. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
  249. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +4 -4
  250. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  251. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  252. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +5 -5
  253. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +12 -31
  254. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  255. package/api/@xmachines/play-sveltekit-router/README.md +5 -3
  256. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -6
  257. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
  258. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  259. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
  260. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +10 -10
  261. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  262. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
  263. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +4 -4
  264. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  265. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  266. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +5 -5
  267. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +12 -31
  268. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  269. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -6
  270. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  271. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  272. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  273. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  274. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  275. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +4 -4
  276. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  277. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  278. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +5 -5
  279. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  280. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  281. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  282. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  283. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  284. package/api/@xmachines/play-tanstack-router/README.md +11 -1
  285. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  286. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  287. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  288. package/api/@xmachines/play-tanstack-solid-router/README.md +5 -3
  289. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -6
  290. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  291. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  292. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  293. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  294. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +4 -4
  295. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  296. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  297. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +5 -5
  298. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  299. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  300. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  301. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  302. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  303. package/api/@xmachines/play-url/README.md +3 -3
  304. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
  305. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
  306. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
  307. package/api/@xmachines/play-url/index/README.md +2 -2
  308. package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
  309. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  310. package/api/@xmachines/play-url/index/functions/{createPatternCache.md → createLruCache.md} +19 -14
  311. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  312. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
  313. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  314. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  315. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  316. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  317. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  318. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  319. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  320. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  321. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  322. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  323. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  324. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  325. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
  326. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  327. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  328. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +4 -4
  329. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +61 -0
  330. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +3 -3
  331. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +7 -7
  332. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  333. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +12 -12
  334. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +4 -4
  335. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
  336. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +5 -5
  337. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  338. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  339. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  340. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  341. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  342. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  343. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  344. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  345. package/api/@xmachines/play-view/README.md +4 -3
  346. package/api/@xmachines/play-view/errors/README.md +1 -1
  347. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
  348. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
  349. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  350. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +1 -1
  351. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  352. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  353. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  354. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  355. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +2 -2
  356. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +1 -1
  357. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  358. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  359. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +5 -5
  360. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
  361. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +3 -3
  362. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +2 -2
  363. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  364. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  365. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
  366. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +4 -4
  367. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +3 -3
  368. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +4 -4
  369. package/api/@xmachines/play-view/index/interfaces/Viewable.md +2 -2
  370. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  371. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  372. package/api/@xmachines/play-vue/README.md +4 -4
  373. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  374. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  375. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  376. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  377. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -0
  378. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  379. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  380. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  381. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  382. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  383. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  384. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  385. package/api/@xmachines/play-vue/variables/schema.md +35 -54
  386. package/api/@xmachines/play-vue-router/README.md +4 -2
  387. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
  388. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
  389. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -6
  390. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  391. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
  392. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +4 -4
  393. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  394. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
  395. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +5 -5
  396. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +7 -7
  397. package/api/@xmachines/play-xstate/README.md +20 -9
  398. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
  399. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
  400. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
  401. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
  402. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
  403. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  404. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
  405. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
  406. package/api/@xmachines/play-xstate/index/README.md +0 -4
  407. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +10 -45
  408. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  409. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
  410. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
  411. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
  412. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +7 -7
  413. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  414. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  415. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  416. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
  417. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  418. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
  419. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  420. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  421. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
  422. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
  423. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  424. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  425. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  426. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  427. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  428. package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
  429. package/api/@xmachines/shared/README.md +1 -1
  430. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  431. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  432. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  433. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  434. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  435. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  436. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  437. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  438. package/api/README.md +1 -0
  439. package/api/llms.txt +1 -0
  440. package/contributing/architecture.md +36 -21
  441. package/contributing/configuration.md +7 -5
  442. package/contributing/deployment.md +23 -7
  443. package/contributing/development.md +26 -27
  444. package/contributing/migrating-to-play-atom.md +2 -1
  445. package/examples/@xmachines/play-dom-demo/README.md +6 -2
  446. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
  447. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  448. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  449. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  450. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  451. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  452. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  453. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  454. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  455. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  456. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  457. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  458. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  459. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  460. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  461. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  462. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  463. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  464. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  465. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  466. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +17 -17
  467. package/examples/@xmachines/play-dom-router-demo/README.md +9 -10
  468. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
  469. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  470. package/examples/@xmachines/play-react-demo/variables/About.md +2 -2
  471. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  472. package/examples/@xmachines/play-react-demo/variables/Contact.md +2 -2
  473. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +2 -2
  474. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  475. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  476. package/examples/@xmachines/play-react-demo/variables/Home.md +2 -2
  477. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  478. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  479. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  480. package/examples/@xmachines/play-react-demo/variables/Navigation.md +2 -2
  481. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  482. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  483. package/examples/@xmachines/play-react-demo/variables/Profile.md +2 -2
  484. package/examples/@xmachines/play-react-demo/variables/Settings.md +2 -2
  485. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  486. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  487. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  488. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +17 -17
  489. package/examples/@xmachines/play-react-router-demo/README.md +1 -1
  490. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
  491. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  492. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  493. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  494. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  495. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  496. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  497. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  498. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  499. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  500. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  501. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  502. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  503. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  504. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  505. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  506. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  507. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  508. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  509. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  510. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +17 -17
  511. package/examples/@xmachines/play-solid-router-demo/README.md +1 -1
  512. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
  513. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  514. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  515. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
  516. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +1 -1
  517. package/examples/@xmachines/play-sveltekit-router-demo/README.md +1 -1
  518. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +1 -1
  519. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +1 -1
  520. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
  521. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  522. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  523. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +190 -277
  524. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  525. package/examples/README.md +1 -1
  526. package/examples/form-validation.md +6 -3
  527. package/examples/multi-router-integration.md +6 -3
  528. package/examples/routing-patterns.md +6 -3
  529. package/guides/atoms.md +24 -12
  530. package/guides/getting-started.md +20 -14
  531. package/package.json +2 -1
  532. package/rfc/broker.md +4 -0
  533. package/rfc/browser.md +4 -0
  534. package/rfc/cli.md +4 -0
  535. package/rfc/git.md +4 -0
  536. package/rfc/mcp.md +4 -0
  537. package/rfc/node.md +4 -0
  538. package/rfc/play.md +1 -1
  539. package/rfc/rest.md +4 -0
  540. package/rfc/run.md +4 -0
  541. package/rfc/streams.md +4 -0
  542. package/api/@xmachines/play/index/functions/asCleanup.md +0 -77
  543. package/api/@xmachines/play/index/functions/shallowEqualExcept.md +0 -29
  544. package/api/@xmachines/play/index/type-aliases/Cleanup.md +0 -38
  545. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +0 -32
  546. package/api/@xmachines/play/index/variables/DISPOSE.md +0 -34
  547. package/api/@xmachines/play-atom/type-aliases/Cleanup.md +0 -38
  548. package/api/@xmachines/play-dom/functions/asCleanup.md +0 -77
  549. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +0 -38
  550. package/api/@xmachines/play-dom-router/functions/asCleanup.md +0 -77
  551. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +0 -38
  552. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +0 -34
  553. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +0 -65
  554. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +0 -65
  555. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +0 -65
  556. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +0 -34
  557. package/examples/@xmachines/play-react-demo/functions/App.md +0 -13
  558. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +0 -20
  559. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +0 -20
  560. package/examples/@xmachines/play-react-demo/functions/Shell.md +0 -22
  561. package/examples/@xmachines/play-solid-demo/functions/App.md +0 -13
  562. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +0 -20
  563. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +0 -20
  564. package/examples/@xmachines/play-solid-demo/functions/Shell.md +0 -22
@@ -20,21 +20,25 @@ XMachines JS is the JavaScript/TypeScript reference implementation of the **Univ
20
20
 
21
21
  ```mermaid
22
22
  graph TD
23
- subgraph Layer0["Layer 0 — Protocol / Primitives"]
23
+ subgraph Foundation["Foundation"]
24
+ core["@xmachines/core\n(BaseError, asDisposable, cache)"]
25
+ shared["@xmachines/shared\n(tsconfig, oxlint, oxfmt)"]
26
+ end
27
+
28
+ subgraph Protocol["Protocol / Primitives"]
24
29
  play["@xmachines/play\n(PlayEvent, PlayError)"]
25
30
  atoms["@xmachines/play-atom\n(atoms, watchAtom)"]
26
- shared["@xmachines/shared\n(tsconfig, oxlint, oxfmt)"]
27
31
  end
28
32
 
29
- subgraph Layer1["Layer 1 — Abstract Actor Base"]
33
+ subgraph ActorBase["Abstract Actor Base"]
30
34
  actor["@xmachines/play-actor\n(PlayActor)"]
31
35
  end
32
36
 
33
- subgraph Layer2v["Layer 2 — The View Half"]
37
+ subgraph ViewHalf["The View Half"]
34
38
  view["@xmachines/play-view\n(Viewable, PlaySpec, the view store lifecycle)"]
35
39
  end
36
40
 
37
- subgraph Layer2["Layer 2 — Concrete Implementations"]
41
+ subgraph Concrete["Concrete Implementations"]
38
42
  xstate["@xmachines/play-xstate\n(PlayerActor, definePlayer, routing)"]
39
43
  router["@xmachines/play-router\n(RouterBridgeBase, RouteMap, Routable)"]
40
44
  routerxstate["@xmachines/play-router/xstate\n(extractMachineRoutes, createRouteMap)"]
@@ -59,7 +63,7 @@ graph TD
59
63
  end
60
64
  end
61
65
 
62
- play --> actor
66
+ core --> play
63
67
  atoms --> actor
64
68
  actor --> xstate
65
69
  actor --> router
@@ -72,6 +76,8 @@ graph TD
72
76
  xstate -.->|"play.route events"| router
73
77
  ```
74
78
 
79
+ The diagram groups the packages by role. The build order is a separate view: each package sits one layer above its deepest workspace dependency, and [Build Layers](development.md#build-layers) lists them.
80
+
75
81
  ## Component Responsibilities
76
82
 
77
83
  | Package | Responsibility | Key File |
@@ -100,6 +106,7 @@ graph TD
100
106
  | [`@xmachines/play-sveltekit-router`](../api/@xmachines/play-sveltekit-router/README.md) | SvelteKit router bridge | `packages/play-sveltekit-router/src/sveltekit-router-bridge.ts` |
101
107
  | [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | Svelte SPA Router bridge | `packages/play-svelte-spa-router/src/svelte-spa-router-bridge.ts` |
102
108
  | [`@xmachines/shared`](../api/@xmachines/shared/README.md) | Shared configs: tsconfig, oxlint, oxfmt, vitest | `packages/shared/config/` |
109
+ | [`@xmachines/core`](../api/@xmachines/core/README.md) | `BaseError`, the release protocol, a cache, helpers | `packages/core/src/` |
103
110
  | `@xmachines/docs` | API docs and RFC documentation | `packages/docs/` |
104
111
 
105
112
  ## Data Flow
@@ -213,7 +220,7 @@ type LoginEvent = PlayEvent<{ userId: string; timestamp: number }>;
213
220
 
214
221
  ### [`PlayError`](../api/@xmachines/play/errors/classes/PlayError.md)
215
222
 
216
- Base class for all `@xmachines/*` typed runtime errors. Carries `scope` (throwing class/module) and `code` (stable machine-readable identifier, e.g. `"PLAY_ROUTER_SYNC_FAILED"`). Subclassed per package, exported from each package's `./errors` subpath. Never match on `.message` — always match on `.code` or the subclass.
223
+ Base class for the typed runtime errors of every Play package. It extends [`BaseError`](../api/@xmachines/core/errors/classes/BaseError.md) of [`@xmachines/core/errors`](../api/@xmachines/core/README.md). Carries `scope` (throwing class/module) and `code` (stable machine-readable identifier, e.g. `"PLAY_ROUTER_SYNC_FAILED"`). Subclassed per package, exported from each package's `./errors` subpath. Never match on `.message` — always match on `.code` or the subclass.
217
224
 
218
225
  ```typescript
219
226
  import { PlayError } from "@xmachines/play/errors";
@@ -306,7 +313,7 @@ interface PlayRouteEvent {
306
313
 
307
314
  ### [`watchAtom(atom, callback)`](../api/@xmachines/play-atom/functions/watchAtom.md)
308
315
 
309
- Subscribe to a single atom with microtask coalescing and memory-safe cleanup. It builds one `subscribe` for the life of the watch, so no code arms anything again. The `disposed` flag guards post-cleanup callbacks, and the `scheduled` guard deduplicates rapid synchronous atom changes. Returns a `Cleanup` function.
316
+ Subscribe to a single atom with microtask coalescing and memory-safe cleanup. It builds one `subscribe` for the life of the watch, so no code arms anything again. The `disposed` flag guards post-cleanup callbacks, and the `scheduled` guard deduplicates rapid synchronous atom changes. Returns a plain release function.
310
317
 
311
318
  ### [`formatPlayRouteTransitions(machineConfig)`](../api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md)
312
319
 
@@ -368,22 +375,23 @@ Each adapter also exports a framework-integrated provider component (e.g. `PlayR
368
375
  ```
369
376
  packages/
370
377
  ├── shared/ # Zero-dependency shared configs (tsconfig, oxlint, oxfmt, vitest)
371
- ├── play/ # Layer 0: Core protocol: PlayEvent, PlayError, assertNonNullable
372
- ├── play-atom/ # Layer 1: the atom primitives — all atom imports go here
378
+ ├── core/ # Layer 0: BaseError, the release protocol, the cache, helpers; no module state
379
+ ├── play/ # Layer 1: Core protocol: PlayEvent, PlayError, assertNonNullable
380
+ ├── play-atom/ # Layer 0: the atom primitives — all atom imports go here
373
381
  │ └── src/ # Declares the atom contract, binds the engine; watchAtom utility
374
- ├── play-actor/ # Layer 2: the PlayActor contract — state and send, and nothing else
382
+ ├── play-actor/ # Layer 1: the PlayActor contract — state and send, and nothing else
375
383
  ├── play-pattern/ # Layer 1: the route pattern language — one parse, and the path it builds back
376
384
  ├── play-url/ # Layer 2: the URL layer — the URLPattern API, a base path, framework params
377
- ├── play-view/ # Layer 3: Viewable, PlaySpec, the view store lifecycle, the context projection
385
+ ├── play-view/ # Layer 2: Viewable, PlaySpec, the view store lifecycle, the context projection
378
386
  │
379
- ├── play-xstate/ # Layer 5: Concrete XState v5 actor: definePlayer, PlayerActor
387
+ ├── play-xstate/ # Layer 4: Concrete XState v5 actor: definePlayer, PlayerActor
380
388
  │ └── src/
381
389
  │ ├── player-actor.ts # PlayerActor — concrete actor
382
390
  │ ├── define-player.ts # definePlayer factory
383
391
  │ ├── routing/ # deriveRoute, buildRouteUrl, formatPlayRouteTransitions
384
392
  │ └── view/ # deriveCurrentView (meta.view → PlaySpec)
385
393
  │
386
- ├── play-router/ # Layer 4: Route extraction, bidirectional mapping, bridge base
394
+ ├── play-router/ # Layer 3: Route extraction, bidirectional mapping, bridge base
387
395
  │ └── src/
388
396
  │ ├── router-bridge-base.ts # RouterBridgeBase (Template Method for all adapters)
389
397
  │ ├── base-route-map.ts # RouteMap (bidirectional stateId ↔ path)
@@ -439,14 +447,15 @@ With `declarationMap: true` in the base tsconfig (from [`@xmachines/shared/tscon
439
447
 
440
448
  **Dependency rules:**
441
449
 
442
- The **protocol layer** is `play`, `play-atom` and `play-actor`. The three form a chain — `play-atom` reads `play`, and `play-actor` reads `play-atom` — and none of them reads a package below.
450
+ The **protocol layer** is `play`, `play-atom` and `play-actor`. `play` reads `core` alone, for the base of `PlayError`. `play-atom` reads no workspace package. `play-actor` reads `play-atom`, and no other package of the workspace.
443
451
 
444
452
  | Layer | May import from | Must not import from |
445
453
  | ------------------------------------- | ------------------------------------------------------- | -------------------------------- |
446
- | Protocol (`play`) | External libs only | Any other `@xmachines/*` package |
447
- | Protocol (`play-atom`) | `play`, `@xstate/store` | Any other `@xmachines/*` package |
448
- | Protocol (`play-actor`) | `play`, `play-atom` | Any other `@xmachines/*` package |
449
- | Pattern language (`play-pattern`) | External libs only | Any other `@xmachines/*` package |
454
+ | Core (`core`) | No package | Any `@xmachines/*` package |
455
+ | Protocol (`play`) | `core` | Any other `@xmachines/*` package |
456
+ | Protocol (`play-atom`) | `@xstate/store` | Any other `@xmachines/*` package |
457
+ | Protocol (`play-actor`) | `play-atom` | Any other `@xmachines/*` package |
458
+ | Pattern language (`play-pattern`) | `core` | Any other `@xmachines/*` package |
450
459
  | URL layer (`play-url`) | Protocol layer, `play-pattern`, `urlpattern-polyfill` | Any other `@xmachines/*` package |
451
460
  | View half (`play-view`) | Protocol layer, `@xmachines/json-render-core` | Router adapters, framework code |
452
461
  | Actor logic (`play-xstate`) | Protocol layer, `play-pattern`, `xstate` | View renderers, router adapters |
@@ -454,20 +463,26 @@ The **protocol layer** is `play`, `play-atom` and `play-actor`. The three form a
454
463
  | Router adapters (`play-*-router`) | `play-router`, protocol layer, framework router lib | View renderers |
455
464
  | View renderers (`play-*`) | Protocol layer, `play-view`, `@xmachines/json-render-*` | Router adapters |
456
465
 
466
+ Every layer above the protocol layer may also import [`@xmachines/core`](../api/@xmachines/core/README.md), and `play` imports it for `BaseError`. It is a peer, and not a dependency: `err instanceof BaseError` answers `false` for an error of a second copy, so an install must hold one copy. See [the packages that must exist one time](development.md#the-packages-that-must-exist-one-time).
467
+
457
468
  `play-view` and `play-router` are OPTIONAL peer dependencies of `play-xstate`, because the two capability subpaths carry them: [`@xmachines/play-xstate/view`](../api/@xmachines/play-xstate/README.md) names the first and [`@xmachines/play-xstate/routing`](../api/@xmachines/play-xstate/README.md) names the second. The core entry point imports neither.
458
469
 
459
470
  ## Error Handling
460
471
 
461
- All `@xmachines/*` errors extend [`PlayError`](../api/@xmachines/play/errors/classes/PlayError.md) and carry two stable fields:
472
+ All `@xmachines/*` errors extend [`BaseError`](../api/@xmachines/core/errors/classes/BaseError.md) of [`@xmachines/core/errors`](../api/@xmachines/core/README.md), and carry two stable fields:
462
473
 
463
474
  - `scope` — the class or module that threw (e.g. `"RouterBridgeBase"`)
464
475
  - `code` — a stable machine-readable identifier (e.g. `"PLAY_ROUTER_SYNC_FAILED"`)
465
476
 
477
+ Every error of a Play package extends [`PlayError`](../api/@xmachines/play/errors/classes/PlayError.md), which extends `BaseError`. A package below the Play protocol extends `BaseError` directly: [`@xmachines/core`](../api/@xmachines/core/README.md) throws `DisposeConflictError` when `asDisposable` receives a named release that the scope would never run.
478
+
466
479
  **Error hierarchy:**
467
480
 
468
481
  ```mermaid
469
482
  flowchart TD
470
- PE["PlayError\n@xmachines/play/errors"]
483
+ BE["BaseError\n@xmachines/core/errors"]
484
+ BE --> DCE["DisposeConflictError\nCORE_DISPOSE_CONFLICT"]
485
+ BE --> PE["PlayError\n@xmachines/play/errors"]
471
486
  PE --> NNE["NonNullableError\nPLAY_NON_NULLABLE"]
472
487
  PE --> RSE["RouterSyncError\nPLAY_ROUTER_SYNC_FAILED"]
473
488
  PE --> DBE["DuplicateBridgeError\nPLAY_ROUTER_DUPLICATE_BRIDGE"]
@@ -54,13 +54,15 @@ The root TypeScript config is a **build coordinator only** — it compiles nothi
54
54
  "files": [],
55
55
  "references": [
56
56
  // Layer 0 — no internal deps
57
+ { "path": "./packages/core" },
57
58
  { "path": "./packages/docs" },
58
- { "path": "./packages/play" },
59
+ { "path": "./packages/play-atom" },
59
60
  { "path": "./packages/shared" },
60
61
  // Layer 1 — depends on Layer 0
61
- { "path": "./packages/play-atom" },
62
- // Layer 2
62
+ { "path": "./packages/play" },
63
63
  { "path": "./packages/play-actor" },
64
+ // Layer 2
65
+ { "path": "./packages/play-view" },
64
66
  // Layer 3
65
67
  { "path": "./packages/play-router" }
66
68
  // ...etc.
@@ -425,8 +427,8 @@ Only `main` is a protected branch today. That works because `GITLAB_TOKEN` — w
425
427
  - `build` — `pnpm run build`
426
428
  - `typedoc` — `pnpm --filter @xmachines/docs run typedoc`
427
429
  - `format-docs` — `pnpm --filter @xmachines/docs run format`
428
- - `stage-generated-docs` — `git add -A packages/docs/api`, so a page that TypeDoc deleted leaves git too
429
- 5. `@semantic-release/git` — commits the changelog, the manifests, the READMEs and the generated API docs, then pushes the commit and the tag
430
+ - `stage-generated-docs` — `git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md`, so a page that TypeDoc deleted leaves git too
431
+ 5. `@semantic-release/git` — commits the changelog, the manifests, the READMEs and the generated docs (`api/`, `examples/@xmachines/` and the demo lists of `examples/README.md`), then pushes the commit and the tag
430
432
 
431
433
  The list ends there. semantic-release publishes nothing and creates no GitLab release: `scripts/publish-release.mjs` does both, on the pipeline of the tag. [deployment.md](deployment.md) states the whole sequence and the reason.
432
434
 
@@ -88,13 +88,27 @@ That job publishes the JUnit results as `reports/test-results.xml` and the Cober
88
88
 
89
89
  ### Docs Job
90
90
 
91
- The `docs` job runs `pnpm run docs` — the full build, then TypeDoc, then the formatter. It runs automatically on `main` and it waits for a click on a merge request. It declares `needs: []`, because it compiles what it documents.
91
+ The `docs` job runs `pnpm run docs` — the full build, then TypeDoc, then the formatter. It runs automatically on `main` and on the merge train, and it waits for a click on a merge request. It declares `needs: []`, because it compiles what it documents.
92
92
 
93
93
  TypeDoc treats a warning as an error. This job is therefore the gate that reports a `@see` or a `{@link}` that names a symbol a rename removed. Before it existed, `node-build` regenerated the reference on every push, which put a second pass over every package on a branch that is pushed to many times.
94
94
 
95
- The click is a gate, not an option. The job is manual with `allow_failure: false`, so a pipeline that nobody starts it from stays BLOCKED, and the merge check "Pipelines must succeed" holds the merge request. The `release-pack-smoke` job below uses the same rules for the same reason.
95
+ The click blocks nothing on a merge request. The merge train starts the job by itself, so the train is the gate. The `release-pack-smoke` job below uses the same rules for the same reason.
96
96
 
97
- The job declares `stage: test`. A blocking manual job holds every later stage until it runs, so `build` would keep the unit suite, the browser suite and `release-pack-smoke` waiting for a click. Jobs in the same stage are not affected.
97
+ The job declares `stage: test`. A manual job that blocks holds every later stage until it runs, so `build` would keep the unit suite, the browser suite and `release-pack-smoke` waiting for a click. Jobs in the same stage are not affected.
98
+
99
+ The job archives the two trees that TypeDoc writes as `reports/docs-reference.tar.gz`, and it keeps the archive as an artifact.
100
+
101
+ ### Docs Links Job
102
+
103
+ The `test:docs` job crawls the reference that the `docs` job generated. It declares `needs: [docs]`, so it starts when `docs` passes. On a merge request it shows `skipped` until someone starts `docs`.
104
+
105
+ The crawl is `packages/docs/test-generated/links.test.mjs`. It follows every relative link of `api/` and `examples/@xmachines/`, and it checks the file and the anchor of each link. TypeDoc cannot hold this rule: the `routeOutput` plugin moves a demo package to the examples tree after the link validator runs. The job publishes the result as a JUnit report.
106
+
107
+ The job deletes both trees before it unpacks the archive. GitLab unpacks an artifact over the checkout and deletes no file, and the checkout holds the reference of the last release. Without the delete, a page that TypeDoc no longer writes stays in the checkout, and the crawl reads its links.
108
+
109
+ The job has the rules of `docs` without the click. A job that needs a job which is absent from the pipeline fails the creation of the pipeline, so the two sets of rules must match. `tests/docs-ci-jobs.test.ts` holds the list of trees equal to the list that the release stages.
110
+
111
+ To run the same check on your machine, run `pnpm run docs` and then `pnpm run test:docs`.
98
112
 
99
113
  ### Release Job Detail
100
114
 
@@ -166,7 +180,7 @@ node scripts/set-workspace-versions.mjs ${nextRelease.version}
166
180
  pnpm run build
167
181
  pnpm --filter @xmachines/docs run typedoc --gitRevision v${nextRelease.version}
168
182
  pnpm --filter @xmachines/docs run format
169
- git add -A packages/docs/api
183
+ git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md
170
184
  ```
171
185
 
172
186
  Step by step:
@@ -175,9 +189,9 @@ Step by step:
175
189
  2. **Install** — `pnpm install --frozen-lockfile` installs the exact dependency versions recorded in the lockfile.
176
190
  3. **Sync versions** — `scripts/set-workspace-versions.mjs` sets the same release version across every `package.json` in the workspace (root + all packages), including cross-package workspace dependency ranges.
177
191
  4. **Build** — runs `vite build && tsc --build` to produce compiled `dist/` output — JavaScript then declarations — in all packages.
178
- 5. **Generate API docs** — runs TypeDoc to regenerate `packages/docs/api/` at the release git revision.
192
+ 5. **Generate API docs** — runs TypeDoc to regenerate `packages/docs/api/` and `packages/docs/examples/@xmachines/` at the release git revision. TypeDoc also rewrites the demo lists of `packages/docs/examples/README.md`.
179
193
  6. **Format docs** — runs `oxfmt` on the docs package to ensure consistent formatting.
180
- 7. **Stage the generated docs** — `git add -A packages/docs/api`. The git plugin stages what `git ls-files -m -o` reports, and that never reports a DELETION. A page that TypeDoc removed, because an export was renamed or deleted, therefore stayed in git forever while the docs tarball packed from the working tree was correct. `git add -A` stages the removals, and the git plugin commits the index.
194
+ 7. **Stage the generated docs** — `git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md`. The git plugin stages what `git ls-files -m -o` reports, and that never reports a DELETION. A page that TypeDoc removed, because an export was renamed or deleted, therefore stayed in git forever while the docs tarball packed from the working tree was correct. `git add -A` stages the removals, and the git plugin commits the index.
181
195
 
182
196
  ### Publish Phase
183
197
 
@@ -202,6 +216,8 @@ This phase runs on the branch, BEFORE the tag pipeline publishes.
202
216
  - `package.json`, `pnpm-lock.yaml` and `pnpm-workspace.yaml` (root)
203
217
  - The `package.json` of every scanned package, and the `README.md` of every one — the release stamps the version badge of a README at the same moment as the manifest
204
218
  - `packages/docs/api/**` (generated API documentation)
219
+ - `packages/docs/examples/@xmachines/**` (generated demo documentation)
220
+ - `packages/docs/examples/README.md` (TypeDoc rewrites its demo lists)
205
221
 
206
222
  The manifest list and the README list both come from the workspace scan, and not from a glob written by hand, so a package that a new `pnpm-workspace` pattern adds cannot be published while its manifest stays behind in git. A test asserts that every scanned package appears in both lists.
207
223
 
@@ -257,7 +273,7 @@ dist/releases/*.tgz
257
273
 
258
274
  The same tarballs are attached to the GitLab Release entry as permanent downloadable assets. Tarballs are **not committed** to git (the `dist/` directory is gitignored).
259
275
 
260
- The API documentation (`packages/docs/api/`) **is committed** to git by the post-release git commit and is the only generated artifact tracked in version control.
276
+ The post-release git commit **commits** the generated documentation (`packages/docs/api/` and `packages/docs/examples/@xmachines/`) to git. The same commit holds the demo lists that TypeDoc writes into the hand-written `packages/docs/examples/README.md`. It also holds `CHANGELOG.md`, which `@semantic-release/changelog` writes.
261
277
 
262
278
  ---
263
279
 
@@ -82,6 +82,7 @@ The repository is organized as a **pnpm workspaces** monorepo with all packages
82
82
  ```
83
83
  packages/
84
84
  ├── shared/ # Shared configs (tsconfig, oxlint, oxfmt, vitest)
85
+ ├── core/ # BaseError, the release protocol, the cache, small helpers
85
86
  ├── play/ # Core protocol (PlayEvent, PlayError)
86
87
  ├── play-atom/ # The atom primitives over @xstate/store
87
88
  ├── play-pattern/ # The route pattern language: one parse, and the path it builds back
@@ -145,6 +146,7 @@ All commands are run from the **repository root** unless otherwise noted.
145
146
  | `pnpm run format` | Format all files with oxfmt |
146
147
  | `pnpm run format:check` | Check formatting (CI mode — no writes) |
147
148
  | `pnpm run docs` | Build packages, generate TypeDoc API docs, then format |
149
+ | `pnpm run test:docs` | Check every link of the generated docs (run `pnpm run docs` first) |
148
150
 
149
151
  ---
150
152
 
@@ -187,17 +189,17 @@ React 18 and vue-router 4 are supported by intent — nothing known depends on 1
187
189
 
188
190
  ### The packages that must exist one time
189
191
 
190
- [`@xmachines/play`](../api/@xmachines/play/README.md) and [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) are a peer of every package that reads them, and a dependency of none.
192
+ [`@xmachines/core`](../api/@xmachines/core/README.md), [`@xmachines/play`](../api/@xmachines/play/README.md) and [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) are a peer of every package that reads them, and a dependency of none.
191
193
 
192
194
  [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) re-exports the atom of `@xstate/store`, and that library holds the active subscriber in a variable of its own module. Two copies build two graphs. A computed atom of the first copy and a subscription of the second copy therefore never meet: the subscriber stays silent, and no error reports the fault. Every propagation of state in this architecture goes through an atom, so the second copy stops the reactivity of a whole application.
193
195
 
194
- [`@xmachines/play`](../api/@xmachines/play/README.md) holds `PlayError`, and the documentation sends a consumer to `err instanceof PlayError`. That check answers `false` for an error of the second copy.
196
+ [`@xmachines/play`](../api/@xmachines/play/README.md) holds `PlayError`, and the documentation sends a consumer to `err instanceof PlayError`. That check answers `false` for an error of the second copy. [`@xmachines/core`](../api/@xmachines/core/README.md) holds `BaseError`, the base of `PlayError`, and `err instanceof BaseError` fails in the same way.
195
197
 
196
198
  A dependency invites that second copy. `scripts/lib/workspace-deps.mjs` pins a `workspace:*` range to an EXACT version, so two packages of two releases name two versions, and an installer resolves both. A peer moves the choice to the consumer, who brings one copy. The `@xmachines/json-render-*` packages carry the same rule for the same reason.
197
199
 
198
- Each of the two needs a `devDependency` beside the peer, because the workspace installs no peer. Without that entry a package resolves the specifier through the hoisting of another package, and it compiles until that other package stops declaring it.
200
+ Each of the three needs a `devDependency` beside the peer, because the workspace installs no peer. Without that entry a package resolves the specifier through the hoisting of another package, and it compiles until that other package stops declaring it.
199
201
 
200
- `tests/singleton-peers.test.ts` holds the three rules true: no dependency, a dev entry beside each peer, and a peer for each one that `src/` imports. A package that reads one of the two in its TESTS alone needs the dev entry alone — [`@xmachines/play-tanstack-router`](../api/@xmachines/play-tanstack-router/README.md) is that case.
202
+ `tests/singleton-peers.test.ts` holds the three rules true: no dependency, a dev entry beside each peer, and a peer for each one that `src/` imports. A package that reads one of the three in its TESTS alone needs the dev entry alone — [`@xmachines/play-tanstack-router`](../api/@xmachines/play-tanstack-router/README.md) is that case.
201
203
 
202
204
  The rule reads in both directions. A peer that the `src/` directory never imports is a peer that a consumer installs for nothing, and four router adapters carried one. A package declares the peer when it reads the package, and a `devDependency` alone when its tests read it.
203
205
 
@@ -220,16 +222,15 @@ Packages are grouped into dependency layers as defined in the root `tsconfig.jso
220
222
 
221
223
  | Layer | Packages | Depends on |
222
224
  | ----- | -------------------------------------------------------------------------------- | ------------------ |
223
- | 0 | `docs`, `play`, `shared` | External libs only |
224
- | 1 | `play-atom`, `play-pattern` | Layer 0 |
225
- | 2 | `play-actor`, `play-url` | Layers 0–1 |
226
- | 3 | `play-view` | Layers 0–2 |
227
- | 4 | `play-dom`, `play-react`, `play-router`, `play-solid`, `play-svelte`, `play-vue` | Layers 0–3 |
228
- | 5 | `play-tanstack-router`, `play-xstate` | Layers 0–4 |
229
- | 6 | `play-actor/examples/shared` | Layers 0–5 |
230
- | 7 | renderer demo apps | Layers 0–6 |
231
- | 8 | the eight router adapters | Layers 0–7 |
232
- | 9 | router demo apps | Layers 0–8 |
225
+ | 0 | `core`, `docs`, `play-atom`, `shared` | External libs only |
226
+ | 1 | `play`, `play-actor`, `play-pattern` | Layer 0 |
227
+ | 2 | `play-url`, `play-view` | Layers 0–1 |
228
+ | 3 | `play-dom`, `play-react`, `play-router`, `play-solid`, `play-svelte`, `play-vue` | Layers 0–2 |
229
+ | 4 | `play-tanstack-router`, `play-xstate` | Layers 0–3 |
230
+ | 5 | `play-actor/examples/shared` | Layers 0–4 |
231
+ | 6 | renderer demo apps | Layers 0–5 |
232
+ | 7 | the eight router adapters | Layers 0–6 |
233
+ | 8 | router demo apps | Layers 0–7 |
233
234
 
234
235
  The layer of an entry is its longest path to a package with no workspace dependency, and `tests/tsconfig-reference-graph.test.ts` computes it from the manifests.
235
236
 
@@ -238,26 +239,24 @@ The layer of an entry is its longest path to a package with no workspace depende
238
239
  ```mermaid
239
240
  flowchart LR
240
241
  subgraph L0["Layer 0 — no workspace deps"]
241
- play
242
+ core
243
+ play-atom
242
244
  shared
243
245
  docs
244
246
  end
245
247
 
246
248
  subgraph L1["Layer 1"]
247
- play-atom
249
+ play
250
+ play-actor
248
251
  play-pattern
249
252
  end
250
253
 
251
254
  subgraph L2["Layer 2"]
252
- play-actor
253
255
  play-url
254
- end
255
-
256
- subgraph L3["Layer 3"]
257
256
  play-view
258
257
  end
259
258
 
260
- subgraph L4["Layer 4 — view renderers, and the router core"]
259
+ subgraph L3["Layer 3 — view renderers, and the router core"]
261
260
  play-dom
262
261
  play-react
263
262
  play-router
@@ -266,31 +265,31 @@ flowchart LR
266
265
  play-vue
267
266
  end
268
267
 
269
- subgraph L5["Layer 5"]
268
+ subgraph L4["Layer 4"]
270
269
  play-tanstack-router
271
270
  play-xstate
272
271
  end
273
272
 
274
- subgraph L6["Layer 6"]
273
+ subgraph L5["Layer 5"]
275
274
  actorshared["play-actor/examples/shared"]
276
275
  end
277
276
 
278
- subgraph L7["Layer 7"]
277
+ subgraph L6["Layer 6"]
279
278
  renderdemos["renderer demo apps"]
280
279
  end
281
280
 
282
- subgraph L8["Layer 8 — the eight router adapters"]
281
+ subgraph L7["Layer 7 — the eight router adapters"]
283
282
  adapters["play-dom-router, play-react-router, play-solid-router,
284
283
  play-svelte-spa-router, play-sveltekit-router,
285
284
  play-tanstack-react-router, play-tanstack-solid-router,
286
285
  play-vue-router"]
287
286
  end
288
287
 
289
- subgraph L9["Layer 9"]
288
+ subgraph L8["Layer 8"]
290
289
  routerdemos["router demo apps"]
291
290
  end
292
291
 
293
- L0 --> L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7 --> L8 --> L9
292
+ L0 --> L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7 --> L8
294
293
  ```
295
294
 
296
295
  ### Adding a New Package
@@ -32,7 +32,7 @@ node codemod-play-atom.mjs --dry-run .
32
32
  node codemod-play-atom.mjs .
33
33
  ```
34
34
 
35
- The codemod reads `.ts`, `.tsx`, `.mts`, `.cts`, `.js`, `.jsx`, `.mjs`, `.vue`, `.svelte`, `.md` and `.json`, so it covers a manifest and a single-file component too. It skips `node_modules`, `dist`, `coverage` and every generated API directory.
35
+ The codemod reads `.ts`, `.tsx`, `.mts`, `.cts`, `.js`, `.jsx`, `.mjs`, `.vue`, `.svelte`, `.md` and `.json`, so it covers a manifest and a single-file component too. It skips `node_modules`, `dist`, `coverage` and every directory of generated documentation.
36
36
 
37
37
  It exits non-zero when it finds a site that needs a human, and it names each one.
38
38
 
@@ -57,6 +57,7 @@ pnpm add @xmachines/play-atom @xstate/store
57
57
  | `{ equals }` | `{ compare }` |
58
58
  | `SignalOptions<T>` / `ComputedOptions<T>` | `AtomOptions<T>` |
59
59
  | `watchSignal(signal, onValue)` | `watchAtom(atom, onValue)` |
60
+ | `Cleanup` (type) | `() => void` — the codemod reports it, and rewrites it not |
60
61
  | `useSignalEffect(cb, deps)` (`play-react`) | `useAtomEffect(sources, cb, deps)` |
61
62
  | `Signal.subtle.Watcher` | `atom.subscribe(fn)`, or `watchAtom` |
62
63
  | `Signal.subtle.untrack(fn)` | — no equivalent. See below |
@@ -35,7 +35,7 @@ Then open `http://localhost:3000`.
35
35
 
36
36
  Use this order to understand the implementation:
37
37
 
38
- 1. `src/main.ts` creates the page's inspector with `createDemoInspector()`, calls `definePlayer({ machine: authMachine, options: { inspect: inspector.inspect } })`, and starts the actor.
38
+ 1. `src/main.ts` creates the page's inspector with `createDemoInspector()`, calls `definePlayer({ machine: authMachine, options: { inspect: inspector.inspect }, actor: compose(PlayerActor, withRouting, withView) })`, and starts the actor.
39
39
  2. `initShell(actor, app, inspector)` from `src/components/Shell.ts` builds the HTML scaffold, mounts a reactive `NavBar`, wires the debug panel, and returns a disconnect function.
40
40
  3. `defineRegistry(authCatalog, { components, actions })` builds the typed `registryResult` — real async action handlers dispatching to `actor.send()`.
41
41
  4. `createPlayUI(registryResult)` produces a `mount` function; `mount(actor, container)` wires the registry to the actor — view switches happen automatically when `actor.currentView` changes.
@@ -49,6 +49,7 @@ const inspector = createDemoInspector();
49
49
  const createPlayer = definePlayer({
50
50
  machine: authMachine,
51
51
  options: { inspect: inspector.inspect },
52
+ actor: compose(PlayerActor, withRouting, withView),
52
53
  });
53
54
  const actor = createPlayer();
54
55
  actor.start();
@@ -56,6 +57,9 @@ actor.start();
56
57
  const app = document.getElementById("app");
57
58
  if (!app) throw new Error("Root element not found");
58
59
 
60
+ // The shell and the actor live as long as the page, so the demo never tears them down:
61
+ // the browser frees them with the page. `initShell` returns a disconnect function for a
62
+ // host that removes the shell before the page ends, and the browser tests call it.
59
63
  initShell(actor, app, inspector);
60
64
  ```
61
65
 
@@ -103,7 +107,7 @@ This demo follows the canonical watcher lifecycle:
103
107
  2. `watchAtom` queues one microtask, and it drops each duplicate notification of that batch
104
108
  3. The microtask reads the actor atoms and projects DOM state
105
109
 
106
- One subscription lives for the whole watch, and no caller arms a watcher again. Cleanup is explicit: `disconnectNavBar()`, `disconnectRenderer()`, and `disconnectDebugPanel()` are all called from the disconnect function returned by `initShell`. In this demo, cleanup is called on `beforeunload` via `actor.stop()`.
110
+ One subscription lives for the whole watch, and no caller arms a watcher again. Cleanup is explicit: the disconnect function that `initShell` returns calls `disconnectNavBar()`, `disconnectRenderer()`, and `disconnectDebugPanel()`. This demo does not call that function at the end of the page, because the browser frees the page. The browser tests call it, and then they call `actor.stop()`. Do not tear down on `beforeunload`: that event also fires when the page goes into the back/forward cache, and Back then shows a page that does not respond.
107
111
 
108
112
  ## Adapter Boundaries
109
113
 
@@ -6,7 +6,7 @@
6
6
  function createAuthActionHandlers(actor): object;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-actor/examples/shared/src/actions.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-actor/examples/shared/src/actions.ts#L48)
9
+ Defined in: [packages/play-actor/examples/shared/src/actions.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-actor/examples/shared/src/actions.ts#L48)
10
10
 
11
11
  Build the demo action handler map for one actor.
12
12
 
@@ -25,11 +25,11 @@ framework's `defineRegistry` accepts; spread the result into its `actions`.
25
25
 
26
26
  | Name | Type | Defined in |
27
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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/packages/play-actor/examples/shared/src/actions.ts#L92) |
28
+ | `addTask()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/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/v6.0.0/packages/play-actor/examples/shared/src/actions.ts#L92) |
@@ -6,7 +6,7 @@
6
6
  function createConfirmDialog(confirm): Promise<boolean>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/ConfirmDialog.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/ConfirmDialog.ts#L12)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/ConfirmDialog.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/ConfirmDialog.ts#L12)
10
10
 
11
11
  ConfirmDialog — the DOM demo's onConfirm implementation.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createNavBar(actor, container): () => void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/NavBar.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/NavBar.ts#L9)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/NavBar.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/NavBar.ts#L9)
10
10
 
11
11
  NavBar — App-shell navigation factory. Mounts a reactive nav into
12
12
  `container`, observes actor.state via watchAtom, and updates button
@@ -6,7 +6,7 @@
6
6
  function initShell(actor, appElement, inspector): () => void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Shell.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Shell.ts#L18)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Shell.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Shell.ts#L18)
10
10
 
11
11
  Shell — DOM shell layout factory. Renders demo chrome (header + main +
12
12
  debug panel), mounts NavBar, connects DOM renderer, and wires DebugPanel.
@@ -6,4 +6,4 @@
6
6
  type AuthCatalog = typeof authCatalog;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/catalog.ts#L6)
9
+ Defined in: [packages/play-dom/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/catalog.ts#L6)
@@ -6,7 +6,7 @@
6
6
  const About: ComponentFn<AuthCatalog, "About">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/About.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/About.ts#L8)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/About.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/About.ts#L8)
10
10
 
11
11
  About — Public information page. Catalog-typed DOM component
12
12
  (ComponentFn<AuthCatalog, 'About'>). Renders static content from props.
@@ -6,7 +6,7 @@
6
6
  const Button: ComponentFn<AuthCatalog, "Button">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Button.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Button.ts#L8)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Button.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Button.ts#L8)
10
10
 
11
11
  Button — emits `press`; the spec's `on.press` binding decides what happens
12
12
  (a host action sending a machine event, or a built-in like setState).
@@ -6,7 +6,7 @@
6
6
  const Contact: ComponentFn<AuthCatalog, "Contact">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Contact.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Contact.ts#L8)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Contact.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Contact.ts#L8)
10
10
 
11
11
  Contact — Public contact page. Catalog-typed DOM component
12
12
  (ComponentFn<AuthCatalog, 'Contact'>). Renders static content from props.
@@ -6,7 +6,7 @@
6
6
  const Dashboard: ComponentFn<AuthCatalog, "Dashboard">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Dashboard.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Dashboard.ts#L9)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Dashboard.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Dashboard.ts#L9)
10
10
 
11
11
  Dashboard — Protected authenticated home. Catalog-typed DOM component
12
12
  (ComponentFn<AuthCatalog, 'Dashboard'>). Renders welcome message; logout
@@ -6,7 +6,7 @@
6
6
  const Field: ComponentFn<AuthCatalog, "Field">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Field.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Field.ts#L15)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Field.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Field.ts#L15)
10
10
 
11
11
  Field — labelled input with two-way $bindState binding and declarative
12
12
  validation checks.
@@ -6,7 +6,7 @@
6
6
  const Home: ComponentFn<AuthCatalog, "Home">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Home.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Home.ts#L9)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Home.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Home.ts#L9)
10
10
 
11
11
  Home — Public landing page. Catalog-typed DOM component
12
12
  (ComponentFn<AuthCatalog, 'Home'>). Renders static welcome content from
@@ -6,7 +6,7 @@
6
6
  const Login: ComponentFn<AuthCatalog, "Login">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/examples/demo/src/components/Login.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.1/packages/play-dom/examples/demo/src/components/Login.ts#L9)
9
+ Defined in: [packages/play-dom/examples/demo/src/components/Login.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-dom/examples/demo/src/components/Login.ts#L9)
10
10
 
11
11
  Login — Authentication form. Catalog-typed DOM component
12
12
  (ComponentFn<AuthCatalog, 'Login'>). Binds username input to ctx.store via