@xmachines/docs 5.0.2 → 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 (543) 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 +18 -69
  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 +34 -25
  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 +28 -45
  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 +4 -4
  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 +4 -2
  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 +14 -13
  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 +4 -2
  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 +3 -3
  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 +4 -2
  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 +4 -2
  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 +4 -2
  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 +4 -2
  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 +3 -3
  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 +19 -8
  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/vite-aliases/functions/xmAliases.md +1 -1
  430. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  431. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  432. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  433. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  434. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  435. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  436. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  437. package/api/README.md +1 -0
  438. package/api/llms.txt +1 -0
  439. package/contributing/architecture.md +36 -21
  440. package/contributing/configuration.md +5 -3
  441. package/contributing/development.md +25 -27
  442. package/contributing/migrating-to-play-atom.md +1 -0
  443. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
  444. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  445. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  446. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  447. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  448. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  449. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  450. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  451. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  452. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  453. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  454. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  455. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  456. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  457. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  458. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  459. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  460. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  461. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  462. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  463. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +15 -15
  464. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
  465. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  466. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  467. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  468. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  469. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  470. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  471. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  472. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  473. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  474. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  475. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  476. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  477. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  478. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  479. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  480. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  481. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  482. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  483. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  484. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +15 -15
  485. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
  486. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  487. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  488. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  489. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  490. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  491. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  492. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  493. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  494. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  495. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  496. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  497. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  498. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  499. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  500. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  501. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  502. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  503. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  504. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  505. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +15 -15
  506. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
  507. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  508. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  509. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
  510. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
  511. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  512. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  513. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +190 -277
  514. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  515. package/examples/README.md +1 -1
  516. package/guides/atoms.md +24 -12
  517. package/guides/getting-started.md +12 -10
  518. package/package.json +1 -1
  519. package/rfc/broker.md +4 -0
  520. package/rfc/browser.md +4 -0
  521. package/rfc/cli.md +4 -0
  522. package/rfc/git.md +4 -0
  523. package/rfc/mcp.md +4 -0
  524. package/rfc/node.md +4 -0
  525. package/rfc/play.md +1 -1
  526. package/rfc/rest.md +4 -0
  527. package/rfc/run.md +4 -0
  528. package/rfc/streams.md +4 -0
  529. package/api/@xmachines/play/index/functions/asCleanup.md +0 -77
  530. package/api/@xmachines/play/index/functions/shallowEqualExcept.md +0 -29
  531. package/api/@xmachines/play/index/type-aliases/Cleanup.md +0 -38
  532. package/api/@xmachines/play/index/type-aliases/DisposeKey.md +0 -32
  533. package/api/@xmachines/play/index/variables/DISPOSE.md +0 -34
  534. package/api/@xmachines/play-atom/type-aliases/Cleanup.md +0 -38
  535. package/api/@xmachines/play-dom/functions/asCleanup.md +0 -77
  536. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +0 -38
  537. package/api/@xmachines/play-dom-router/functions/asCleanup.md +0 -77
  538. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +0 -38
  539. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +0 -34
  540. package/api/@xmachines/play-pattern/interfaces/PatternCache.md +0 -65
  541. package/api/@xmachines/play-router/index/interfaces/PatternCache.md +0 -65
  542. package/api/@xmachines/play-url/index/interfaces/PatternCache.md +0 -65
  543. package/api/@xmachines/play-xstate/index/variables/DISPOSE.md +0 -34
@@ -6,7 +6,7 @@
6
6
  type RouteStateNode = object;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-xstate/src/routing/format-play-route-transitions.ts#L30)
9
+ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L30)
10
10
 
11
11
  The minimal structural shape of one XState state node, as
12
12
  `formatPlayRouteTransitions` reads it during its walk over the machine config.
@@ -29,7 +29,7 @@ signature without a change.
29
29
  optional id?: string;
30
30
  ```
31
31
 
32
- Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-xstate/src/routing/format-play-route-transitions.ts#L34)
32
+ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L34)
33
33
 
34
34
  The optional explicit state ID, for example `"home"` or `"settings"`. It is the `#id` target of a `play.route` event.
35
35
 
