@xmachines/docs 1.0.0-beta.53 → 1.0.0-beta.55

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 (442) hide show
  1. package/README.md +1 -1
  2. package/api/@xmachines/play/classes/NonNullableError.md +7 -7
  3. package/api/@xmachines/play/classes/PlayError.md +7 -7
  4. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  5. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  6. package/api/@xmachines/play-actor/README.md +2 -0
  7. package/api/@xmachines/play-actor/classes/AbstractActor.md +14 -14
  8. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
  9. package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
  10. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  11. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  12. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  13. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  14. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  15. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  16. package/api/@xmachines/play-dom/README.md +2 -0
  17. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  18. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  19. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  20. package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
  21. package/api/@xmachines/play-dom/functions/renderSpec.md +12 -30
  22. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
  23. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +7 -6
  24. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +4 -4
  25. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +16 -15
  26. package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
  27. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  28. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +9 -8
  29. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +25 -0
  30. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +6 -5
  31. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
  32. package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
  33. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
  34. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
  35. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
  36. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
  37. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
  38. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +2 -2
  39. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  40. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  41. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
  42. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  43. package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +1 -1
  44. package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
  45. package/api/@xmachines/play-dom/variables/schema.md +1 -1
  46. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  47. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  48. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  49. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  50. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  51. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  52. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  53. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +16 -6
  54. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  55. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +7 -3
  56. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +16 -4
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +6 -6
  60. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  61. package/api/@xmachines/play-react/README.md +6 -6
  62. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +18 -18
  63. package/api/@xmachines/play-react/functions/ActionProvider.md +1 -1
  64. package/api/@xmachines/play-react/functions/JSONUIProvider.md +1 -1
  65. package/api/@xmachines/play-react/functions/Renderer.md +1 -1
  66. package/api/@xmachines/play-react/functions/StateProvider.md +1 -1
  67. package/api/@xmachines/play-react/functions/ValidationProvider.md +1 -1
  68. package/api/@xmachines/play-react/functions/VisibilityProvider.md +1 -1
  69. package/api/@xmachines/play-react/functions/defineRegistry.md +1 -1
  70. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  71. package/api/@xmachines/play-react/functions/useBoundProp.md +1 -1
  72. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  73. package/api/@xmachines/play-react/functions/useSignalEffect.md +28 -26
  74. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +1 -1
  75. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  76. package/api/@xmachines/play-react/interfaces/ComponentContext.md +1 -1
  77. package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +1 -1
  78. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  79. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  80. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  81. package/api/@xmachines/play-react/interfaces/RendererProps.md +1 -1
  82. package/api/@xmachines/play-react/interfaces/StateProviderProps.md +1 -1
  83. package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +1 -1
  84. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  85. package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +1 -1
  86. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  87. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +1 -1
  88. package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +1 -1
  89. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  90. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  91. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  92. package/api/@xmachines/play-react-router/README.md +10 -1
  93. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +4 -365
  94. package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -5
  95. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
  96. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  97. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +2 -2
  98. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +7 -7
  99. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +16 -6
  100. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  101. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +17 -7
  102. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  103. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  104. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +6 -6
  105. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  106. package/api/@xmachines/play-react-router/{functions → variables}/PlayRouterProvider.md +6 -6
  107. package/api/@xmachines/play-router/README.md +12 -10
  108. package/api/@xmachines/play-router/classes/RouteMap.md +17 -5
  109. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +9 -345
  110. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  111. package/api/@xmachines/play-router/functions/buildRouteTree.md +11 -1
  112. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  113. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +2 -2
  114. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +13 -6
  115. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  116. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  117. package/api/@xmachines/play-router/functions/extractRouteParams.md +9 -1
  118. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  119. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  120. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  121. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  122. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +7 -2
  123. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  124. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  125. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  126. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  127. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  128. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  129. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  130. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  131. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  132. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  133. package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
  134. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +16 -6
  135. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
  136. package/api/@xmachines/play-router/interfaces/RoutableActor.md +4 -4
  137. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  138. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
  139. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  140. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  141. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  142. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  143. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  144. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  145. package/api/@xmachines/play-router/interfaces/RouterBridge.md +6 -6
  146. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  147. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  148. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  149. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  150. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +4 -2
  151. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  152. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +4 -2
  153. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  154. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  155. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +3 -3
  156. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +4 -4
  157. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +1 -1
  158. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +5 -5
  159. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +1 -1
  160. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +1 -1
  161. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +1 -1
  162. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +1 -1
  163. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +1 -1
  164. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +1 -1
  165. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +1 -1
  166. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +1 -1
  167. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +1 -1
  168. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +1 -1
  169. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +1 -1
  170. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  171. package/api/@xmachines/play-solid/functions/ActionProvider.md +1 -1
  172. package/api/@xmachines/play-solid/functions/JSONUIProvider.md +1 -1
  173. package/api/@xmachines/play-solid/functions/Renderer.md +1 -1
  174. package/api/@xmachines/play-solid/functions/StateProvider.md +1 -1
  175. package/api/@xmachines/play-solid/functions/ValidationProvider.md +1 -1
  176. package/api/@xmachines/play-solid/functions/VisibilityProvider.md +1 -1
  177. package/api/@xmachines/play-solid/functions/defineRegistry.md +1 -1
  178. package/api/@xmachines/play-solid/functions/useAction.md +1 -1
  179. package/api/@xmachines/play-solid/functions/useActions.md +1 -1
  180. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  181. package/api/@xmachines/play-solid/functions/useBoundProp.md +1 -1
  182. package/api/@xmachines/play-solid/functions/useFieldValidation.md +1 -1
  183. package/api/@xmachines/play-solid/functions/useIsVisible.md +1 -1
  184. package/api/@xmachines/play-solid/functions/useOptionalValidation.md +1 -1
  185. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  186. package/api/@xmachines/play-solid/functions/useStateBinding.md +1 -1
  187. package/api/@xmachines/play-solid/functions/useStateStore.md +1 -1
  188. package/api/@xmachines/play-solid/functions/useStateValue.md +1 -1
  189. package/api/@xmachines/play-solid/functions/useVisibility.md +1 -1
  190. package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +1 -1
  191. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  192. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +1 -1
  193. package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +1 -1
  194. package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +1 -1
  195. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  196. package/api/@xmachines/play-solid/interfaces/RendererProps.md +1 -1
  197. package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +1 -1
  198. package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +1 -1
  199. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  200. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  201. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +1 -1
  202. package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +1 -1
  203. package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +1 -1
  204. package/api/@xmachines/play-solid/type-aliases/SetState.md +1 -1
  205. package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +1 -1
  206. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  207. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  208. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  209. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  210. package/api/@xmachines/play-solid-router/README.md +7 -1
  211. package/api/@xmachines/play-solid-router/classes/RouteMap.md +17 -5
  212. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +5 -360
  213. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
  214. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  215. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +13 -13
  216. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +7 -7
  217. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +16 -6
  218. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
  219. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +17 -7
  220. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  221. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  222. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +6 -6
  223. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
  224. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  225. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  226. package/api/@xmachines/play-solid-router/{functions → variables}/PlayRouterProvider.md +6 -6
  227. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  228. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  229. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  230. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  231. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  232. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +1 -1
  233. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +1 -1
  234. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
  235. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
  236. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  237. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +1 -1
  238. package/api/@xmachines/play-svelte/type-aliases/Actions.md +1 -1
  239. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  240. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +1 -1
  241. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +1 -1
  242. package/api/@xmachines/play-svelte/type-aliases/SetState.md +1 -1
  243. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +1 -1
  244. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +17 -5
  245. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  246. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  247. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -6
  248. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +16 -6
  249. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  250. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  251. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +6 -6
  252. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  253. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  254. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +17 -5
  255. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  256. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  257. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  258. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  259. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +16 -6
  260. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  261. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  262. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +6 -6
  263. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  264. package/api/@xmachines/play-tanstack-react-router/README.md +7 -1
  265. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -5
  266. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +21 -384
  267. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
  268. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  269. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +2 -2
  270. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  271. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +7 -7
  272. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +16 -6
  273. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  274. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +17 -7
  275. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  276. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  277. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  278. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +6 -6
  279. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  280. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  281. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +12 -4
  282. package/api/@xmachines/play-tanstack-react-router/{functions → variables}/PlayRouterProvider.md +8 -6
  283. package/api/@xmachines/play-tanstack-router/README.md +58 -0
  284. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
  285. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
  286. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
  287. package/api/@xmachines/play-tanstack-solid-router/README.md +7 -1
  288. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +17 -5
  289. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +25 -378
  290. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
  291. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  292. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +7 -7
  293. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +16 -6
  294. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
  295. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +15 -7
  296. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  297. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  298. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +6 -6
  299. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  300. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  301. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  302. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +30 -7
  303. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
  304. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  305. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  306. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  307. package/api/@xmachines/play-vue/functions/useBoundProp.md +1 -1
  308. package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +1 -1
  309. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
  310. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -1
  311. package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +1 -1
  312. package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +1 -1
  313. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
  314. package/api/@xmachines/play-vue/interfaces/RendererProps.md +1 -1
  315. package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +1 -1
  316. package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +1 -1
  317. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  318. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  319. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  320. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  321. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +1 -1
  322. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  323. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  324. package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +1 -1
  325. package/api/@xmachines/play-vue/variables/ActionProvider.md +1 -1
  326. package/api/@xmachines/play-vue/variables/JSONUIProvider.md +1 -1
  327. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  328. package/api/@xmachines/play-vue/variables/Renderer.md +1 -1
  329. package/api/@xmachines/play-vue/variables/StateProvider.md +1 -1
  330. package/api/@xmachines/play-vue/variables/ValidationProvider.md +1 -1
  331. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +1 -1
  332. package/api/@xmachines/play-vue-router/classes/RouteMap.md +17 -5
  333. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +6 -395
  334. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  335. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +7 -7
  336. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +16 -6
  337. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  338. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  339. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +6 -6
  340. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  341. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +3 -3
  342. package/api/@xmachines/play-xstate/classes/PlayerActor.md +70 -169
  343. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  344. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  345. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  346. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  347. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  348. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  349. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  350. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  351. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  352. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  353. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  354. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  355. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  356. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  357. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  358. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
  359. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  360. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  361. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  362. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  363. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  364. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  365. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  366. package/api/@xmachines/shared/vite-aliases/README.md +1 -0
  367. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +7 -3
  368. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  369. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  370. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +6 -5
  371. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
  372. package/api/@xmachines/shared/vitest/README.md +5 -0
  373. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
  374. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  375. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
  376. package/api/README.md +1 -0
  377. package/api/llms.txt +4 -3
  378. package/contributing/architecture.md +6 -6
  379. package/contributing/configuration.md +1 -16
  380. package/contributing/deployment.md +8 -8
  381. package/contributing/testing.md +4 -4
  382. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  383. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  384. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  385. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  386. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  387. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  388. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  389. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  390. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  391. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  392. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  393. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  394. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  395. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  396. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  397. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  398. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  399. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  400. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  401. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  402. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  403. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  404. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  405. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  406. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  407. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  408. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  409. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  410. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  411. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  412. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  413. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  414. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  415. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  416. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  417. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  418. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  419. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  420. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  421. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  422. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  423. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  424. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  425. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  426. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  427. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  428. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  429. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  430. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  431. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +1 -1
  432. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  433. package/examples/@xmachines/play-svelte-demo/variables/App.md +1 -1
  434. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  435. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  436. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  437. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  438. package/guides/README.md +6 -44
  439. package/package.json +6 -3
  440. package/api/@xmachines/play-router/functions/createRouteMatcher.md +0 -53
  441. package/api/@xmachines/play-router/interfaces/RouteMatcher.md +0 -56
  442. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -33
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RoutableActor
4
4
 
