@xmachines/docs 1.0.0-beta.26 → 1.0.0-beta.27

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 (216) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +4 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  4. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  5. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  6. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  7. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
  8. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  9. package/api/@xmachines/play-dom/README.md +24 -8
  10. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  11. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  12. package/api/@xmachines/play-dom/functions/defineRegistry.md +61 -0
  13. package/api/@xmachines/play-dom/functions/renderSpec.md +29 -12
  14. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +62 -0
  15. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +9 -9
  16. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +25 -0
  17. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +18 -0
  18. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +13 -10
  19. package/api/@xmachines/play-dom/interfaces/EventHandle.md +29 -0
  20. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  21. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +53 -0
  22. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +21 -0
  23. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +16 -3
  24. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +5 -2
  25. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  26. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  27. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  28. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  29. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  30. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  31. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  32. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  33. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  34. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +3 -3
  35. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  36. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  37. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  38. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  39. package/api/@xmachines/play-dom-router-demo/README.md +46 -51
  40. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  41. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  42. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  43. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  44. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  45. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  46. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  47. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  48. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  49. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  50. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  51. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  52. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  53. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  54. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  55. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  56. package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
  57. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  58. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  59. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  60. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  61. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +1 -1
  62. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  63. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  64. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  65. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  66. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  67. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  68. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  69. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  70. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  71. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  72. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  73. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  74. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  75. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  76. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  77. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  78. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  79. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  80. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  81. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  82. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  83. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  84. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  85. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  86. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  87. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  88. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  89. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  90. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  91. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  92. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  93. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  94. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  95. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  96. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  97. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  98. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  99. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  100. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  101. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  102. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  103. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  104. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  105. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  106. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  107. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  108. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  109. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  110. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  111. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  112. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  113. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  114. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  115. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  116. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  117. package/api/@xmachines/play-solid-router-demo/README.md +25 -28
  118. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +7 -7
  119. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  120. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  121. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  122. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  123. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  124. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  125. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  126. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  127. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  128. package/api/@xmachines/play-svelte-spa-router-demo/README.md +119 -12
  129. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  130. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  131. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  132. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  133. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  134. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  135. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  136. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  137. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  138. package/api/@xmachines/play-sveltekit-router-demo/README.md +120 -12
  139. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  140. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  141. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  142. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  143. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  144. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  145. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  146. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  147. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  148. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  149. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  150. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  151. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +17 -3
  152. package/api/@xmachines/play-tanstack-react-router-demo/README.md +23 -29
  153. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  154. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  155. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  156. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  157. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  158. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  159. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  160. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  161. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  162. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  163. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  164. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +25 -26
  165. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  166. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  167. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  168. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  169. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  170. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -3
  171. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  172. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  173. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  174. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
  175. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  176. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  177. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  178. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  179. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  180. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  181. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  182. package/api/@xmachines/play-vue-router-demo/README.md +47 -40
  183. package/api/@xmachines/play-xstate/classes/PlayerActor.md +11 -11
  184. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  185. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  186. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  187. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  188. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  189. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  190. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  191. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  192. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  193. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  194. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  195. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  196. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  197. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  198. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  199. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  200. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  201. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  202. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  203. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  204. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  205. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +3 -7
  206. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  207. package/examples/README.md +48 -35
  208. package/examples/basic-state-machine.md +75 -31
  209. package/examples/form-validation.md +199 -127
  210. package/examples/multi-router-integration.md +312 -230
  211. package/examples/routing-patterns.md +243 -189
  212. package/examples/traffic-light.md +114 -65
  213. package/guides/README.md +29 -15
  214. package/guides/getting-started.md +224 -144
  215. package/guides/installation.md +153 -213
  216. package/package.json +2 -2
@@ -1,23 +1,131 @@
1
1
  [Documentation](../../README.md) / @xmachines/play-sveltekit-router-demo
2
2
 
3
- # @xmachines/play-sveltekit-router demo
3
+ # SvelteKit Router Demo
4
4
 
