@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
@@ -6,6 +6,9 @@ import {
6
6
  createRmtXRouterAdapter,
7
7
  createRmtXtendComponentAdapter
8
8
  } from './rmt-runtime.esm.js';
9
+ import {
10
+ createRmtComponentCapabilityRegistry
11
+ } from './rmt-component-capability-registry.js';
9
12
 
10
13
  const DEMO_DOCUMENT_URL = './xtendrmt/xtendrmt-bestcase-demo.rmt';
11
14
  const DEMO_CORE_DOCUMENT_URL = './xtendrmt/xtendrmt-bestcase-demo.core.json';
@@ -14,6 +17,8 @@ const ROUTE_COMPONENTS = Object.freeze({
14
17
  scheduler: 'x-rmt-route-scheduler',
15
18
  routing: 'x-rmt-route-routing',
16
19
  templating: 'x-rmt-route-template-pilot',
20
+ primitives: 'x-rmt-route-primitives',
21
+ media: 'x-rmt-route-media',
17
22
  adapter: 'x-rmt-route-adapter'
18
23
  });
19
24
 
@@ -22,6 +27,8 @@ const XTEND_COMPONENT_MANIFEST = Object.freeze({
22
27
  'x-rmt-route-scheduler': 'xtendrmt-bestcase-demo.js#x-rmt-route-scheduler',
23
28
  'x-rmt-route-routing': 'xtendrmt-bestcase-demo.js#x-rmt-route-routing',
24
29
  'x-rmt-route-template-pilot': 'xtendrmt-bestcase-demo.js#x-rmt-route-template-pilot',
30
+ 'x-rmt-route-primitives': 'xtendrmt-bestcase-demo.js#x-rmt-route-primitives',
31
+ 'x-rmt-route-media': 'xtendrmt-bestcase-demo.js#x-rmt-route-media',
25
32
  'x-rmt-route-adapter': 'xtendrmt-bestcase-demo.js#x-rmt-route-adapter',
26
33
  'x-header': '../components/xheader.js',
27
34
  'x-section': '../components/xsection.js',
@@ -32,13 +39,18 @@ const XTEND_COMPONENT_MANIFEST = Object.freeze({
32
39
  'x-button': '../components/xbutton.js',
33
40
  'x-alert': '../components/xalert.js',
34
41
  'x-code': '../components/xcode.js',
42
+ 'x-player': '../components/xplayer.js',
43
+ 'x-popover': '../components/xpopover.js',
44
+ 'x-progress': '../components/xprogress.js',
45
+ 'x-status': '../components/xstatus.js',
46
+ 'x-toast': '../components/xtoast.js',
35
47
  'x-modal': '../components/xmodal.js',
36
48
  'x-router': '../components/xrouter.js',
37
49
  'x-route': '../components/xrouter.js',
38
50
  'x-footer': '../components/xfooter.js'
39
51
  });
40
52
 
41
- const DEMO_ROUTE_ORDER = Object.freeze(['kernel', 'scheduler', 'routing', 'templating', 'adapter']);
53
+ const DEMO_ROUTE_ORDER = Object.freeze(['kernel', 'scheduler', 'routing', 'templating', 'primitives', 'media', 'adapter']);
42
54
  const DEMO_ROUTE_CONFIG = Object.freeze({
43
55
  kernel: Object.freeze({
44
56
  path: '/',
@@ -80,6 +92,26 @@ const DEMO_ROUTE_CONFIG = Object.freeze({
80
92
  metaDescription: 'Pilot-Flow fuer RMT-vNext-basiertes XTend-Templating mit Component Attachment.'
81
93
  })
82
94
  }),
95
+ primitives: Object.freeze({
96
+ path: '/primitives',
97
+ title: 'RMT Component Primitives',
98
+ component: ROUTE_COMPONENTS.primitives,
99
+ template: 'demo.primitives',
100
+ schedule: 'component.primitive.matrix',
101
+ metadata: Object.freeze({
102
+ metaDescription: 'Component Capability Registry, Manifest-Matrix, keyed DOM Descriptor und RMT Primitive Coverage.'
103
+ })
104
+ }),
105
+ media: Object.freeze({
106
+ path: '/media',
107
+ title: 'RMT Player and Media Contract',
108
+ component: ROUTE_COMPONENTS.media,
109
+ template: 'demo.media',
110
+ schedule: 'media.visible.contract',
111
+ metadata: Object.freeze({
112
+ metaDescription: 'x-player Contract, State Bridge, Parts, Theme Tokens und Resource Ownership fuer RMT.'
113
+ })
114
+ }),
83
115
  adapter: Object.freeze({
84
116
  path: '/adapter',
85
117
  title: 'XTend Product Adapter',
@@ -126,6 +158,8 @@ const DEMO_ADAPTERS = Object.freeze([
126
158
  'slots',
127
159
  'events',
128
160
  'hydration',
161
+ 'componentCapabilityRegistry',
162
+ 'lazyComponentImport',
129
163
  'diagnostics',
130
164
  'scheduleRefs'
131
165
  ]),
@@ -182,7 +216,11 @@ const DEMO_STATIC_COMPONENTS = Object.freeze([
182
216
  Object.freeze({ id: 'kernel.cards', tag: 'x-cards', schedule: 'component.visible.mount' }),
183
217
  Object.freeze({ id: 'code.snapshot', tag: 'x-code', schedule: 'component.idle.hydrate' }),
184
218
  Object.freeze({ id: 'feedback.status', tag: 'x-alert', schedule: 'component.visible.mount' }),
185
- Object.freeze({ id: 'pilot.shell', tag: 'x-section', schedule: 'component.visible.mount' })
219
+ Object.freeze({ id: 'pilot.shell', tag: 'x-section', schedule: 'component.visible.mount' }),
220
+ Object.freeze({ id: 'primitive.matrix', tag: 'x-status', schedule: 'component.primitive.matrix' }),
221
+ Object.freeze({ id: 'primitive.progress', tag: 'x-progress', schedule: 'component.primitive.matrix' }),
222
+ Object.freeze({ id: 'media.player', tag: 'x-player', schedule: 'media.visible.contract' }),
223
+ Object.freeze({ id: 'media.toast', tag: 'x-toast', schedule: 'diagnostics.snapshot' })
186
224
  ]);
187
225
 
188
226
  const DEMO_SCHEDULES = Object.freeze([
@@ -230,6 +268,28 @@ const DEMO_SCHEDULES = Object.freeze([
230
268
  coalesceKey: 'component.hydrate',
231
269
  budgetClass: 'background'
232
270
  }),
271
+ Object.freeze({
272
+ id: 'component.primitive.matrix',
273
+ endpointName: 'xtendrmt.component-capability.matrix',
274
+ scope: 'xtendrmt.component.capabilities',
275
+ lane: 'visible',
276
+ priority: 92,
277
+ preferIdle: false,
278
+ deadlineMs: 180,
279
+ coalesceKey: 'component.capability.matrix',
280
+ budgetClass: 'interactive'
281
+ }),
282
+ Object.freeze({
283
+ id: 'media.visible.contract',
284
+ endpointName: 'xtendrmt.player.contract',
285
+ scope: 'xtendrmt.media.player',
286
+ lane: 'visible',
287
+ priority: 84,
288
+ preferIdle: false,
289
+ deadlineMs: 180,
290
+ coalesceKey: 'media.player.contract',
291
+ budgetClass: 'media-interactive'
292
+ }),
233
293
  Object.freeze({
234
294
  id: 'diagnostics.snapshot',
235
295
  endpointName: 'xtendrmt.diagnostics.snapshot',
@@ -259,8 +319,14 @@ const state = {
259
319
  routes: [],
260
320
  schedules: [],
261
321
  pilotFlow: null,
262
- nativeDemoMigration: null
322
+ nativeDemoMigration: null,
323
+ componentPrimitives: null,
324
+ playerContract: null,
325
+ surfaceResourceLifecycle: null
263
326
  },
327
+ componentCapabilityRegistry: null,
328
+ componentCapabilityMatrix: null,
329
+ playerSnapshot: null,
264
330
  runtime: null,
265
331
  stateBridge: null,
266
332
  adapters: {
@@ -381,6 +447,40 @@ function createDemoMetadata(vnextCore = {}) {
381
447
  },
382
448
  kernelVisible: false
383
449
  },
450
+ componentPrimitives: {
451
+ schema: 'xtend.rmt.component-capability-registry.v1',
452
+ status: 'runtime-projection-active',
453
+ registry: './rmt-component-capability-registry.js',
454
+ manifest: './components/manifest.json',
455
+ coverageTarget: 'all-public-xtend-components',
456
+ publicManifestCount: 44,
457
+ publicUiCount: 40,
458
+ nonVisualCount: 4,
459
+ families: ['form', 'navigation', 'overlay-surface', 'media-feedback-layout', 'theme-layout'],
460
+ rendererMode: 'generic-dom-descriptor-with-keyed-reuse',
461
+ importPolicy: 'explicit-importer-only',
462
+ kernelBoundary: 'no-rmt-kernel-import-of-xtend-types',
463
+ noShadowRootPatching: true,
464
+ noHtmlSinkForRmtAppUi: true
465
+ },
466
+ playerContract: {
467
+ schema: 'xtend.mm-rmt.player-contract.v1',
468
+ tag: 'x-player',
469
+ commands: ['play-media', 'pause-media', 'set-source', 'set-state', 'apply-theme'],
470
+ events: ['xplayer-play', 'xplayer-pause', 'xplayer-state'],
471
+ stateBridge: 'xstate-host-bridge',
472
+ themeTokens: ['--x-player-primary', '--x-player-accent', '--x-player-background', '--x-player-radius'],
473
+ parts: ['root', 'media', 'title', 'overlay', 'controls', 'progress'],
474
+ kernelBoundary: 'no-product-shadowRoot-patching'
475
+ },
476
+ surfaceResourceLifecycle: {
477
+ schema: 'xtend.rmt.surface-resource-lifecycle.v1',
478
+ portals: ['bestcase.surface.root', 'bestcase.overlay.root'],
479
+ overlays: ['bestcase.toast'],
480
+ resources: ['bestcase.capabilityRegistry', 'bestcase.playerObjectUrl', 'bestcase.runtimeSubscription'],
481
+ cleanupPolicy: 'close-and-dispose-on-owner-destroy',
482
+ sourceToSeaCoverage: true
483
+ },
384
484
  scaffoldCompatibility: {
385
485
  schema: 'xtend.scaffold.rmt-compatibility-binding.v1',
386
486
  status: 'demo-reference-only',
@@ -425,12 +525,14 @@ function createDemoMetadata(vnextCore = {}) {
425
525
  sourceSyntax: 'rmt-vnext',
426
526
  routesSource: 'vnext.surfaces',
427
527
  componentsSource: 'vnext.operations',
528
+ primitivesSource: 'vnext.states-selectors-actions-portals-resources',
428
529
  adaptersSource: 'runtimeProjection.adapters',
429
530
  schedulesSource: 'vnext.lanes',
430
531
  productiveAdapters: [
431
532
  'createRmtXRouterAdapter',
432
533
  'createRmtXtendComponentAdapter',
433
- 'createRmtStateSchedulerDiagnosticsBridge'
534
+ 'createRmtStateSchedulerDiagnosticsBridge',
535
+ 'createRmtComponentCapabilityRegistry'
434
536
  ],
435
537
  kernelVisible: false
436
538
  }
@@ -560,6 +662,50 @@ function createRuntimeTemplates() {
560
662
  }
561
663
  }
562
664
  },
665
+ {
666
+ id: 'demo.primitives',
667
+ mode: 'dom_descriptor',
668
+ markup: '<x-section layout="column" label="RMT Component Primitives"></x-section>',
669
+ metadata: {
670
+ route: 'primitives',
671
+ adapter: 'xtend.component',
672
+ authoring: createTemplateAuthoring('demo.primitives', ['primitive.matrix', 'primitive.progress'], {
673
+ componentCapabilityRegistry: 'xtend.rmt.component-capability-registry.v1',
674
+ rendererMode: 'generic-dom-descriptor-with-keyed-reuse',
675
+ importPolicy: 'explicit-importer-only'
676
+ })
677
+ },
678
+ hydration: {
679
+ mode: 'runtime_render',
680
+ ownershipMode: 'managed_subtree',
681
+ preferInsularHydration: true,
682
+ metadata: {
683
+ endpointHint: 'xtendrmt.component-capability.matrix'
684
+ }
685
+ }
686
+ },
687
+ {
688
+ id: 'demo.media',
689
+ mode: 'dom_descriptor',
690
+ markup: '<x-section layout="column" label="RMT Player Contract"></x-section>',
691
+ metadata: {
692
+ route: 'media',
693
+ adapter: 'xtend.component',
694
+ authoring: createTemplateAuthoring('demo.media', ['media.player', 'media.toast'], {
695
+ playerContract: 'xtend.mm-rmt.player-contract.v1',
696
+ componentRef: 'x-player',
697
+ resourceOwnership: 'object-url-disposed-on-surface-destroy'
698
+ })
699
+ },
700
+ hydration: {
701
+ mode: 'runtime_render',
702
+ ownershipMode: 'managed_subtree',
703
+ preferInsularHydration: true,
704
+ metadata: {
705
+ endpointHint: 'xtendrmt.player.contract'
706
+ }
707
+ }
708
+ },
563
709
  {
564
710
  id: 'demo.adapter',
565
711
  mode: 'html_fragment',
@@ -643,7 +789,7 @@ function createComponentsFromVNextCore(vnextCore = {}) {
643
789
  adapter: 'xtend.component',
644
790
  kind: 'custom_element',
645
791
  tag: id,
646
- schedule: routeId === 'adapter' ? 'component.idle.hydrate' : 'component.visible.mount',
792
+ schedule: config.schedule || (routeId === 'adapter' ? 'component.idle.hydrate' : 'component.visible.mount'),
647
793
  metadata: {
648
794
  routeComponent: true,
649
795
  template: config.template,
@@ -765,6 +911,92 @@ function getRmtFormat() {
765
911
  return state.rmtFormat;
766
912
  }
767
913
 
914
+ async function loadComponentCapabilityMatrix() {
915
+ if (state.componentCapabilityMatrix) {
916
+ return state.componentCapabilityMatrix;
917
+ }
918
+
919
+ try {
920
+ const manifestResponse = await fetch('./components/manifest.json', { cache: 'no-store' });
921
+ if (!manifestResponse.ok) {
922
+ throw new Error(`component manifest failed to load: ${manifestResponse.status}`);
923
+ }
924
+ const manifest = await manifestResponse.json();
925
+ const entries = Object.entries(manifest);
926
+ const sourcePairs = await Promise.all(entries.map(async ([tag, modulePath]) => {
927
+ const componentPath = `./components/${String(modulePath).replace(/^\.\//u, '')}`;
928
+ try {
929
+ const response = await fetch(componentPath, { cache: 'no-store' });
930
+ return [tag, response.ok ? await response.text() : ''];
931
+ } catch (_error) {
932
+ return [tag, ''];
933
+ }
934
+ }));
935
+ const sourceTexts = Object.fromEntries(sourcePairs);
936
+ const registry = createRmtComponentCapabilityRegistry({
937
+ manifest,
938
+ sourceTexts,
939
+ customElements
940
+ });
941
+ state.componentCapabilityRegistry = registry;
942
+ state.componentCapabilityMatrix = registry.createMatrixReport();
943
+ } catch (error) {
944
+ state.componentCapabilityMatrix = {
945
+ schema: 'xtend.rmt.component-capability-registry-report.v1',
946
+ ok: false,
947
+ status: 'failed',
948
+ reason: error && error.message ? error.message : String(error),
949
+ manifestCount: 0,
950
+ publicComponentCount: 0,
951
+ diagnostics: []
952
+ };
953
+ }
954
+
955
+ return state.componentCapabilityMatrix;
956
+ }
957
+
958
+ function readComponentCapabilitySnapshot() {
959
+ const matrix = state.componentCapabilityMatrix || {};
960
+ return {
961
+ schema: matrix.schema || 'xtend.rmt.component-capability-registry-report.v1',
962
+ status: matrix.status || (matrix.ok ? 'passed' : 'pending'),
963
+ ok: matrix.ok === true,
964
+ manifestCount: matrix.manifestCount || 0,
965
+ publicComponentCount: matrix.publicComponentCount || 0,
966
+ nonVisualCount: matrix.nonVisualCount || 0,
967
+ withRmtMetadata: matrix.withRmtMetadata || 0,
968
+ withComponentContract: matrix.withComponentContract || 0,
969
+ browserSmokeFamilies: matrix.browserSmokeFamilies || [],
970
+ familyCounts: matrix.familyCounts || {},
971
+ sourceToSeaRisk: 'browser-smoke-representative',
972
+ kernelBoundary: matrix.kernelBoundary || 'no-rmt-kernel-import-of-xtend-types',
973
+ diagnostics: Array.isArray(matrix.diagnostics) ? matrix.diagnostics.slice(0, 5) : []
974
+ };
975
+ }
976
+
977
+ function readPlayerContractSnapshot() {
978
+ const playerClass = customElements.get('x-player');
979
+ const contract = playerClass && playerClass.xtendRmtPlayerContract
980
+ ? cloneSerializable(playerClass.xtendRmtPlayerContract, {})
981
+ : {
982
+ schema: 'xtend.mm-rmt.player-contract.v1',
983
+ tag: 'x-player',
984
+ commands: ['play-media', 'pause-media', 'set-source', 'set-state', 'apply-theme'],
985
+ events: ['xplayer-play', 'xplayer-pause', 'xplayer-state'],
986
+ stateBridge: 'xstate-host-bridge'
987
+ };
988
+ return {
989
+ ...contract,
990
+ state: state.playerSnapshot || {
991
+ mediaId: 'intro',
992
+ status: 'paused',
993
+ title: 'XTendRMT Runtime Walkthrough'
994
+ },
995
+ resourceOwnership: 'object-url-disposed-on-surface-destroy',
996
+ kernelBoundary: contract.kernelBoundary || 'no-product-shadowRoot-patching'
997
+ };
998
+ }
999
+
768
1000
  function recordAdapterResult(result, options = {}) {
769
1001
  if (!result || typeof result !== 'object') return null;
770
1002
  state.adapterResults.push(result);
@@ -896,6 +1128,8 @@ function readSchedulerSnapshot() {
896
1128
  function syncState() {
897
1129
  const snapshot = readSchedulerSnapshot();
898
1130
  const pilotSnapshot = readPilotFlowSnapshot();
1131
+ const componentSnapshot = readComponentCapabilitySnapshot();
1132
+ const playerSnapshot = readPlayerContractSnapshot();
899
1133
  const routeSnapshot = {
900
1134
  path: state.activeRoute,
901
1135
  component: state.activeComponent,
@@ -913,6 +1147,8 @@ function syncState() {
913
1147
  });
914
1148
  xstate.set('xtend.rmt.router.current', routeSnapshot);
915
1149
  xstate.set('xtend.rmt.templating.pilot', pilotSnapshot);
1150
+ xstate.set('xtend.rmt.component.capabilities', componentSnapshot);
1151
+ xstate.set('xtend.rmt.player.contract', playerSnapshot);
916
1152
  xstate.set('xtend.rmt.scheduler.snapshot', snapshot);
917
1153
  xstate.set('xtend.rmt.scheduler.jobs', state.jobs.slice(-12));
918
1154
  }
@@ -945,6 +1181,8 @@ function renderTimeline() {
945
1181
  function refreshDemoUi() {
946
1182
  const snapshot = readSchedulerSnapshot();
947
1183
  const pilotSnapshot = readPilotFlowSnapshot();
1184
+ const componentSnapshot = readComponentCapabilitySnapshot();
1185
+ const playerSnapshot = readPlayerContractSnapshot();
948
1186
  const pilotTemplate = findTemplate(pilotSnapshot.templateRef) || {};
949
1187
  const templateCount = state.document && Array.isArray(state.document.templates)
950
1188
  ? state.document.templates.length
@@ -958,6 +1196,13 @@ function refreshDemoUi() {
958
1196
  setText('metric-pressure', snapshot.pressureLevel);
959
1197
  setText('metric-active-route', state.activeRoute);
960
1198
  setText('metric-active-schedule', state.activeSchedule);
1199
+ setText('metric-states', state.vnextCore && Array.isArray(state.vnextCore.states) ? state.vnextCore.states.length : 0);
1200
+ setText('metric-actions', state.vnextCore && Array.isArray(state.vnextCore.actions) ? state.vnextCore.actions.length : 0);
1201
+ setText('metric-resources', state.vnextCore && Array.isArray(state.vnextCore.resources) ? state.vnextCore.resources.length : 0);
1202
+ setText('metric-remote-surfaces', state.vnextCore && Array.isArray(state.vnextCore.remoteSurfaces) ? state.vnextCore.remoteSurfaces.length : 0);
1203
+ setText('metric-public-components', componentSnapshot.publicComponentCount);
1204
+ setText('metric-rmt-metadata', componentSnapshot.withRmtMetadata);
1205
+ setText('metric-player-state', playerSnapshot.state && playerSnapshot.state.status ? playerSnapshot.state.status : 'paused');
961
1206
 
962
1207
  renderTimeline();
963
1208
  setXCode('demo-runtime-snapshot', snapshot);
@@ -989,7 +1234,8 @@ function refreshDemoUi() {
989
1234
  productiveAdapterFactories: [
990
1235
  'createRmtXRouterAdapter',
991
1236
  'createRmtXtendComponentAdapter',
992
- 'createRmtStateSchedulerDiagnosticsBridge'
1237
+ 'createRmtStateSchedulerDiagnosticsBridge',
1238
+ 'createRmtComponentCapabilityRegistry'
993
1239
  ],
994
1240
  routeMapping: state.mappings.routes
995
1241
  ? {
@@ -1028,7 +1274,14 @@ function refreshDemoUi() {
1028
1274
  operations: state.vnextCore.operations.length,
1029
1275
  slots: state.vnextCore.slots.length,
1030
1276
  events: state.vnextCore.events.length,
1031
- dataSources: state.vnextCore.dataSources.length
1277
+ dataSources: state.vnextCore.dataSources.length,
1278
+ states: state.vnextCore.states.length,
1279
+ selectors: state.vnextCore.selectors.length,
1280
+ actions: state.vnextCore.actions.length,
1281
+ portals: state.vnextCore.portals.length,
1282
+ overlays: state.vnextCore.overlays.length,
1283
+ resources: state.vnextCore.resources.length,
1284
+ remoteSurfaces: state.vnextCore.remoteSurfaces.length
1032
1285
  }
1033
1286
  : null,
1034
1287
  runtimeProjectionDomains: ['adapters', 'components', 'routes', 'schedules'],
@@ -1056,6 +1309,27 @@ function refreshDemoUi() {
1056
1309
  ? pilotTemplate.metadata.authoring
1057
1310
  : {}
1058
1311
  });
1312
+ setXCode('demo-primitive-matrix', componentSnapshot);
1313
+ setXCode('demo-vnext-primitives', state.vnextCore
1314
+ ? {
1315
+ states: state.vnextCore.states.map((entry) => entry.id),
1316
+ selectors: state.vnextCore.selectors.map((entry) => entry.id),
1317
+ actions: state.vnextCore.actions.map((entry) => entry.id),
1318
+ portals: state.vnextCore.portals.map((entry) => entry.id),
1319
+ overlays: state.vnextCore.overlays.map((entry) => entry.id),
1320
+ resources: state.vnextCore.resources.map((entry) => ({
1321
+ id: entry.id,
1322
+ kind: entry.kind,
1323
+ owner: entry.owner
1324
+ })),
1325
+ remoteSurfaces: state.vnextCore.remoteSurfaces.map((entry) => ({
1326
+ id: entry.id,
1327
+ remote: entry.remote,
1328
+ fallbackSurface: entry.fallbackSurface
1329
+ }))
1330
+ }
1331
+ : {});
1332
+ setXCode('demo-player-contract', playerSnapshot);
1059
1333
 
1060
1334
  syncState();
1061
1335
  }
@@ -1196,11 +1470,43 @@ function runTemplatePilotCycle() {
1196
1470
  });
1197
1471
  }
1198
1472
 
1473
+ function runPrimitiveMatrixCycle() {
1474
+ return runScheduled('component.primitive.matrix', 'Refresh XTend component primitive matrix', async () => {
1475
+ const matrix = await loadComponentCapabilityMatrix();
1476
+ const snapshot = readComponentCapabilitySnapshot();
1477
+ xstate.set('xtend.rmt.component.capabilities', snapshot);
1478
+ setStatus(`RMT refreshed ${snapshot.publicComponentCount || matrix.publicComponentCount || 0} XTend component capabilities without kernel imports.`, snapshot.ok ? 'success' : 'warning');
1479
+ return snapshot;
1480
+ });
1481
+ }
1482
+
1483
+ function runPlayerContractCycle(status = 'playing') {
1484
+ return runScheduled('media.visible.contract', `Apply x-player ${status} contract`, async () => {
1485
+ state.playerSnapshot = {
1486
+ mediaId: 'intro',
1487
+ status,
1488
+ title: 'XTendRMT Runtime Walkthrough',
1489
+ updatedAt: new Date().toISOString()
1490
+ };
1491
+ const player = byId('bestcase-player');
1492
+ if (player) {
1493
+ player.setAttribute('title', state.playerSnapshot.title);
1494
+ player.dataset.rmtState = status;
1495
+ }
1496
+ const snapshot = readPlayerContractSnapshot();
1497
+ xstate.set('xtend.rmt.player.contract', snapshot);
1498
+ setStatus(`RMT applied x-player ${status} request through the public player contract.`, 'success');
1499
+ return snapshot;
1500
+ });
1501
+ }
1502
+
1199
1503
  async function runFullCycle() {
1200
1504
  const button = byId('demo-run-all');
1201
1505
  if (button) button.setAttribute('loading', '');
1202
1506
  await navigateWithRmt(state.activeRoute || '/');
1203
1507
  await runTemplatePilotCycle();
1508
+ await runPrimitiveMatrixCycle();
1509
+ await runPlayerContractCycle('playing');
1204
1510
  await runHydrationCycle();
1205
1511
  await runDiagnosticsCycle();
1206
1512
  if (button) button.removeAttribute('loading');
@@ -1223,6 +1529,9 @@ function bindRouteControls(root = document) {
1223
1529
  if (action === 'hydrate') runHydrationCycle();
1224
1530
  if (action === 'diagnostics') runDiagnosticsCycle();
1225
1531
  if (action === 'template-pilot') runTemplatePilotCycle();
1532
+ if (action === 'primitive-matrix') runPrimitiveMatrixCycle();
1533
+ if (action === 'player-play') runPlayerContractCycle('playing');
1534
+ if (action === 'player-pause') runPlayerContractCycle('paused');
1226
1535
  if (action === 'route') navigateWithRmt(state.activeRoute || '/');
1227
1536
  });
1228
1537
  });
@@ -1353,6 +1662,8 @@ function defineDemoRouteComponents() {
1353
1662
  <x-button data-demo-route="/scheduler" variant="secondary">Scheduler</x-button>
1354
1663
  <x-button data-demo-route="/routing" variant="primary">Routing DSL</x-button>
1355
1664
  <x-button data-demo-route="/templating" variant="secondary">Templating Pilot</x-button>
1665
+ <x-button data-demo-route="/primitives" variant="secondary">Primitives</x-button>
1666
+ <x-button data-demo-route="/media" variant="secondary">Media</x-button>
1356
1667
  <x-button data-demo-route="/adapter" variant="secondary">Adapter</x-button>
1357
1668
  </div>
1358
1669
  </div>
@@ -1420,6 +1731,99 @@ function defineDemoRouteComponents() {
1420
1731
  });
1421
1732
  }
1422
1733
 
1734
+ if (!customElements.get(ROUTE_COMPONENTS.primitives)) {
1735
+ customElements.define(ROUTE_COMPONENTS.primitives, class XRmtRoutePrimitives extends HTMLElement {
1736
+ connectedCallback() {
1737
+ this.innerHTML = `
1738
+ <x-section layout="column" label="RMT Component Primitives">
1739
+ <div slot="header">
1740
+ <h2>Manifest-wide XTend component compatibility from RMT.</h2>
1741
+ <p class="muted">This route uses the Component Capability Registry to read XTend component contracts, RMT metadata, events, slots, parts and source-to-sea risk without importing XTend types into the RMT kernel.</p>
1742
+ <div class="demo-actions">
1743
+ <x-button data-demo-run="primitive-matrix" data-demo-route="/primitives" variant="primary">Refresh matrix</x-button>
1744
+ <x-button data-demo-route="/media" variant="secondary">Open player contract</x-button>
1745
+ </div>
1746
+ </div>
1747
+ <x-cards columns="4" gap="1rem">
1748
+ <x-card>
1749
+ <h3>Public UI</h3>
1750
+ <span id="metric-public-components" class="metric">0</span>
1751
+ <span class="metric-label">Renderable XTend manifest components</span>
1752
+ </x-card>
1753
+ <x-card>
1754
+ <h3>RMT Metadata</h3>
1755
+ <span id="metric-rmt-metadata" class="metric">0</span>
1756
+ <span class="metric-label">Component entries with RMT compatibility metadata</span>
1757
+ </x-card>
1758
+ <x-card>
1759
+ <h3>State</h3>
1760
+ <span id="metric-states" class="metric">0</span>
1761
+ <span class="metric-label">vNext state declarations in this demo source</span>
1762
+ </x-card>
1763
+ <x-card>
1764
+ <h3>Actions</h3>
1765
+ <span id="metric-actions" class="metric">0</span>
1766
+ <span class="metric-label">Declarative event/action records</span>
1767
+ </x-card>
1768
+ </x-cards>
1769
+ <x-status id="primitive-status" label="Component primitive matrix" state="ready"></x-status>
1770
+ <x-progress value="90" max="100" label="RMT primitive coverage"></x-progress>
1771
+ <x-code id="demo-primitive-matrix" lang="json"><template>{}</template></x-code>
1772
+ <x-code id="demo-vnext-primitives" lang="json"><template>{}</template></x-code>
1773
+ </x-section>
1774
+ `;
1775
+ bindRouteControls(this);
1776
+ refreshDemoUi();
1777
+ }
1778
+ });
1779
+ }
1780
+
1781
+ if (!customElements.get(ROUTE_COMPONENTS.media)) {
1782
+ customElements.define(ROUTE_COMPONENTS.media, class XRmtRouteMedia extends HTMLElement {
1783
+ connectedCallback() {
1784
+ this.innerHTML = `
1785
+ <x-section layout="column" label="RMT Player Contract">
1786
+ <div slot="header">
1787
+ <h2>x-player is driven through a public RMT contract.</h2>
1788
+ <p class="muted">The demo records play/pause requests, state bridge output, theme tokens, CSS parts and object-URL ownership without product code touching <code>shadowRoot</code>.</p>
1789
+ <div class="demo-actions">
1790
+ <x-button data-demo-run="player-play" variant="primary">Play request</x-button>
1791
+ <x-button data-demo-run="player-pause" variant="secondary">Pause request</x-button>
1792
+ <x-button data-demo-route="/primitives" variant="secondary">Component matrix</x-button>
1793
+ </div>
1794
+ </div>
1795
+ <x-cards columns="4" gap="1rem">
1796
+ <x-card>
1797
+ <h3>Player State</h3>
1798
+ <span id="metric-player-state" class="metric">paused</span>
1799
+ <span class="metric-label">Mirrored through xstate host bridge</span>
1800
+ </x-card>
1801
+ <x-card>
1802
+ <h3>Resources</h3>
1803
+ <span id="metric-resources" class="metric">0</span>
1804
+ <span class="metric-label">Owner-scoped resources with destroy cleanup</span>
1805
+ </x-card>
1806
+ <x-card>
1807
+ <h3>Remote</h3>
1808
+ <span id="metric-remote-surfaces" class="metric">0</span>
1809
+ <span class="metric-label">Declarative remote surface contracts</span>
1810
+ </x-card>
1811
+ <x-card>
1812
+ <h3>Boundary</h3>
1813
+ <span class="metric">API</span>
1814
+ <span class="metric-label">No product shadowRoot patching</span>
1815
+ </x-card>
1816
+ </x-cards>
1817
+ <x-player id="bestcase-player" title="XTendRMT Runtime Walkthrough" height="260"></x-player>
1818
+ <x-code id="demo-player-contract" lang="json"><template>{}</template></x-code>
1819
+ </x-section>
1820
+ `;
1821
+ bindRouteControls(this);
1822
+ refreshDemoUi();
1823
+ }
1824
+ });
1825
+ }
1826
+
1423
1827
  if (!customElements.get(ROUTE_COMPONENTS.adapter)) {
1424
1828
  customElements.define(ROUTE_COMPONENTS.adapter, class XRmtRouteAdapter extends HTMLElement {
1425
1829
  connectedCallback() {
@@ -1468,6 +1872,10 @@ async function waitForXtendElements() {
1468
1872
  'x-button',
1469
1873
  'x-alert',
1470
1874
  'x-code',
1875
+ 'x-player',
1876
+ 'x-progress',
1877
+ 'x-status',
1878
+ 'x-toast',
1471
1879
  'x-modal',
1472
1880
  'x-router',
1473
1881
  'x-route',
@@ -1643,7 +2051,10 @@ async function loadDemoDocument() {
1643
2051
  routes: Array.isArray(normalizedDocument.routes) ? normalizedDocument.routes : [],
1644
2052
  schedules: Array.isArray(normalizedDocument.schedules) ? normalizedDocument.schedules : [],
1645
2053
  pilotFlow: metadata.pilotFlow || null,
1646
- nativeDemoMigration: metadata.nativeDemoMigration || null
2054
+ nativeDemoMigration: metadata.nativeDemoMigration || null,
2055
+ componentPrimitives: metadata.componentPrimitives || null,
2056
+ playerContract: metadata.playerContract || null,
2057
+ surfaceResourceLifecycle: metadata.surfaceResourceLifecycle || null
1647
2058
  };
1648
2059
  return normalizedDocument;
1649
2060
  }
@@ -1653,6 +2064,7 @@ async function initDemo() {
1653
2064
  ensureXTendNamespace();
1654
2065
  defineDemoRouteComponents();
1655
2066
  await waitForXtendElements();
2067
+ await loadComponentCapabilityMatrix();
1656
2068
 
1657
2069
  state.runtime = createRmtRuntime({
1658
2070
  windowTarget: window,
@@ -1709,7 +2121,11 @@ const demoApi = {
1709
2121
  runHydrationCycle,
1710
2122
  runDiagnosticsCycle,
1711
2123
  runTemplatePilotCycle,
2124
+ runPrimitiveMatrixCycle,
2125
+ runPlayerContractCycle,
1712
2126
  readPilotFlowSnapshot,
2127
+ readComponentCapabilitySnapshot,
2128
+ readPlayerContractSnapshot,
1713
2129
  snapshot: readSchedulerSnapshot
1714
2130
  };
1715
2131