@xmachines/docs 6.1.0 → 7.1.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 (810) hide show
  1. package/README.md +4 -4
  2. package/api/@xmachines/core/README.md +7 -2
  3. package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
  4. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
  5. package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
  6. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
  7. package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
  8. package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
  9. package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
  10. package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
  11. package/api/@xmachines/core/utils/functions/isError.md +1 -1
  12. package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
  13. package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
  14. package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
  15. package/api/@xmachines/core/utils/functions/safeString.md +1 -1
  16. package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
  17. package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
  18. package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
  19. package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
  20. package/api/@xmachines/play/README.md +10 -5
  21. package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
  22. package/api/@xmachines/play/errors/classes/PlayError.md +12 -11
  23. package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
  24. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
  25. package/api/@xmachines/play-actor/README.md +12 -2
  26. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
  27. package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
  28. package/api/@xmachines/play-atom/README.md +16 -4
  29. package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
  30. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  31. package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
  32. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
  33. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
  34. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  35. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
  36. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
  37. package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
  38. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
  39. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  40. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
  41. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
  42. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  43. package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
  44. package/api/@xmachines/play-dom/README.md +131 -48
  45. package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -12
  46. package/api/@xmachines/play-dom/functions/createPlayUI.md +5 -5
  47. package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
  48. package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
  49. package/api/@xmachines/play-dom/functions/renderSpec.md +3 -2
  50. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +13 -13
  51. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -15
  52. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +26 -20
  53. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
  54. package/api/@xmachines/play-dom/interfaces/PassOptions.md +14 -0
  55. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +18 -17
  56. package/api/@xmachines/play-dom/interfaces/RenderErrorInfo.md +16 -0
  57. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +17 -15
  58. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +9 -8
  59. package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +14 -11
  60. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
  61. package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
  62. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
  63. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
  64. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
  65. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
  66. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +9 -10
  67. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +10 -9
  68. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  69. package/api/@xmachines/play-dom/type-aliases/OnRenderError.md +27 -0
  70. package/api/@xmachines/play-dom/type-aliases/RenderErrorKind.md +21 -0
  71. package/api/@xmachines/play-dom-router/README.md +41 -5
  72. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  73. package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
  74. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  75. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  76. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  77. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
  78. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  79. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  80. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  81. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
  82. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  83. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  84. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  85. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  86. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  87. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
  88. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  89. package/api/@xmachines/play-pattern/README.md +1 -1
  90. package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
  91. package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
  92. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  93. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  94. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  95. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
  96. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
  97. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  98. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  99. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  100. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  101. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  102. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  103. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  104. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  105. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  106. package/api/@xmachines/play-react/README.md +57 -18
  107. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
  108. package/api/@xmachines/play-react/functions/defineRegistry.md +4 -4
  109. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  110. package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
  111. package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
  112. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  113. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +5 -5
  114. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  115. package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
  116. package/api/@xmachines/play-react/interfaces/DefineRegistryResult.md +15 -0
  117. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
  118. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  119. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
  120. package/api/@xmachines/play-react/interfaces/RenderErrorInfo.md +16 -0
  121. package/api/@xmachines/play-react/interfaces/RendererProps.md +7 -7
  122. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
  123. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  124. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +4 -4
  125. package/api/@xmachines/play-react/type-aliases/OnRenderError.md +27 -0
  126. package/api/@xmachines/play-react/type-aliases/RenderErrorKind.md +21 -0
  127. package/api/@xmachines/play-react/variables/ActorProvider.md +14 -4
  128. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  129. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  130. package/api/@xmachines/play-react-router/README.md +27 -6
  131. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  132. package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
  133. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
  134. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  135. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
  136. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
  137. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
  138. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  139. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  140. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  141. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  142. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  143. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  144. package/api/@xmachines/play-router/README.md +73 -16
  145. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
  146. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
  147. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
  148. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
  149. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
  150. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
  151. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
  152. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
  153. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
  154. package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
  155. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
  156. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  157. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
  158. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  159. package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
  160. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  161. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  162. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  163. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  164. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  165. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  166. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
  167. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  168. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  169. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  170. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  171. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
  172. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  173. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
  174. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  175. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  176. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  177. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  178. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  179. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  180. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  181. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  182. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
  183. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
  184. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  185. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  186. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
  187. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
  188. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
  189. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
  190. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  191. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
  192. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
  193. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
  194. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
  195. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
  196. package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
  197. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
  198. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
  199. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  200. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
  201. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
  202. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
  203. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
  204. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
  205. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  206. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
  207. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +10 -9
  208. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
  209. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
  210. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  211. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  212. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  213. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  214. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  215. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  216. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  217. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  218. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  219. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  220. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  221. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  222. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  223. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  224. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  225. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  226. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  227. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
  228. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
  229. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  230. package/api/@xmachines/play-solid/README.md +35 -11
  231. package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
  232. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  233. package/api/@xmachines/play-solid/functions/useBoundProp.md +11 -8
  234. package/api/@xmachines/play-solid/functions/useFieldValidation.md +6 -4
  235. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  236. package/api/@xmachines/play-solid/functions/useStateBinding.md +8 -6
  237. package/api/@xmachines/play-solid/functions/useStateValue.md +8 -6
  238. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  239. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
  240. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
  241. package/api/@xmachines/play-solid/interfaces/RenderErrorInfo.md +16 -0
  242. package/api/@xmachines/play-solid/interfaces/RendererProps.md +7 -7
  243. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  244. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  245. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +4 -4
  246. package/api/@xmachines/play-solid/type-aliases/OnRenderError.md +27 -0
  247. package/api/@xmachines/play-solid/type-aliases/RenderErrorKind.md +21 -0
  248. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  249. package/api/@xmachines/play-solid/variables/ActorProvider.md +17 -3
  250. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  251. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  252. package/api/@xmachines/play-solid-router/README.md +22 -6
  253. package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
  254. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  255. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
  256. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
  257. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
  258. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
  259. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
  260. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  261. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  262. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  263. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  264. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  265. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  266. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  267. package/api/@xmachines/play-svelte/README.md +18 -10
  268. package/api/@xmachines/play-svelte/functions/defineRegistry.md +6 -7
  269. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  270. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  271. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  272. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  273. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +13 -13
  274. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
  275. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +11 -11
  276. package/api/@xmachines/play-svelte/interfaces/DefineRegistryResult.md +15 -0
  277. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  278. package/api/@xmachines/play-svelte/interfaces/RenderErrorInfo.md +16 -0
  279. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  280. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +4 -4
  281. package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
  282. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  283. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
  284. package/api/@xmachines/play-svelte/type-aliases/OnRenderError.md +27 -0
  285. package/api/@xmachines/play-svelte/type-aliases/RenderErrorKind.md +21 -0
  286. package/api/@xmachines/play-svelte-spa-router/README.md +9 -5
  287. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
  288. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
  289. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  290. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  291. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  292. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
  293. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
  294. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  295. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  296. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  297. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
  298. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  299. package/api/@xmachines/play-sveltekit-router/README.md +65 -13
  300. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
  301. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +29 -19
  302. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  303. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  304. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -16
  305. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  306. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
  307. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
  308. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  309. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  310. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  311. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
  312. package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +25 -0
  313. package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +21 -0
  314. package/api/@xmachines/play-tanstack-react-router/README.md +34 -16
  315. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
  316. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  317. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
  318. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  319. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
  320. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
  321. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
  322. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  323. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  324. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  325. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  326. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  327. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  328. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
  329. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  330. package/api/@xmachines/play-tanstack-router/README.md +5 -3
  331. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  332. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  333. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
  334. package/api/@xmachines/play-tanstack-solid-router/README.md +45 -11
  335. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
  336. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  337. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
  338. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
  339. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
  340. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
  341. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  342. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  343. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  344. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  345. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  346. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  347. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
  348. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  349. package/api/@xmachines/play-url/README.md +1 -1
  350. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
  351. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
  352. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
  353. package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
  354. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  355. package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
  356. package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
  357. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
  358. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  359. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  360. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  361. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  362. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  363. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  364. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
  365. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  366. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  367. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  368. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  369. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  370. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
  371. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  372. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  373. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
  374. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
  375. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
  376. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
  377. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  378. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
  379. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
  380. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
  381. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
  382. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  383. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  384. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  385. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  386. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
  387. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  388. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  389. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  390. package/api/@xmachines/play-view/README.md +45 -19
  391. package/api/@xmachines/play-view/errors/README.md +1 -0
  392. package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
  393. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
  394. package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +181 -0
  395. package/api/@xmachines/play-view/index/README.md +10 -4
  396. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +13 -12
  397. package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +34 -0
  398. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  399. package/api/@xmachines/play-view/index/functions/composeViews.md +8 -2
  400. package/api/@xmachines/play-view/index/functions/createActorProxy.md +39 -0
  401. package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +35 -0
  402. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  403. package/api/@xmachines/play-view/index/functions/createViewSession.md +29 -0
  404. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  405. package/api/@xmachines/play-view/index/functions/forwardRenderError.md +45 -0
  406. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  407. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  408. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  409. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  410. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  411. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +12 -12
  412. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
  413. package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
  414. package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +19 -0
  415. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
  416. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  417. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  418. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
  419. package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
  420. package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
  421. package/api/@xmachines/play-view/index/interfaces/ViewSession.md +155 -0
  422. package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +12 -0
  423. package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +23 -0
  424. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +22 -3
  425. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -6
  426. package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
  427. package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
  428. package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
  429. package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +21 -0
  430. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
  431. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  432. package/api/@xmachines/play-vue/README.md +20 -15
  433. package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
  434. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  435. package/api/@xmachines/play-vue/functions/useBoundProp.md +13 -7
  436. package/api/@xmachines/play-vue/functions/useFieldValidation.md +12 -5
  437. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  438. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  439. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
  440. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  441. package/api/@xmachines/play-vue/interfaces/RenderErrorInfo.md +16 -0
  442. package/api/@xmachines/play-vue/interfaces/RendererProps.md +7 -7
  443. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  444. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  445. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
  446. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
  447. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
  448. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
  449. package/api/@xmachines/play-vue/type-aliases/OnRenderError.md +27 -0
  450. package/api/@xmachines/play-vue/type-aliases/RenderErrorKind.md +21 -0
  451. package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
  452. package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
  453. package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
  454. package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
  455. package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
  456. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
  457. package/api/@xmachines/play-vue-router/README.md +19 -12
  458. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
  459. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
  460. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
  461. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  462. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
  463. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
  464. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  465. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
  466. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  467. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
  468. package/api/@xmachines/play-xstate/README.md +64 -12
  469. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
  470. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
  471. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
  472. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
  473. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
  474. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  475. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
  476. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
  477. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
  478. package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
  479. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
  480. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
  481. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
  482. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
  483. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
  484. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
  485. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
  486. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
  487. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  488. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
  489. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  490. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
  491. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
  492. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
  493. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  494. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  495. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
  496. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  497. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
  498. package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
  499. package/api/@xmachines/shared/README.md +4 -3
  500. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
  501. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
  502. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
  503. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  504. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
  505. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  506. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
  507. package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
  508. package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
  509. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
  510. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  511. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  512. package/contributing/architecture.md +88 -53
  513. package/contributing/configuration.md +44 -62
  514. package/contributing/deployment.md +131 -161
  515. package/contributing/development.md +33 -8
  516. package/contributing/migrating-to-play-atom.md +10 -4
  517. package/contributing/testing.md +67 -34
  518. package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
  519. package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
  520. package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
  521. package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
  522. package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
  523. package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  524. package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  525. package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
  526. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  527. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  528. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  529. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  530. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
  531. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
  532. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
  533. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  534. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  535. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  536. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  537. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  538. package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
  539. package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
  540. package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
  541. package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
  542. package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
  543. package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
  544. package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
  545. package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
  546. package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
  547. package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
  548. package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
  549. package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
  550. package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
  551. package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  552. package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  553. package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
  554. package/examples/@xmachines/play-dom-router-demo/README.md +41 -33
  555. package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
  556. package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
  557. package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
  558. package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
  559. package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
  560. package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
  561. package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  562. package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  563. package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  564. package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  565. package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  566. package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  567. package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
  568. package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
  569. package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
  570. package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  571. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  572. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  573. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  574. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  575. package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
  576. package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
  577. package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
  578. package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
  579. package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
  580. package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
  581. package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
  582. package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
  583. package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
  584. package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
  585. package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
  586. package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
  587. package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
  588. package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
  589. package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
  590. package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  591. package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  592. package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
  593. package/examples/@xmachines/play-react-router-demo/README.md +21 -9
  594. package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
  595. package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
  596. package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
  597. package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
  598. package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
  599. package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
  600. package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  601. package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  602. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  603. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  604. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  605. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  606. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
  607. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
  608. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
  609. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  610. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  611. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  612. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  613. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  614. package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
  615. package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
  616. package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
  617. package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
  618. package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
  619. package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
  620. package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
  621. package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
  622. package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
  623. package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
  624. package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
  625. package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
  626. package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
  627. package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
  628. package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
  629. package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  630. package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  631. package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
  632. package/examples/@xmachines/play-solid-router-demo/README.md +17 -9
  633. package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
  634. package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
  635. package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
  636. package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
  637. package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
  638. package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  639. package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  640. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
  641. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  642. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  643. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  644. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  645. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
  646. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
  647. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
  648. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  649. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  650. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  651. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  652. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  653. package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
  654. package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
  655. package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
  656. package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
  657. package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
  658. package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
  659. package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
  660. package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
  661. package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
  662. package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  663. package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  664. package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
  665. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +9 -9
  666. package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
  667. package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
  668. package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
  669. package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
  670. package/examples/@xmachines/play-sveltekit-router-demo/README.md +9 -9
  671. package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
  672. package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
  673. package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
  674. package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
  675. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +22 -16
  676. package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
  677. package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
  678. package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
  679. package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
  680. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +25 -17
  681. package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
  682. package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
  683. package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
  684. package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
  685. package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
  686. package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  687. package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  688. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  689. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  690. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  691. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  692. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
  693. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
  694. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
  695. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  696. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  697. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  698. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  699. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  700. package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
  701. package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
  702. package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
  703. package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
  704. package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
  705. package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
  706. package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
  707. package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
  708. package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
  709. package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  710. package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
  711. package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
  712. package/examples/@xmachines/play-vue-router-demo/README.md +17 -11
  713. package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
  714. package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
  715. package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
  716. package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
  717. package/examples/README.md +44 -6
  718. package/examples/form-validation.md +17 -13
  719. package/examples/multi-router-integration.md +268 -147
  720. package/examples/routing-patterns.md +46 -9
  721. package/examples/traffic-light.md +6 -2
  722. package/examples/xstate-example-ports.md +106 -0
  723. package/guides/actor-model.md +37 -19
  724. package/guides/atoms.md +48 -8
  725. package/guides/getting-started.md +66 -14
  726. package/guides/inspector.md +74 -14
  727. package/guides/routing.md +4 -1
  728. package/guides/state-machines.md +35 -13
  729. package/guides/views.md +34 -14
  730. package/package.json +6 -6
  731. package/rfc/play.md +31 -13
  732. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +0 -20
  733. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +0 -25
  734. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +0 -60
  735. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +0 -19
  736. package/examples/@xmachines/play-dom-demo/README.md +0 -162
  737. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
  738. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
  739. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
  740. package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
  741. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
  742. package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
  743. package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
  744. package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
  745. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
  746. package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
  747. package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
  748. package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
  749. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
  750. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
  751. package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
  752. package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
  753. package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
  754. package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
  755. package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
  756. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
  757. package/examples/@xmachines/play-react-demo/README.md +0 -163
  758. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
  759. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
  760. package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
  761. package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
  762. package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
  763. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
  764. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
  765. package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
  766. package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
  767. package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
  768. package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
  769. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
  770. package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
  771. package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
  772. package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
  773. package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
  774. package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
  775. package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
  776. package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
  777. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
  778. package/examples/@xmachines/play-solid-demo/README.md +0 -163
  779. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
  780. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
  781. package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
  782. package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
  783. package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
  784. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
  785. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
  786. package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
  787. package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
  788. package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
  789. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
  790. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
  791. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
  792. package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
  793. package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
  794. package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
  795. package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
  796. package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
  797. package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
  798. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
  799. package/examples/@xmachines/play-svelte-demo/README.md +0 -137
  800. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
  801. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
  802. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
  803. package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
  804. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
  805. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
  806. package/examples/@xmachines/play-vue-demo/README.md +0 -159
  807. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
  808. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
  809. package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
  810. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