5
- Compact browser demo for the SvelteKit router adapter.
5
+ Svelte 5 + SvelteKit router adapter integration demo for the XMachines Play architecture using browser pathname URL routing.
6
6
 
7
- ## Imports
7
+ ## What This Demonstrates
8
8
 
9
- - `@xmachines/play-svelte` for the Svelte renderer and registry helpers
10
- - `@xmachines/play-sveltekit-router` for URL ↔ actor sync
9
+ - Shared auth machine reused without framework-specific business logic
10
+ - `connectRouter` pathname URL ↔ actor sync via `@xmachines/play-sveltekit-router`
11
+ - Shell-driven rendering via `PlayRenderer` with actor-authoritative navigation
12
+ - Canonical TC39 Signals lifecycle integrated with Svelte 5 runes
13
+ - Non-browser invariant tests plus browser E2E coverage
11
14
 
12
- ## Commands
15
+ ## Running the Demo
16
+
17
+ From the repository root:
18
+
19
+ ```bash
20
+ npm install
21
+ npm run dev -w packages/play-sveltekit-router/examples/demo
22
+ ```
23
+
24
+ Then open `http://localhost:5173`.
25
+
26
+ ## Step-by-Step Code Flow
27
+
28
+ Use this order to understand the implementation:
29
+
30
+ 1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanupDemo`.
31
+ 2. `src/lib/router.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
32
+ 3. `connectRouter` synchronizes browser pathname changes with the actor via `play.route` events and reflects actor-approved routes back to the pathname URL.
33
+ 4. `src/App.svelte` imports the singleton `actor` and `registry` from `src/lib/router.ts` and delegates to the shared `Shell.svelte`.
34
+ 5. `Shell.svelte` renders `<PlayRenderer>` with the actor and registry and provides the shared UI shell (nav, debug panel).
35
+ 6. Browser tests in `test/browser/` validate startup and auth route transitions.
36
+
37
+ ```ts
38
+ // src/lib/router.ts (shape)
39
+ const createDemoPlayer = definePlayer({ machine: authMachine });
40
+ export const actor = createDemoPlayer();
41
+ actor.start();
42
+
43
+ export const routeMap = createRouteMap(authMachine);
44
+ export const disconnectRouter = connectRouter({ actor, routeMap });
45
+
46
+ export function cleanupDemo(): void {
47
+ disconnectRouter();
48
+ actor.stop();
49
+ }
50
+ ```
51
+
52
+ ```svelte
53
+ <!-- src/App.svelte (shape) -->
54
+ <script lang="ts">
55
+ import Shell from "@xmachines/play-svelte-demo/src/components/Shell.svelte";
56
+ import { actor, registry } from "./lib/router.js";
57
+ </script>
58
+
59
+ <Shell {actor} {registry} />
60
+ ```
61
+
62
+ ```svelte
63
+ <!-- Shell.svelte — sending events (shape) -->
64
+ <PlayRenderer
65
+ actor={props.actor}
66
+ registry={props.registry}
67
+ actions={{ login: "auth.login", logout: "auth.logout" }}
68
+ />
69
+ ```
70
+
71
+ ## Key Files
72
+
73
+ - `src/main.ts` - Svelte app mount and HMR cleanup registration
74
+ - `src/lib/router.ts` - actor creation, registry construction, route map, and `connectRouter` wiring
75
+ - `src/lib/navigation.ts` - SvelteKit navigation helpers for pathname observation
76
+ - `src/App.svelte` - minimal root component delegating to shared `Shell.svelte`
77
+ - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
78
+ - `test/browser/shared-demo.browser.test.ts` - browser startup and auth route flow coverage
79
+
80
+ ## State Machine & Architecture Details
81
+
82
+ The demo utilizes XMachines architectural invariants:
83
+
84
+ 1. **Actor Authority:** When a user clicks a nav link, the browser pathname changes. `connectRouter` intercepts this, translates it to a `play.route` event, and sends it to the actor. The actor evaluates guards (e.g. `isAuthenticated`) and transitions to the appropriate state.
85
+ 2. **Passive Infrastructure:** The SvelteKit router adapter does not execute business logic. The actor dictates whether navigation is permitted. The Svelte application only renders the state.
86
+ 3. **Signal-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor signals update, without ad-hoc `$state` stores for business logic.
87
+
88
+ ## Watcher Lifecycle and Cleanup Contract
89
+
90
+ This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
91
+
92
+ 1. `notify`
93
+ 2. `queueMicrotask`
94
+ 3. `getPending()`
95
+ 4. Read actor signals and project Svelte-local render state
96
+ 5. Re-arm with `watch()`/`watch(...signals)`
97
+
98
+ Watcher notifications are one-shot. Cleanup is explicit: `cleanupDemo()` calls `disconnectRouter()` and `actor.stop()` during HMR disposal, preventing memory leaks and ghost subscriptions.
99
+
100
+ ## Adapter Boundaries
101
+
102
+ `connectRouter` (from `@xmachines/play-sveltekit-router`) is passive infrastructure. It translates pathname URL changes into `play.route` events and reflects actor-approved route changes back to the browser pathname. Business validity remains actor-owned. The shared `Shell.svelte` from `@xmachines/play-svelte-demo` is reused to avoid duplicating view components across router demos.
103
+
104
+ ## Available Scripts
105
+
106
+ These commands are defined in `package.json`:
107
+
108
+ | Command | Description |
109
+ | ---------------------------------------------------------------------- | -------------------------------- |
110
+ | `npm run dev -w packages/play-sveltekit-router/examples/demo` | Start Vite dev server |
111
+ | `npm run build -w packages/play-sveltekit-router/examples/demo` | Build production bundle |
112
+ | `npm run preview -w packages/play-sveltekit-router/examples/demo` | Preview built bundle |
113
+ | `npm run test -w packages/play-sveltekit-router/examples/demo` | Run Vitest test suite |
114
+ | `npm run test:browser -w packages/play-sveltekit-router/examples/demo` | Run browser-focused Vitest suite |
115
+
116
+ ## Verification
117
+
118
+ Use these checks to validate README claims against the current demo implementation:
13
119
 