@@ -41,7 +41,7 @@ The optional explicit state ID, for example `"home"` or `"settings"`. It is the
41
41
  optional meta?: object;
42
42
  ```
43
43
 
44
- Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-xstate/src/routing/format-play-route-transitions.ts#L36)
44
+ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L36)
45
45
 
46
46
  The state metadata. A `meta.route` field gives the state a route.
47
47
 
@@ -64,7 +64,7 @@ generated transition, and that flag defaults to `false`.
64
64
  optional on?: Record<string, unknown>;
65
65
  ```
66
66
 
67
- Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-xstate/src/routing/format-play-route-transitions.ts#L51)
67
+ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L51)
68
68
 
69
69
  The event handlers of this state. The function reads them where a child asks for a
70
70
  local `play.route` handler, so that the transitions of the user survive the merge.
@@ -77,6 +77,6 @@ local `play.route` handler, so that the transitions of the user survive the merg
77
77
  optional states?: Record<string, RouteStateNode>;
78
78
  ```
79
79
 
80
- Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-xstate/src/routing/format-play-route-transitions.ts#L46)
80
+ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L46)
81
81
 
82
82
  The nested child states. The function walks them for each further route declaration.
@@ -6,7 +6,7 @@
6
6
  function withView<TMachine>(Base): PlayerConstructor<TMachine, Viewable>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/with-view.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/play-xstate/src/with-view.ts#L99)
9
+ Defined in: [packages/play-xstate/src/with-view.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/play-xstate/src/with-view.ts#L99)
10
10
 
11
11
  Adds the view capability to an actor class.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function xmAliases(importMetaUrl): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [vite-aliases.ts:238](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vite-aliases.ts#L238)
9
+ Defined in: [vite-aliases.ts:238](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vite-aliases.ts#L238)
10
10
 
11
11
  Vite resolve.alias entries for all @xmachines/* workspace packages.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function xmCacheDir(importMetaUrl, name): string;
7
7
  ```
8
8
 
