@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

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 (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,301 @@
1
+ # XTendRMT Parsedown Scheduling Pilot
2
+
3
+ - Status: active Docs App pilot since `ER-WP-40`, shell-first refactor active
4
+ - Contract: `xtend.docs.parsedown-rmt-scheduling.v1`
5
+ - Pilot Contract: `xtend.docs.parsedown-rmt-pilot.v1`
6
+ - Production-Hardening Contract: `xtend.epic13.docs-rmt-production-hardening.v1`
7
+ - Pilot document: `docs/xtendrmt-parsedown-docs.rmt`
8
+ - Current runtime: `docs/index.php` + `docs/utils/parsedown.php` + `docs/utils/pageloader.js`
9
+
10
+ ## Purpose
11
+
12
+ The official XTend documentation is itself an XTend app. Markdown files in the `docs` folder are converted to HTML server-side through Parsedown and displayed client-side as an SPA through XRouter. The host now mirrors only the initially required HTML page into `window.xtendDocsPages`; additional Parsedown payloads are loaded per route through `window.xtendDocsPageEndpoint`.
13
+
14
+ The current state is shell-first: the visible page shell is no longer built purely imperatively in PageLoader, but rendered as a `dom_descriptor` from `docs.app.shell` in the RMT pilot document. Parsedown remains the host adapter and only fills the content slot. This lets the Docs App later load rich HTML or XPlayer tutorial content alongside Markdown as RMT-planned slots; the machine-readable content kind for this is `xplayerTutorial`. Parsedown and XTend are not embedded into the RMT kernel.
15
+
16
+ ## ER-WP-40 Pilot Artifacts
17
+
18
+ | Artifact | Role |
19
+ |----------|------|
20
+ | `docs/xtendrmt-parsedown-docs.rmt` | RMT pilot document for shell-first templates, docs routes, Parsedown templates, schedules, rich-content slots and host adapter |
21
+ | `docs/index.php` | active parser host, sets `Parsedown::setSafeMode(true)` and mirrors `window.xtendDocsRmtDocument`, `window.xtendDocsRmtPilot` and `window.xtendDocsPagesMeta` |
22
+ | `docs/utils/pageloader.js` | renders `docs.app.shell` and `docs.header.search` from RMT `dom_descriptor` templates, marks content slots with `data-rmt-template`, `data-rmt-parse-schedule`, `data-rmt-trust-boundary` and `xtend.docs.parsedown-rmt-render.v1` |
23
+ | `tests/rmt/docs_rmt_pilot_suite.js` | gate for RMT normalization, runtime registry, Trusted DOM boundary and Docs App wiring |
24
+ | `package.json` | metadata under `xtend.docsRmtPilot` and script `npm run test:docs-rmt-pilot` |
25
+
26
+ The pilot is deliberately host-neutral: `docs/index.php` remains the parser host while RMT describes the shell, search UI, schedules and future content slots. PageLoader is therefore a host adapter for RMT descriptors.
27
+
28
+ Starting with `WP-E13-10`, the same path also has the production-hardening layer `xtend.epic13.docs-rmt-production-hardening.v1`. It stabilizes `docs.slot.content`, `docs.slot.rich-content`, `docs.slot.media` and `docs.slot.diagnostics` so Parsedown HTML, rich HTML through `docs.rich-content.prepare`, XPlayer tutorials through `docs.media.lazy` and diagnostics can be scheduled separately. The gate is `node scripts/run_xtend_tests.js epic13-docs-rmt-production-hardening --json`.
29
+
30
+ Since skeleton hardening, the pilot uses the native `xtend.loader.skeleton-loader.v1` and `xtend.loader.style-registry.v1`: the loader registry covers undefined XTend Custom Elements with declarative skeletons or hidden Light DOM, XRouter shows a per-route skeleton fallback during import and hydration, and `xtend-doc-page` uses the same loader for the Parsedown content slot. This keeps the app shell visible and stable while the heavy HTML commit happens only after first paint. `xtend.css` remains usable as the standard file name for host theming, but it is no longer a hard requirement for this FOUC protection.
31
+
32
+ ## Current Docs App Flow
33
+
34
+ 1. `docs/index.php` finds all `.md` files recursively.
35
+ 2. `docs/utils/parsedown.php` converts only the initial or route-requested Markdown file to HTML.
36
+ 3. `window.xtendDocsPagesMeta` contains SEO, schedule and RMT metadata by slug; `window.xtendDocsPages` contains only existing HTML payloads.
37
+ 4. `<x-router mode="hash" skeleton="article">` routes to `xtend-doc-page`, lazy-loads its module and hydrates the route subtree through the loader.
38
+ 5. `docs/utils/pageloader.js` reads `window.xtendDocsRmtDocument` and renders `docs.app.shell` shell-first.
39
+ 6. The `data-rmt-slot="content"` slot shows a native SkeletonLoader until Parsedown HTML has been sanitized and inserted after first paint.
40
+ 7. `docs.header.search` provides header search as an RMT descriptor for the `search` slot of `x-header`.
41
+ 8. `docs/menu.json` defines the visible navigation hierarchy; `pageloader.js` groups and prioritizes it for drawer navigation.
42
+
43
+ Since the document-title rewrite, additional RMT route records are generated for every Markdown file and mirrored into `window.xtendDocsRmtDocument.routes`. `docs/index.php` extracts the first H1 as `title`, creates `documentTitle`, `titleTemplate`, `metaDescription` and `metaKeywords`, and renders the visible `<x-route>` attributes `title`, `document-title`, `title-template`, `meta-description` and `meta-keywords` from them. XRouter then performs the actual writes to `document.title` and the SEO meta tags. This keeps the use case declarative in RMT while browser side effects remain in the XRouter adapter.
44
+
45
+ This flow remains a host flow. RMT provides the shell and schedule records; DOM sinks, Parsedown and concrete event bindings remain in the Docs host adapter.
46
+
47
+ After sanitizing, the host adapter also normalizes inline code from Parsedown SafeMode. SafeMode escapes backtick content such as `` `<x-code>` `` twice in some cases (`&amp;lt;...&amp;gt;`). `pageloader.js` decodes these entities only inside `<code>` nodes and writes them back as `textContent`. This keeps the Trusted DOM boundary intact while component and API names remain readable in the documentation.
48
+
49
+ ## Navigation Hierarchy
50
+
51
+ Since hierarchy hardening, docs navigation uses stable metadata per article:
52
+
53
+ - `id`: canonical article ID, for example `docs.components.xcode`
54
+ - `group`: visible navigation area such as `core`, `components`, `rmt` or `release`
55
+ - `parent`: optional parent slug for deep-dive branches
56
+ - `tier`: classification such as `basic`, `deep-dive`, `component-reference` or `release-deep-dive`
57
+ - `rank`: PageRank-like visibility value where high values appear first and directly visible
58
+
59
+ This means users first see foundations such as the start page, manifest, API, component overview or XTendRMT overview. Specific articles are offered cascaded under the respective entry point as deep dives.
60
+
61
+ ## RMT Target Shape
62
+
63
+ Parsedown is described as its own host adapter:
64
+
65
+ ```json
66
+ {
67
+ "id": "docs.parsedown",
68
+ "kind": "template_adapter",
69
+ "runtimeSurface": ["server", "browser_classic"],
70
+ "providedCapabilities": ["markdown", "htmlFragments", "slugIndex", "scheduleRefs"],
71
+ "kernelVisible": false
72
+ }
73
+ ```
74
+
75
+ The Docs App remains XTend UI:
76
+
77
+ ```json
78
+ {
79
+ "id": "docs.page",
80
+ "kind": "custom_element",
81
+ "adapter": "xtend.component",
82
+ "tag": "xtend-doc-page",
83
+ "schedule": "docs.page.hydrate"
84
+ }
85
+ ```
86
+
87
+ The shell itself is an RMT template:
88
+
89
+ ```json
90
+ {
91
+ "id": "docs.app.shell",
92
+ "mode": "dom_descriptor",
93
+ "schedule": "docs.shell.render",
94
+ "nodes": [
95
+ {
96
+ "tag": "x-section",
97
+ "attributes": {
98
+ "data-rmt-shell": "docs.app.shell",
99
+ "data-rmt-shell-mode": "shell-first"
100
+ }
101
+ }
102
+ ]
103
+ }
104
+ ```
105
+
106
+ Parsedown work is planned as a schedule policy:
107
+
108
+ ```json
109
+ {
110
+ "id": "docs.markdown.parse",
111
+ "endpointName": "xtendrmt.docs.parsedown.parse",
112
+ "scope": "docs.markdown",
113
+ "lane": "background",
114
+ "priority": 35,
115
+ "preferIdle": true,
116
+ "budgetClass": "background"
117
+ }
118
+ ```
119
+
120
+ ## Pilot Document
121
+
122
+ The production pilot document lives at `docs/xtendrmt-parsedown-docs.rmt`. It contains three real docs routes:
123
+
124
+ - `/readme`
125
+ - `/enterprise-adoption`
126
+ - `/xtendrmt-parsedown-scheduling`
127
+
128
+ Abbreviated structure:
129
+
130
+ ```json
131
+ {
132
+ "kind": "rmt_document",
133
+ "version": "1.0",
134
+ "documentId": "docs.xtend.developer-center",
135
+ "namespace": "docs",
136
+ "adapters": [
137
+ {
138
+ "id": "docs.parsedown",
139
+ "kind": "template_adapter",
140
+ "runtimeSurface": ["server"],
141
+ "providedCapabilities": ["markdown", "htmlFragments", "slugIndex", "scheduleRefs"],
142
+ "kernelVisible": false
143
+ },
144
+ {
145
+ "id": "xtend.xrouter",
146
+ "kind": "router_adapter",
147
+ "runtimeSurface": ["browser_classic"],
148
+ "providedCapabilities": ["routes", "navigation", "scheduleRefs"],
149
+ "kernelVisible": false
150
+ },
151
+ {
152
+ "id": "xtend.component",
153
+ "kind": "component_adapter",
154
+ "runtimeSurface": ["browser_classic"],
155
+ "providedCapabilities": ["components", "customElements", "hydration", "scheduleRefs"],
156
+ "kernelVisible": false
157
+ }
158
+ ],
159
+ "components": [
160
+ {
161
+ "id": "docs.page",
162
+ "kind": "custom_element",
163
+ "adapter": "xtend.component",
164
+ "tag": "xtend-doc-page",
165
+ "schedule": "docs.page.hydrate"
166
+ },
167
+ {
168
+ "id": "docs.shell",
169
+ "kind": "template_component",
170
+ "adapter": "docs.rich-content",
171
+ "tag": "x-section",
172
+ "schedule": "docs.shell.render"
173
+ },
174
+ {
175
+ "id": "docs.media.player",
176
+ "kind": "custom_element",
177
+ "adapter": "xtend.component",
178
+ "tag": "x-player",
179
+ "schedule": "docs.media.lazy"
180
+ }
181
+ ],
182
+ "routes": [
183
+ {
184
+ "id": "docs.readme",
185
+ "path": "/readme",
186
+ "router": "xtend.xrouter",
187
+ "component": "docs.page",
188
+ "title": "XTend Developer Documentation",
189
+ "documentTitle": "XTend Developer Documentation | XTend Dokumentation",
190
+ "titleTemplate": "{{title}} | XTend Dokumentation",
191
+ "metaDescription": "Developer Documentation fuer XTend UI und XTendRMT.",
192
+ "template": "docs.readme.markdown",
193
+ "schedule": "docs.route.render"
194
+ }
195
+ ],
196
+ "schedules": [
197
+ {
198
+ "id": "docs.shell.render",
199
+ "endpointName": "xtendrmt.shell.render",
200
+ "scope": "docs.shell",
201
+ "lane": "visible",
202
+ "priority": 90
203
+ },
204
+ {
205
+ "id": "docs.markdown.parse",
206
+ "endpointName": "xtendrmt.docs.parsedown.parse",
207
+ "scope": "docs.markdown",
208
+ "lane": "background",
209
+ "priority": 35,
210
+ "preferIdle": true
211
+ },
212
+ {
213
+ "id": "docs.route.render",
214
+ "endpointName": "xtendrmt.route.render",
215
+ "scope": "docs.route.render",
216
+ "lane": "visible",
217
+ "priority": 80
218
+ },
219
+ {
220
+ "id": "docs.page.hydrate",
221
+ "endpointName": "xtendrmt.component.hydrate",
222
+ "scope": "docs.page.hydrate",
223
+ "lane": "idle",
224
+ "priority": 40,
225
+ "preferIdle": true
226
+ },
227
+ {
228
+ "id": "docs.media.lazy",
229
+ "endpointName": "xtendrmt.docs.media.lazy",
230
+ "scope": "docs.media",
231
+ "lane": "idle",
232
+ "preferIdle": true
233
+ }
234
+ ],
235
+ "templates": [
236
+ {
237
+ "id": "docs.readme.markdown",
238
+ "mode": "html_fragment",
239
+ "source": "docs/README.md",
240
+ "adapter": "docs.parsedown",
241
+ "security": {
242
+ "markupClass": "parsedownHtml",
243
+ "trustBoundary": "xtend.security.sanitizing-boundary.v1",
244
+ "sink": "trustedDomBoundary"
245
+ },
246
+ "hydration": {
247
+ "mode": "hydrate_prerendered",
248
+ "metadata": {
249
+ "endpointHint": "xtendrmt.docs.parsedown.parse"
250
+ }
251
+ }
252
+ }
253
+ ]
254
+ }
255
+ ```
256
+
257
+ ## Responsibility Boundaries
258
+
259
+ | Responsibility | Location |
260
+ |----------------|----------|
261
+ | Read Markdown | Docs App or Docs host adapter |
262
+ | Execute Parsedown | `docs.parsedown` adapter |
263
+ | Provide HTML fragments | Docs App host boundary with `xtend.security.sanitizing-boundary.v1` |
264
+ | Render shell-first app shell | `docs.app.shell` through Docs host adapter |
265
+ | Render header search | `docs.header.search` through Docs host adapter |
266
+ | Prepare rich HTML and tutorial videos | `docs.rich-content` and `docs.media.lazy` |
267
+ | Register routes | `createRmtXRouterAdapter` |
268
+ | Hydrate page | `createRmtXtendComponentAdapter` |
269
+ | Mirror scheduling and diagnostics | `createRmtStateSchedulerDiagnosticsBridge` |
270
+
271
+ The RMT kernel receives only records, policies and diagnostics. It parses no Markdown, calls no PHP and sanitizes no HTML. Parsedown output counts as `parsedownHtml` despite `Parsedown::setSafeMode(true)` and must pass through the Trusted DOM policy from [Trusted DOM and Sanitizing](./trusted-dom-sanitizing.md).
272
+
273
+ ## Implemented Pilot Steps
274
+
275
+ | Step | Status |
276
+ |------|--------|
277
+ | Convert Docs App flow to shell-first RMT shell | `done` |
278
+ | Create `.rmt` pilot for docs routes and Parsedown schedules | `done` |
279
+ | Describe `docs.parsedown` adapter as host layer | `done` |
280
+ | Render `docs.app.shell` as production RMT app shell | `done` |
281
+ | Render `docs.header.search` as RMT header-search template | `done` |
282
+ | Prepare rich-content and `x-player` slots as future-ready RMT schedules | `done` |
283
+ | Prove `xtend.security.sanitizing-boundary.v1` for Parsedown HTML in the host adapter | `done` |
284
+ | Use `createRmtFormat().normalizeDocument(...)` and `createRuntimeRegistries(...)` for docs routes | `done` |
285
+ | Add per-page RMT metadata to the Docs App | `done` |
286
+ | Make Parsedown parse jobs schedulable through `xtendrmt.docs.parsedown.parse` | `done` |
287
+ | Extend reference and RMT pilot gates | `done` |
288
+
289
+ Not yet part of the pilot: production XRouter routes are not registered from the RMT document. That remains a later runtime expansion. Also not active yet: rich HTML and XPlayer content are only prepared as slots and schedules, but not filled with external tutorial payloads.
290
+
291
+ ## Minimum Gates
292
+
293
+ ```bash
294
+ php -l docs/index.php
295
+ node scripts/run_xtend_tests.js docs-rmt-pilot --json
296
+ node scripts/run_xtend_tests.js references --json
297
+ node scripts/run_xtend_tests.js browser --json
298
+ node scripts/run_xtend_tests.js rmt-compatibility --json
299
+ ```
300
+
301
+ The pilot is shell-first, but remains framework-agnostic. Until a production `docs.parsedown` runtime adapter replaces the PHP side, `docs/index.php` remains the active parser host.
@@ -0,0 +1,155 @@
1
+ # XTendRMT Runtime Bridge
2
+
3
+ - Status: current after Epic 05 completion
4
+ - Contract: `xtend.docs.xtendrmt-runtime-bridge.v1`
5
+ - Core contracts:
6
+ - `xtend.rmt.xrouter-adapter.v1`
7
+ - `xtend.rmt.xtend-component-adapter.v1`
8
+ - `xtend.rmt.state-scheduler-diagnostics-bridge.v1`
9
+ - `xtend.rmt.artifact-parity.v1`
10
+
11
+ ## Purpose
12
+
13
+ The Runtime Bridge connects normalized RMT App DSL data with real host runtimes. It is deliberately adapter-based:
14
+
15
+ - RMT normalizes and indexes.
16
+ - XRouter registers and navigates routes.
17
+ - XTend Components mount and hydrate UI.
18
+ - The bridge mirrors adapter results, scheduler endpoints and diagnostics.
19
+
20
+ This keeps the RMT kernel host-neutral.
21
+
22
+ ## Artifacts and Entry Points
23
+
24
+ | Artifact | Use |
25
+ |----------|-----|
26
+ | `xtendrmt/rmt-core.esm.js` | ESM Core, tests and build reference |
27
+ | `xtendrmt/rmt-runtime.esm.js` | ESM Runtime with production factories |
28
+ | `xtendrmt/rmt-runtime.browser.js` | Browser Classic bundle, installs `window.xtend.rmt` |
29
+ | `xtendrmt/rmt-core.d.ts` | TypeScript contract for public factories |
30
+ | `xtendrmt/rmt-manifest.json` | Product manifest and artifact-parity contract |
31
+
32
+ The browser bundle also provides `window.AppModules`. The production Classic surface is installed under `window.xtend.rmt`.
33
+
34
+ ## ESM Usage
35
+
36
+ ```js
37
+ import {
38
+ createRmtFormat,
39
+ createRmtXRouterAdapter,
40
+ createRmtXtendComponentAdapter,
41
+ createRmtStateSchedulerDiagnosticsBridge
42
+ } from './xtendrmt/rmt-runtime.esm.js';
43
+
44
+ const format = createRmtFormat();
45
+ const normalizedDocument = format.normalizeDocument(rmtDocument);
46
+ const registry = format.createRuntimeRegistries(normalizedDocument);
47
+ ```
48
+
49
+ ## Browser Classic Usage
50
+
51
+ ```html
52
+ <script src="/xtendrmt/rmt-runtime.browser.js"></script>
53
+ <script type="module">
54
+ const appModules = window.AppModules;
55
+ const format = appModules.createRmtFormat();
56
+ const normalizedDocument = format.normalizeDocument(window.appRmtDocument);
57
+ </script>
58
+ ```
59
+
60
+ The browser smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` uses this path.
61
+
62
+ ## XRouter Adapter
63
+
64
+ ```js
65
+ const routeAdapter = createRmtXRouterAdapter({
66
+ routerElement: document.querySelector('x-router'),
67
+ xstate: window.xstate
68
+ });
69
+
70
+ const routeResult = routeAdapter.registerRoutes(registry);
71
+ routeAdapter.navigate({ routeId: 'settings' }, {
72
+ mapping: routeResult.handle.mapping
73
+ });
74
+ ```
75
+
76
+ The adapter consumes `routeRegistry.byRouter["xtend.xrouter"]` and creates XRouter-compatible route records. RMT information remains visible as `data-rmt-*` attributes and route details.
77
+
78
+ ## XTend Component Adapter
79
+
80
+ ```js
81
+ const componentAdapter = createRmtXtendComponentAdapter({
82
+ document,
83
+ customElements,
84
+ manifest: {
85
+ 'x-card': '/components/xcards.js'
86
+ }
87
+ });
88
+
89
+ const mapping = componentAdapter.mapComponents(registry);
90
+ componentAdapter.registerComponent(mapping);
91
+ componentAdapter.mountComponent(rootElement, 'settings.card', {
92
+ label: 'Settings'
93
+ });
94
+ componentAdapter.hydrateComponent(rootElement, 'settings.card');
95
+ ```
96
+
97
+ The adapter is responsible for manifest lookup, Custom Element registration, DOM creation, props, attributes, slots, events and hydration.
98
+
99
+ ## State/Scheduler/Diagnostics Bridge
100
+
101
+ ```js
102
+ const bridge = createRmtStateSchedulerDiagnosticsBridge({
103
+ xstate: window.xstate,
104
+ scheduler: performanceRuntime,
105
+ diagnosticsHub
106
+ });
107
+
108
+ const stateBridge = bridge.createStateBridge();
109
+ stateBridge.set('rmt.demo.ready', true);
110
+
111
+ bridge.recordAdapterResult(routeResult, {
112
+ scheduleRef: 'route.visible.render'
113
+ });
114
+
115
+ bridge.recordTelemetrySnapshot(fabricSnapshot, {
116
+ scheduleRef: 'diagnostics.snapshot',
117
+ runInline: true
118
+ });
119
+
120
+ bridge.scheduleEndpoint(
121
+ 'xtendrmt.component.hydrate',
122
+ 'app.component.hydrate',
123
+ () => ({ ok: true }),
124
+ { runInline: true }
125
+ );
126
+ ```
127
+
128
+ Among other values, the bridge writes:
129
+
130
+ - `rmt.bridge.ready`
131
+ - `rmt.telemetry.lastSnapshot`
132
+ - `rmt.backpressure.lastSignal`
133
+ - `rmt.backpressure.profile`
134
+ - `rmt.scheduler.lastEndpoint`
135
+ - `rmt.adapter.lastResult`
136
+ - `rmt.diagnostics.last`
137
+ - `rmt.route.<id>.lastResult`
138
+ - `rmt.component.<id>.lastResult`
139
+
140
+ If no external `xstate` exists, the bridge falls back to an in-memory state handle and reports a degraded but usable state.
141
+
142
+ ## Multi-Host Rule
143
+
144
+ Non-XTend hosts use the same RMT flow with their own adapter ID. The browser-smoke fixture uses `vanilla.component` and `xtendrmt.vanilla.mount` to ensure that XTend is a first-class host but not a kernel requirement.
145
+
146
+ ## Artifact Parity
147
+
148
+ After changes to runtime, schema, manifest or types, the parity gate must run:
149
+
150
+ ```bash
151
+ node scripts/verify_xtendrmt_artifact_parity.js --json
152
+ node scripts/run_xtend_tests.js rmt-compatibility --json
153
+ ```
154
+
155
+ The gate prevents drift between schema, manifest, type definitions, ESM bundles and browser bundle.
@@ -228,7 +228,7 @@ Die CI-Matrix trennt schnelle PR-Pruefung von Release-nahem Full Gate:
228
228
  |------|---------|-------|
229
229
  | PR Fast | `npm run test:pr:report` | schnelles Feedback fuer Pull Requests |
230
230
  | Full Release | `npm run test:release:full:report` | komplette lokale Runner-Suite mit JSON Report |
231
- | Nightly | `npm run test:release:full:report` | wiederkehrender Release-naher Lauf |
231
+ | Nightly Build | `.github/workflows/xtend-nightly-build.yml` | wiederkehrender Node-26-Artefaktlauf mit Release-, RMT-Primitive- und Pack-Evidence |
232
232
 
233
233
  Release-Kandidaten brauchen zusaetzlich:
234
234
 
@@ -243,6 +243,8 @@ npm run pack:dry-run
243
243
 
244
244
  Conditional Network Gates:
245
245
 
246
+ Nightly Build Evidence wird als `xtend-nightly-build-node-26` hochgeladen und enthaelt `.xtend-test-results/xtend-nightly-build-manifest.json`. Browser-heavy Source-to-Sea Evidence und Audit/SBOM Network Evidence bleiben in diesem Workflow bewusst manuelle Jobs via `run_source_to_sea=true` und `run_conditional_network=true`.
247
+
246
248
  ```bash
247
249
  npm audit --audit-level=moderate
248
250
  npm sbom --sbom-format=cyclonedx --json
@@ -390,7 +392,7 @@ Weiterfuehrend: [RC1 Readiness](./rc1-readiness.md), [Release Owner Acceptance](
390
392
  XTend ist nach `ER-WP-40`, `WP-E10-16` und `WP-E11-18` enterprise-adoptionsfaehig vorbereitet, aber noch kein finaler `1.0.0`-Release:
391
393
 
392
394
  - `private: false` ist fuer RC1-Publish-Prep aktiv.
393
- - Component Catalog Coverage steht nach `RC1TB-WP-03` bei 42/42 Source und Docs, 42/42 Component-Suites, Fixtures und Types, 41/42 A11y sowie 40 expliziten Runtime-/UI-Performance-Profilen. `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` sind `enterprise-ready`; `xstate` ist seit `WP-E13-05` als Runtime-Boundary geschlossen; `x-utils` ist seit `WP-E13-05` als Utility-Boundary geschlossen. `x-icon` stellt den lokalen, CDN-freien Iconography Adapter mit internem Core Pack, lokalem Lucide Superset und RMT-kompatibler Pack-Schnittstelle bereit; `x-surface-manager`, `x-surface-window` und `x-side-panel` bilden die erste native Multi-Window- und SidePanel-Surface-Schicht.
395
+ - Component Catalog Coverage steht nach `RC1TB-WP-03` bei 44/44 Source und Docs, 44/44 Component-Suites, Fixtures und Types, 43/44 A11y sowie 42 expliziten Runtime-/UI-Performance-Profilen. `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-portal`, `x-surface-region`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` sind `enterprise-ready`; `xstate` ist seit `WP-E13-05` als Runtime-Boundary geschlossen; `x-utils` ist seit `WP-E13-05` als Utility-Boundary geschlossen. `x-icon` stellt den lokalen, CDN-freien Iconography Adapter mit internem Core Pack, lokalem Lucide Superset und RMT-kompatibler Pack-Schnittstelle bereit; `x-surface-manager`, `x-surface-portal`, `x-surface-region`, `x-surface-window` und `x-side-panel` bilden die native Multi-Window-, Portal-, Region- und SidePanel-Surface-Schicht.
394
396
  - Performance-Profile sind fuer alle sichtbaren Runtime-/UI-Komponenten priorisiert und vorhanden; Infrastruktur-/Utility-Pfade werden ueber Boundary-Contracts bewertet.
395
397
  - Netzwerkbasierte Supply-Chain-Gates sind Conditional Gates.
396
398
  - `WP-E12-15` aktualisiert die oeffentliche Adoption-Flaeche: Long-Tail Closure, DOM-first Snapshot Gate, Design Token Productization, RMT DSL Authoring Polish, Known Residual Policy und RC0 Gate Matrix sind in `docs/rc0-adoption-guide.md` zusammengefuehrt.