14
120
  ```bash
15
- npm run dev -w @xmachines/play-sveltekit-router-demo
16
- npm run build -w @xmachines/play-sveltekit-router-demo
17
- npm run test:browser -w @xmachines/play-sveltekit-router-demo
121
+ npm run test -w packages/play-sveltekit-router/examples/demo
122
+ npm run test:browser -w packages/play-sveltekit-router/examples/demo
18
123
  ```
19
124
 
20
- ## What it proves
125
+ Expected result: library-pattern invariant tests pass and the browser demo suite validates startup rendering and auth navigation.
126
+
127
+ ## Learn More
21
128
 
22
- - Clicking a navigation control updates the rendered view
23
- - The browser pathname follows the active route
129
+ - [SvelteKit Router package README](../play-sveltekit-router/README.md)
130
+ - [Svelte package README](../play-svelte/README.md)
131
+ - [Svelte SPA Router demo README](../play-svelte-spa-router-demo/README.md)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: RouteMap
4
4
 
5
- Defined in: [play-tanstack-react-router/src/route-map.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/route-map.ts#L12)
5
+ Defined in: [play-tanstack-react-router/src/route-map.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/route-map.ts#L12)
6
6
 
7
7
  Bidirectional route mapper for TanStack React Router.
8
8
 
@@ -20,7 +20,7 @@ Alias for [BaseRouteMap](../../play-dom-router/interfaces/RouteMap.md) from `@xm
20
20
  new RouteMap(mappings, options?): RouteMap;
21
21
  ```
22
22
 
23
- Defined in: [play-router/src/base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L125)
23
+ Defined in: [play-router/src/base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L125)
24
24
 
25
25
  Build a route map from an array of state ID ↔ path mappings.
26
26
 
@@ -54,7 +54,7 @@ BaseRouteMap.constructor;
54
54
  getPathByStateId(stateId): string | null;
55
55
  ```
56
56
 
57
- Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L209)
57
+ Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L209)
58
58
 
59
59
  Look up the path pattern registered for a state ID.
60
60
 
@@ -89,7 +89,7 @@ map.getPathByStateId("missing"); // null
89
89
  getStateIdByPath(path): string | null;
90
90
  ```
91
91
 
92
- Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L174)
92
+ Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L174)
93
93
 
