@xmachines/docs 2.0.0-alpha.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/README.md +6 -5
  2. package/api/@xmachines/play/README.md +1 -4
  3. package/api/@xmachines/play/classes/NonNullableError.md +11 -11
  4. package/api/@xmachines/play/classes/PlayError.md +11 -11
  5. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +4 -4
  7. package/api/@xmachines/play-actor/README.md +81 -26
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +35 -20
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
  10. package/api/@xmachines/play-actor/functions/composePlayState.md +26 -0
  11. package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +21 -0
  12. package/api/@xmachines/play-actor/functions/guardContextWrites.md +41 -0
  13. package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +27 -0
  14. package/api/@xmachines/play-actor/functions/reuseComposedState.md +41 -0
  15. package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +28 -0
  16. package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
  17. package/api/@xmachines/play-actor/functions/typedSpec.md +23 -26
  18. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +7 -7
  19. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +7 -7
  20. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +12 -14
  21. package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +11 -0
  22. package/api/@xmachines/play-actor/interfaces/Routable.md +5 -5
  23. package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +50 -0
  24. package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +15 -0
  25. package/api/@xmachines/play-actor/interfaces/Viewable.md +4 -4
  26. package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +15 -0
  27. package/api/@xmachines/play-dom/README.md +6 -3
  28. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  29. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  30. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  31. package/api/@xmachines/play-dom/functions/createValidationRegistry.md +22 -0
  32. package/api/@xmachines/play-dom/functions/defineRegistry.md +5 -5
  33. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -8
  34. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +10 -10
  35. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +2 -0
  36. package/api/@xmachines/play-dom/interfaces/FieldValidationState.md +16 -0
  37. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
  38. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +12 -12
  39. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +2 -0
  40. package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +21 -0
  41. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +10 -0
  42. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  43. package/api/@xmachines/play-dom/variables/schema.md +35 -45
  44. package/api/@xmachines/play-dom-router/README.md +3 -3
  45. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  46. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  47. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +2 -2
  48. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  49. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  50. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  51. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  52. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +8 -8
  53. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  54. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  55. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  56. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +4 -4
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  58. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  60. package/api/@xmachines/play-react/README.md +4 -3
  61. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  62. package/api/@xmachines/play-react/functions/defineRegistry.md +5 -5
  63. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  64. package/api/@xmachines/play-react/functions/useFieldValidation.md +31 -0
  65. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  66. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  67. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  68. package/api/@xmachines/play-react/interfaces/ComponentContext.md +9 -8
  69. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  70. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +5 -5
  71. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  72. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
  73. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  74. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  75. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  76. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  77. package/api/@xmachines/play-react-router/README.md +2 -4
  78. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +4 -4
  79. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  80. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  81. package/api/@xmachines/play-react-router/functions/createRouteMap.md +2 -2
  82. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  83. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +7 -7
  84. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
  85. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  86. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  87. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
  88. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  89. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  90. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  91. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  92. package/api/@xmachines/play-router/README.md +9 -17
  93. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  94. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +4 -4
  95. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  96. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  97. package/api/@xmachines/play-router/functions/createRouteMap.md +2 -2
  98. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  99. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  100. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +2 -2
  101. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  102. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  103. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  104. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  105. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  106. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  107. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  108. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  109. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  110. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  111. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  112. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  113. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  114. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +6 -6
  115. package/api/@xmachines/play-router/interfaces/LocationLike.md +5 -5
  116. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +5 -7
  117. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +7 -7
  118. package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
  119. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  120. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +5 -5
  121. package/api/@xmachines/play-router/interfaces/RoutableActor.md +6 -6
  122. package/api/@xmachines/play-router/interfaces/RouteInfo.md +10 -10
  123. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +4 -4
  124. package/api/@xmachines/play-router/interfaces/RouteMapping.md +5 -5
  125. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  126. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  127. package/api/@xmachines/play-router/interfaces/RouteObject.md +4 -4
  128. package/api/@xmachines/play-router/interfaces/RouteTree.md +7 -7
  129. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  130. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  131. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  132. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  133. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  134. package/api/@xmachines/play-signals/README.md +2 -2
  135. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  136. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +4 -4
  137. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  138. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +4 -4
  139. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  140. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  141. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  142. package/api/@xmachines/play-solid/README.md +2 -2
  143. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  144. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  145. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  146. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  147. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  148. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  149. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  150. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  151. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  152. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  153. package/api/@xmachines/play-solid-router/README.md +7 -7
  154. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  155. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +5 -5
  156. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  157. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +2 -2
  158. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +35 -20
  159. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +7 -7
  160. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
  161. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  162. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
  163. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
  164. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  165. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  166. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  167. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  168. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  169. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  170. package/api/@xmachines/play-svelte/README.md +22 -4
  171. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  172. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  173. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  174. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  175. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  176. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
  177. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  178. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  179. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  180. package/api/@xmachines/play-svelte-spa-router/README.md +19 -28
  181. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  182. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  183. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +2 -2
  184. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -6
  185. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +8 -8
  186. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
  187. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  188. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  189. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  190. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  191. package/api/@xmachines/play-sveltekit-router/README.md +7 -7
  192. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  193. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  194. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +2 -2
  195. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -6
  196. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  197. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +8 -8
  198. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
  199. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  200. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  201. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  202. package/api/@xmachines/play-tanstack-react-router/README.md +3 -3
  203. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  204. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +4 -4
  205. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  206. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +2 -2
  207. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  208. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +2 -2
  209. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +7 -7
  210. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  211. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  212. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  213. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
  214. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  215. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +5 -5
  216. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  217. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  218. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  219. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  220. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  221. package/api/@xmachines/play-tanstack-router/README.md +2 -0
  222. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +2 -2
  223. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  224. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +4 -4
  225. package/api/@xmachines/play-tanstack-solid-router/README.md +7 -7
  226. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  227. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +5 -5
  228. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  229. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +2 -2
  230. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +7 -7
  231. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  232. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  233. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
  234. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
  235. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  236. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  237. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  238. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  239. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  240. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
  241. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  242. package/api/@xmachines/play-vue/README.md +3 -5
  243. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  244. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  245. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  246. package/api/@xmachines/play-vue/functions/useFieldValidation.md +31 -0
  247. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +7 -7
  248. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +10 -10
  249. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  250. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  251. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  252. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  253. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  254. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -4
  255. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  256. package/api/@xmachines/play-vue-router/README.md +3 -3
  257. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  258. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +5 -5
  259. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +2 -2
  260. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +7 -7
  261. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  262. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +4 -4
  263. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +5 -5
  264. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  265. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  266. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  267. package/api/@xmachines/play-xstate/README.md +100 -111
  268. package/api/@xmachines/play-xstate/classes/PlayerActor.md +81 -58
  269. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +5 -12
  270. package/api/@xmachines/play-xstate/functions/composeGuards.md +23 -24
  271. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +22 -17
  272. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +7 -2
  273. package/api/@xmachines/play-xstate/functions/definePlayer.md +3 -3
  274. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  275. package/api/@xmachines/play-xstate/functions/eventMatches.md +7 -2
  276. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +11 -45
  277. package/api/@xmachines/play-xstate/functions/hasContext.md +7 -4
  278. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  279. package/api/@xmachines/play-xstate/functions/negateGuard.md +21 -16
  280. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +5 -5
  281. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +4 -4
  282. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +10 -11
  283. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +7 -7
  284. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +4 -4
  285. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +9 -25
  286. package/api/@xmachines/play-xstate/type-aliases/Guard.md +7 -5
  287. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +7 -5
  288. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +11 -15
  289. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +6 -13
  290. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  291. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -16
  292. package/api/@xmachines/shared/README.md +2 -2
  293. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  294. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  295. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +12 -7
  296. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  297. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +9 -4
  298. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  299. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  300. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  301. package/contributing/architecture.md +27 -28
  302. package/contributing/configuration.md +10 -10
  303. package/contributing/deployment.md +51 -30
  304. package/contributing/development.md +62 -21
  305. package/contributing/testing.md +36 -14
  306. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  307. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  308. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  309. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  310. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  311. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  312. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  313. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  314. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  315. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  316. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  317. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  318. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  319. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  320. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  321. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  322. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  323. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  324. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  325. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  326. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  327. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  328. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  329. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  330. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  331. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  332. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  333. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  334. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  335. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  336. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  337. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  338. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  339. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  340. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  341. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  342. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  343. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  344. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  345. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  346. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  347. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  348. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  349. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  350. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  351. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  352. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  353. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  354. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  355. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  356. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  357. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  358. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  359. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  360. package/examples/README.md +4 -1
  361. package/examples/basic-state-machine.md +24 -24
  362. package/examples/form-validation.md +110 -121
  363. package/examples/multi-router-integration.md +0 -2
  364. package/examples/routing-patterns.md +60 -94
  365. package/examples/traffic-light.md +57 -48
  366. package/guides/README.md +6 -2
  367. package/guides/actor-model.md +1 -1
  368. package/guides/getting-started.md +89 -90
  369. package/guides/inspector.md +197 -0
  370. package/guides/state-machines.md +55 -69
  371. package/package.json +10 -7
  372. package/rfc/play.md +15 -6
  373. package/api/@xmachines/play-xstate/functions/createRoutedMachine.md +0 -87
  374. package/api/@xmachines/play-xstate/type-aliases/PlayRoutePayload.md +0 -30
  375. package/api/@xmachines/play-xstate/type-aliases/SetupLike.md +0 -33
  376. package/api/@xmachines/play-xstate/type-aliases/WithOptional.md +0 -31
  377. package/api/@xmachines/play-xstate/variables/emptyEventSchema.md +0 -37
  378. package/api/@xmachines/play-xstate/variables/playMetaSchema.md +0 -40
  379. package/api/@xmachines/play-xstate/variables/playRouteEventSchema.md +0 -9
