@xmachines/docs 6.1.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (810) hide show
  1. package/README.md +4 -4
  2. package/api/@xmachines/core/README.md +7 -2
  3. package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
  4. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
  5. package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
  6. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
  7. package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
  8. package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
  9. package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
  10. package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
  11. package/api/@xmachines/core/utils/functions/isError.md +1 -1
  12. package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
  13. package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
  14. package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
  15. package/api/@xmachines/core/utils/functions/safeString.md +1 -1
  16. package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
  17. package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
  18. package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
  19. package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
  20. package/api/@xmachines/play/README.md +10 -5
  21. package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
  22. package/api/@xmachines/play/errors/classes/PlayError.md +12 -11
  23. package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
  24. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
  25. package/api/@xmachines/play-actor/README.md +12 -2
  26. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
  27. package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
  28. package/api/@xmachines/play-atom/README.md +16 -4
  29. package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
  30. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  31. package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
  32. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
  33. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
  34. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  35. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
  36. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
  37. package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
  38. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
  39. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  40. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
  41. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
  42. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  43. package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
  44. package/api/@xmachines/play-dom/README.md +131 -48
  45. package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -12
  46. package/api/@xmachines/play-dom/functions/createPlayUI.md +5 -5
  47. package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
  48. package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
  49. package/api/@xmachines/play-dom/functions/renderSpec.md +3 -2
  50. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +13 -13
  51. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -15
  52. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +26 -20
  53. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
  54. package/api/@xmachines/play-dom/interfaces/PassOptions.md +14 -0
  55. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +18 -17
  56. package/api/@xmachines/play-dom/interfaces/RenderErrorInfo.md +16 -0
  57. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +17 -15
  58. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +9 -8
  59. package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +14 -11
  60. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
  61. package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
  62. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
  63. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
  64. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
  65. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
  66. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +9 -10
  67. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +10 -9
  68. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  69. package/api/@xmachines/play-dom/type-aliases/OnRenderError.md +27 -0
  70. package/api/@xmachines/play-dom/type-aliases/RenderErrorKind.md +21 -0
  71. package/api/@xmachines/play-dom-router/README.md +41 -5
  72. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  73. package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
  74. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  75. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  76. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  77. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
  78. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  79. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  80. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  81. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
  82. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  83. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  84. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  85. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  86. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  87. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
  88. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  89. package/api/@xmachines/play-pattern/README.md +1 -1
  90. package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
  91. package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
  92. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  93. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  94. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  95. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
  96. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
  97. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  98. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  99. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  100. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  101. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  102. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  103. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  104. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  105. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  106. package/api/@xmachines/play-react/README.md +57 -18
  107. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
  108. package/api/@xmachines/play-react/functions/defineRegistry.md +4 -4
  109. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  110. package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
  111. package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
  112. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  113. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +5 -5
  114. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  115. package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
  116. package/api/@xmachines/play-react/interfaces/DefineRegistryResult.md +15 -0
  117. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
  118. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  119. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
  120. package/api/@xmachines/play-react/interfaces/RenderErrorInfo.md +16 -0
  121. package/api/@xmachines/play-react/interfaces/RendererProps.md +7 -7
  122. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
  123. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  124. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +4 -4
  125. package/api/@xmachines/play-react/type-aliases/OnRenderError.md +27 -0
  126. package/api/@xmachines/play-react/type-aliases/RenderErrorKind.md +21 -0
  127. package/api/@xmachines/play-react/variables/ActorProvider.md +14 -4
  128. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  129. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  130. package/api/@xmachines/play-react-router/README.md +27 -6
  131. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  132. package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
  133. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
  134. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  135. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
  136. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
  137. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
  138. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  139. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  140. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  141. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  142. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  143. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  144. package/api/@xmachines/play-router/README.md +73 -16
  145. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
  146. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
  147. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
  148. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
  149. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
  150. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
  151. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
  152. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
  153. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
  154. package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
  155. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
  156. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  157. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
  158. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  159. package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
  160. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  161. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  162. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  163. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  164. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  165. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  166. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
  167. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  168. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  169. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  170. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  171. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
  172. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  173. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
  174. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  175. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  176. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  177. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  178. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  179. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  180. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  181. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  182. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
  183. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
  184. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  185. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  186. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
  187. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
  188. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
  189. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
  190. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  191. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
  192. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
  193. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
  194. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
  195. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
  196. package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
  197. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
  198. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
  199. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  200. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
  201. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
  202. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
  203. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
  204. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
  205. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  206. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
  207. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +10 -9
  208. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
  209. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
  210. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  211. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  212. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  213. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  214. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  215. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  216. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  217. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  218. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  219. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  220. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  221. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  222. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  223. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  224. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  225. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  226. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  227. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
  228. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
  229. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  230. package/api/@xmachines/play-solid/README.md +35 -11
  231. package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
  232. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  233. package/api/@xmachines/play-solid/functions/useBoundProp.md +11 -8
  234. package/api/@xmachines/play-solid/functions/useFieldValidation.md +6 -4
  235. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  236. package/api/@xmachines/play-solid/functions/useStateBinding.md +8 -6
  237. package/api/@xmachines/play-solid/functions/useStateValue.md +8 -6
  238. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  239. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
  240. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
  241. package/api/@xmachines/play-solid/interfaces/RenderErrorInfo.md +16 -0
  242. package/api/@xmachines/play-solid/interfaces/RendererProps.md +7 -7
  243. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  244. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  245. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +4 -4
  246. package/api/@xmachines/play-solid/type-aliases/OnRenderError.md +27 -0
  247. package/api/@xmachines/play-solid/type-aliases/RenderErrorKind.md +21 -0
  248. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  249. package/api/@xmachines/play-solid/variables/ActorProvider.md +17 -3
  250. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  251. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  252. package/api/@xmachines/play-solid-router/README.md +22 -6
  253. package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
  254. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  255. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
  256. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
  257. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
  258. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
  259. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
  260. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  261. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  262. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  263. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  264. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  265. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  266. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  267. package/api/@xmachines/play-svelte/README.md +18 -10
  268. package/api/@xmachines/play-svelte/functions/defineRegistry.md +6 -7
  269. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  270. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  271. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  272. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  273. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +13 -13
  274. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
  275. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +11 -11
  276. package/api/@xmachines/play-svelte/interfaces/DefineRegistryResult.md +15 -0
  277. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  278. package/api/@xmachines/play-svelte/interfaces/RenderErrorInfo.md +16 -0
  279. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  280. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +4 -4
  281. package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
  282. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  283. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
  284. package/api/@xmachines/play-svelte/type-aliases/OnRenderError.md +27 -0
  285. package/api/@xmachines/play-svelte/type-aliases/RenderErrorKind.md +21 -0
  286. package/api/@xmachines/play-svelte-spa-router/README.md +9 -5
  287. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
  288. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
  289. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  290. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  291. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  292. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
  293. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
  294. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  295. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  296. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  297. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
  298. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  299. package/api/@xmachines/play-sveltekit-router/README.md +65 -13
  300. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
  301. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +29 -19
  302. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  303. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  304. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -16
  305. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  306. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
  307. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
  308. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  309. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  310. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  311. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
  312. package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +25 -0
  313. package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +21 -0
  314. package/api/@xmachines/play-tanstack-react-router/README.md +34 -16
  315. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
  316. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  317. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
  318. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  319. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
  320. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
  321. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
  322. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  323. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  324. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  325. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  326. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  327. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  328. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
  329. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  330. package/api/@xmachines/play-tanstack-router/README.md +5 -3
  331. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  332. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  333. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
  334. package/api/@xmachines/play-tanstack-solid-router/README.md +45 -11
  335. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
  336. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  337. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
  338. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
  339. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
  340. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
  341. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  342. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  343. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  344. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  345. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  346. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  347. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
  348. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  349. package/api/@xmachines/play-url/README.md +1 -1
  350. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
  351. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
  352. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
  353. package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
  354. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  355. package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
  356. package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
  357. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
  358. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  359. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  360. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  361. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  362. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  363. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  364. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
  365. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  366. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  367. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  368. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  369. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  370. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
  371. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  372. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  373. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
  374. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
  375. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
  376. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
  377. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  378. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
  379. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
  380. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
  381. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
  382. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  383. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  384. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  385. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  386. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
  387. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  388. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  389. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  390. package/api/@xmachines/play-view/README.md +45 -19
  391. package/api/@xmachines/play-view/errors/README.md +1 -0
  392. package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
  393. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
  394. package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +181 -0
  395. package/api/@xmachines/play-view/index/README.md +10 -4
  396. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +13 -12
  397. package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +34 -0
  398. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  399. package/api/@xmachines/play-view/index/functions/composeViews.md +8 -2
  400. package/api/@xmachines/play-view/index/functions/createActorProxy.md +39 -0
  401. package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +35 -0
  402. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  403. package/api/@xmachines/play-view/index/functions/createViewSession.md +29 -0
  404. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  405. package/api/@xmachines/play-view/index/functions/forwardRenderError.md +45 -0
  406. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  407. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  408. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  409. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  410. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  411. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +12 -12
  412. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
  413. package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
  414. package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +19 -0
  415. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
  416. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  417. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  418. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
  419. package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
  420. package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
  421. package/api/@xmachines/play-view/index/interfaces/ViewSession.md +155 -0
  422. package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +12 -0
  423. package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +23 -0
  424. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +22 -3
  425. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -6
  426. package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
  427. package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
  428. package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
  429. package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +21 -0
  430. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
  431. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  432. package/api/@xmachines/play-vue/README.md +20 -15
  433. package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
  434. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  435. package/api/@xmachines/play-vue/functions/useBoundProp.md +13 -7
  436. package/api/@xmachines/play-vue/functions/useFieldValidation.md +12 -5
  437. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  438. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  439. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
  440. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  441. package/api/@xmachines/play-vue/interfaces/RenderErrorInfo.md +16 -0
  442. package/api/@xmachines/play-vue/interfaces/RendererProps.md +7 -7
  443. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  444. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  445. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
  446. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
  447. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
  448. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
  449. package/api/@xmachines/play-vue/type-aliases/OnRenderError.md +27 -0
  450. package/api/@xmachines/play-vue/type-aliases/RenderErrorKind.md +21 -0
  451. package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
  452. package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
  453. package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
  454. package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
  455. package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
  456. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
  457. package/api/@xmachines/play-vue-router/README.md +19 -12
  458. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
  459. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
  460. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
  461. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  462. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
  463. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
  464. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  465. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
  466. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  467. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
  468. package/api/@xmachines/play-xstate/README.md +64 -12
  469. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
  470. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
  471. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
  472. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
  473. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
  474. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  475. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
  476. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
  477. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
  478. package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
  479. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
  480. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
  481. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
  482. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
  483. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
  484. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
  485. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
  486. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
  487. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  488. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
  489. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  490. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
  491. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
  492. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
  493. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  494. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  495. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
  496. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  497. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
  498. package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
  499. package/api/@xmachines/shared/README.md +4 -3
  500. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
  501. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
  502. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
  503. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  504. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
  505. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  506. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
  507. package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
  508. package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
  509. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
  510. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  511. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  512. package/contributing/architecture.md +88 -53
  513. package/contributing/configuration.md +44 -62
  514. package/contributing/deployment.md +131 -161
  515. package/contributing/development.md +33 -8
  516. package/contributing/migrating-to-play-atom.md +10 -4
  517. package/contributing/testing.md +67 -34
  518. package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
  519. package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
  520. package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
  521. package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
  522. package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
  523. package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  524. package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  525. package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
  526. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  527. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  528. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  529. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  530. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
  531. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
  532. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
  533. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  534. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  535. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  536. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  537. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  538. package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
  539. package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
  540. package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
  541. package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
  542. package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
  543. package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
  544. package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
  545. package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
  546. package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
  547. package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
  548. package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
  549. package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
  550. package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
  551. package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  552. package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  553. package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
  554. package/examples/@xmachines/play-dom-router-demo/README.md +41 -33
  555. package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
  556. package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
  557. package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
  558. package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
  559. package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
  560. package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
  561. package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  562. package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  563. package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  564. package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  565. package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  566. package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  567. package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
  568. package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
  569. package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
  570. package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  571. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  572. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  573. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  574. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  575. package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
  576. package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
  577. package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
  578. package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
  579. package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
  580. package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
  581. package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
  582. package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
  583. package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
  584. package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
  585. package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
  586. package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
  587. package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
  588. package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
  589. package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
  590. package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  591. package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  592. package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
  593. package/examples/@xmachines/play-react-router-demo/README.md +21 -9
  594. package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
  595. package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
  596. package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
  597. package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
  598. package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
  599. package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
  600. package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  601. package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  602. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  603. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  604. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  605. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  606. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
  607. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
  608. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
  609. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  610. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  611. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  612. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  613. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  614. package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
  615. package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
  616. package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
  617. package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
  618. package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
  619. package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
  620. package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
  621. package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
  622. package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
  623. package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
  624. package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
  625. package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
  626. package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
  627. package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
  628. package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
  629. package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  630. package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  631. package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
  632. package/examples/@xmachines/play-solid-router-demo/README.md +17 -9
  633. package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
  634. package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
  635. package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
  636. package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
  637. package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
  638. package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  639. package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  640. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
  641. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  642. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  643. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  644. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  645. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
  646. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
  647. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
  648. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  649. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  650. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  651. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  652. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  653. package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
  654. package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
  655. package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
  656. package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
  657. package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
  658. package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
  659. package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
  660. package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
  661. package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
  662. package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  663. package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  664. package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
  665. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +9 -9
  666. package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
  667. package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
  668. package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
  669. package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
  670. package/examples/@xmachines/play-sveltekit-router-demo/README.md +9 -9
  671. package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
  672. package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
  673. package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
  674. package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
  675. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +22 -16
  676. package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
  677. package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
  678. package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
  679. package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
  680. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +25 -17
  681. package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
  682. package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
  683. package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
  684. package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
  685. package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
  686. package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  687. package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  688. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  689. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  690. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  691. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  692. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
  693. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
  694. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
  695. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  696. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  697. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  698. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  699. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  700. package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
  701. package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
  702. package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
  703. package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
  704. package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
  705. package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
  706. package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
  707. package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
  708. package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
  709. package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  710. package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
  711. package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
  712. package/examples/@xmachines/play-vue-router-demo/README.md +17 -11
  713. package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
  714. package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
  715. package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
  716. package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
  717. package/examples/README.md +44 -6
  718. package/examples/form-validation.md +17 -13
  719. package/examples/multi-router-integration.md +268 -147
  720. package/examples/routing-patterns.md +46 -9
  721. package/examples/traffic-light.md +6 -2
  722. package/examples/xstate-example-ports.md +106 -0
  723. package/guides/actor-model.md +37 -19
  724. package/guides/atoms.md +48 -8
  725. package/guides/getting-started.md +66 -14
  726. package/guides/inspector.md +74 -14
  727. package/guides/routing.md +4 -1
  728. package/guides/state-machines.md +35 -13
  729. package/guides/views.md +34 -14
  730. package/package.json +6 -6
  731. package/rfc/play.md +31 -13
  732. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +0 -20
  733. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +0 -25
  734. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +0 -60
  735. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +0 -19
  736. package/examples/@xmachines/play-dom-demo/README.md +0 -162
  737. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
  738. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
  739. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
  740. package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
  741. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
  742. package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
  743. package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
  744. package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
  745. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
  746. package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
  747. package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
  748. package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
  749. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
  750. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
  751. package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
  752. package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
  753. package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
  754. package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
  755. package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
  756. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
  757. package/examples/@xmachines/play-react-demo/README.md +0 -163
  758. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
  759. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
  760. package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
  761. package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
  762. package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
  763. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
  764. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
  765. package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
  766. package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
  767. package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
  768. package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
  769. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
  770. package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
  771. package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
  772. package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
  773. package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
  774. package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
  775. package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
  776. package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
  777. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
  778. package/examples/@xmachines/play-solid-demo/README.md +0 -163
  779. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
  780. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
  781. package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
  782. package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
  783. package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
  784. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
  785. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
  786. package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
  787. package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
  788. package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
  789. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
  790. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
  791. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
  792. package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
  793. package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
  794. package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
  795. package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
  796. package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
  797. package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
  798. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
  799. package/examples/@xmachines/play-svelte-demo/README.md +0 -137
  800. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
  801. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
  802. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
  803. package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
  804. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
  805. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
  806. package/examples/@xmachines/play-vue-demo/README.md +0 -159
  807. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
  808. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
  809. package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
  810. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