94
94
  Resolve a URL path to its mapped state ID.
95
95
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: TanStackReactRouterBridge
4
4
 
5
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L83)
5
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L84)
6
6
 
7
7
  TanStack React Router adapter implementing RouterBridge protocol via RouterBridgeBase
8
8
 
@@ -47,7 +47,7 @@ new TanStackReactRouterBridge(
47
47
  routeMap): TanStackReactRouterBridge;
48
48
  ```
49
49
 
50
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L93)
50
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L94)
51
51
 
52
52
  Create TanStack React Router bridge
53
53
 
@@ -71,15 +71,15 @@ Create TanStack React Router bridge
71
71
 
72
72
  | Property | Modifier | Type | Default value | Description | Inherited from | Defined in |
73
73
  | --------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
74
- | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | `undefined` | A `Routable` actor exposing `currentRoute` and `send`. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`actor`](../../play-router/classes/RouterBridgeBase.md#property-actor) | [play-router/src/router-bridge-base.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L99) |
75
- | <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`hasConnectedOnce`](../../play-router/classes/RouterBridgeBase.md#property-hasconnectedonce) | [play-router/src/router-bridge-base.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L87) |
76
- | <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isConnected`](../../play-router/classes/RouterBridgeBase.md#property-isconnected) | [play-router/src/router-bridge-base.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L86) |
77
- | <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isProcessingNavigation`](../../play-router/classes/RouterBridgeBase.md#property-isprocessingnavigation) | [play-router/src/router-bridge-base.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L89) |
78
- | <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`lastSyncedPath`](../../play-router/classes/RouterBridgeBase.md#property-lastsyncedpath) | [play-router/src/router-bridge-base.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L88) |
79
- | <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | `undefined` | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap()` or an equivalent. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeMap`](../../play-router/classes/RouterBridgeBase.md#property-routemap) | [play-router/src/router-bridge-base.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L100) |
80
- | `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L102) |
81
- | `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L101) |
82
- | <a id="property-routewatcher"></a> `routeWatcher` | `protected` | \| [`RouteWatcherHandle`](../../play-router/interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeWatcher`](../../play-router/classes/RouterBridgeBase.md#property-routewatcher) | [play-router/src/router-bridge-base.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L90) |
74
+ | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | `undefined` | A `Routable` actor exposing `currentRoute` and `send`. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`actor`](../../play-router/classes/RouterBridgeBase.md#property-actor) | [play-router/src/router-bridge-base.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L99) |
75
+ | <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`hasConnectedOnce`](../../play-router/classes/RouterBridgeBase.md#property-hasconnectedonce) | [play-router/src/router-bridge-base.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L87) |
76
+ | <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isConnected`](../../play-router/classes/RouterBridgeBase.md#property-isconnected) | [play-router/src/router-bridge-base.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L86) |
77
+ | <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | `false` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isProcessingNavigation`](../../play-router/classes/RouterBridgeBase.md#property-isprocessingnavigation) | [play-router/src/router-bridge-base.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L89) |
78
+ | <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`lastSyncedPath`](../../play-router/classes/RouterBridgeBase.md#property-lastsyncedpath) | [play-router/src/router-bridge-base.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L88) |
79
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | `undefined` | Bidirectional route map for `stateId ↔ path` resolution. Provide `getStateIdByPath` and `getPathByStateId`. Framework adapters typically wrap the result of `createRouteMap()` or an equivalent. | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeMap`](../../play-router/classes/RouterBridgeBase.md#property-routemap) | [play-router/src/router-bridge-base.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L100) |
80
+ | `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L102) |
81
+ | `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | `undefined` | - | - | [play-router/src/router-bridge-base.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L101) |
82
+ | <a id="property-routewatcher"></a> `routeWatcher` | `protected` | \| [`RouteWatcherHandle`](../../play-router/interfaces/RouteWatcherHandle.md) \| `null` | `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeWatcher`](../../play-router/classes/RouterBridgeBase.md#property-routewatcher) | [play-router/src/router-bridge-base.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L90) |
83
83
 
84
84
  ## Methods
85
85
 
@@ -89,7 +89,7 @@ Create TanStack React Router bridge
89
89
  connect(): void;
90
90
  ```