5
- Defined in: [play-router/src/types.ts:259](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L259)
5
+ Defined in: [play-router/src/types.ts:259](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L259)
6
6
 
7
7
  Minimal actor interface required by `RouterBridgeBase` and all framework router
8
8
  adapters.
@@ -42,8 +42,8 @@ class MyBridge extends RouterBridgeBase {
42
42
 
43
43
  | Property | Modifier | Type | Description | Defined in |
44
44
  | ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
45
- | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | TC39 Signal exposing the actor's current URL path (or state ID). | [play-router/src/types.ts:261](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L261) |
46
- | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route derived from the machine's initial state — fixed at construction. Router bridges compare this against the browser URL to distinguish a deep-link (router wins) from a session restore (actor wins). | [play-router/src/types.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L267) |
45
+ | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | TC39 Signal exposing the actor's current URL path (or state ID). | [play-router/src/types.ts:261](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L261) |
46
+ | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route derived from the machine's initial state — fixed at construction. Router bridges compare this against the browser URL to distinguish a deep-link (router wins) from a session restore (actor wins). | [play-router/src/types.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L267) |
47
47
 
48
48
  ## Methods
49
49
 
@@ -53,7 +53,7 @@ class MyBridge extends RouterBridgeBase {
53
53
  send(event): void;
54
54
  ```
55
55
 
56
- Defined in: [play-router/src/types.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L269)
56
+ Defined in: [play-router/src/types.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L269)
57
57
 
58
58
  Send a route navigation event to the actor.
59
59
 
@@ -2,13 +2,17 @@
2
2
 
3
3
  # Interface: RouteLookupContract
4
4
 
5
- Defined in: [play-dom-router/src/connect-router.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/connect-router.ts#L11)
5
+ Defined in: [play-dom-router/src/connect-router.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/connect-router.ts#L15)
6
6
 
7
7
  Structural route lookup interface accepted by [connectRouter](../functions/connectRouter.md).
8
8
 
9
9
  Any object with these two methods satisfies the constraint — including
10
10
  `RouteMap` instances, subclasses, and plain test objects.
11
11
 
12
+ `getPathByStateId` may receive the stateId in either `"#stateId"` or bare
13
+ `"stateId"` form — the bridge tries both forms automatically, so
14
+ implementations keyed on a single form still resolve.
15
+
12
16
  ## Methods
13
17
 
14
18
  ### getPathByStateId()
@@ -17,7 +21,7 @@ Any object with these two methods satisfies the constraint — including
17
21
  getPathByStateId(id): string | null | undefined;
18
22
  ```
19
23
 
20
- Defined in: [play-dom-router/src/connect-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/connect-router.ts#L13)
24
+ Defined in: [play-dom-router/src/connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/connect-router.ts#L17)
21
25
 
22
26
  #### Parameters
23
27
 
@@ -37,7 +41,7 @@ Defined in: [play-dom-router/src/connect-router.ts:13](https://gitlab.com/xmachi
37
41
  getStateIdByPath(path): string | null | undefined;
38
42
  ```
39
43
 
40
- Defined in: [play-dom-router/src/connect-router.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/connect-router.ts#L12)
44
+ Defined in: [play-dom-router/src/connect-router.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/connect-router.ts#L16)
41
45
 
42
46
  #### Parameters
43
47
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMap
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/base-route-map.ts#L100)
5
+ Defined in: [play-router/src/base-route-map.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L101)
6
6
 
7
7
  Shared bidirectional route map base class.
8
8
 
@@ -17,10 +17,17 @@ own and inherit the full public API from here.
17
17
  - Results are cached after the first match in an LRU cache (default 500 entries,
18
18
  configurable via the `cacheSize` constructor option)
19
19
 
20
- **Pattern syntax** (`:param` / `:param?`):
20
+ **Pattern syntax** (`:param` / `:param?` / `*`):
21
21
 
22
22
  - `:param` — required segment, matches exactly one non-`/` segment
23
23
  - `:param?` — optional segment, matches zero or one non-`/` segment
24
+ - `*` — wildcard, matches any number of segments (URLPattern semantics)
25
+
26
+ **StateId forms:** stateIds may be registered and looked up in either
27
+ `"#stateId"` or `"stateId"` form — `RouteMap` canonicalizes internally.
28
+ `getStateIdByPath` returns the stateId exactly as registered;
29
+ `getPathByStateId` accepts both forms. Registering the same stateId in both
30
+ forms refers to one entry (the later registration wins for reverse lookup).
24
31
 
25
32
  ## Example
26
33
 
@@ -50,10 +57,14 @@ map.getPathByStateId("missing"); // null
50
57
  getPathByStateId(stateId): string | null;
51
58
  ```
52
59
 
53
- Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/base-route-map.ts#L209)
60
+ Defined in: [play-router/src/base-route-map.ts:218](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L218)
54
61
 
55
62
  Look up the path pattern registered for a state ID.
56
63
 
64
+ Accepts the stateId in either `"#stateId"` or `"stateId"` form regardless of
65
+ which form was used at registration — lookups are canonicalized internally,
66
+ so consumers never need to try both forms.
67
+
57
68
  #### Parameters
58
69
 
59
70
  | Parameter | Type | Description |
@@ -70,6 +81,7 @@ The registered path pattern, or `null` if the state ID is unknown
70
81
 
71
82
  ```typescript
72
83
  map.getPathByStateId("profile"); // "/profile/:userId"
84
+ map.getPathByStateId("#profile"); // "/profile/:userId" (same entry)
73
85
  map.getPathByStateId("missing"); // null
74
86
  ```
75
87
 
@@ -81,7 +93,7 @@ map.getPathByStateId("missing"); // null
81
93
  getStateIdByPath(path): string | null;
82
94
  ```
83
95
 
84
- Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/base-route-map.ts#L174)
96
+ Defined in: [play-router/src/base-route-map.ts:178](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L178)
85
97
 
86
98
  Resolve a URL path to its mapped state ID.
87
99
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMapOptions
4
4
 
5
- Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/create-route-map.ts#L9)
5
+ Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/create-route-map.ts#L9)
6
6
 
7
7
  Options for `createRouteMap` and `createRouteMapFromTree`.
8
8
 
@@ -10,4 +10,4 @@ Options for `createRouteMap` and `createRouteMapFromTree`.
10
10
 
11
11
  | Property | Type | Description | Defined in |
12
12
  | -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-cachesize"></a> `cacheSize?` | `number` | Maximum number of resolved parameterized path lookups to cache. `RouteMap.getStateIdByPath()` resolves parameterized patterns (e.g. `/profile/:userId`) via URLPattern on every call. Frequently visited paths are cached in an LRU so subsequent lookups are O(1). Increase this value for applications with large parameterized route sets or high navigation frequency. Default: `500`. | [play-router/src/create-route-map.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/create-route-map.ts#L20) |
13
+ | <a id="property-cachesize"></a> `cacheSize?` | `number` | Maximum number of resolved parameterized path lookups to cache. `RouteMap.getStateIdByPath()` resolves parameterized patterns (e.g. `/profile/:userId`) via URLPattern on every call. Frequently visited paths are cached in an LRU so subsequent lookups are O(1). Increase this value for applications with large parameterized route sets or high navigation frequency. Default: `500`. | [play-router/src/create-route-map.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/create-route-map.ts#L20) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMapping
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/base-route-map.ts#L57)
5
+ Defined in: [play-router/src/base-route-map.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L51)
6
6
 
7
7
  A single state ID ↔ path mapping entry.
8
8
 
@@ -23,5 +23,5 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
23
23
 
24
24
  | Property | Modifier | Type | Description | Defined in |
25
25
  | --------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
26
- | <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/base-route-map.ts#L61) |
27
- | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/base-route-map.ts#L59) |
26
+ | <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L55) |
27
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/base-route-map.ts#L53) |
@@ -2,11 +2,11 @@
2
2
 
3
3
  # Interface: RouterBridge
4
4
 
5
- Defined in: [play-router/src/types.ts:341](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L341)
5
+ Defined in: [play-router/src/types.ts:341](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L341)
6
6
 
7
7
  RouterBridge interface for runtime infrastructure adapters
8
8
 
9
- Defines the lifecycle connection between Infrastructure (e.g., TanStack Router) and
9
+ Defines the lifecycle connection between Infrastructure (e.g., a framework router) and
10
10
  the Actor. Infrastructure "bridges" to the Actor by observing its signals and
11
11
  managing its own lifecycle accordingly.
12
12
 
@@ -16,13 +16,13 @@ a unidirectional observation pattern. Infrastructure connects to observe Actor s
16
16
 
17
17
  ## Example
18
18
 
19
- TanStack Router bridge implementation
19
+ Framework router bridge implementation
20
20
 
21
21
  ```typescript
22
22
  import type { RouterBridge } from "@xmachines/play-router";
23
23
  import { Signal } from "@xmachines/play-signals";
24
24
 
25
- class TanStackRouterBridge implements RouterBridge {
25
+ class MyRouterBridge implements RouterBridge {
26
26
  private watcher: Signal.Watcher | null = null;
27
27
 
28
28
  async connect(): Promise<void> {
@@ -54,7 +54,7 @@ class TanStackRouterBridge implements RouterBridge {
54
54
  connect(): void | Promise<void>;
55
55
  ```
56
56
 
57
- Defined in: [play-router/src/types.ts:357](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L357)
57
+ Defined in: [play-router/src/types.ts:357](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L357)
58
58
 
59
59
  Connect the router bridge to the Actor
60
60
 
@@ -83,7 +83,7 @@ await bridge.connect();
83
83
  disconnect(): void | Promise<void>;
84
84
  ```
85
85
 
86
- Defined in: [play-router/src/types.ts:373](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-router/src/types.ts#L373)
86
+ Defined in: [play-router/src/types.ts:373](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-router/src/types.ts#L373)
87
87
 
88
88
  Disconnect the router bridge from the Actor
89
89
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  # Interface: VanillaRouter
4
4
 
5
- Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/create-router.ts#L4)
5
+ Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L4)
6
6
 
7
7
  ## Properties
8
8
 
9
9
  | Property | Modifier | Type | Description | Defined in |
10
10
  | ------------------------------------------- | ---------- | -------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | History instance | [play-dom-router/src/create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/create-router.ts#L8) |
12
- | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree (for structure reference) | [play-dom-router/src/create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/create-router.ts#L13) |
11
+ | <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | History instance | [play-dom-router/src/create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L8) |
12
+ | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree (for structure reference) | [play-dom-router/src/create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L13) |
13
13
 
14
14
  ## Methods
15
15
 
@@ -19,7 +19,7 @@ Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-
19
19
  destroy(): void;
20
20
  ```
21
21
 
22
- Defined in: [play-dom-router/src/create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-dom-router/src/create-router.ts#L18)
22
+ Defined in: [play-dom-router/src/create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-dom-router/src/create-router.ts#L18)
23
23
 
24
24
  Cleanup
25
25
 
@@ -110,7 +110,7 @@ function MyComponent({ actor }) {
110
110
 
111
111
  useSignalEffect(() => {
112
112
  setView(actor.currentView.get());
113
- });
113
+ }, [actor]); // deps: re-subscribe when the actor prop swaps
114
114
 
115
115
  return <div>{view?.component}</div>;
116
116
  }
@@ -129,11 +129,11 @@ function MyComponent({ actor }) {
129
129
 
130
130
  ### Hooks
131
131
 
132
- | Export | Description |
133
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
134
- | `useSignalEffect(callback)` | Subscribes to TC39 signal changes; re-runs the callback and forces a React re-render when any accessed signal changes. Cleanup is automatic on unmount. |
135
- | `useActor()` | Returns the raw actor instance. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
136
- | `usePlayView()` | Returns `{ spec, handlers, registry, store }` for the current view. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
132
+ | Export | Description |
133
+ | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
134
+ | `useSignalEffect(callback, deps?)` | Subscribes to TC39 signal changes; re-runs the callback when any accessed signal changes (re-render via the callback's own setState). Optional `deps` recreates the subscription, like `useEffect`. Cleanup is automatic on unmount. |
135
+ | `useActor()` | Returns the raw actor instance. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
136
+ | `usePlayView()` | Returns `{ spec, handlers, registry, store }` for the current view. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
137
137
 
138
138
  ### Types
139
139
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayErrorBoundary
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/PlayErrorBoundary.tsx#L53)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L53)
6
6
 
7
7
  React class component error boundary for catching catalog component render errors.
8
8
 
@@ -36,7 +36,7 @@ Per CONS-14: Class component pattern works with all React versions (18 and 19).
36
36
  new PlayErrorBoundary(props): PlayErrorBoundary;
37
37
  ```
38
38
 
39
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/PlayErrorBoundary.tsx#L57)
39
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L57)
40
40
 
41
41
  #### Parameters
42
42
 
@@ -75,7 +75,7 @@ React.Component<
75
75
  componentDidCatch(error, info): void;
76
76
  ```
77
77
 
78
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/PlayErrorBoundary.tsx#L66)
78
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L66)
79
79
 
80
80
  Catches exceptions generated in descendant components. Unhandled exceptions will cause
81
81
  the entire component tree to unmount.
@@ -105,7 +105,7 @@ React.Component.componentDidCatch;
105
105
  optional componentDidMount(): void;
106
106
  ```
107
107
 
108
- Defined in: `@types/react`
108
+ Defined in: `.pnpm`
109
109
 
110
110
  Called immediately after a component is mounted. Setting state here will trigger re-rendering.
111
111
 
@@ -130,7 +130,7 @@ optional componentDidUpdate(
130
130
  snapshot?): void;
131
131
  ```
132
132
 
133
- Defined in: `@types/react`
133
+ Defined in: `.pnpm`
134
134
 
135
135
  Called immediately after updating occurs. Not called for the initial render.
136
136
 
@@ -162,7 +162,7 @@ React.Component.componentDidUpdate;
162
162
  optional componentWillMount(): void;
163
163
  ```
164
164
 
165
- Defined in: `@types/react`
165
+ Defined in: `.pnpm`
166
166
 
167
167
  Called immediately before mounting occurs, and before [Component.render](https://www.jsdocs.io/package/@types/react#Component.render).
168
168
  Avoid introducing any side-effects or subscriptions in this method.
@@ -198,7 +198,7 @@ React.Component.componentWillMount;
198
198
  optional componentWillReceiveProps(nextProps, nextContext): void;
199
199
  ```
200
200
 
201
- Defined in: `@types/react`
201
+ Defined in: `.pnpm`
202
202
 
203
203
  Called when the component may be receiving new props.
204
204
  React may call this even if props have not changed, so be sure to compare new and existing
@@ -244,7 +244,7 @@ React.Component.componentWillReceiveProps;
244
244
  optional componentWillUnmount(): void;
245
245
  ```
246
246
 
247
- Defined in: `@types/react`
247
+ Defined in: `.pnpm`
248
248
 
249
249
  Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as
250
250
  cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`.
@@ -270,7 +270,7 @@ optional componentWillUpdate(
270
270
  nextContext): void;
271
271
  ```
272
272
 
273
- Defined in: `@types/react`
273
+ Defined in: `.pnpm`
274
274
 
275
275
  Called immediately before rendering when new props or state is received. Not called for the initial render.
276
276
 
@@ -315,7 +315,7 @@ React.Component.componentWillUpdate;
315
315
  forceUpdate(callback?): void;
316
316
  ```
317
317
 
318
- Defined in: `@types/react`
318
+ Defined in: `.pnpm`
319
319
 
320
320
  #### Parameters
321
321
 
@@ -341,7 +341,7 @@ React.Component.forceUpdate;
341
341
  optional getSnapshotBeforeUpdate(prevProps, prevState): any;
342
342
  ```
343
343
 
344
- Defined in: `@types/react`
344
+ Defined in: `.pnpm`
345
345
 
346
346
  Runs before React applies the result of [render](https://www.jsdocs.io/package/@types/react#Component.render) to the document, and
347
347
  returns an object to be given to [componentDidUpdate](#componentdidupdate). Useful for saving
@@ -375,7 +375,7 @@ React.Component.getSnapshotBeforeUpdate;
375
375
  render(): ReactNode;
376
376
  ```
377
377
 
378
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/PlayErrorBoundary.tsx#L70)
378
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L70)
379
379
 
380
380
  #### Returns
381
381
 
@@ -395,7 +395,7 @@ React.Component.render;
395
395
  setState<K>(state, callback?): void;
396
396
  ```
397
397
 
398
- Defined in: `@types/react`
398
+ Defined in: `.pnpm`
399
399
 
400
400
  #### Type Parameters
401
401
 
@@ -431,7 +431,7 @@ optional shouldComponentUpdate(
431
431
  nextContext): boolean;
432
432
  ```
433
433
 
434
- Defined in: `@types/react`
434
+ Defined in: `.pnpm`
435
435
 
436
436
  Called to determine whether the change in props and state should trigger a re-render.
437
437
 
@@ -468,7 +468,7 @@ React.Component.shouldComponentUpdate;
468
468
  optional UNSAFE_componentWillMount(): void;
469
469
  ```
470
470
 
471
- Defined in: `@types/react`
471
+ Defined in: `.pnpm`
472
472
 
473
473
  Called immediately before mounting occurs, and before [Component.render](https://www.jsdocs.io/package/@types/react#Component.render).
474
474
  Avoid introducing any side-effects or subscriptions in this method.
@@ -506,7 +506,7 @@ React.Component.UNSAFE_componentWillMount;
506
506
  optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void;
507
507
  ```
508
508
 
509
- Defined in: `@types/react`
509
+ Defined in: `.pnpm`
510
510
 
511
511
  Called when the component may be receiving new props.
512
512
  React may call this even if props have not changed, so be sure to compare new and existing
@@ -557,7 +557,7 @@ optional UNSAFE_componentWillUpdate(
557
557
  nextContext): void;
558
558
  ```
559
559
 
560
- Defined in: `@types/react`
560
+ Defined in: `.pnpm`
561
561
 
562
562
  Called immediately before rendering when new props or state is received. Not called for the initial render.
563
563
 
@@ -604,7 +604,7 @@ React.Component.UNSAFE_componentWillUpdate;
604
604
  static getDerivedStateFromError(error): PlayErrorBoundaryState;
605
605
  ```
606
606
 
607
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/PlayErrorBoundary.tsx#L62)
607
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/PlayErrorBoundary.tsx#L62)
608
608
 
609
609
  #### Parameters
610
610
 
@@ -6,7 +6,7 @@
6
6
  function ActionProvider(__namedParameters): Element;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Provider for action execution
12
12
 
@@ -6,7 +6,7 @@
6
6
  function JSONUIProvider(__namedParameters): Element;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Combined provider for all JSONUI contexts
12
12
 
@@ -6,7 +6,7 @@
6
6
  function Renderer(__namedParameters): Element | null;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Main renderer component
12
12
 
@@ -6,7 +6,7 @@
6
6
  function StateProvider(__namedParameters): Element;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Provider for state model context.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function ValidationProvider(__namedParameters): Element;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Provider for validation
12
12
 
@@ -6,7 +6,7 @@
6
6
  function VisibilityProvider(__namedParameters): Element;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Provider for visibility evaluation
12
12
 
@@ -6,7 +6,7 @@
6
6
  function defineRegistry<C>(_catalog, options): DefineRegistryResult;
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Create a registry from a catalog with components and/or actions.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function useActor(): AnyPlayActor;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useActor.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/useActor.ts#L32)
9
+ Defined in: [packages/play-react/src/useActor.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/useActor.ts#L32)
10
10
 
11
11
  ## Returns
12
12
 
@@ -6,7 +6,7 @@
6
6
  function useBoundProp<T>(propValue, bindingPath): [T | undefined, (value) => void];
7
7
  ```
8
8
 
9
- Defined in: `@json-render/react`
9
+ Defined in: `.pnpm`
10
10
 
11
11
  Hook for two-way bound props. Returns `[value, setValue]` where:
12
12
 
@@ -6,7 +6,7 @@
6
6
  function usePlayView(): ViewContextValue;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/ActorProvider.tsx:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/ActorProvider.tsx#L72)
9
+ Defined in: [packages/play-react/src/ActorProvider.tsx:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/ActorProvider.tsx#L78)
10
10
 
11
11
  Hook to access the current view spec, handlers, and registry.
12
12
 
@@ -3,23 +3,25 @@
3
3
  # Function: useSignalEffect()
4
4
 
5
5
  ```ts
6
- function useSignalEffect(callback): void;
6
+ function useSignalEffect(callback, deps?): void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useSignalEffect.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.53/packages/play-react/src/useSignalEffect.ts#L71)
9
+ Defined in: [packages/play-react/src/useSignalEffect.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.55/packages/play-react/src/useSignalEffect.ts#L80)
10
10
 
11
11
  React hook that subscribes to signal changes and runs effect callback
12
12
 
13
- Wraps Signal.subtle.Watcher to automatically track signal dependencies
14
- accessed in the callback. When any tracked signal changes, the callback
15
- re-runs and React component re-renders.
13
+ Wraps the callback in a Signal.Computed to automatically track signal
14
+ dependencies accessed inside it, then delegates the watcher lifecycle
15
+ (microtask batching, re-arming, disposal) to `watchSignal` from
16
+ `@xmachines/play-signals` — the single canonical implementation shared
17
+ across framework renderers.
16
18
 
17
- Architecture (per RESEARCH.md Pattern 3):
19
+ Architecture:
18
20
 
19
21
  - Uses Signal.Computed to wrap callback for automatic dependency tracking
20
- - Signal.subtle.Watcher monitors the Computed for changes
22
+ - watchSignal owns the Signal.subtle.Watcher lifecycle (Phase 29 memory safety)
21
23
  - Microtask batching coalesces rapid signal updates
22
- - Forces React re-render via useReducer when signals change
24
+ - Re-rendering is driven by the callback's own setState (see remarks)
23
25
  - Handles cleanup on unmount to prevent memory leaks
24
26
 
25
27
  Invariant: Signal-Only Reactivity - Signals accessed in callback are watched.
@@ -27,9 +29,10 @@ Invariant: Passive Infrastructure - React observes signals and does not control
27
29
 
28
30
  ## Parameters
29
31
 
30
- | Parameter | Type | Description |
31
- | ---------- | ------------------------------ | ------------------------------------------------------------------- |
32
- | `callback` | () => `void` \| (() => `void`) | Effect function that accesses signals. Can return cleanup function. |
32
+ | Parameter | Type | Default value | Description |
33
+ | ---------- | ------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
34
+ | `callback` | () => `void` \| (() => `void`) | `undefined` | Effect function that accesses signals. Can return cleanup function. |
35
+ | `deps` | `DependencyList` | `[]` | Optional dependency list (like useEffect). When any dependency changes, the watcher and Computed are torn down and recreated, re-tracking signals from scratch. Defaults to `[]` (subscribe once per mount). Pass this when the identity of the object whose signals you read can change over the component's lifetime (e.g. an `actor` prop) — otherwise the watcher keeps tracking the OLD object's signals forever. |
33
36
 
34
37
  ## Returns
35
38
 
@@ -41,11 +44,11 @@ Invariant: Passive Infrastructure - React observes signals and does not control
41
44
  const MyComponent = ({ actor }) => {
42
45
  const [view, setView] = useState(null);
43
46
 
44
- // Subscribe to actor.currentView signal
47
+ // Subscribe to actor.currentView signal; re-subscribe if the actor swaps
45
48
  useSignalEffect(() => {
46
49
  const currentView = actor.currentView.get();
47
50
  setView(currentView);
48
- });
51
+ }, [actor]);
49
52
 
50
53
  return <div>{view?.component}</div>;
51
54
  };
@@ -56,20 +59,19 @@ const MyComponent = ({ actor }) => {
56
59
  **CRITICAL:** Signals must be accessed unconditionally (no if statements).
57
60
  Conditional signal access breaks automatic dependency tracking.
58
61
 
59
- **Performance:** Microtask batching (queueMicrotask) prevents React thrashing
60
- when multiple signals update rapidly. Per signal-polyfill README pattern.
62
+ **Performance:** Microtask batching (queueMicrotask, inside watchSignal)
63
+ prevents React thrashing when multiple signals update rapidly.
61
64
 
62
- **Why forceUpdate:** React needs useState/useReducer to trigger re-render cycle.
63
- Signal changes won't automatically re-render React components without forcing
64
- update via state change.
65
+ **Re-rendering:** the hook itself does NOT force a React render on signal
66
+ change the callback drives re-rendering by calling setState with the new
67
+ signal value (as in the example above). This lets React's setState bailout
68
+ skip renders when the derived value is unchanged; an unconditional
69
+ force-update here previously caused a wasted render per notification even
70
+ when the callback's setState bailed. If you need to re-render on every
71
+ notification while reading signals during render, mirror the signal value
72
+ into React state inside the callback.
65
73
 
66
74
  **Implementation note:** We wrap the callback in Signal.Computed because
67
75
  Signal.subtle.Watcher cannot automatically track arbitrary function calls.
68
- The Computed handles dependency tracking, and the Watcher monitors it.
69
-
70
- **Memory safety (Phase 29):**
71
-
72
- - `disposed` flag prevents post-cleanup callback execution: if cleanup is
73
- called before a pending microtask fires, the microtask returns early.
74
- - `needsEnqueue` guard dedups rapid synchronous signal changes: only one
75
- microtask is ever queued per batch of synchronous mutations.
76
+ The Computed handles dependency tracking; watchSignal evaluates it (which
77
+ runs the callback) whenever any tracked signal changes.