9
- Defined in: [vite-aliases.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vite-aliases.ts#L355)
9
+ Defined in: [vite-aliases.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vite-aliases.ts#L355)
10
10
 
11
11
  Returns the shared Vite `cacheDir` for this workspace package.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function xmOptimizeDeps(include?): DepOptimizationOptions;
7
7
  ```
8
8
 
9
- Defined in: [vite-aliases.ts:308](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vite-aliases.ts#L308)
9
+ Defined in: [vite-aliases.ts:308](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vite-aliases.ts#L308)
10
10
 
11
11
  Returns the standard Vite `optimizeDeps` config for browser test projects.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function xmResolve(importMetaUrl, extra?): ResolveOptions & object;
7
7
  ```
8
8
 
9
- Defined in: [vite-aliases.ts:275](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vite-aliases.ts#L275)
9
+ Defined in: [vite-aliases.ts:275](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vite-aliases.ts#L275)
10
10
 
11
11
  Full Vite `resolve` config for @xmachines/* workspace packages.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function xmSvelteRunes(): object;
7
7
  ```
8
8
 
9
- Defined in: [vite-aliases.ts:334](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vite-aliases.ts#L334)
9
+ Defined in: [vite-aliases.ts:334](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vite-aliases.ts#L334)
10
10
 
11
11
  Svelte plugin options that enforce runes mode for workspace sources only.
12
12
 
@@ -35,4 +35,4 @@ one and change the other.
35
35
 
36
36
  | Name | Type | Defined in |
37
37
  | ------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
38
- | `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:335](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vite-aliases.ts#L335) |
38
+ | `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:335](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vite-aliases.ts#L335) |
@@ -6,7 +6,7 @@
6
6
  function defineXmBrowserConfig(importMetaUrl, overrides, options?): UserConfig;
7
7
  ```
8
8
 
9
- Defined in: [vitest.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vitest.ts#L209)
9
+ Defined in: [vitest.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vitest.ts#L209)
10
10
 
11
11
  Create a Vitest browser-mode config with XMachines workspace defaults.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function defineXmVitestConfig(importMetaUrl, overrides): UserConfig;
7
7
  ```
8
8
 
9
- Defined in: [vitest.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vitest.ts#L65)
9
+ Defined in: [vitest.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vitest.ts#L65)
10
10
 
11
11
  Create a Vitest config with XMachines workspace defaults.
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: XmBrowserConfigOptions
4
4
 
5
- Defined in: [vitest.ts:159](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vitest.ts#L159)
5
+ Defined in: [vitest.ts:159](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vitest.ts#L159)
6
6
 
7
7
  Options for [defineXmBrowserConfig](../functions/defineXmBrowserConfig.md) that live outside the plain
8
8
  Vitest config overrides.
@@ -11,6 +11,6 @@ Vitest config overrides.
11
11
 
12
12
  | Property | Type | Description | Defined in |
13
13
  | -------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
14
- | <a id="property-base"></a> `base?` | `UserConfig` | Base Vite config to layer the browser test config on top of (typically a demo's `vite.config.ts`). When set, the base is expected to provide its own `resolve`/`plugins`, so the `cacheDir` and `resolve` defaults are not applied — mirroring the previous `mergeConfig(viteConfig, ...)` pattern in demo browser configs. | [vitest.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vitest.ts#L167) |
15
- | <a id="property-optimizedeps"></a> `optimizeDeps?` | `string`[] | Extra package specifiers to pre-bundle via `xmOptimizeDeps` (e.g. `["@xmachines/json-render-vue", "@xmachines/json-render-vue/schema"]`). Ignored when `overrides.optimizeDeps` is set, which then replaces the default `xmOptimizeDeps()` wholesale. | [vitest.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vitest.ts#L174) |
16
- | <a id="property-resolve"></a> `resolve?` | `Partial`\<`ResolveOptions` & `object`\> | Extra resolve options forwarded to `xmResolve` (e.g. `conditions` or additional `alias` entries). Not applied when `base` is set — the base config owns `resolve` in that layout. | [vitest.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v5.0.2/packages/shared/config/vitest.ts#L180) |
14
+ | <a id="property-base"></a> `base?` | `UserConfig` | Base Vite config to layer the browser test config on top of (typically a demo's `vite.config.ts`). When set, the base is expected to provide its own `resolve`/`plugins`, so the `cacheDir` and `resolve` defaults are not applied — mirroring the previous `mergeConfig(viteConfig, ...)` pattern in demo browser configs. | [vitest.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vitest.ts#L167) |
15
+ | <a id="property-optimizedeps"></a> `optimizeDeps?` | `string`[] | Extra package specifiers to pre-bundle via `xmOptimizeDeps` (e.g. `["@xmachines/json-render-vue", "@xmachines/json-render-vue/schema"]`). Ignored when `overrides.optimizeDeps` is set, which then replaces the default `xmOptimizeDeps()` wholesale. | [vitest.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vitest.ts#L174) |
16
+ | <a id="property-resolve"></a> `resolve?` | `Partial`\<`ResolveOptions` & `object`\> | Extra resolve options forwarded to `xmResolve` (e.g. `conditions` or additional `alias` entries). Not applied when `base` is set — the base config owns `resolve` in that layout. | [vitest.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.0.0/packages/shared/config/vitest.ts#L180) |
package/api/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  ## Packages
4
4
 
5
+ - [@xmachines/core](@xmachines/core/README.md)
5
6
  - [@xmachines/play](@xmachines/play/README.md)
6
7
  - [@xmachines/play-actor](@xmachines/play-actor/README.md)
7
8
  - [@xmachines/play-atom](@xmachines/play-atom/README.md)
package/api/llms.txt CHANGED
@@ -46,6 +46,7 @@
46
46
  - [@xmachines/play-sveltekit-router](@xmachines/play-sveltekit-router/README.md): SvelteKit router adapter for actor-driven navigation
47
47
  - [@xmachines/play-svelte-spa-router](@xmachines/play-svelte-spa-router/README.md): Svelte SPA router adapter for actor-driven navigation
48
48
  - [@xmachines/shared](@xmachines/shared/README.md): Shared TypeScript, oxlint, and formatting configuration
49
+ - [@xmachines/core](@xmachines/core/README.md): BaseError, the release protocol (asDisposable), a key-value cache, and helpers for values and errors
49
50
 
50
51
  ## Notes For LLMs
51
52
 
@@ -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.
@@ -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
@@ -188,17 +189,17 @@ React 18 and vue-router 4 are supported by intent — nothing known depends on 1
188
189
 
189
190
  ### The packages that must exist one time
190
191
 
191
- [`@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.
192
193
 
193
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.
194
195
 
195
- [`@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.
196
197
 
197
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.
198
199
 
199
- 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.
200
201
 
201
- `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.
202
203
 
203
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.
204
205
 
@@ -221,16 +222,15 @@ Packages are grouped into dependency layers as defined in the root `tsconfig.jso
221
222
 
222
223
  | Layer | Packages | Depends on |
223
224
  | ----- | -------------------------------------------------------------------------------- | ------------------ |
224
- | 0 | `docs`, `play`, `shared` | External libs only |
225
- | 1 | `play-atom`, `play-pattern` | Layer 0 |
226
- | 2 | `play-actor`, `play-url` | Layers 0–1 |
227
- | 3 | `play-view` | Layers 0–2 |
228
- | 4 | `play-dom`, `play-react`, `play-router`, `play-solid`, `play-svelte`, `play-vue` | Layers 0–3 |
229
- | 5 | `play-tanstack-router`, `play-xstate` | Layers 0–4 |
230
- | 6 | `play-actor/examples/shared` | Layers 0–5 |
231
- | 7 | renderer demo apps | Layers 0–6 |
232
- | 8 | the eight router adapters | Layers 0–7 |
233
- | 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 |
234
234
 
235
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.
236
236
 
@@ -239,26 +239,24 @@ The layer of an entry is its longest path to a package with no workspace depende
239
239
  ```mermaid
240
240
  flowchart LR
241
241
  subgraph L0["Layer 0 — no workspace deps"]
242
- play
242
+ core
243
+ play-atom
243
244
  shared
244
245
  docs
245
246
  end
246
247
 
247
248
  subgraph L1["Layer 1"]
248
- play-atom
249
+ play
250
+ play-actor
249
251
  play-pattern
250
252
  end
251
253
 
252
254
  subgraph L2["Layer 2"]
253
- play-actor
254
255
  play-url
255
- end
256
-
257
- subgraph L3["Layer 3"]
258
256
  play-view
259
257
  end
260
258
 
261
- subgraph L4["Layer 4 — view renderers, and the router core"]
259
+ subgraph L3["Layer 3 — view renderers, and the router core"]
262
260
  play-dom
263
261
  play-react
264
262
  play-router
@@ -267,31 +265,31 @@ flowchart LR
267
265
  play-vue
268
266
  end
269
267
 
270
- subgraph L5["Layer 5"]
268
+ subgraph L4["Layer 4"]
271
269
  play-tanstack-router
272
270
  play-xstate
273
271
  end
274
272
 
275
- subgraph L6["Layer 6"]
273
+ subgraph L5["Layer 5"]
276
274
  actorshared["play-actor/examples/shared"]
277
275
  end
278
276
 
279
- subgraph L7["Layer 7"]
277
+ subgraph L6["Layer 6"]
280
278
  renderdemos["renderer demo apps"]
281
279
  end
282
280
 
283
- subgraph L8["Layer 8 — the eight router adapters"]
281
+ subgraph L7["Layer 7 — the eight router adapters"]
284
282
  adapters["play-dom-router, play-react-router, play-solid-router,
285
283
  play-svelte-spa-router, play-sveltekit-router,
286
284
  play-tanstack-react-router, play-tanstack-solid-router,
287
285
  play-vue-router"]
288
286
  end
289
287
 
290
- subgraph L9["Layer 9"]
288
+ subgraph L8["Layer 8"]
291
289
  routerdemos["router demo apps"]
292
290
  end
293
291
 
294
- L0 --> L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7 --> L8 --> L9
292
+ L0 --> L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7 --> L8
295
293
  ```
296
294
 
297
295
  ### Adding a New Package
@@ -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 |
@@ -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.2/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.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) |
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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.