91
91
 
92
- Defined in: [play-router/src/router-bridge-base.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L126)
92
+ Defined in: [play-router/src/router-bridge-base.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L126)
93
93
 
94
94
  Connect the router bridge to the Actor.
95
95
 
@@ -121,7 +121,7 @@ Adapters that need custom initial-sync behavior should override
121
121
  disconnect(): void;
122
122
  ```
123
123
 
124
- Defined in: [play-router/src/router-bridge-base.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L209)
124
+ Defined in: [play-router/src/router-bridge-base.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L209)
125
125
 
126
126
  Disconnect the router bridge from the Actor.
127
127
 
@@ -143,7 +143,7 @@ Stops signal watching and unregisters framework-specific router listener.
143
143
  protected extractParams(pathname, stateId): Record<string, string>;
144
144
  ```
145
145
 
146
- Defined in: [play-router/src/router-bridge-base.ts:318](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L318)
146
+ Defined in: [play-router/src/router-bridge-base.ts:318](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L318)
147
147
 
148
148
  Extract path parameters from URL using the URLPattern API.
149
149
 
@@ -181,7 +181,7 @@ When URLPattern is absent and the route is parameterized
181
181
  protected extractQuery(search): Record<string, string>;
182
182
  ```
183
183
 
184
- Defined in: [play-router/src/router-bridge-base.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L355)
184
+ Defined in: [play-router/src/router-bridge-base.ts:355](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L355)
185
185
 
186
186
  Extract query parameters from URL search string.
187
187
 
@@ -209,7 +209,7 @@ Extracted query parameters or empty object
209
209
  protected getInitialRouterPath(): string | null;
210
210
  ```
211
211
 
212
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L126)
212
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L128)
213
213
 
214
214
  Read the router's current pathname for initial sync.
215
215
 
@@ -244,7 +244,7 @@ The base class `connect()` uses `actor.initialRoute` to distinguish:
244
244
  protected getInitialRouterSearch(): string | undefined;
245
245
  ```
246
246
 
247
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:142](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L142)
247
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:144](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L144)
248
248
 
249
249
  Return the initial URL search string for query-param forwarding on `connect()`.
250
250
 
@@ -269,7 +269,7 @@ so `syncActorFromRouter` produces `query: {}` rather than parsing an empty strin
269
269
  protected navigateRouter(path): void;
270
270
  ```
271
271
 
272
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L105)
272
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:106](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L106)
273
273
 
274
274
  Navigate the framework router to the given path.
275
275
 
@@ -298,7 +298,7 @@ Must trigger the framework router's navigation (e.g., router.navigate(path)).
298
298
  protected resolveNavigationPath(route): string | null;
299
299
  ```
300
300
 
301
- Defined in: [play-router/src/router-bridge-base.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L340)
301
+ Defined in: [play-router/src/router-bridge-base.ts:340](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L340)
302
302
 
303
303
  Resolve an actor route value to a concrete URL path for navigation.
304
304
 
@@ -337,7 +337,7 @@ Concrete URL path, or `null` if navigation should be skipped
337
337
  protected syncActorFromRouter(pathname, search?): void;
338
338
  ```
339
339
 
340
- Defined in: [play-router/src/router-bridge-base.ts:260](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L260)
340
+ Defined in: [play-router/src/router-bridge-base.ts:260](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L260)
341
341
 
342
342
  Sync actor state when router location changes.
343
343
 
@@ -367,7 +367,7 @@ Prevents circular updates via isProcessingNavigation flag.
367
367
  protected syncRouterFromActor(route): void;