@@ -14,7 +14,7 @@ Every routing interaction starts with a `play.route` event sent to the actor. If
14
14
 
15
15
  Add a `meta.route` URL template to any state to make it routable:
16
16
 
17
- ```typescript
17
+ ```typescript fragment
18
18
  states: {
19
19
  home: {
20
20
  id: "home", // required: used as the play.route target ("#home")
@@ -79,7 +79,9 @@ const authSetup = setup({
79
79
  types: {
80
80
  context: {} as AuthContext,
81
81
  events: {} as
82
- PlayRouteEvent | { type: "auth.login"; username: string } | { type: "auth.logout" },
82
+ | PlayRouteEvent
83
+ | { type: "auth.login"; username: string }
84
+ | { type: "auth.logout" },
83
85
  input: {} as Partial<AuthContext> | undefined,
84
86
  },
85
87
  });
@@ -106,7 +108,7 @@ const authMachine = authSetup.createMachine(
106
108
 
107
109
  `formatPlayRouteTransitions` generates root-level handlers equivalent to:
108
110
 
109
- ```typescript
111
+ ```typescript fragment
110
112
  on: {
111
113
  "play.route": [
112
114
  { target: ".home", guard: ({ event }) => event.to === "#home", reenter: false, actions: assign({ params, query }) },
@@ -124,6 +126,10 @@ on: {
124
126
  To navigate, send a `play.route` event with `to: "#stateId"`:
125
127
 
126
128
  ```typescript
129
+ import type { RoutableActor } from "@xmachines/play-router";
130
+
131
+ declare const actor: RoutableActor; // the started actor of "Complete Actor Usage" below
132
+
127
133
  // Navigate to home
128
134
  actor.send({ type: "play.route", to: "#home" });
129
135
 
@@ -151,7 +157,7 @@ actor.send({
151
157
 
152
158
  Use XState `always` transitions to protect states. If the guard fires, the machine redirects _before_ the state is fully entered:
153
159
 
154
- ```typescript
160
+ ```typescript fragment
155
161
  dashboard: {
156
162
  id: "dashboard",
157
163
  meta: { route: "/dashboard" },
@@ -177,7 +183,7 @@ profile: {
177
183
 
178
184
  Domain events placed at the root `on:` level are handled from any state:
179
185
 
180
- ```typescript
186
+ ```typescript fragment
181
187
  const authMachine = authSetup.createMachine(
182
188
  formatPlayRouteTransitions({
183
189
  // ...
@@ -207,6 +213,12 @@ const authMachine = authSetup.createMachine(
207
213
  ## Complete Actor Usage
208
214
 
209
215
  ```typescript
216
+ import type { AnyStateMachine } from "xstate";
217
+ import { compose, definePlayer, PlayerActor } from "@xmachines/play-xstate";
218
+ import { withRouting } from "@xmachines/play-xstate/routing";
219
+
220
+ declare const authMachine: AnyStateMachine; // the machine of the sections above
221
+
210
222
  const createPlayer = definePlayer({
211
223
  machine: authMachine,
212
224
  actor: compose(PlayerActor, withRouting),
@@ -244,12 +256,18 @@ To sync the browser URL with `actor.currentRoute`, use [`@xmachines/play-dom-rou
244
256
 
245
257
  ```typescript
246
258
  import { createBrowserHistory, createRouter, connectRouter } from "@xmachines/play-dom-router";
247
- import { createRouteMap } from "@xmachines/play-router/xstate";
259
+ import { createRouteMap, extractMachineRoutes } from "@xmachines/play-router/xstate";
260
+ import type { RoutableActor } from "@xmachines/play-router";
261
+ import type { AnyStateMachine } from "xstate";
262
+
263
+ declare const authMachine: AnyStateMachine; // the machine of the sections above
264
+ declare const actor: RoutableActor; // the started actor of "Complete Actor Usage"
265
+
248
266
  // createRouteMap extracts meta.route declarations from the machine
249
267
  const routeMap = createRouteMap(authMachine);
250
268
 
251
269
  const history = createBrowserHistory({ window });
252
- const router = createRouter({ routeTree: authMachine, history });
270
+ const router = createRouter({ routeTree: extractMachineRoutes(authMachine), history });
253
271
 
254
272
  // connectRouter handles all bidirectional sync:
255
273
  // - actor.currentRoute atom → browser URL (history.push)
@@ -271,14 +289,33 @@ function teardown(): void {
271
289
  For React, use [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) or [`@xmachines/play-tanstack-react-router`](../api/@xmachines/play-tanstack-react-router/README.md):
272
290
 
273
291
  ```tsx
274
- import { PlayRouterProvider, createRouteMapFromTree } from "@xmachines/play-tanstack-react-router";
292
+ import type { ReactNode } from "react";
293
+ import {
294
+ PlayRouterProvider,
295
+ createRouteMapFromTree,
296
+ type RoutableActor,
297
+ type TanStackRouterInstance,
298
+ } from "@xmachines/play-tanstack-react-router";
275
299
  import { extractMachineRoutes } from "@xmachines/play-router/xstate";
300
+ import type { AnyStateMachine } from "xstate";
301
+
302
+ declare const authMachine: AnyStateMachine; // the machine of the sections above
303
+ declare const actor: RoutableActor; // the started actor of "Complete Actor Usage"
304
+ declare const router: TanStackRouterInstance; // your TanStack Router instance
305
+ declare function Shell(props: { actor: RoutableActor }): ReactNode; // your layout component
276
306
 
277
307
  const routeTree = extractMachineRoutes(authMachine);
278
308
  const routeMap = createRouteMapFromTree(routeTree);
279
309
 
280
310
  function App() {
281
- return <PlayRouterProvider actor={actor} router={router} routeMap={routeMap} />;
311
+ return (
312
+ <PlayRouterProvider
313
+ actor={actor}
314
+ router={router}
315
+ routeMap={routeMap}
316
+ renderer={(currentActor) => <Shell actor={currentActor} />}
317
+ />
318
+ );
282
319
  }
283
320
  ```
284
321
 
@@ -36,7 +36,7 @@ const trafficSetup = setup({
36
36
  params?: Record<string, string>;
37
37
  query?: Record<string, string>;
38
38
  },
39
- input: {} as undefined,
39
+ input: undefined,
40
40
  },
41
41
  });
42
42
 
@@ -106,7 +106,7 @@ actor.stop();
106
106
 
107
107
  `formatPlayRouteTransitions` crawls every state that has **both** an `id` and a `meta.route`, then generates root-level `play.route` event handlers of the form:
108
108
 
109
- ```typescript
109
+ ```typescript fragment
110
110
  // Auto-generated by formatPlayRouteTransitions — you don't write this manually:
111
111
  on: {
112
112
  "play.route": [
@@ -129,6 +129,10 @@ on: {
129
129
 
130
130
  ```typescript
131
131
  import { watchAtom } from "@xmachines/play-atom";
132
+ import type { Routable } from "@xmachines/play-router";
133
+
134
+ // The actor of the complete code above.
135
+ declare const actor: Routable;
132
136
 
133
137
  const unwatch = watchAtom(actor.currentRoute, () => {
134
138
  console.log("URL changed to:", actor.currentRoute.get());
@@ -0,0 +1,106 @@
1
+ [Examples](README.md) / XState Example Ports
2
+
3
+ # XState Example Ports
4
+
5
+ The official XState examples ported into XMachines Play demos, and how they are packaged. Every pick exists on the `statelyai/xstate` `next` branch already migrated to XState v6 syntax, so each pick is verified to survive v6. The ports themselves are implemented against the repository's current XState v5 adapter; moving them to v6 later is the same mechanical migration upstream already performed (transition functions returning `{ target, context }`, `createAsyncLogic` / `createCallbackLogic` instead of `fromPromise` / `fromCallback`).
6
+
7
+ Source catalog: [`statelyai/xstate` `examples/`](https://github.com/statelyai/xstate/tree/next/examples) (`next` branch).
8
+
9
+ ## How The Ports Are Packaged
10
+
11
+ The eight machines live in [`@xmachines/play-actor-shared`](../../play-actor/examples/shared/README.md), one directory each, with a catalog, action handlers, behavioral tests, view-spec invariant tests, and a reusable browser suite. Every machine declares its views against one five-component vocabulary — `Page`, `Panel`, `Field`, `Button`, `Text` — defined once in `src/components-schema.ts`.
12
+
13
+ That vocabulary is what makes the packaging cheap:
14
+
15
+ - **One renderer gallery per framework** (`packages/play-<framework>/examples/gallery`) hosts all eight machines behind a picker. Choosing a machine stops the previous actor and starts a fresh one, so the inspector always shows a single live machine. Each framework implements the five components exactly once, and every machine's views render through them unmodified.
16
+ - **One router demo per adapter and routable machine** (`packages/play-<router>/examples/<machine>`), 32 in total. Each imports its framework's gallery for the catalog, the component kit, and the shell, so the demo itself contains only the router wiring.
17
+
18
+ The shared browser suites are framework-agnostic: they interact through the DOM contract (`data-page`, `data-demo-id`, `data-demo-shell`) and nothing else, so the same suite drives all five frameworks. That they pass unmodified everywhere is the evidence the machines carry no framework assumptions.
19
+
20
+ ## Selection Criteria
21
+
22
+ An example qualifies when it:
23
+
24
+ 1. **Survives v6** — present and migrated on the `next` branch, no APIs removed in v6.
25
+ 2. **Demonstrates an invariant** — shows Actor Authority, Passive Infrastructure, State-Driven Reset, or Atom-Only Reactivity in a way the shared auth demo does not.
26
+ 3. **Maps onto the Play surface** — states become `meta.route` / `meta.view` declarations; UI becomes a JSON-Render catalog; framework code stays out of the machine.
27
+
28
+ ## Common Requirements
29
+
30
+ Every ported example, routing or not:
31
+
32
+ - **Wires the Stately inspector.** The actor is created with `options.inspect` from the shared demo controller (`createDemoInspector()`, `packages/play-actor/examples/shared/src/inspector.ts`), and the debug panel exposes the **Show Inspector** button — identical to the existing demos. The shared controller also carries the `@statelyai/inspect` 0.7 → v6 event translation described in the [inspector guide](../guides/inspector.md), so ports get animated transitions for free.
33
+ - Uses the same `setup()` style as the shared auth machine and avoids every API the v6 migration removes, so the later v6 move stays mechanical.
34
+ - Keeps business logic framework-free: views are JSON-Render specs selected via `meta.view`, events are the only input.
35
+ - Ships the standard invariant tests plus browser renderer coverage, mirroring the existing demo test layout.
36
+
37
+ ## Ports With Routing
38
+
39
+ ### 1. TodoMVC — `todomvc-react`
40
+
41
+ The upstream example already routes its all/active/completed filters, but imperatively through a `useHashChange` hook. The port deletes that hook and makes the filter states routable (`/`, `/active`, `/completed`) via `meta.route` + `formatPlayRouteTransitions` — a direct before/after argument for actor-authoritative routing. The todo list exercises JSON-Render `repeat` / `$item` and per-row actions.
42
+
43
+ - Demonstrates: INV-01, INV-04 — the router observes, the machine owns the filter.
44
+ - Inspector: high event volume (per-keystroke edits) makes the live machine view genuinely useful.
45
+
46
+ ### 2. Trivia Game — `trivia-game-example`
47
+
48
+ Home → Trivia → win/lose pages with lives, points, and clues in context. Upstream deliberately keeps navigation out of the machine via `machine.provide(...)`; the port replaces that seam with `meta.route` and guards. Navigating to `/trivia` mid-game or after losing is overwritten by actor-derived state — the clearest INV-05 (State-Driven Reset) showcase in the set.
49
+
50
+ - Demonstrates: INV-01, INV-05 — guards decide route validity; invalid URLs bounce.
51
+ - Inspector: guard rejections are visible as unhandled `play.route` events.
52
+
53
+ ### 3. Persisted Donut Maker — `persisted-donut-maker`
54
+
55
+ Multi-step recipe machine, one route per step, combined with `getPersistedSnapshot()` and the factory resume options. Refreshing the browser mid-flow restores machine state and URL together — persistence plus actor-authoritative deep links, which no current demo covers.
56
+
57
+ - Demonstrates: snapshot persistence, `PlayerFactoryResumeOptions`, deep-link resume.
58
+ - Inspector: attach-after-restore exercises the "turning the inspector on later" flow from the guide.
59
+
60
+ ### 4. Flight Booker — `7guis-flight-booker-react`
61
+
62
+ Upstream is a single screen; the port stretches it into a wizard (trip type → dates → submitting → booked) with a route per step and query params for the selection. The same date guards that block invalid submissions block `play.route` jumps to `/booked`.
63
+
64
+ - Demonstrates: wizard routing, param/query routes, guard-gated forward navigation.
65
+
66
+ ## Ports Without Routing
67
+
68
+ ### 5. Fetch — `fetch`
69
+
70
+ idle/loading/success/failure around an invoked promise actor (`fromPromise`; `createAsyncLogic` in v6). Each state maps to a `meta.view` spec — view selection driven purely by machine state, zero component-level loading logic.
71
+
72
+ ### 6. Stopwatch — `stopwatch`
73
+
74
+ Callback actor (`fromCallback`; `createCallbackLogic` in v6) ticking every 10 ms while in `running`; cleanup rides on state exit. Stress-tests atom propagation through passive renderers at high frequency.
75
+
76
+ ### 7. Tic-Tac-Toe — `tic-tac-toe-react`
77
+
78
+ Turn-taking guards and win detection with the whole board in context. The board renders as a JSON-Render `repeat` grid; every move is an inspectable event.
79
+
80
+ ### 8. Temperature Converter — `7guis-temperature-react` / `7guis-2-temperature-vue`
81
+
82
+ Bidirectional field binding via `$bindState`; complements the [form validation example](form-validation.md) on a tiny, well-known benchmark.
83
+
84
+ ## Stretch Candidates
85
+
86
+ - **Friends List — `friends-list-react`.** Parent machine spawning a child actor per friend (`spawn` / `stopChild`, refs in context). Exercises the adapter's child-actor behaviour and the [actor model guide](../guides/actor-model.md); scheduled after the core eight because it may surface adapter work.
87
+ - **Express Workflow — `express-workflow`.** Headless: restore snapshot per request, send event, re-persist. A server-side `definePlayer` demo pairing with the WebSocket inspector transport from the guide.
88
+
89
+ ## Not Ported
90
+
91
+ | Example | Reason |
92
+ | ----------------------------------- | --------------------------------------------------------------------------- |
93
+ | `store-*` (3 examples) | `@xstate/store`, not state machines — outside the Play adapter surface |
94
+ | `snake-react`, `tiles` | Game-loop and renderer-heavy; little architectural signal |
95
+ | `mongodb-*` (2 examples) | Infrastructure-heavy; persistence is covered by the donut maker |
96
+ | `workflow-*` (25 examples) | Headless single-file Serverless Workflow ports; no UI or navigation to show |
97
+ | `counter`, `toggle`, 7GUIs counters | Already covered by [basic state machine](basic-state-machine.md) and guides |
98
+
99
+ ## What The Matrix Caught
100
+
101
+ Running one machine set across five renderers and eight routers found two defects that a single-framework demo could not:
102
+
103
+ - **Vue Router lost its history bookkeeping.** The shared suites simulated a manual URL entry with `history.pushState({}, …)`, which nulls `history.state` — where Vue Router keeps its `{ back, current, forward, position }` record. The actor bounced correctly every time, but the router could no longer write the corrected URL back. The suites now carry the existing `history.state` across the synthetic jump, which is also what a real navigation does.
104
+ - **The TanStack bridge dropped a corrective navigation under `<RouterProvider>`.** The provider installs a `Transitioner` that defers `router.latestLocation`, so `commitLocation` saw the pre-change href, decided the URL was unchanged, and skipped the history write. The bridge then synchronized the actor before `router.load()` settled, so the correction landed inside that stale window. [`watchRouterChanges`](../../play-tanstack-router/src/tanstack-router-bridge-base.ts) now waits for the `router.load()` of each event before it synchronizes the actor. Both TanStack demo families still mount a bare navigation-service router, because the actor and not the route tree decides the view.
105
+
106
+ Neither surfaced while only path-based routers were under test, and the pre-existing auth demo suites had no invalid-URL case at all.
@@ -33,7 +33,7 @@ Infrastructure → actor: only via actor.send({ type: "..." })
33
33
 
34
34
  ## What the actor owns
35
35
 
36
- An actor in XMachines is a [`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md) — a concrete class that extends XState's `Actor` class via [`PlayActor`](../api/@xmachines/play-actor/interfaces/PlayActor.md). It implements three reactive properties:
36
+ An actor in XMachines is a [`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md) — a concrete class that extends the `Actor` class of XState and implements the [`PlayActor`](../api/@xmachines/play-actor/interfaces/PlayActor.md) interface. With its capabilities, it holds three reactive properties:
37
37
 
38
38
  | Property | Type | What it is |
39
39
  | -------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -116,27 +116,30 @@ The two optional capability interfaces — [`Routable`](../api/@xmachines/play-r
116
116
  An actor implements only the capabilities it actually uses:
117
117
 
118
118
  ```typescript
119
+ import type { PlayActor } from "@xmachines/play-actor";
120
+ import { createAtom } from "@xmachines/play-atom";
121
+ import { compose, PlayerActor } from "@xmachines/play-xstate";
122
+ import { withRouting } from "@xmachines/play-xstate/routing";
123
+ import { withView } from "@xmachines/play-xstate/view";
124
+ import type { AnyStateMachine } from "xstate";
125
+
126
+ type CounterEvent = { type: "increment" };
127
+
119
128
  // Minimal actor: the contract alone, which is reactive state and send
120
- class MinimalActor implements PlayActor<SomeSnapshot, SomeEvent> {
121
- readonly state = createAtom<SomeSnapshot>(initial);
122
- send(event: SomeEvent): void {
123
- /* dispatch */
129
+ class CounterActor implements PlayActor<{ count: number }, CounterEvent> {
130
+ readonly state = createAtom({ count: 0 });
131
+
132
+ send(event: CounterEvent): void {
133
+ if (event.type === "increment") this.state.set(({ count }) => ({ count: count + 1 }));
124
134
  }
125
135
  }
126
136
 
127
- // Full actor: the contract, the routing and the view. It extends the actor class of
128
- // its own engine, and `PlayActor` stays out of the inheritance.
129
- class PlayerActor
130
- extends Actor<SomeMachine>
131
- implements PlayActor<SomeSnapshot, SomeEvent>, Routable, Viewable
132
- {
133
- readonly state = createAtom(this.getSnapshot());
134
- readonly currentRoute = createAtom(() => deriveRoute(this.state.get()));
135
- readonly currentView = createAtom((): PlaySpec | null => deriveView(this.state.get()));
136
- }
137
+ // Full actor: `PlayerActor` extends the `Actor` class of XState, and it implements
138
+ // `PlayActor`. `withRouting` adds `Routable`, and `withView` adds `Viewable`.
139
+ const FullActor = compose(PlayerActor<AnyStateMachine>, withRouting, withView);
137
140
  ```
138
141
 
139
- In practice you never write [`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md) yourself — [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md) from [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) creates one from your machine definition.
142
+ In practice you never write the actor class yourself — [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md) from [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) creates the actor from your machine definition and from the class that `compose` returns.
140
143
 
141
144
  ---
142
145
 
@@ -146,7 +149,9 @@ In practice you never write [`PlayerActor`](../api/@xmachines/play-xstate/index/
146
149
 
147
150
  ```typescript
148
151
  import { definePlayer } from "@xmachines/play-xstate";
149
- import { myMachine } from "./machine.js";
152
+ import { setup } from "xstate";
153
+
154
+ const myMachine = setup({}).createMachine({ id: "app", initial: "idle", states: { idle: {} } });
150
155
 
151
156
  const createPlayer = definePlayer({ machine: myMachine });
152
157
 
@@ -157,11 +162,24 @@ actor.start();
157
162
 
158
163
  [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md) returns a **factory function**, not an actor. This is intentional: it lets you create multiple independent instances (e.g., one per test, one per user session) without re-processing the machine definition each time.
159
164
 
160
- The factory accepts optional `input` (initial context overrides) and a `restore` snapshot (for resumable sessions):
165
+ The factory accepts an optional `input` (initial context overrides) and an optional second argument `{ snapshot }` (a persisted snapshot, for resumable sessions):
161
166
 
162
167
  ```typescript
168
+ import { definePlayer } from "@xmachines/play-xstate";
169
+ import { setup } from "xstate";
170
+
171
+ const machine = setup({
172
+ types: {
173
+ input: {} as { userId: string } | undefined,
174
+ context: {} as { userId: string | null },
175
+ },
176
+ }).createMachine({ context: ({ input }) => ({ userId: input?.userId ?? null }) });
177
+
178
+ const createPlayer = definePlayer({ machine });
179
+
163
180
  const actor = createPlayer({ userId: "abc" }); // with input
164
- const actor = createPlayer(undefined, { snapshot }); // restored from snapshot
181
+ const snapshot = actor.getPersistedSnapshot();
182
+ const restored = createPlayer(undefined, { snapshot }); // restored from snapshot
165
183
  ```
166
184
 
167
185
  ---
package/guides/atoms.md CHANGED
@@ -48,6 +48,8 @@ In XMachines, `actor.state` is an `Atom<Snapshot>`. The actor updates it on ever
48
48
  An atom notifies nobody when the new value compares equal to the old one. The default comparison is `Object.is`, and the `compare` option replaces it:
49
49
 
50
50
  ```typescript
51
+ import { createAtom } from "@xmachines/play-atom";
52
+
51
53
  const point = createAtom(
52
54
  { x: 0, y: 0 },
53
55
  { compare: (previous, next) => previous.x === next.x && previous.y === next.y },
@@ -59,13 +61,18 @@ const point = createAtom(
59
61
  `ReadonlyAtom<T>` derives a value from one or more other atoms. It recomputes only when its dependencies change, and it memoizes the result. The atom tracks each dependency for you: read another atom inside the function, and the edge exists.
60
62
 
61
63
  ```typescript
62
- const route = createAtom(() => {
63
- const snapshot = actor.state.get();
64
- return snapshot.getMeta()?.route ?? null;
65
- });
64
+ import { createAtom } from "@xmachines/play-atom";
65
+ import type { PlayerActor } from "@xmachines/play-xstate";
66
+ import type { AnyStateMachine } from "xstate";
67
+
68
+ declare const actor: PlayerActor<AnyStateMachine>;
69
+
70
+ // Whether the machine is in a state that shows the dashboard. The atom reads actor.state,
71
+ // so it recomputes on each snapshot, and it notifies only when the answer changes.
72
+ const onDashboard = createAtom(() => actor.state.get().matches("dashboard"));
66
73
  ```
67
74
 
68
- In XMachines, `actor.currentRoute` is a `ReadonlyAtom<string | null>`. Router adapters read it to know which URL to push — they do not compute the route themselves. Route derivation stays in the actor where the business logic lives.
75
+ In XMachines, `actor.currentRoute` is such a derived `ReadonlyAtom<string | null>`. It derives the route template of the active branch from `actor.state`, and it then fills the params from the context. Router adapters read it to know which URL to push — they do not compute the route themselves. Route derivation stays in the actor where the business logic lives.
69
76
 
70
77
  > **A computed atom with a subscriber is EAGER.** `@xstate/store` builds a subscription on an effect that READS the atom, so a write to a dependency evaluates the derivation at once, inside that write. A computed atom that nobody subscribes to stays lazy, and it computes on a read. Keep a derivation cheap and free of a side effect.
71
78
 
@@ -80,11 +87,15 @@ The actor writes exactly one atom for each transition — `state` — and `curre
80
87
  A subscriber makes a computed atom eager, so the derivation runs inside the `set` of its dependency — before any observer sees anything. No subscriber can wrap that, so a derivation that something may watch must not throw:
81
88
 
82
89
  ```typescript
83
- const derived = createAtom((previous) => {
90
+ import { createAtom } from "@xmachines/play-atom";
91
+
92
+ const source = createAtom('{ "count": 0 }');
93
+
94
+ const derived = createAtom((previous?: unknown) => {
84
95
  try {
85
- return expensiveDerivation(source.get());
96
+ return JSON.parse(source.get()) as unknown;
86
97
  } catch (error) {
87
- report(error);
98
+ console.error(error);
88
99
  return previous ?? null; // keep the last good value
89
100
  }
90
101
  });
@@ -97,6 +108,8 @@ const derived = createAtom((previous) => {
97
108
  `createAtom` carries two signatures, and TypeScript must prove the argument is not a function before it reaches the writable one. For a concrete type it proves that at once. For a type parameter, or a conditional type over one, it cannot, so it picks the computed signature and returns a `ReadonlyAtom` that carries no `set`.
98
109
 
99
110
  ```typescript
111
+ import { createWritableAtom, type Atom } from "@xmachines/play-atom";
112
+
100
113
  class Holder<T extends { value: unknown }> {
101
114
  public readonly state: Atom<T["value"]>;
102
115
 
@@ -114,6 +127,10 @@ Use `createAtom` everywhere else.
114
127
  Every atom carries `subscribe`. The observer runs **synchronously**, inside the `set` of the atom that changed, and it returns a subscription with `unsubscribe()`.
115
128
 
116
129
  ```typescript
130
+ import type { Routable } from "@xmachines/play-router";
131
+
132
+ declare const actor: Routable;
133
+
117
134
  const subscription = actor.currentRoute.subscribe((route) => {
118
135
  console.log("Route is now:", route);
119
136
  });
@@ -124,6 +141,12 @@ subscription.unsubscribe();
124
141
  The subscription is a plain object. To hold it with `using`, publish it with `asDisposable` of [`@xmachines/core/utils`](../api/@xmachines/core/README.md), and name `unsubscribe` as the release:
125
142
 
126
143
  ```typescript
144
+ import { asDisposable } from "@xmachines/core/utils";
145
+ import type { Routable } from "@xmachines/play-router";
146
+
147
+ declare const actor: Routable;
148
+ declare function render(route: string | null): void;
149
+
127
150
  {
128
151
  const plain = actor.currentRoute.subscribe((route) => render(route));
129
152
  using subscription = asDisposable(plain, () => plain.unsubscribe());
@@ -145,6 +168,11 @@ For both reasons, application code should use [`watchAtom()`](../api/@xmachines/
145
168
  [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) exports [`watchAtom(atom, onValue)`](../api/@xmachines/play-atom/functions/watchAtom.md) as a lifecycle-safe wrapper around `subscribe`. It returns a cleanup function:
146
169
 
147
170
  ```typescript
171
+ import { watchAtom } from "@xmachines/play-atom";
172
+ import type { Routable } from "@xmachines/play-router";
173
+
174
+ declare const actor: Routable;
175
+
148
176
  const stop = watchAtom(actor.currentRoute, (route) => {
149
177
  console.log("Route is now:", route);
150
178
  });
@@ -175,6 +203,13 @@ Keep the explicit call where the release outlives the scope that made it — a f
175
203
  teardown reads, an entry in a `Set` of releases:
176
204
 
177
205
  ```typescript
206
+ import { watchAtom } from "@xmachines/play-atom";
207
+ import type { Routable } from "@xmachines/play-router";
208
+
209
+ declare const actor: Routable;
210
+ declare function render(route: string | null): void;
211
+ declare function onUnmount(teardown: () => void): void; // the hook of your framework
212
+
178
213
  const stop = watchAtom(actor.currentRoute, render);
179
214
  onUnmount(() => stop());
180
215
  ```
@@ -185,6 +220,11 @@ it, an exception releases it too, and the code carries no teardown:
185
220
 
186
221
  ```typescript
187
222
  import { asDisposable } from "@xmachines/core/utils";
223
+ import { watchAtom } from "@xmachines/play-atom";
224
+ import type { Routable } from "@xmachines/play-router";
225
+
226
+ declare const actor: Routable;
227
+ declare function render(route: string | null): void;
188
228
 
189
229
  {
190
230
  using stop = asDisposable(watchAtom(actor.currentRoute, render));