@@ -8,11 +8,11 @@ This document describes how `@xmachines/xmachines-js` packages are built, versio
8
8
 
9
9
  All `@xmachines/*` packages are published to the **public npm registry** (`registry.npmjs.org`). Every package uses `"publishConfig": { "access": "public" }` so scoped packages are accessible without an npm org subscription. See the [Published Packages](#published-packages) table for the full list.
10
10
 
11
- | Target | Config File | Purpose |
12
- | --------------- | -------------------------------------------------- | ------------------------------------------------------ |
13
- | npm registry | `scripts/publish-release.mjs`, on the tag pipeline | Publish all public packages |
14
- | GitLab Releases | `scripts/publish-release.mjs`, on the tag pipeline | Attach tarball artifacts to the GitLab release tag |
15
- | GitLab CI | `.gitlab-ci.yml` | Trigger builds, tests, and releases on push / MR / tag |
11
+ | Target | Config File | Purpose |
12
+ | --------------- | ------------------------------------------------- | ------------------------------------------------------ |
13
+ | npm registry | `publish-release`, on the tag pipeline of a train | Publish the public packages of the train |
14
+ | GitLab Releases | `publish-release`, on the tag pipeline of a train | Attach tarball artifacts to the GitLab release tag |
15
+ | GitLab CI | `.gitlab-ci.yml` | Trigger builds, tests, and releases on push / MR / tag |
16
16
 
17
17
  The root `package.json` is marked `"private": true` and is **never published** to npm.
18
18
 
@@ -20,32 +20,38 @@ The root `package.json` is marked `"private": true` and is **never published** t
20
20
 
21
21
  ## Published Packages
22
22
 
23
- The following packages are published on every release (derived from the workspace scan in `release.config.mjs` — every non-private package that is not a demo):
24
-
25
- | Package | Directory |
26
- | ------------------------------------------------------------------------------------------------- | ------------------------------------- |
27
- | [`@xmachines/shared`](../api/@xmachines/shared/README.md) | `packages/shared` |
28
- | [`@xmachines/play`](../api/@xmachines/play/README.md) | `packages/play` |
29
- | [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `packages/play-actor` |
30
- | [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) | `packages/play-atom` |
31
- | [`@xmachines/play-router`](../api/@xmachines/play-router/README.md) | `packages/play-router` |
32
- | [`@xmachines/play-dom`](../api/@xmachines/play-dom/README.md) | `packages/play-dom` |
33
- | [`@xmachines/play-dom-router`](../api/@xmachines/play-dom-router/README.md) | `packages/play-dom-router` |
34
- | [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `packages/play-react` |
35
- | [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) | `packages/play-react-router` |
36
- | [`@xmachines/play-solid`](../api/@xmachines/play-solid/README.md) | `packages/play-solid` |
37
- | [`@xmachines/play-solid-router`](../api/@xmachines/play-solid-router/README.md) | `packages/play-solid-router` |
38
- | [`@xmachines/play-svelte`](../api/@xmachines/play-svelte/README.md) | `packages/play-svelte` |
39
- | [`@xmachines/play-sveltekit-router`](../api/@xmachines/play-sveltekit-router/README.md) | `packages/play-sveltekit-router` |
40
- | [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | `packages/play-svelte-spa-router` |
41
- | [`@xmachines/play-tanstack-react-router`](../api/@xmachines/play-tanstack-react-router/README.md) | `packages/play-tanstack-react-router` |
42
- | [`@xmachines/play-tanstack-solid-router`](../api/@xmachines/play-tanstack-solid-router/README.md) | `packages/play-tanstack-solid-router` |
43
- | [`@xmachines/play-vue`](../api/@xmachines/play-vue/README.md) | `packages/play-vue` |
44
- | [`@xmachines/play-vue-router`](../api/@xmachines/play-vue-router/README.md) | `packages/play-vue-router` |
45
- | [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | `packages/play-xstate` |
46
- | [`@xmachines/docs`](../README.md) | `packages/docs` |
47
-
48
- **Example demo packages** (under `packages/*/examples/demo`) are **not published** to npm (`"npmPublish": false`) but are still packed into release tarballs and attached as GitLab release assets for testing.
23
+ The release is in **trains**, each released on its own: `core`, `play` and `docs`. A train publishes every package under its paths that is not private, at the version of the train's release (`release.config.mjs`, `trains`):
24
+
25
+ | Package | Directory | Train |
26
+ | ------------------------------------------------------------------------------------------------- | ------------------------------------- | ------ |
27
+ | [`@xmachines/core`](../api/@xmachines/core/README.md) | `packages/core` | `core` |
28
+ | [`@xmachines/play`](../api/@xmachines/play/README.md) | `packages/play` | `play` |
29
+ | [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `packages/play-actor` | `play` |
30
+ | [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) | `packages/play-atom` | `play` |
31
+ | [`@xmachines/play-dom`](../api/@xmachines/play-dom/README.md) | `packages/play-dom` | `play` |
32
+ | [`@xmachines/play-dom-router`](../api/@xmachines/play-dom-router/README.md) | `packages/play-dom-router` | `play` |
33
+ | [`@xmachines/play-pattern`](../api/@xmachines/play-pattern/README.md) | `packages/play-pattern` | `play` |
34
+ | [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `packages/play-react` | `play` |
35
+ | [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) | `packages/play-react-router` | `play` |
36
+ | [`@xmachines/play-router`](../api/@xmachines/play-router/README.md) | `packages/play-router` | `play` |
37
+ | [`@xmachines/play-solid`](../api/@xmachines/play-solid/README.md) | `packages/play-solid` | `play` |
38
+ | [`@xmachines/play-solid-router`](../api/@xmachines/play-solid-router/README.md) | `packages/play-solid-router` | `play` |
39
+ | [`@xmachines/play-svelte`](../api/@xmachines/play-svelte/README.md) | `packages/play-svelte` | `play` |
40
+ | [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | `packages/play-svelte-spa-router` | `play` |
41
+ | [`@xmachines/play-sveltekit-router`](../api/@xmachines/play-sveltekit-router/README.md) | `packages/play-sveltekit-router` | `play` |
42
+ | [`@xmachines/play-tanstack-react-router`](../api/@xmachines/play-tanstack-react-router/README.md) | `packages/play-tanstack-react-router` | `play` |
43
+ | [`@xmachines/play-tanstack-router`](../api/@xmachines/play-tanstack-router/README.md) | `packages/play-tanstack-router` | `play` |
44
+ | [`@xmachines/play-tanstack-solid-router`](../api/@xmachines/play-tanstack-solid-router/README.md) | `packages/play-tanstack-solid-router` | `play` |
45
+ | [`@xmachines/play-url`](../api/@xmachines/play-url/README.md) | `packages/play-url` | `play` |
46
+ | [`@xmachines/play-view`](../api/@xmachines/play-view/README.md) | `packages/play-view` | `play` |
47
+ | [`@xmachines/play-vue`](../api/@xmachines/play-vue/README.md) | `packages/play-vue` | `play` |
48
+ | [`@xmachines/play-vue-router`](../api/@xmachines/play-vue-router/README.md) | `packages/play-vue-router` | `play` |
49
+ | [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | `packages/play-xstate` | `play` |
50
+ | [`@xmachines/docs`](../README.md) | `packages/docs` | `docs` |
51
+
52
+ Every package of `packages/play-*` that is not private is on the `play` train. [`@xmachines/shared`](../api/@xmachines/shared/README.md) is private: it holds the configs every package is built with, and no train publishes it.
53
+
54
+ **Example demo packages** (under `packages/*/examples/*`, every one but the `shared` packages) are private and **not published** to npm, but the `play` train packs them beside its packages and attaches them to its GitLab release as assets for testing. It also packs the shared package of the demos, `packages/play-actor/examples/shared`, because each demo depends on it and no registry holds it.
49
55
 
50
56
  Each published package includes only the directories listed in its `files` field: `dist`, `README.md`, and `LICENSE` (or equivalent for packages without a compilation step).
51
57
 
@@ -57,13 +63,14 @@ Each published package includes only the directories listed in its `files` field
57
63
 
58
64
  Pipeline runs are triggered by `.gitlab-ci.yml` under the following conditions:
59
65
 
60
- | Trigger | Pipeline runs |
61
- | ------------------------------------------------ | -------------------------------------------------- |
62
- | Push to `main` / `rc` / `beta` / `alpha` / `pre` | Full pipeline; the release job waits to be started |
63
- | Merge request | Full pipeline, no release job |
64
- | Web / API / trigger / parent pipeline | Full pipeline |
66
+ | Trigger | Pipeline runs |
67
+ | --------------------------------------------------------- | -------------------------------------------------- |
68
+ | Push to `main` / `next` / `rc` / `beta` / `alpha` / `pre` | Full pipeline; the release jobs wait to be started |
69
+ | Merge request | Full pipeline, no release job |
70
+ | Web / API / trigger / parent pipeline | Full pipeline |
71
+ | A release tag, `<train>-v<version>` | `publish-release` alone, which publishes the train |
65
72
 
66
- No rule admits a tag pipeline, so pushing a tag runs nothing.
73
+ No rule admits another tag, so pushing one runs nothing.
67
74
 
68
75
  The pipeline includes two reusable CI components, both pinned in `.gitlab-ci.yml` — which is the version to trust, rather than a number repeated here:
69
76
 
@@ -76,15 +83,15 @@ The `node-build` job runs one command:
76
83
  pnpm run build # vite build (JavaScript) && tsc --build (declarations)
77
84
  ```
78
85
 
79
- It runs no test. The `test` job owns the unit suite, so `node-build` skips its own with `NODE_TEST_ARGS`. It also builds no documentation: the `docs` job below does that.
86
+ It runs no test. The `test:dist` job owns the unit suite, so `node-build` skips its own with `NODE_TEST_ARGS`. It also builds no documentation: the `docs` job below does that.
80
87
 
81
- Coverage comes from the `test` job, through the regex:
88
+ Coverage comes from the `test:dist` job, through the regex:
82
89
 
83
90
  ```
84
91
  /All files[^|]*\|[^|]*\s+([\d\.]+)/
85
92
  ```
86
93
 
87
- That job publishes the JUnit results as `reports/test-results.xml` and the Cobertura coverage as `reports/cobertura-coverage.xml`. `vitest.config.ts` names both paths, and `COVERAGE_REPORTS_DIR` points them at `reports/`.
94
+ That job runs the suites on the `dist/` of `node-build`, and it maps the coverage back to `src/` through the source maps. It publishes the JUnit results as `reports/test-results.xml` and the Cobertura coverage as `reports/cobertura-coverage.xml`. `vitest.config.ts` names both paths, and `COVERAGE_REPORTS_DIR` points them at `reports/`.
88
95
 
89
96
  ### Docs Job
90
97
 
@@ -112,42 +119,30 @@ To run the same check on your machine, run `pnpm run docs` and then `pnpm run te
112
119
 
113
120
  ### Release Job Detail
114
121
 
115
- The `semantic-release` CI job is configured with:
116
-
117
- ```yaml
118
- semantic-release:
119
- id_tokens:
120
- NPM_ID_TOKEN:
121
- aud: "npm:registry.npmjs.org"
122
- artifacts:
123
- when: always
124
- expire_in: 1 week
125
- paths:
126
- - dist/releases/*.tgz
127
- ```
122
+ The `semantic-release` job is the job of the `to-be-continuous/semantic-release` component, with its own rules: manual on every release branch, and a `resource_group` that runs one release at a time. One click releases every train: the job runs semantic-release once for each train that the pipeline's input `release-trains` names, all three by default, in the order of the trains of `release.config.mjs`: `core`, then `play`, then `docs`, whatever order they were ticked in. A train with no commit that releases it releases nothing, and the next one runs. A run that fails stops the job; retry it, and each train it released already has nothing left to release. To release some trains alone, tick them in the multi-select `release-trains` of **Run pipeline**, or set `RELEASE_TRAINS` as you start the job, as `docs`: the input is the default of the global variable `RELEASE_TRAINS`, which a CI/CD variable overrides, as a to-be-continuous component maps its inputs. A name of no train fails the job.
123
+
124
+ The component turns `release.config.mjs` into `.releaserc.json`, of `RELEASE_TRAIN=docs`, whose run names every plugin of the others' runs too, and installs semantic-release and each plugin that the config names, globally. The config is therefore literals: it imports no plugin, and holds no top-level await. The job then removes `.releaserc.json`, so each run reads `release.config.mjs` of its own train.
128
125
 
129
- The job uses a GitLab OIDC id token (`NPM_ID_TOKEN`) scoped to `npm:registry.npmjs.org` rather than a static `NPM_TOKEN`.
126
+ The job releases from the tip of its branch: a release of an earlier pipeline may have pushed a release commit since, and semantic-release releases nothing of a branch behind its remote. The job checks the tip out when every commit past its pipeline's commit is a release commit, and fails otherwise, as a branch that moved on needs the pipeline of its tip. Each run of a train then starts at the release commit of the run before it.
130
127
 
131
128
  The `semantic-release` command is called with `--no-ci` to allow it to run inside CI without triggering its own CI-environment mode.
132
129
 
133
130
  ### Release Smoke Test Job
134
131
 
135
- The `release-pack-smoke` job is defined in `.gitlab-ci.yml` and runs on the same trigger rules as other CI jobs (automatically on `main` pushes and tags, manually on MRs):
132
+ The `release-pack-smoke` job runs automatically on `main` and in a merge train, and manually on a merge request:
136
133
 
137
134
  ```bash
138
135
  pnpm run build
139
- node scripts/release-pack-smoke.mjs
136
+ semantic-release-trains-smoke
140
137
  ```
141
138
 
142
- `scripts/release-pack-smoke.mjs`:
139
+ `semantic-release-trains-smoke`, of `@wtf/semantic-release-trains-publish`, reads the trains of `release.config.mjs` and:
143
140
 
144
- 1. Asks `scripts/lib/release-packages.mjs` which packages a release publishes. `publish-release.mjs` and `release.config.mjs` ask the same module, so the three cannot disagree.
145
- 2. For each publishable package: runs `npm pack --json` in the package directory.
146
- 3. Creates a temporary directory, runs `npm init -y`, and installs the local tarball with `--ignore-scripts`.
147
- 4. Asserts the install succeeds — any missing files, broken exports, or pack-time errors surface here.
148
- 5. Cleans up temp directories and tarballs after each check.
141
+ 1. Packs every package of every train, and each private package of its `pack` globs, as the release packs it: each `workspace:` range resolved, the `source` export condition stripped. The globs name the demos, and the shared package of the demos, which each demo depends on and which no registry holds.
142
+ 2. Checks each tarball: every entry of its `files` present, no `source` condition left, and no file a `forbid` glob names, as a typecheck build.
143
+ 3. Installs each tarball in a temporary project, with every other package that it packed in place of the registry's, and imports each of its exports.
149
144
 
150
- This smoke test runs **before** the actual publish so packaging problems are caught in CI rather than on npm.
145
+ The publish plugin runs the same check on the tag, of the tarballs it is about to publish, before the first publish.
151
146
 
152
147
  ---
153
148
 
@@ -155,117 +150,111 @@ This smoke test runs **before** the actual publish so packaging problems are cau
155
150
 
156
151
  ### Branch Model
157
152
 
158
- Releases are driven by commit history on the release branches:
153
+ Releases are driven by the commit history of each train on the release branches:
159
154
 
160
- | Branch | Channel | Tag format | Behaviour |
161
- | ------- | ---------------- | ---------------- | ----------------------------- |
162
- | `main` | stable (default) | `v1.2.3` | Full production release |
163
- | `rc` | `rc` | `v1.2.3-rc.N` | Release candidate pre-release |
164
- | `beta` | `beta` | `v1.2.3-beta.N` | Beta pre-release |
165
- | `alpha` | `alpha` | `v1.2.3-alpha.N` | Alpha pre-release |
166
- | `pre` | `pre` | `v1.2.3-pre.N` | Pre-release |
155
+ | Branch | Channel | Tag format (of `play`) | Behaviour |
156
+ | ------- | ---------------- | ---------------------- | ----------------------------- |
157
+ | `main` | stable (default) | `play-v1.2.3` | Full production release |
158
+ | `next` | `next` | `play-v1.2.3-next.N` | The line on XState 6 |
159
+ | `rc` | `rc` | `play-v1.2.3-rc.N` | Release candidate pre-release |
160
+ | `beta` | `beta` | `play-v1.2.3-beta.N` | Beta pre-release |
161
+ | `alpha` | `alpha` | `play-v1.2.3-alpha.N` | Alpha pre-release |
162
+ | `pre` | `pre` | `play-v1.2.3-pre.N` | Pre-release |
167
163
 
168
164
  The channel becomes the npm dist-tag verbatim, which is why none of them contains a slash: npm reads a slash in a version selector as a GitHub shorthand, so such a tag cannot be installed.
169
165
 
170
- Tag format is `v${version}` (e.g., `v1.0.0-beta.46`).
166
+ The tag format of a train is `<train>-v${version}`. Every train continued from 7.0.0, the last release of one version for everything: `core-v7.0.0`, `play-v7.0.0` and `docs-v7.0.0` name its commit.
171
167
 
172
- ### Prepare Phase
168
+ #### `next` after a release of `main`
173
169
 
174
- Before any package is published, semantic-release runs a sequence of `@semantic-release/exec` prepare steps defined in `release.config.mjs`:
170
+ `main` stays on XState 5 and merges into `next`. **After each release on `main`, merge `main` into `next`**, by a merge request from `main` to `next`, kept unsquashed, that keeps `main` (its source branch is never deleted).
175
171
 
176
- ```bash
177
- corepack enable
178
- pnpm install --frozen-lockfile
179
- node scripts/set-workspace-versions.mjs ${nextRelease.version}
180
- pnpm run build
181
- pnpm --filter @xmachines/docs run typedoc --gitRevision v${nextRelease.version}
182
- pnpm --filter @xmachines/docs run format
183
- git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md
184
- ```
172
+ A prerelease of `next` builds on the last release of its train that `next` reaches: from `play-v7.0.0`, a breaking change on `next` releases `play` `8.0.0-next.1`, then `8.0.0-next.2`, and so on. That claims 8.0.0 for the line of XState 6. When `main` takes that major first, by a breaking release of the same train, `play` 8.0.0 is something else, and `next` would go on with `8.0.0-next.N`, which sorts below 8.0.0 and does not hold it. The merge of `main` corrects it: `play-v8.0.0` is then reachable from `next`, the breaking change of `next` is not in it, and the next prerelease is `9.0.0-next.1`. A user of `@next` sees the major move from 8 to 9, as semver allows. The same holds for `core` and `docs`, each by its own version.
185
173
 
186
- Step by step:
174
+ ### Which Commits Release a Train
187
175
 
188
- 1. **Enable corepack** — activates the pinned pnpm version.
189
- 2. **Install** — `pnpm install --frozen-lockfile` installs the exact dependency versions recorded in the lockfile.
190
- 3. **Sync versions** — `scripts/set-workspace-versions.mjs` sets the same release version across every `package.json` in the workspace (root + all packages), including cross-package workspace dependency ranges.
191
- 4. **Build** — runs `vite build && tsc --build` to produce compiled `dist/` output — JavaScript then declarations — in all packages.
192
- 5. **Generate API docs** — runs TypeDoc to regenerate `packages/docs/api/` and `packages/docs/examples/@xmachines/` at the release git revision. TypeDoc also rewrites the demo lists of `packages/docs/examples/README.md`.
193
- 6. **Format docs** — runs `oxfmt` on the docs package to ensure consistent formatting.
194
- 7. **Stage the generated docs** — `git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md`. The git plugin stages what `git ls-files -m -o` reports, and that never reports a DELETION. A page that TypeDoc removed, because an export was renamed or deleted, therefore stayed in git forever while the docs tarball packed from the working tree was correct. `git add -A` stages the removals, and the git plugin commits the index.
176
+ A commit counts for a train when it changes a file under the train's paths, or one of its `shared` files. A breaking change of `core` therefore makes a major release of `core` alone.
195
177
 
196
- ### Publish Phase
178
+ - `core`: `packages/core`.
179
+ - `play`: `packages/play` and `packages/play-*`, the demos too.
180
+ - `docs`: `packages/docs`, and every file of `core` and of `play`: the reference documents them, so a release of either is a release of `docs`. Release `docs` last.
197
181
 
198
- semantic-release publishes nothing. It stops at the tag, and `scripts/publish-release.mjs` publishes from a pipeline that runs ON that tag:
182
+ The files every package is built with count for every train: the root `package.json`, `pnpm-lock.yaml`, `pnpm-workspace.yaml`, `tsconfig.json`, `vite.config.ts`, and `packages/shared`.
199
183
 
200
- ```bash
201
- node scripts/publish-release.mjs
202
- ```
184
+ Release the trains in order: `core`, then `play`, then `docs`. `play` depends on `core`, and `dependencies: "fail"` of the config fails a run of `play` while `core` has commits that would release and are not released: its publish would pin `core`'s last release, without what those commits changed. The job runs them in that order; one of the input `play` alone fails so. `docs` depends on both by the `dependsOn` of its train, as its package depends on neither, and fails so too: its reference would show their old version badges until its next release.
203
185
 
204
- The tag pipeline is what makes the provenance attestation meaningful. npm records the commit of the pipeline in the attestation. On a tag pipeline that commit IS the commit that the tag names, and it is the commit whose manifests declare this version. A publish from the branch pipeline attests the PARENT of the release commit instead: a revision that the tag does not name, and whose manifests still carry the previous version.
186
+ ### Branch Phase
205
187
 
206
- The script pins the internal dependencies, strips the `source` export condition, packs every workspace package into `dist/releases/`, publishes each publishable tarball with `--provenance` under the dist-tag of the version, and verifies that every one reached the registry. It then creates the GitLab release with the tarballs attached, and it restores the working tree.
188
+ The job of a train runs these plugins, in this order:
207
189
 
208
- The script is idempotent. It skips every package that the registry already serves at this version, so one retry of the job finishes a run that died partway — which is how the publish of 1.1.0 recovered from a credential that expired mid-run. Nothing to untag, nothing to force-push.
190
+ 1. **The analyzer and the notes generator**, each wrapped by an entry of `@wtf/semantic-release-trains` (`wrap`), which gives it the train's commits alone. Each entry of the trains plugin also checks the trains: no file on two of them, and the trains the train depends on released. `type!:` is a breaking change, by `parserOpts` at the root of the config.
191
+ 2. **`@semantic-release/changelog`** writes the train's changelog, the `CHANGELOG.md` of its first path: `packages/core/CHANGELOG.md`, `packages/play/CHANGELOG.md`, `packages/docs/CHANGELOG.md`. The root `CHANGELOG.md` holds the history up to 7.0.0.
192
+ 3. **`@wtf/semantic-release-replace`** writes the version into the badge of each README of the train, by the `badge` template at the root of the config: a RegExp of the badge of shields.io, its version written as `shields` escapes it. `tests/readme-badges.test.ts` holds the template to every badge of the READMEs.
193
+ 4. **Of `docs` alone**, the reference: `corepack enable`, `pnpm install --frozen-lockfile`, `pnpm run build`, TypeDoc at the revision `docs-v${nextRelease.version}`, and `oxfmt` of the docs package, each a `@semantic-release/exec` step. Then an entry of `@wtf/semantic-release-trains` of `generated: true` stages the trees TypeDoc writes, deletions too: the git plugin stages what `git ls-files -m -o` reports, which never reports a deletion, so a page of an export that was renamed or removed would stay in git for ever.
194
+ 5. **`@semantic-release/git`** commits the changelog, the READMEs of the train, and of `docs` the reference (`packages/docs/api/**`, `packages/docs/examples/@xmachines/**` and the demo lists of `packages/docs/examples/README.md`), as:
209
195
 
210
- ### Post-Release Phase
196
+ ```
197
+ chore(release): <train> <version>
198
+ ```
211
199
 
212
- This phase runs on the branch, BEFORE the tag pipeline publishes.
200
+ The release notes are NOT interpolated into the message. `@semantic-release/git` runs `git commit -m <message>`, and the notes of a long release overflow the argument limit of the OS. The notes land in the changelog, which the same commit carries.
213
201
 
214
- 1. **`@semantic-release/git`** commits updated files back to the repository:
215
- - `CHANGELOG.md`
216
- - `package.json`, `pnpm-lock.yaml` and `pnpm-workspace.yaml` (root)
217
- - The `package.json` of every scanned package, and the `README.md` of every one — the release stamps the version badge of a README at the same moment as the manifest
218
- - `packages/docs/api/**` (generated API documentation)
219
- - `packages/docs/examples/@xmachines/**` (generated demo documentation)
220
- - `packages/docs/examples/README.md` (TypeDoc rewrites its demo lists)
202
+ The message carries no `[skip ci]`. The release commit needs no pipeline of its own, but the TAG that points at it does: that pipeline is where the publish happens. A `workflow:` rule skips the branch pipeline of the commit instead.
221
203
 
222
- The manifest list and the README list both come from the workspace scan, and not from a glob written by hand, so a package that a new `pnpm-workspace` pattern adds cannot be published while its manifest stays behind in git. A test asserts that every scanned package appears in both lists.
204
+ 6. semantic-release pushes the tag `<train>-v<version>`. It publishes nothing.
223
205
 
224
- Commit message format:
206
+ ### Publish Phase
225
207
 
226
- ```
227
- chore(release): <version>
228
- ```
208
+ The tag's pipeline builds the tagged commit, and its `publish-release` job runs `semantic-release-trains-tag`, of `@wtf/semantic-release-trains`. It runs semantic-release's own config, plugins and branches for the tag, with its version and its channel, and the plugins of the tag's run of `release.config.mjs`:
229
209
 
230
- The release notes are NOT interpolated into the message. `@semantic-release/git` runs `git commit -m <message>`, and the notes of the first stable release aggregate about 1600 commits — an `-m` value of several megabytes overflows the argument limit of the OS. The notes land in `CHANGELOG.md`, which the same commit carries.
210
+ 1. **The notes generator**, on the train, writes the notes again of the same commits.
211
+ 2. **`@wtf/semantic-release-trains-publish`** packs each package of the train into `dist/releases/`, the demos too, with each `workspace:` range resolved (a package of the same train to the release's version, one of another train to that train's last release) and the `source` export condition stripped; runs the smoke test of the tarballs; and publishes each package that is not private, in the order of their dependencies, under the dist-tag of the channel, with provenance. `NPM_DIST_TAG` overrides the dist-tag for a one-off.
212
+ 3. **`@semantic-release/gitlab`** creates the GitLab release of the tag, its notes those of the release, its assets every tarball of `dist/releases/` — after the publish succeeded, so a release entry never advertises a tarball that npm refused.
231
213
 
232
- The message carries no `[skip ci]`. The release commit needs no pipeline of its own, but the TAG that points at it does: that pipeline is where the publish happens.
214
+ The tag pipeline is what makes the provenance attestation meaningful. npm records the commit of the pipeline in the attestation. On a tag pipeline that commit IS the commit that the tag names. A publish from the branch pipeline attests the PARENT of the release commit instead: a revision that the tag does not name.
233
215
 
234
- 2. **The git plugin pushes the commit and the tag.** semantic-release stops there. The GitLab release entry, with every `dist/releases/*.tgz` attached, is created later by `scripts/publish-release.mjs` on the tag pipeline — after the publish succeeded, so a release entry never advertises a tarball that npm refused.
216
+ The job is idempotent. It skips every package that the registry already serves at this version, so one retry of the job finishes a run that died partway. Nothing to untag, nothing to force-push. A version below the one its dist-tag points at publishes nothing, so a retry of an older release's job moves no dist-tag back.
235
217
 
236
218
  ---
237
219
 
238
- ## Version Synchronisation
220
+ ## Versions
239
221
 
240
- All packages in the monorepo share a **single version** at all times. This is enforced during release by `scripts/set-workspace-versions.mjs`, which:
222
+ No version is written into git. Every `package.json` holds `0.0.0-development`, and each `@xmachines/*` dependency of the workspace is `workspace:*` within a train, `workspace:^` across trains. The tag is the version of a train, and the publish writes it into the manifests it packs, each `workspace:*` resolved to an exact version, so a package always depends on the exact version of a sibling of its train that was released with it. A dependency on a package of another train resolves to the range of that train's last release, by its tags, as `^7.0.0`: an exact pin would hold back each release of that train alone, a peer of it failing the install of the new version, and a dependency of it installing a second copy.
241
223
 
242
- - Sets `version` in every workspace `package.json` (including the root) to the new release version.
243
- - Rewrites `dependencies`, `devDependencies`, `peerDependencies`, and `optionalDependencies` ranges for any `@xmachines/*` workspace package to the exact new version (no `^` or `~` prefix — a strict pinned version is written).
224
+ Why the versions stay out of git:
244
225
 
245
- This means packages always depend on the exact same version of sibling packages that was released together.
226
+ - **`main` merges into `next`.** With versions in git, `main` holds 7.x and `next` holds 8.0.0-next.N in the same `package.json` files, and each merge of `main` conflicts in the version of every package that either line released since the last merge.
227
+ - **The trains stay apart.** The release commit of a train touches its changelog and its READMEs alone: no two trains write the same file, and the release commit of one train never counts as a change of another.
228
+ - **One source of truth.** The tag and npm hold the version, and nothing in git has to agree with them, so no release can stop between writing versions and tagging.
229
+
230
+ What it costs:
231
+
232
+ - A checkout says `0.0.0-development`: a package built from git, or packed by hand, carries no real version. Only the publish of the tag's pipeline writes one. No source reads its own version from its `package.json`; keep it so.
233
+ - The README badges carry the version, by the release commit of the train, and the manifests do not.
234
+ - `npm version`, and any tool that bumps a `package.json`, has nothing to do here.
246
235
 
247
236
  ---
248
237
 
249
238
  ## Credentials and Protected Variables
250
239
 
251
- | Variable | Source | Purpose |
252
- | --------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
253
- | `NPM_ID_TOKEN` | GitLab CI OIDC (auto-generated per job) | Authenticates `semantic-release` to npm registry via OIDC token exchange |
254
- | `GL_TOKEN` / `GITLAB_TOKEN` | GitLab CI group variable (unprotected) | Authenticates the git push back of semantic-release, and the GitLab release that `publish-release.mjs` creates |
255
- | `CI_JOB_TOKEN` | GitLab CI built-in | Used by the `to-be-continuous` components for GitLab API calls |
240
+ | Variable | Source | Purpose |
241
+ | --------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
242
+ | `NPM_ID_TOKEN` | GitLab CI OIDC (auto-generated per job) | Authenticates the publish of `publish-release` to npm registry via OIDC token exchange |
243
+ | `GL_TOKEN` / `GITLAB_TOKEN` | GitLab CI group variable (protected) | Authenticates the git push back of semantic-release, and the GitLab release that `publish-release` creates |
244
+ | `CI_JOB_TOKEN` | GitLab CI built-in | Used by the `to-be-continuous` components for GitLab API calls |
256
245
 
257
246
  **No static npm token is committed to the repository.** The `NPM_ID_TOKEN` is a short-lived OIDC token generated for each CI job with audience `npm:registry.npmjs.org`.
258
247
 
259
248
  To publish packages, a maintainer must:
260
249
 
261
- 1. Have push access to a release-eligible branch (`main`, `rc`, `beta`, `alpha`, `pre`). Only `main` is protected; see the branch model above for what changes if `GITLAB_TOKEN` is ever made a protected variable.
250
+ 1. Have push access to a release-eligible branch (`main`, `next`, `rc`, `beta`, `alpha`, `pre`). `GITLAB_TOKEN` is a protected variable, so each of these branches is protected, and a new release branch must be too. The tags of the trains (`core-v*`, `play-v*`, `docs-v*`) are protected, so the tag's pipeline gets the token for the GitLab release.
262
251
  2. Ensure the GitLab project CI/CD variables include the required tokens.
263
252
 
264
253
  ---
265
254
 
266
255
  ## Artifacts
267
256
 
268
- Release tarballs are stored as GitLab CI artifacts for **1 week** after each pipeline:
257
+ Release tarballs are stored as artifacts of the `publish-release` job, with no expiry:
269
258
 
270
259
  ```
271
260
  dist/releases/*.tgz
@@ -273,7 +262,7 @@ dist/releases/*.tgz
273
262
 
274
263
  The same tarballs are attached to the GitLab Release entry as permanent downloadable assets. Tarballs are **not committed** to git (the `dist/` directory is gitignored).
275
264
 
276
- The post-release git commit **commits** the generated documentation (`packages/docs/api/` and `packages/docs/examples/@xmachines/`) to git. The same commit holds the demo lists that TypeDoc writes into the hand-written `packages/docs/examples/README.md`. It also holds `CHANGELOG.md`, which `@semantic-release/changelog` writes.
265
+ The release commit of `docs` **commits** the generated documentation (`packages/docs/api/` and `packages/docs/examples/@xmachines/`) to git, with the demo lists that TypeDoc writes into the hand-written `packages/docs/examples/README.md`. The release commit of each train holds its changelog and its stamped READMEs.
277
266
 
278
267
  ---
279
268
 
@@ -295,7 +284,7 @@ There is no automated rollback mechanism. To revert a release:
295
284
  npm unpublish @xmachines/play@<bad-version>
296
285
  ```
297
286
 
298
- 3. **Patch release** — push a `fix:` commit to `main` (or the relevant branch) to trigger a patch version release via semantic-release. This is the preferred long-term approach for production issues.
287
+ 3. **Patch release** — push a `fix:` commit to `main` (or the relevant branch) and release its train, a patch release by semantic-release. This is the preferred long-term approach for production issues.
299
288
 
300
289
  4. **GitLab Release** — delete or edit the GitLab Release entry via the GitLab UI or API to remove broken tarballs. This does not affect what is on npm.
301
290
 
@@ -368,50 +357,31 @@ Then, for EACH package:
368
357
 
369
358
  ## Recovering a Failed Release
370
359
 
371
- If the job dies partway (e.g. one package's trusted publisher isn't set up), some packages are published, the git tag is created, and the rest are missing. To finish the release:
372
-
373
- 1. **Delete the release tag.** semantic-release creates the tag _before_ publishing, so a re-run while it exists is a no-op ([semantic-release#3178](https://github.com/semantic-release/semantic-release/issues/3178)):
374
- ```bash
375
- glab api --method DELETE "projects/xmachin-es%2Fxmachines-js/repository/tags/vX.Y.Z"
376
- ```
377
- 2. **Re-run the `semantic-release` job.**
378
-
379
- The config detects a staged-but-untagged version (a recovery re-run) and automatically demotes any package already on npm at that version to pack-only — re-packing it for the release assets but **not** re-publishing it — so the re-run publishes only what's missing, with no manual input. `SEMREL_SKIP_STEPS` (a regex matched against release step IDs) remains available as a manual override to force-skip specific steps.
360
+ **A publish that failed** (e.g. one package's trusted publisher isn't set up) has pushed the tag, published some packages and left the rest missing. Fix the cause, then retry the `publish-release` job of the tag: every package npm already has is skipped, and the GitLab release is created once every package is published.
380
361
 
381
- > First fix the underlying cause before re-running — e.g. configure the missing trusted publisher — otherwise the same packages fail again.
362
+ **A branch job that failed** before `@semantic-release/git` pushed the release commit is retried as it is. One that failed after, as of the push of the tag, cannot be: the retry runs behind the release commit, where semantic-release releases nothing. Push the missing tag by hand, at the release commit, with semantic-release's note of its channel (`refs/notes/semantic-release-<tag>`, `{"channels":[<channel>]}`, `null` of `main`'s) added to the tag's commit; its pipeline publishes it.
382
363
 
383
364
  ---
384
365
 
385
366
  ## Local Release Dry-Run (Manual)
386
367
 
387
- To preview what semantic-release would do without publishing:
368
+ To preview what the release of a train would do, without a tag and without a publish:
388
369
 
389
370
  ```bash
390
- # Install dependencies first
391
- pnpm install --frozen-lockfile
392
-
393
- # Run semantic-release in dry-run mode
394
- pnpm exec semantic-release --dry-run --no-ci
371
+ npm install --global semantic-release@25 @semantic-release/changelog @semantic-release/exec \
372
+ @semantic-release/git @semantic-release/gitlab @wtf/semantic-release-trains \
373
+ @wtf/semantic-release-replace @wtf/semantic-release-trains-publish
374
+ RELEASE_TRAIN=play semantic-release --dry-run --no-ci
395
375
  ```
396
376
 
397
- To test package packaging locally (the same check run by `release-pack-smoke` in CI):
377
+ To test the packaging locally (the same check run by `release-pack-smoke` in CI):
398
378
 
399
379
  ```bash
400
380
  pnpm run build
401
- node scripts/release-pack-smoke.mjs
402
- ```
403
-
404
- This packs every publishable package, installs each tarball in a temporary project, and verifies the install succeeds.
405
-
406
- To manually version and pack a single package for local inspection:
407
-
408
- ```bash
409
- # From the repo root
410
- pnpm --filter @xmachines/play run build
411
- pnpm --filter @xmachines/play pack
381
+ semantic-release-trains-smoke
412
382
  ```
413
383
 
414
- **Do not run `npm publish` manually.** All publishing must go through semantic-release in CI to keep `CHANGELOG.md`, git tags, and npm versions in sync. [Bootstrapping a New Package](#bootstrapping-a-new-package) is the ONE exception, and it publishes a version that holds no code.
384
+ **Do not run `npm publish` manually.** All publishing must go through the release in CI to keep the changelogs, git tags, and npm versions in sync. [Bootstrapping a New Package](#bootstrapping-a-new-package) is the ONE exception, and it publishes a version that holds no code.
415
385
 
416
386
  ---
417
387
 
@@ -422,6 +392,6 @@ The project does not include application runtime monitoring (no Sentry, Datadog,
422
392
  Post-release health checks:
423
393
 
424
394
  - **npm package availability** — verify new versions appear on `https://www.npmjs.com/package/@xmachines/<pkg>` after the pipeline completes.
425
- - **GitLab pipeline status** — monitor the `semantic-release` job in the GitLab CI UI for the release commit.
395
+ - **GitLab pipeline status** — monitor the `semantic-release` job of the train, then the `publish-release` job of its tag.
426
396
  - **GitLab Releases page** — confirm the release tag and tarball assets appear at `https://gitlab.com/xmachin-es/xmachines-js/-/releases`.
427
- - **`packages/docs/api/` commit** — confirm the post-release git commit updated API docs on the target branch.
397
+ - **`packages/docs/api/` commit** — confirm the release commit of `docs` updated the API docs on the target branch.
@@ -12,6 +12,7 @@ This guide covers everything you need to set up a local development environment,
12
12
  - [Code Style](#code-style)
13
13
  - [Writing Style](#writing-style-asd-ste100)
14
14
  - [Link a Package That You Name](#link-a-package-that-you-name)
15
+ - [Code Examples in Documents](#code-examples-in-documents)
15
16
  - [Branch Conventions](#branch-conventions)
16
17
  - [PR Process](#pr-process)
17
18
 
@@ -88,7 +89,7 @@ packages/
88
89
  ├── play-pattern/ # The route pattern language: one parse, and the path it builds back
89
90
  ├── play-url/ # The URL layer: the URLPattern API, a base path, framework params
90
91
  ├── play-actor/ # The actor contract (PlayActor). It names no engine
91
- ├── play-view/ # The shared view half (Viewable, PlaySpec, the view store lifecycle)
92
+ ├── play-view/ # The shared view half (Viewable, PlaySpec, the view session)
92
93
  ├── play-xstate/ # XState v5 adapter (definePlayer, PlayerActor)
93
94
  ├── play-router/ # Route extraction and RouterBridgeBase
94
95
  ├── play-dom/ # Vanilla DOM renderer
@@ -142,6 +143,7 @@ All commands are run from the **repository root** unless otherwise noted.
142
143
  | `pnpm run test:browser:dist` | Run Playwright browser tests on the build output |
143
144
  | `pnpm run test:coverage` | Run tests with V8 coverage reporting |
144
145
  | `pnpm run test:browser:coverage` | Run browser tests with coverage reporting |
146
+ | `pnpm run test:docs:examples` | Compile and run the code examples of the documentation |
145
147
  | `pnpm run test:build` | Complete type-check of every package and its tests (`tsconfig.test.json`) |
146
148
  | `pnpm run lint` | Lint all packages with oxlint |
147
149
  | `pnpm run lint:fix` | Auto-fix lint issues |
@@ -197,7 +199,7 @@ React 18 and vue-router 4 are supported by intent — nothing known depends on 1
197
199
 
198
200
  [`@xmachines/play`](../api/@xmachines/play/README.md) holds `PlayError`, and the documentation sends a consumer to `err instanceof PlayError`. That check answers `false` for an error of the second copy. [`@xmachines/core`](../api/@xmachines/core/README.md) holds `BaseError`, the base of `PlayError`, and `err instanceof BaseError` fails in the same way.
199
201
 
200
- A dependency invites that second copy. `scripts/lib/workspace-deps.mjs` pins a `workspace:*` range to an EXACT version, so two packages of two releases name two versions, and an installer resolves both. A peer moves the choice to the consumer, who brings one copy. The `@xmachines/json-render-*` packages carry the same rule for the same reason.
202
+ A dependency invites that second copy. The publish resolves a `workspace:*` range to an EXACT version, so two packages of two releases name two versions, and an installer resolves both. A peer moves the choice to the consumer, who brings one copy. The `@xmachines/json-render-*` packages carry the same rule for the same reason.
201
203
 
202
204
  Each of the three needs a `devDependency` beside the peer, because the workspace installs no peer. Without that entry a package resolves the specifier through the hoisting of another package, and it compiles until that other package stops declaring it.
203
205
 
@@ -429,7 +431,7 @@ Use `unknown` with type guards instead of `any`. Prefix unused locals/parameters
429
431
 
430
432
  1. Always use `.js` extensions in imports, even for TypeScript source files:
431
433
 
432
- ```typescript
434
+ ```typescript fragment
433
435
  // ✅ Correct
434
436
  import { PlayError } from "./errors.js";
435
437
 
@@ -439,7 +441,7 @@ Use `unknown` with type guards instead of `any`. Prefix unused locals/parameters
439
441
 
440
442
  2. Use `import type` for type-only imports (required by `verbatimModuleSyntax`):
441
443
 
442
- ```typescript
444
+ ```typescript fragment
443
445
  import type { RouteNode, RouteTree } from "../src/types.js";
444
446
  ```
445
447
 
@@ -495,6 +497,29 @@ Three places keep a plain code span:
495
497
 
496
498
  ---
497
499
 
500
+ ## Code Examples in Documents
501
+
502
+ A reader copies a code example and expects it to work. Two tests therefore read every `ts`, `typescript` and `tsx` block of the hand-written markdown:
503
+
504
+ - `tests/doc-examples/compile.test.ts` compiles each block against the source of the workspace. It writes the block into the package that can resolve its imports, and it uses the `tsconfig.json` of that package.
505
+ - `tests/doc-examples/run.test.ts` runs each complete block in jsdom. A block is complete when it declares no value that the reader supplies, holds no JSX, and loads no package that needs a compiler of Solid, Vue or Svelte, the runtime of SvelteKit, or a test runner such as `vitest`. A type import loads nothing, so it does not count. A run fails on each `console.error` and `console.warn`, unless the block logs on purpose. The page holds the elements `#app`, `#root`, `#loading` and `#crashed`.
506
+
507
+ Give an example of a call its imports, so that it compiles. Use `declare const` only for a value that the reader supplies, such as their machine or a DOM element. Two words after the language change what the tests do:
508
+
509
+ | Fence | Use it for | Compiled | Run |
510
+ | ------------------ | ------------------------------------------------------------------------------ | -------- | --- |
511
+ | ` ```ts ` | An example that a reader can copy | yes | yes |
512
+ | ` ```ts norun ` | An example that compiles, but runs only in a test or in a component | yes | no |
513
+ | ` ```ts fragment ` | A part of a larger file, such as one state of a machine, or a ✅/❌ comparison | no | no |
514
+
515
+ GitHub, GitLab and TypeDoc read the first word of a fence alone, so the second word changes nothing on a rendered page.
516
+
517
+ An example for a reader imports published packages alone. A private workspace package, such as a demo or [`@xmachines/shared`](../api/@xmachines/shared/README.md), fails the check, because a reader cannot install it. The contributor guides and the README of a private package can import one.
518
+
519
+ Check one document with `DOC_EXAMPLES=<part of its path> pnpm vitest run tests/doc-examples/compile.test.ts`, and run its examples with `DOC_EXAMPLES=<part of its path> pnpm vitest run tests/doc-examples/run.test.ts`. `pnpm run test:docs:examples` runs both, for every document. The dist run leaves them out, and CI runs them in the `test:docs:examples` job.
520
+
521
+ ---
522
+
498
523
  ## Branch Conventions
499
524
 
500
525
  Use a `<type>/` prefix that matches the conventional commit type for the work being done:
@@ -517,7 +542,7 @@ Release branches are managed by the project maintainers:
517
542
  | `alpha` | Pre-release alpha channel |
518
543
  | `pre` | Pre-release channel |
519
544
 
520
- **Do not** manually version packages or create release branches — semantic-release owns the version, and a release is cut by starting its manual CI job.
545
+ **Do not** manually version packages or create release branches — semantic-release owns the version of each train (`core`, `play`, `docs`), and a release is cut by starting the manual CI job of the train.
521
546
 
522
547
  ---
523
548
 
@@ -551,13 +576,13 @@ This project uses **Conventional Commits** — changelogs and version bumps are
551
576
  Breaking changes: append `!` after the type (`feat!:`) AND write a `BREAKING CHANGE:`
552
577
  footer. The two do different work, and neither one replaces the other:
553
578
 
554
- - The `!` decides the BUMP. `release.config.mjs` gives both semantic-release plugins a
555
- `breakingHeaderPattern`, because the angular preset reads `!` not at all: without that
579
+ - The `!` decides the BUMP. `release.config.mjs` gives every semantic-release plugin a
580
+ `breakingHeaderPattern`, at the root of the config, because the angular preset reads `!` not at all: without that
556
581
  pattern, `feat!: …` parses with no type, and a release made of nothing but such commits
557
582
  is no release.
558
583
  - The footer writes the NOTE. The changelog lists a breaking change from the footer alone,
559
584
  so a `!` commit with no footer bumps the major and tells a reader nothing about what
560
- broke. Seven commits shipped that way once, and none of them appears in `CHANGELOG.md`.
585
+ broke. Seven commits shipped that way once, and none of them appears in the changelog.
561
586
 
562
587
  Write the footer as one paragraph that names the old form and the new one:
563
588