368
368
  ```
369
369
 
370
- Defined in: [play-router/src/router-bridge-base.ts:240](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/router-bridge-base.ts#L240)
370
+ Defined in: [play-router/src/router-bridge-base.ts:240](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/router-bridge-base.ts#L240)
371
371
 
372
372
  Sync router location when actor route signal changes.
373
373
 
@@ -400,7 +400,7 @@ suppressed as circular echoes.
400
400
  protected unwatchRouterChanges(): void;
401
401
  ```
402
402
 
403
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:163](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L163)
403
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:166](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L166)
404
404
 
405
405
  Stop watching for router location changes.
406
406
 
@@ -422,7 +422,7 @@ Called by disconnect(). Should clean up the framework-specific subscription.
422
422
  protected watchRouterChanges(): void;
423
423
  ```
424
424
 
425
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:155](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L155)
425
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:157](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L157)
426
426
 
427
427
  Subscribe to ALL navigation events via router.history.
428
428
 
@@ -6,7 +6,7 @@
6
6
  function PlayRouterProvider<TActor>(__namedParameters): Element;
7
7
  ```
8
8
 
9
- Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L41)
9
+ Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L41)
10
10
 
11
11
  ## Type Parameters
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRouteMap(routeTree): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [play-router/src/create-route-map.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map.ts#L74)
9
+ Defined in: [play-router/src/create-route-map.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/create-route-map.ts#L74)
10
10
 
11
11
  Create a RouteMap from a RouteTree for efficient path lookups.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRouteMapFromTree(routeTree): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [play-router/src/create-route-map-from-tree.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map-from-tree.ts#L31)
9
+ Defined in: [play-router/src/create-route-map-from-tree.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/create-route-map-from-tree.ts#L31)
10
10
 
11
11
  Create a `BaseRouteMap` from a `RouteTree` node structure.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function extractMachineRoutes(machine): RouteTree;
7
7
  ```
8
8
 
9
- Defined in: [play-router/src/extract-routes.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/extract-routes.ts#L93)
9
+ Defined in: [play-router/src/extract-routes.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/extract-routes.ts#L93)
10
10
 
11
11
  Extract complete route tree from state machine graph
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouteEvent
4
4
 
5
- Defined in: [play-router/src/types.ts:223](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L223)
5
+ Defined in: [play-router/src/types.ts:223](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L223)
6
6
 
7
7
  Enhanced routing event with parameter and query support
8
8
 
@@ -112,8 +112,8 @@ URLPatternResult for advanced use cases (debugging, pattern analysis).
112
112
 
113
113
  | Property | Modifier | Type | Defined in |
114
114
  | -------------------------------------- | ---------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
115
- | <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L228) |
116
- | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:226](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L226) |
117
- | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:227](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L227) |
118
- | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L225) |
119
- | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:224](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L224) |
115
+ | <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L228) |
116
+ | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:226](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L226) |
117
+ | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:227](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L227) |
118
+ | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L225) |
119
+ | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:224](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L224) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayRouterProviderProps\<TActor\>
4
4
 
5
- Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L30)
5
+ Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L30)
6
6
 
7
7
  ## Type Parameters
8
8
 
@@ -14,7 +14,7 @@ Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:30](https:/
14
14
 
15
15
  | Property | Type | Description | Defined in |
16
16
  | ----------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
- | <a id="property-actor"></a> `actor` | `TActor` | - | [play-tanstack-react-router/src/play-router-provider.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L34) |
18
- | <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `ReactNode` | Renderer callback receives the same concrete actor type that was passed in. | [play-tanstack-react-router/src/play-router-provider.tsx:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L38) |
19
- | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | - | [play-tanstack-react-router/src/play-router-provider.tsx:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L36) |
20
- | <a id="property-router"></a> `router` | [`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md) | - | [play-tanstack-react-router/src/play-router-provider.tsx:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L35) |
17
+ | <a id="property-actor"></a> `actor` | `TActor` | - | [play-tanstack-react-router/src/play-router-provider.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L34) |
18
+ | <a id="property-renderer"></a> `renderer` | (`actor`, `router`) => `ReactNode` | Renderer callback receives the same concrete actor type that was passed in. | [play-tanstack-react-router/src/play-router-provider.tsx:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L38) |
19
+ | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../classes/RouteMap.md) | - | [play-tanstack-react-router/src/play-router-provider.tsx:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L36) |
20
+ | <a id="property-router"></a> `router` | [`TanStackRouterLike`](../type-aliases/TanStackRouterLike.md) | - | [play-tanstack-react-router/src/play-router-provider.tsx:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L35) |
@@ -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.26/packages/play-router/src/base-route-map.ts#L57)
5
+ Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L57)
6
6
 
7
7
  A single state ID ↔ path mapping entry.
8
8
 
@@ -23,5 +23,5 @@ const optionalMapping: BaseRouteMapping = { stateId: "settings", path: "/setting
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.26/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.26/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:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/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.27/packages/play-router/src/base-route-map.ts#L59) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteNavigateEvent
4
4
 
5
- Defined in: [play-tanstack-react-router/src/types.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/types.ts#L21)
5
+ Defined in: [play-tanstack-react-router/src/types.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/types.ts#L21)
6
6
 
7
7
  Event sent to actor when browser navigates.
8
8
 
@@ -22,5 +22,5 @@ actor.send({ type: "route.navigate", path: "/dashboard" });
22
22
 
23
23
  | Property | Modifier | Type | Description | Defined in |
24
24
  | --------------------------------- | ---------- | ------------------ | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25
- | <a id="property-path"></a> `path` | `readonly` | `string` | Target route path (may include parameters, e.g., /posts/123) | [play-tanstack-react-router/src/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/types.ts#L25) |
26
- | <a id="property-type"></a> `type` | `readonly` | `"route.navigate"` | Event type discriminant (extends XState event pattern) | [play-tanstack-react-router/src/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/types.ts#L23) |
25
+ | <a id="property-path"></a> `path` | `readonly` | `string` | Target route path (may include parameters, e.g., /posts/123) | [play-tanstack-react-router/src/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/types.ts#L25) |
26
+ | <a id="property-type"></a> `type` | `readonly` | `"route.navigate"` | Event type discriminant (extends XState event pattern) | [play-tanstack-react-router/src/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/types.ts#L23) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouterBridge
4
4
 
5
- Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L271)
5
+ Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L271)
6
6
 
7
7
  RouterBridge interface for runtime infrastructure adapters
8
8
 
@@ -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:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L287)
57
+ Defined in: [play-router/src/types.ts:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L287)
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:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L303)
86
+ Defined in: [play-router/src/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L303)
87
87
 
88
88
  Disconnect the router bridge from the Actor
89
89
 
@@ -6,4 +6,4 @@
6
6
  type TanStackRouterInstance = ConstructorParameters<typeof TanStackReactRouterBridge>[0];
7
7
  ```
8
8
 
9
- Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/play-router-provider.tsx#L28)
9
+ Defined in: [play-tanstack-react-router/src/play-router-provider.tsx:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/play-router-provider.tsx#L28)
@@ -6,7 +6,7 @@
6
6
  type TanStackRouterLike = object;
7
7
  ```
8
8
 
9
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L42)
9
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L42)
10
10
 
11
11
  ## Properties
12
12
 
@@ -16,7 +16,7 @@ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:42](https:
16
16
  history: object;
17
17
  ```
18
18
 
19
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L44)
19
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L45)
20
20
 
21
21
  #### location
22
22
 
@@ -58,13 +58,27 @@ subscribe(handler): () => void;
58
58
 
59
59
  ## Methods
60
60
 
61
+ ### load()?
62
+
63
+ ```ts
64
+ optional load(): void | Promise<void>;
65
+ ```
66
+
67
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L44)
68
+
69
+ #### Returns
70
+
71
+ `void` \| `Promise`\<`void`\>
72
+
73
+ ---
74
+
61
75
  ### navigate()
62
76
 
63
77
  ```ts
64
78
  navigate(args): void;
65
79
  ```
66
80
 
67
- Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L43)
81
+ Defined in: [play-tanstack-react-router/src/tanstack-router-bridge.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-tanstack-react-router/src/tanstack-router-bridge.ts#L43)
68
82
 
69
83
  #### Parameters
70
84