package/README.md CHANGED
@@ -1,13 +1,10 @@
1
- <!-- generated-by: gsd-doc-writer -->
2
-
3
1
  # @xmachines/docs
4
2
 
5
3
  > Documentation, guides, RFCs, and generated API reference for XMachines.
6
4
 
7
5
  Part of the `XMachines Play monorepo`.
8
6
 
9
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
- [![Version](https://img.shields.io/badge/version-1.0.0--beta.51-blue)](https://www.npmjs.com/package/@xmachines/docs)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.0.0-blue)](https://www.npmjs.com/package/@xmachines/docs)
11
8
 
12
9
  ## Overview
13
10
 
@@ -86,6 +83,10 @@ Concept guides and tutorials for working with XMachines:
86
83
  - **[Understanding the Actor Model](guides/actor-model.md)** — Actor/infrastructure split, `AbstractActor`, and the reset invariant
87
84
  - **[Understanding TC39 Signals](guides/signals.md)** — Signal primitives and the five architectural invariants they enforce
88
85
 
86
+ **Tooling:**
87
+
88
+ - **[Inspecting a Running Actor](guides/inspector.md)** — `PlayerOptions.inspect`, the Stately inspector, late attachment, and browser-free transports
89
+
89
90
  ### Contributing & Operations
90
91
 
91
92
  Reference documentation for contributors and maintainers:
@@ -102,7 +103,7 @@ Practical code examples demonstrating XMachines patterns:
102
103
 
103
104
  - **[Basic State Machine](examples/basic-state-machine.md)** — `setup().createMachine()` + `definePlayer()` + TC39 Signals
104
105
  - **[Traffic Light](examples/traffic-light.md)** — Multi-state machine with `meta.route` and `formatPlayRouteTransitions`
105
- - **[Form Validation](examples/form-validation.md)** — Typed context patches, guard logic in transition functions, and `$bindState`
106
+ - **[Form Validation](examples/form-validation.md)** — Typed context mutations with `setup.assign`, guards, and `$bindState`
106
107
  - **[Routing Patterns](examples/routing-patterns.md)** — `meta.route`, `play.route` events, `always` auth guards
107
108
  - **[Multi-Router Integration](examples/multi-router-integration.md)** — All 8 router adapters
108
109
 
@@ -1,13 +1,10 @@
1
1
  [API](../../README.md) / @xmachines/play
2
2
 
3
- <!-- generated-by: gsd-doc-writer -->
4
-
5
3
  # `@xmachines/play`
6
4
 
7
5
  > Core protocol layer for the Universal Player Architecture — defines `PlayEvent`, `PlayError`, and architectural contracts enabling loose coupling between business logic and runtime adapters.
8
6
 
9
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
- [![npm](https://img.shields.io/npm/v/@xmachines/play)](https://www.npmjs.com/package/@xmachines/play)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.0.0-blue)](https://www.npmjs.com/package/@xmachines/play)
11
8
 
12
9
  Part of the [XMachines JS monorepo](../../README.md).
13
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: NonNullableError
4
4
 
5
- Defined in: [packages/play/src/errors.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L111)
5
+ Defined in: [packages/play/src/errors.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L111)
6
6
 
7
7
  Thrown by [assertNonNullable](../functions/assertNonNullable.md) when a value is `null` or `undefined`.
8
8
 
@@ -35,7 +35,7 @@ try {
35
35
  new NonNullableError(message, options?): NonNullableError;
36
36
  ```
37
37
 
38
- Defined in: [packages/play/src/errors.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L112)
38
+ Defined in: [packages/play/src/errors.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L112)
39
39
 
40
40
  #### Parameters
41
41
 
@@ -54,15 +54,15 @@ Defined in: [packages/play/src/errors.ts:112](https://gitlab.com/xmachin-es/xmac
54
54
 
55
55
  ## Properties
56
56
 
57
- | Property | Modifier | Type | Description | Inherited from | Defined in |
58
- | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
59
- | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`PlayError`](PlayError.md).[`cause`](PlayError.md#property-cause) | - |
60
- | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | [`PlayError`](PlayError.md).[`code`](PlayError.md#property-code) | [packages/play/src/errors.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L75) |
61
- | <a id="property-message"></a> `message` | `public` | `string` | - | [`PlayError`](PlayError.md).[`message`](PlayError.md#property-message) | - |
62
- | <a id="property-name"></a> `name` | `public` | `string` | - | [`PlayError`](PlayError.md).[`name`](PlayError.md#property-name) | - |
63
- | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | [`PlayError`](PlayError.md).[`scope`](PlayError.md#property-scope) | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L66) |
64
- | <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`PlayError`](PlayError.md).[`stack`](PlayError.md#property-stack) | - |
65
- | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | [`PlayError`](PlayError.md).[`stackTraceLimit`](PlayError.md#property-stacktracelimit) | - |
57
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
58
+ | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
59
+ | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | [`PlayError`](PlayError.md).[`cause`](PlayError.md#property-cause) | - |
60
+ | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | [`PlayError`](PlayError.md).[`code`](PlayError.md#property-code) | [packages/play/src/errors.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L75) |
61
+ | <a id="property-message"></a> `message` | `public` | `string` | - | [`PlayError`](PlayError.md).[`message`](PlayError.md#property-message) | - |
62
+ | <a id="property-name"></a> `name` | `public` | `string` | - | [`PlayError`](PlayError.md).[`name`](PlayError.md#property-name) | - |
63
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | [`PlayError`](PlayError.md).[`scope`](PlayError.md#property-scope) | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L66) |
64
+ | <a id="property-stack"></a> `stack?` | `public` | `string` | - | [`PlayError`](PlayError.md).[`stack`](PlayError.md#property-stack) | - |
65
+ | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | [`PlayError`](PlayError.md).[`stackTraceLimit`](PlayError.md#property-stacktracelimit) | - |
66
66
 
67
67
  ## Methods
68
68
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayError
4
4
 
5
- Defined in: [packages/play/src/errors.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L64)
5
+ Defined in: [packages/play/src/errors.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L64)
6
6
 
7
7
  Base class for all typed runtime errors thrown by `@xmachines/*` packages.
8
8
 
@@ -87,7 +87,7 @@ new PlayError(
87
87
  options?): PlayError;
88
88
  ```
89
89
 
90
- Defined in: [packages/play/src/errors.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L83)
90
+ Defined in: [packages/play/src/errors.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L83)
91
91
 
92
92
  #### Parameters
93
93
 
@@ -110,15 +110,15 @@ Error.constructor;
110
110
 
111
111
  ## Properties
112
112
 
113
- | Property | Modifier | Type | Description | Inherited from | Defined in |
114
- | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
115
- | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
116
- | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L75) |
117
- | <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
118
- | <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
119
- | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/errors.ts#L66) |
120
- | <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
121
- | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
113
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
114
+ | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |
115
+ | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
116
+ | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L75) |
117
+ | <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
118
+ | <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
119
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/errors.ts#L66) |
120
+ | <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
121
+ | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
122
122
 
123
123
  ## Methods
124
124
 
@@ -6,7 +6,7 @@
6
6
  function assertNonNullable<V>(value, name?): NonNullable<V>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/utils.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/utils.ts#L39)
9
+ Defined in: [packages/play/src/utils.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/utils.ts#L39)
10
10
 
11
11
  Assert that `value` is neither `null` nor `undefined`, and return it typed
12
12
  as `NonNullable<V>` — combining the guard and the narrowed value in a single
@@ -6,7 +6,7 @@
6
6
  type PlayEvent<TPayload> = object & TPayload;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/types.ts#L69)
9
+ Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/types.ts#L69)
10
10
 
11
11
  Generic event type for Play Architecture
12
12
 
@@ -32,9 +32,9 @@ Robot, and other state machine libraries.
32
32
 
33
33
  ## Type Declaration
34
34
 
35
- | Name | Type | Defined in |
36
- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
37
- | `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play/src/types.ts#L70) |
35
+ | Name | Type | Defined in |
36
+ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------ |
37
+ | `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play/src/types.ts#L70) |
38
38
 
39
39
  ## Type Parameters
40
40
 
@@ -1,11 +1,11 @@
1
1
  [API](../../README.md) / @xmachines/play-actor
2
2
 
3
- <!-- generated-by: gsd-doc-writer -->
4
-
5
3
  # @xmachines/play-actor
6
4
 
7
5
  Abstract Actor base class for XMachines Play Architecture.
8
6
 
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-actor)
8
+
9
9
  Part of the [xmachines-js monorepo](../../README.md).
10
10
 
11
11
  ## Installation
@@ -17,7 +17,7 @@ pnpm add @xmachines/play-actor
17
17
  **Peer dependencies** — install alongside the package:
18
18
 
19
19
  ```bash
20
- pnpm add xstate @xmachines/play @xmachines/play-signals
20
+ pnpm add xstate @xmachines/play @xmachines/play-signals @xmachines/json-render-core
21
21
  ```
22
22
 
23
23
  ## Overview
@@ -47,19 +47,30 @@ Concrete implementations are created by adapters such as [`@xmachines/play-xstat
47
47
 
48
48
  Abstract base class extending XState `Actor<TLogic>`.
49
49
 
50
+ A subclass **is** the actor: hand the logic and its options to `super()` so one
51
+ instance holds the running machine, and reach XState's own `send` through the
52
+ prototype — `send` is declared abstract here only to narrow the event type, and
53
+ TypeScript forbids `super` calls to an abstract member.
54
+
50
55
  ```ts
51
56
  import { AbstractActor } from "@xmachines/play-actor";
52
57
  import { Signal } from "@xmachines/play-signals";
53
- import type { AnyActorLogic } from "xstate";
58
+ import { Actor, type ActorOptions, type AnyActorLogic } from "xstate";
54
59
 
55
60
  class MyActor extends AbstractActor<AnyActorLogic> {
56
61
  // Required: reactive state signal
57
- state = new Signal.State({});
62
+ state: Signal.State<unknown>;
63
+
64
+ constructor(logic: AnyActorLogic, options?: ActorOptions<AnyActorLogic>) {
65
+ super(logic, options);
66
+ this.state = new Signal.State(this.getSnapshot());
67
+ super.subscribe((snapshot) => this.state.set(snapshot));
68
+ }
58
69
 
59
70
  // Required: typed event dispatch
60
- send = (event: { type: string }) => {
61
- /* dispatch to XState */
62
- };
71
+ override send(event: { type: string }): void {
72
+ Actor.prototype.send.call(this, event);
73
+ }
63
74
  }
64
75
  ```
65
76
 
@@ -71,33 +82,31 @@ type AuthEvent = { type: "auth.login"; username: string } | { type: "auth.logout
71
82
  class AuthActor extends AbstractActor<AnyActorLogic, AuthEvent> {
72
83
  state = new Signal.State({ isAuthenticated: false, username: null });
73
84
 
74
- send = (event: AuthEvent) => {
75
- /* dispatch */
76
- };
85
+ override send(event: AuthEvent): void {
86
+ Actor.prototype.send.call(this, event);
87
+ }
77
88
  }
78
89
  ```
79
90
 
80
- ### `typedSpec<TContext>(spec)`
91
+ ### `typedSpec(spec)`
81
92
 
82
- Identity helper that constrains a `PlaySpec` object's `contextProps` to keys of a specific machine context type. This enables compile-time validation and IDE autocomplete without any runtime cost.
93
+ Identity helper that types a view-spec literal as `PlaySpec` at the definition site. XState's
94
+ `meta` field is `Record<string, unknown>`, so this is where the spec shape gets compile-time
95
+ validation and IDE autocomplete — without any runtime cost.
83
96
 
84
97
  ```ts
85
98
  import { typedSpec } from "@xmachines/play-actor";
86
99
 
87
- interface DashboardCtx {
88
- username: string;
89
- params: Record<string, string>;
90
- query: Record<string, string>;
91
- }
92
-
93
100
  // In an XState machine meta block:
94
101
  meta: {
95
- view: typedSpec<DashboardCtx>({
102
+ view: typedSpec({
96
103
  root: "root",
97
- contextProps: ["username"], // ✓ key of DashboardCtx
98
- // contextProps: ["usernaem"], // ✗ compile error
99
104
  elements: {
100
- root: { type: "Dashboard", props: {}, children: [] },
105
+ root: {
106
+ type: "Dashboard",
107
+ props: { username: { $state: "/context/username" } },
108
+ children: [],
109
+ },
101
110
  },
102
111
  }),
103
112
  }
@@ -105,20 +114,53 @@ meta: {
105
114
 
106
115
  ### `PlaySpec`
107
116
 
108
- Extends `@xmachines/json-render-core`'s `Spec` with an optional `contextProps` field — an explicit allowlist of machine context fields that are merged into element props at view derivation time.
117
+ Extends `@xmachines/json-render-core`'s `Spec`. The machine's whole context is projected into
118
+ every derived view's state store under the read-only **`/context` subtree**, so specs read it
119
+ through the ordinary `{ $state: "/context/…" }` grammar — in props, `visible` conditions, and
120
+ `repeat.statePath` alike.
121
+
122
+ `/context` is read-only by design — never writable. Machine context changes only through events;
123
+ a `$bindState` or `setState` write under `/context` throws with an error naming the event to
124
+ send instead. This is the model: bindable ephemeral state lives at the store root (seeded from
125
+ `spec.state`), domain state lives in the machine and changes via meaningful, inspectable events.
126
+
127
+ Provenance is legible in the path: `/context/params/username` is visibly URL-derived, while
128
+ `/context/username` is machine-owned — one can never shadow the other.
129
+
130
+ Two consequences of the everything-is-projected model are worth knowing. First, **exposure**:
131
+ the whole context is client-visible in the view store (debug panels, inspectors, validators) —
132
+ context is a client-side value either way, so keep secrets out of it. Second, **emission
133
+ granularity**: the emit gate compares context per top-level field, so an event that changes any
134
+ field re-emits the view with the same `viewKey`. Providers refresh `/context` in the live store
135
+ rather than reseeding it — no remount, ephemeral view state and focus survive — but a
136
+ re-emission is still a render pass in the framework layer. Keep high-frequency ephemeral data
137
+ (per-keystroke drafts, timers) in the view store (`spec.state` + `$bindState`) or a child actor
138
+ rather than in machine context; domain state belongs in context, keystrokes do not.
109
139
 
110
140
  ```ts
111
141
  import type { PlaySpec } from "@xmachines/play-actor";
112
142
 
113
143
  const spec: PlaySpec = {
114
144
  root: "root",
115
- contextProps: ["username"], // only these keys are exposed to components
116
145
  elements: {
117
- root: { type: "Profile", props: { username: undefined }, children: [] },
146
+ root: {
147
+ type: "Profile",
148
+ props: { username: { $state: "/context/username" } },
149
+ children: [],
150
+ },
118
151
  },
119
152
  };
120
153
  ```
121
154
 
155
+ > Historical note: earlier versions had a `contextProps` field. It first drove an implicit
156
+ > prop-enrichment pass that merged allowlisted context fields and URL params into every
157
+ > element's props (removed — it injected values into components that never asked for them and
158
+ > let user-manipulable URL data silently shadow machine-owned state), and was then briefly a
159
+ > projection filter (removed — filtering what a view may read added machinery without a real
160
+ > problem to solve). Validate the **derived** view (`actor.currentView.get()`), not the raw
161
+ > `meta.view`: the derived spec's `state` carries the projection, so tools like `validateSpec`
162
+ > see a self-consistent spec.
163
+
122
164
  ### `Routable`
123
165
 
124
166
  Interface for actors that support routing.
@@ -218,11 +260,24 @@ reactive signals for Infrastructure layer communication.
218
260
  - [BaseActorProviderProps](interfaces/BaseActorProviderProps.md)
219
261
  - [BaseViewContextValue](interfaces/BaseViewContextValue.md)
220
262
  - [PlaySpec](interfaces/PlaySpec.md)
263
+ - [ResolveViewStoreOptions](interfaces/ResolveViewStoreOptions.md)
221
264
  - [Routable](interfaces/Routable.md)
222
265
  - [Viewable](interfaces/Viewable.md)
266
+ - [ViewStoreLifecycle](interfaces/ViewStoreLifecycle.md)
267
+ - [ViewStoreResolution](interfaces/ViewStoreResolution.md)
268
+
269
+ ## Variables
270
+
271
+ - [CONTEXT\_STATE\_KEY](variables/CONTEXT_STATE_KEY.md)
223
272
 
224
273
  ## Functions
225
274
 
226
275
  - [attachRenderErrorHandler](functions/attachRenderErrorHandler.md)
276
+ - [composePlayState](functions/composePlayState.md)
277
+ - [createViewStoreLifecycle](functions/createViewStoreLifecycle.md)
278
+ - [guardContextWrites](functions/guardContextWrites.md)
279
+ - [refreshContextSubtree](functions/refreshContextSubtree.md)
280
+ - [reuseComposedState](functions/reuseComposedState.md)
281
+ - [shallowEqualExcept](functions/shallowEqualExcept.md)
227
282
  - [toAtomState](functions/toAtomState.md)
228
283
  - [typedSpec](functions/typedSpec.md)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Abstract Class: AbstractActor\<TLogic, TEvent\>
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:185](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-actor/src/abstract-actor.ts#L185)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:190](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L190)
6
6
 
7
7
  Abstract base class for Play Architecture actors.
8
8
 
@@ -10,6 +10,14 @@ Provides signal-driven state observation that integrates with XState ecosystem
10
10
  tooling (devtools, inspection) while exposing reactive signals for
11
11
  Infrastructure layer communication.
12
12
 
13
+ **A subclass IS the actor.** Forward the logic _and_ its options to
14
+ `super(logic, options)`, then observe `this`. Holding a separately
15
+ constructed actor alongside leaves this instance running as an empty second
16
+ actor, and every inherited member — `system`, `sessionId`, `clock`, the
17
+ internal `_send` that receives `sendTo()` traffic, and anything a future
18
+ XState version adds — answers from that empty one until it is individually
19
+ forwarded.
20
+
13
21
  ## Extends
14
22
 
15
23
  - [`Actor`](https://www.jsdocs.io/package/xstate#Actor)\<`TLogic`\>
@@ -57,20 +65,19 @@ Actor<TLogic>.constructor
57
65
 
58
66
  ## Properties
59
67
 
60
- | Property | Modifier | Type | Description | Inherited from | Defined in |
61
- | ----------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
62
- | <a id="property-_parent"></a> `_parent?` | `public` | `AnyActor` | - | `Actor._parent` | - |
63
- | <a id="property-clock"></a> `clock` | `public` | [`Clock`](https://www.jsdocs.io/package/xstate#Clock) | The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions. | `Actor.clock` | - |
64
- | <a id="property-id"></a> `id` | `public` | `string` | The unique identifier for this actor relative to its parent. | `Actor.id` | - |
65
- | <a id="property-logic"></a> `logic` | `public` | `TLogic` | - | `Actor.logic` | - |
66
- | <a id="property-options"></a> `options` | `public` | `Readonly`\<[`ActorOptions`](https://www.jsdocs.io/package/xstate#ActorOptions)\<`TLogic`\>\> | - | `Actor.options` | - |
67
- | <a id="property-ref"></a> `ref` | `public` | [`ActorRef`](https://www.jsdocs.io/package/xstate#ActorRef)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>, [`EventFromLogic`](https://www.jsdocs.io/package/xstate#EventFromLogic)\<`TLogic`\>, [`EmittedFrom`](https://www.jsdocs.io/package/xstate#EmittedFrom)\<`TLogic`\>, `SendableEventFromLogic`\<`TLogic`\>\> | - | `Actor.ref` | - |
68
- | <a id="property-registrykey"></a> `registryKey` | `public` | `string` \| `undefined` | - | `Actor.registryKey` | - |
69
- | <a id="property-sessionid"></a> `sessionId` | `public` | `string` | The globally unique process ID for this invocation. | `Actor.sessionId` | - |
70
- | <a id="property-src"></a> `src` | `public` | \| `string` \| [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | - | `Actor.src` | - |
71
- | <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:195](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-actor/src/abstract-actor.ts#L195) |
72
- | <a id="property-system"></a> `system` | `public` | [`AnyActorSystem`](https://www.jsdocs.io/package/xstate#AnyActorSystem) | The system to which this actor belongs. | `Actor.system` | - |
73
- | <a id="property-trigger"></a> `trigger` | `public` | `ActorTrigger`\<`SendableEventFromLogic`\<`TLogic`\>\> | - | `Actor.trigger` | - |
68
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
69
+ | ------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
70
+ | <a id="property-_parent"></a> `_parent?` | `public` | [`AnyActorRef`](https://www.jsdocs.io/package/xstate#AnyActorRef) | - | `Actor._parent` | - |
71
+ | <a id="property-clock"></a> `clock` | `public` | [`Clock`](https://www.jsdocs.io/package/xstate#Clock) | The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions. | `Actor.clock` | - |
72
+ | <a id="property-id"></a> `id` | `public` | `string` | The unique identifier for this actor relative to its parent. | `Actor.id` | - |
73
+ | <a id="property-logic"></a> `logic` | `public` | `TLogic` | - | `Actor.logic` | - |
74
+ | <a id="property-options"></a> `options` | `public` | `Readonly`\<[`ActorOptions`](https://www.jsdocs.io/package/xstate#ActorOptions)\<`TLogic`\>\> | - | `Actor.options` | - |
75
+ | <a id="property-ref"></a> `ref` | `public` | [`ActorRef`](https://www.jsdocs.io/package/xstate#ActorRef)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>, [`EventFromLogic`](https://www.jsdocs.io/package/xstate#EventFromLogic)\<`TLogic`\>, [`EmittedFrom`](https://www.jsdocs.io/package/xstate#EmittedFrom)\<`TLogic`\>\> | - | `Actor.ref` | - |
76
+ | <a id="property-sessionid"></a> `sessionId` | `public` | `string` | The globally unique process ID for this invocation. | `Actor.sessionId` | - |
77
+ | <a id="property-src"></a> `src` | `public` | \| `string` \| [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | - | `Actor.src` | - |
78
+ | <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:200](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L200) |
79
+ | <a id="property-system"></a> `system` | `public` | [`AnyActorSystem`](https://www.jsdocs.io/package/xstate#AnyActorSystem) | The system to which this actor belongs. | `Actor.system` | - |
80
+ | <a id="property-systemid"></a> `systemId` | `public` | `string` \| `undefined` | - | `Actor.systemId` | - |
74
81
 
75
82
  ## Methods
76
83
 
@@ -152,7 +159,7 @@ When an actor receives an event, its internal state may change. An actor
152
159
  may emit a snapshot when a state transition occurs.
153
160
 
154
161
  Note that some actors, such as callback actors generated with
155
- `createCallbackLogic`, will not emit snapshots.
162
+ `fromCallback`, will not emit snapshots.
156
163
 
157
164
  #### See
158
165
 
@@ -177,9 +184,9 @@ Defined in: `xstate`
177
184
 
178
185
  #### Type Parameters
179
186
 
180
- | Type Parameter |
181
- | -------------------------- |
182
- | `TType` _extends_ `string` |
187
+ | Type Parameter |
188
+ | ----------------------- |
189
+ | `TType` _extends_ `any` |
183
190
 
184
191
  #### Parameters
185
192
 
@@ -239,12 +246,20 @@ Actor.select;
239
246
  abstract send(event): void;
240
247
  ```
241
248
 
242
- Defined in: [packages/play-actor/src/abstract-actor.ts:202](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-actor/src/abstract-actor.ts#L202)
249
+ Defined in: [packages/play-actor/src/abstract-actor.ts:215](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L215)
243
250
 
244
251
  Send event to Actor.
245
252
 
246
253
  Constrained to TEvent for type safety in concrete implementations.
247
254
 
255
+ Note for implementations that wrap `send` (validating the event, or
256
+ notifying hooks around it): this declaration is abstract purely to narrow
257
+ the event type, and TypeScript forbids `super` calls to an abstract
258
+ member. Reach XState's own implementation with
259
+ `Actor.prototype.send.call(this, event)` instead. Making this concrete
260
+ would allow `super.send()` but would force every existing subclass to add
261
+ an `override` modifier — a breaking change for adapters outside this repo.
262
+
248
263
  #### Parameters
249
264
 
250
265
  | Parameter | Type |
@@ -6,7 +6,7 @@
6
6
  function attachRenderErrorHandler<TRegistry>(registry, handler): TRegistry;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-actor/src/provider-guards.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-actor/src/provider-guards.ts#L64)
9
+ Defined in: [packages/play-actor/src/provider-guards.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/provider-guards.ts#L64)
10
10
 
11
11
  Clone a component registry and inject an `onRenderError` handler.
12
12
 
@@ -0,0 +1,26 @@
1
+ [API](../../../README.md) / [@xmachines/play-actor](../README.md) / composePlayState
2
+
3
+ # Function: composePlayState()
4
+
5
+ ```ts
6
+ function composePlayState(authoredState, slice): Record<string, unknown> | undefined;
7
+ ```
8
+
9
+ Defined in: [packages/play-actor/src/context-projection.ts:220](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/context-projection.ts#L220)
10
+
11
+ Compose a view's effective state: the authored `spec.state` plus the
12
+ `/context` slice.
13
+
14
+ When the authored state already declares the reserved key, the projection is
15
+ skipped (authored state wins) with a dev warning — no existing spec breaks.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Description |
20
+ | --------------- | ---------------------------------------------- | --------------------------------------------------------------------------------- |
21
+ | `authoredState` | `Record`\<`string`, `unknown`\> \| `undefined` | The raw `meta.view.state` (may be anything; sanitized by the caller/toAtomState). |
22
+ | `slice` | `Record`\<`string`, `unknown`\> \| `undefined` | The machine's context, projected wholesale. |
23
+
24
+ ## Returns
25
+
26
+ `Record`\<`string`, `unknown`\> \| `undefined`
@@ -0,0 +1,21 @@
1
+ [API](../../../README.md) / [@xmachines/play-actor](../README.md) / createViewStoreLifecycle
2
+
3
+ # Function: createViewStoreLifecycle()
4
+
5
+ ```ts
6
+ function createViewStoreLifecycle(createStore): ViewStoreLifecycle;
7
+ ```
8
+
9
+ Defined in: [packages/play-actor/src/view-store-lifecycle.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L89)
10
+
11
+ Create a lifecycle coordinator.
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type | Description |
16
+ | ------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | `createStore` | (`seed`) => `StateStore` | Framework-supplied store factory; receives the proto-safe seed (`toAtomState(view.state)` — the composed state already carries /context). |
18
+
19
+ ## Returns
20
+
21
+ [`ViewStoreLifecycle`](../interfaces/ViewStoreLifecycle.md)