@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,129 @@
1
+ # Enterprise Component Flex Release Handoff
2
+
3
+ - Contract: `xtend.enterprise.component-flex-release-handoff.v1`
4
+ - Workpackage: `ECH-WP-12`
5
+ - Status: `accepted-enterprise-design-system-ready-handoff`
6
+ - Target: `enterprise-design-system-ready-release-candidate`
7
+ - Current Version: `0.1.0-rc.1`
8
+ - Proposed Version: `0.1.0-enterprise-design-system-rc.1`
9
+ - Publish Boundary: `private-until-release-owner-acceptance`
10
+ - Local Gate: `node scripts/run_xtend_tests.js enterprise-component-flex-release-handoff --json`
11
+ - Package Script: `npm run test:enterprise-component-flex-release-handoff`
12
+
13
+ ## Purpose
14
+
15
+ This handoff closes the Enterprise Component flexibility and theme-hardening wave. It evaluates the SemVer impact of the new attributes, tokens, parts and docs surfaces, documents deprecated aliases, describes the migration for existing apps and names the remaining adoption risks before release-owner review.
16
+
17
+ The package is release-ready, but it is not published automatically. `package.json` has already been set to `private: false` for RC1 publish prep; publishing still requires the manual release-owner command and, if needed, conditional network evidence.
18
+
19
+ ## SemVer Assessment
20
+
21
+ The hardening wave is classified as `minor-pre-1.0-additive-public-api-hardening`.
22
+
23
+ | Area | Classification | Default compatible | Migration required | Note |
24
+ |------|----------------|--------------------|--------------------|------|
25
+ | `x-header-menu-presentation-modes` | `minor-additive-public-api` | yes | no | `menu-mode`, placement, modality and sizing are additive; the default remains `drawer`. |
26
+ | `xtheme-token-alias-layer` | `minor-additive-token-api` | yes | no | Normalized `--xtend-*` aliases are added while legacy names remain bridged. |
27
+ | `icon-control-hardening` | `patch-compatible-a11y-hardening` | yes | no | Visible text glyphs were replaced by real icon controls without breaking host command intent. |
28
+ | `overlay-layout-form-navigation-parts` | `minor-additive-css-parts-and-tokens` | yes | no | New parts and component tokens extend skinning surfaces without removing documented defaults. |
29
+ | `visual-dom-snapshot-matrix` | `test-artifact-only` | yes | no | DOM baselines and Visual Quality Reports are local gates, not runtime-breaking changes. |
30
+ | `third-party-authoring-guide` | `docs-only-adoption-handoff` | yes | no | Corporate Design Authoring is documented as a supported override path. |
31
+
32
+ SemVer decision:
33
+
34
+ - Existing defaults remain compatible.
35
+ - New modes are additive features.
36
+ - Breaking changes: none.
37
+ - Public surface changes are intentional and documented: attributes, tokens, CSS parts, slots, XTheme bridges and docs gates.
38
+ - Proposed version: `0.1.0-enterprise-design-system-rc.1`.
39
+
40
+ ## Deprecated Aliases
41
+
42
+ Deprecated aliases remain bridged for existing apps. Removal or renaming is only allowed in a future major or in an explicit migration window.
43
+
44
+ | Type | Deprecated | Replacement | Removal |
45
+ |------|------------|-------------|---------|
46
+ | CSS Token | `--xtend-glass-bg` | `--xtend-surface-overlay` | `not-before-next-major-or-explicit-migration-window` |
47
+ | CSS Token | `--xtend-shadow` | `--xtend-elevation-2` | `not-before-next-major-or-explicit-migration-window` |
48
+ | CSS Token | `--xtend-radius` | `--xtend-radius-md` | `not-before-next-major-or-explicit-migration-window` |
49
+ | CSS Token | `--xtend-font-family` | `--xtend-font-family-body` | `not-before-next-major-or-explicit-migration-window` |
50
+ | CSS Token | `--xtend-overlay-bg` | `--xtend-surface-overlay` | `not-before-next-major-or-explicit-migration-window` |
51
+ | CSS Token | `--xtend-border-color` | `--xtend-border-subtle` | `not-before-next-major-or-explicit-migration-window` |
52
+ | CSS Token | `--header-bg` | `--xtend-header-surface` | `not-before-next-major-or-explicit-migration-window` |
53
+ | CSS Token | `--header-fg` | `--xtend-header-text` | `not-before-next-major-or-explicit-migration-window` |
54
+ | CSS Token | `--drawer-bg` | `--xtend-drawer-surface` | `not-before-next-major-or-explicit-migration-window` |
55
+ | CSS Token | `--drawer-color` | `--xtend-drawer-text` | `not-before-next-major-or-explicit-migration-window` |
56
+ | CSS Token | `--button-text-color` | `--xtend-button-text` | `not-before-next-major-or-explicit-migration-window` |
57
+ | CSS Part | `drawer` | `menu` | `not-before-next-major-or-explicit-migration-window` |
58
+ | CSS Part | `drawer-surface` | `menu-surface` | `not-before-next-major-or-explicit-migration-window` |
59
+ | Slot | `utility` | `actions` | `not-before-next-major-or-explicit-migration-window` |
60
+ | Density | `spacious` | `comfortable` | `normalized-at-runtime` |
61
+
62
+ ## Migration Notes
63
+
64
+ | ID | Owner | Action | Risk |
65
+ |----|-------|--------|------|
66
+ | `adopt-token-alias-layer` | Design System | Map corporate tokens to `--xtend-*` aliases before overriding component internals. | Legacy token overrides can drift away from XTheme and Forced Colors. |
67
+ | `replace-glyph-controls-with-icons` | Component Authors | Use `x-icon`, inline SVG or registered icon packs for close, menu, disclosure and status controls. | Text-glyph controls are no longer accepted in enterprise-ready components. |
68
+ | `choose-xheader-menu-mode` | App Shell | Keep the default `drawer` or explicitly choose `side-panel`, `popover`, `fullscreen` or `inline-main`. | Custom CSS that assumes a hard-wired full-width drawer must move to tokens and parts. |
69
+ | `map-overlay-form-nav-parts` | Component Authors | Use `surface`, `backdrop`, `close`, `content`, `control`, `label`, `icon` and `nav` parts for skinning. | Shadow DOM deep selectors remain unsupported and can break on updates. |
70
+ | `run-visual-dom-matrix` | Quality | Run the WP-10 DOM Snapshot Matrix for header modes, themes, densities, motion and typography. | Corporate themes can pass static token checks and still lose contrast, focus or layout. |
71
+ | `publish-third-party-guide` | Docs | Use the WP-11 Authoring Guide as the standard onboarding path for external design systems. | Teams may otherwise fork components instead of using XTheme, XTend.css, parts, slots and icon packs. |
72
+ | `keep-release-owner-boundary` | Release Owner | Keep publishing blocked until owner review gates, migration notes and optional artifacts are accepted. | This handoff makes the wave release-ready, not automatically published. |
73
+
74
+ ## Release Checklist
75
+
76
+ - `package-private`
77
+ - `all-ech-gates-green`
78
+ - `semver-classification-recorded`
79
+ - `deprecated-aliases-documented`
80
+ - `migration-notes-complete`
81
+ - `third-party-authoring-guide-linked`
82
+ - `visual-dom-matrix-clean`
83
+ - `references-clean`
84
+ - `release-owner-review-required`
85
+ - `conditional-network-evidence-if-publish`
86
+
87
+ ## Adoption Risks
88
+
89
+ | ID | Severity | Mitigation |
90
+ |----|----------|------------|
91
+ | `shadow-dom-deep-selector-risk` | medium | Use CSS parts and custom properties instead of private Shadow DOM selectors. |
92
+ | `legacy-token-drift-risk` | medium | Map legacy tokens to normalized aliases and keep XTheme plus XTend.css synchronized. |
93
+ | `forced-colors-brand-risk` | high | Run forced-colors paths with `Canvas`, `CanvasText`, `Highlight` and `HighlightText`. |
94
+ | `visual-signature-generic-risk` | medium | Run Signature UI and Visual DOM Matrix gates when corporate palettes are applied. |
95
+ | `publish-boundary-risk` | high | Keep the private package boundary until release-owner acceptance. |
96
+
97
+ ## Gate Matrix
98
+
99
+ Source gates:
100
+
101
+ ```bash
102
+ node scripts/run_xtend_tests.js signature-ui-visual-quality --json
103
+ node scripts/run_xtend_tests.js enterprise-component-flex-hardening-contract --json
104
+ node scripts/run_xtend_tests.js enterprise-component-style-audit --json
105
+ node scripts/run_xtend_tests.js xtheme-token-alias-layer --json
106
+ node scripts/run_xtend_tests.js enterprise-icon-control-audit --json
107
+ node scripts/run_xtend_tests.js xheader-menu-modes --json
108
+ node scripts/run_xtend_tests.js enterprise-overlay-mode-token-parity --json
109
+ node scripts/run_xtend_tests.js enterprise-layout-display-media-tokenization --json
110
+ node scripts/run_xtend_tests.js enterprise-form-control-theme-a11y --json
111
+ node scripts/run_xtend_tests.js enterprise-navigation-routing-state-hardening --json
112
+ node scripts/run_xtend_tests.js enterprise-visual-dom-snapshot-matrix --json
113
+ node scripts/run_xtend_tests.js enterprise-third-party-authoring-guide --json
114
+ ```
115
+
116
+ Release handoff gates:
117
+
118
+ ```bash
119
+ node scripts/run_xtend_tests.js enterprise-component-flex-release-handoff --json
120
+ node scripts/run_xtend_tests.js component-shell-theme-matrix --json
121
+ node scripts/run_xtend_tests.js references --json
122
+ node scripts/run_xtend_tests.js design-tokens --json
123
+ ```
124
+
125
+ ## Handoff Decision
126
+
127
+ Decision: `enterprise-design-system-ready-release-owner-review`
128
+
129
+ The next step is not another workpackage in this backlog package, but release-owner review. The publish boundary `private-until-release-owner-acceptance` remains active until the checklist has been accepted and optional network artifacts for a real publish are available.
@@ -0,0 +1,62 @@
1
+ # Epic 10 Platform Gates
2
+
3
+ Contract: `xtend.epic10.platform-gates.v1`
4
+
5
+ This document describes the gate chain from `WP-E10-15`. It bundles browser, a11y, performance and visual gates for the Epic 10 Component Platform.
6
+
7
+ ## Local Gate
8
+
9
+ ```bash
10
+ node scripts/run_xtend_tests.js epic10-platform-gates --json
11
+ npm run test:epic10-platform-gates
12
+ ```
13
+
14
+ ## Gate Domains
15
+
16
+ - `component-contract`: Component Contract v2 and Existing Component Metadata
17
+ - `rmt-first-app`: RMT-first demo app without manual shell
18
+ - `browser-smoke`: local browser-close fixtures
19
+ - `a11y`: keyboard, screenreader, reduced motion and contrast
20
+ - `performance`: measurements, regression and hydration policies
21
+ - `visual-browser-regression`: viewports, theme variants and visual states
22
+ - `ci-handoff`: Fast PR and release composition
23
+
24
+ ## Fast PR
25
+
26
+ The Fast PR gate includes the new Epic 10 platform rules, but remains without release-only performance regression:
27
+
28
+ ```bash
29
+ node scripts/run_xtend_tests.js component-contract-v2 epic10-p0-component-wave component-lab-rmt-inspector rmt-first-demo-app existing-component-metadata browser a11y-hydration screenreader-signals motion-contrast regression-priority references --json
30
+ ```
31
+
32
+ `npm run test:pr` runs this line together with core, Fabric, security and Docs RMT gates.
33
+
34
+ ## Release
35
+
36
+ Release gates additionally run:
37
+
38
+ - `fabric-performance-measurements`
39
+ - `performance-regression`
40
+ - `hydration-policy`
41
+
42
+ The complete release path remains:
43
+
44
+ ```bash
45
+ npm run test:release:full
46
+ ```
47
+
48
+ ## Browser Smokes
49
+
50
+ The gate chain expects these local fixtures:
51
+
52
+ - `tests/browser/fixtures/custom-elements-smoke.html`
53
+ - `tests/browser/fixtures/core-flows-smoke.html`
54
+ - `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html`
55
+ - `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
56
+ - `tests/browser/fixtures/a11y-focus-keyboard-smoke.html`
57
+
58
+ CDN loads are not allowed in this line.
59
+
60
+ ## Handoff
61
+
62
+ `WP-E10-15` closes the testability of the Epic 10 platform line. Since `WP-E10-16`, the closure gate `epic10-release-handoff` has been part of the Fast PR/release handoff view, so documentation, guide structure and publish boundary are checked together with the platform gates.
@@ -0,0 +1,81 @@
1
+ # Epic 10 Release Handoff
2
+
3
+ Contract: `xtend.epic10.release-handoff.v1`
4
+
5
+ This document is the official closure and handoff point for Epic 10.
6
+
7
+ ## Status
8
+
9
+ Epic 10 is complete. All 16 workpackages are `completed`.
10
+
11
+ The local gate is:
12
+
13
+ ```bash
14
+ node scripts/run_xtend_tests.js epic10-release-handoff --json
15
+ npm run test:epic10-release-handoff
16
+ ```
17
+
18
+ ## Canonical Guides
19
+
20
+ | Topic | Guide |
21
+ |-------|-------|
22
+ | Component Platform | [Component Platform](./component-platform.md) |
23
+ | TypeScript-first components | [TypeScript Components](./typescript-components.md) |
24
+ | RMT-first XTend apps | [RMT-first XTend Apps](./rmt-first-xtend-apps.md) |
25
+ | Component Lab | [Component Lab](./component-lab.md) |
26
+ | Existing Component Metadata | [Existing Component Metadata](./existing-component-metadata.md) |
27
+ | Platform Gates | [Epic 10 Platform Gates](./epic10-platform-gates.md) |
28
+ | Enterprise Adoption | [Enterprise Adoption](./enterprise-adoption.md) |
29
+
30
+ ## Fabric Boundary
31
+
32
+ The canonical component Fabric boundary is:
33
+
34
+ ```text
35
+ adapter-injection-via-xtend-component-resolveFabricContext
36
+ ```
37
+
38
+ Components receive Fabric, lane and fiber context through the `xtend.component` adapter. `window.XTendFabric` remains usable for hosts and enterprise integration, but is not the component contract. The RMT boundary remains `no-rmt-kernel-import-of-xtend-types`.
39
+
40
+ ## Migration Notes
41
+
42
+ For apps and components from the state before Epic 10:
43
+
44
+ - New components are planned TypeScript-first under `src/components/<tag>/`.
45
+ - Runtime artifacts remain local ES modules under `components/`.
46
+ - `xtend-loader.js` is canonical; `xtend-dev.js` remains the legacy boundary.
47
+ - Complete XTend apps are described in RMT.
48
+ - Existing JS components are first connected through RMT/Fabric metadata overlays.
49
+ - Big-bang TypeScript migrations are not part of the target path.
50
+ - Performance, a11y and visual gates are part of the component definition.
51
+ - CDN paths remain removed from default, demo and test paths.
52
+
53
+ ## Release Candidate Gate
54
+
55
+ Before a release candidate:
56
+
57
+ ```bash
58
+ npm run test:pr:report
59
+ npm run test:release:full:report
60
+ npm run release:report
61
+ npm run pack:dry-run
62
+ ```
63
+
64
+ Conditional network gates:
65
+
66
+ ```bash
67
+ npm audit --audit-level=moderate
68
+ npm sbom --sbom-format=cyclonedx --json
69
+ ```
70
+
71
+ Publishing remains blocked until a release owner explicitly approves `private-until-release-owner-acceptance`.
72
+
73
+ ## Next-Wave Handoff
74
+
75
+ The next product wave should pick up:
76
+
77
+ - long-tail component runtime migration
78
+ - remaining performance profile authoring
79
+ - component catalog completion
80
+ - release candidate packaging
81
+ - XTendRMT upstream DSL polish
@@ -0,0 +1,70 @@
1
+ # Epic 11 Enterprise UX Handoff
2
+
3
+ Docs contract: `xtend.epic11.enterprise-ux-handoff.v1`
4
+
5
+ Epic 11 closes the visible enterprise UX maturity of the XTend components. Shell, styling, runtime a11y, performance, component network, RMT shell authoring, Component Lab, browser smokes, theme matrix, authoring guides and long-tail migration are now connected as local gates.
6
+
7
+ ## Completion Mode
8
+
9
+ ```text
10
+ completed-with-accepted-long-tail-handoff
11
+ ```
12
+
13
+ This means: the central Component UX platform is accepted. Open long-tail points continue as product handoff, not as unrecognized residual work.
14
+
15
+ ## Local Gate
16
+
17
+ ```bash
18
+ node scripts/run_xtend_tests.js epic11-enterprise-ux-handoff --json
19
+ ```
20
+
21
+ ## Historical Accepted Residuals
22
+
23
+ This table describes the state of the Epic 11 handoff. The current RC1 state is continued by [Known Residual Triage](./known-residual-triage.md).
24
+
25
+ | Component | Priority | Goal | Residual dimension |
26
+ |-----------|----------|------|--------------------|
27
+ | `xstate` | P1 | `ux-baseline-probe` | historical: a11y, performance |
28
+ | `x-utils` | P2 | `ux-baseline-probe` | historical: suite, fixture, types, performance |
29
+
30
+ `x-tabs` is closed by `WP-E12-02`/`WP-E12-03`. `x-theme` is closed by `WP-E12-04`/`WP-E12-05`. `x-button` is closed by `WP-E12-06`. `x-menu` is closed by `WP-E12-07` and is now `enterprise-ready`. Since `WP-E12-08`, `xstate` has suite, fixture, public types, lifecycle events, Fabric diagnostics and RMT state adapter. Since `WP-E12-09`, `x-utils` has utility contract, import policy, fixture and public types. The later [Known Residual Triage](./known-residual-triage.md) closes both scopes for RC1 as runtime and utility boundary respectively.
31
+
32
+ ## Gate Chain
33
+
34
+ - `component-shell-contract`
35
+ - `component-styling-contract`
36
+ - `runtime-a11y-contract`
37
+ - `component-ux-performance`
38
+ - `component-network-contract`
39
+ - `rmt-shell-authoring-ux`
40
+ - `form-controls-ux`
41
+ - `feedback-status-ux`
42
+ - `navigation-routing-ux`
43
+ - `overlay-interaction-ux`
44
+ - `layout-display-media-ux`
45
+ - `component-lab-ux-inspector`
46
+ - `component-ux-browser-smokes`
47
+ - `component-shell-theme-matrix`
48
+ - `component-ux-authoring-docs`
49
+ - `component-long-tail-migration`
50
+ - `catalog-coverage`
51
+ - `regression-priority`
52
+ - `references`
53
+
54
+ ## Release Boundary
55
+
56
+ `package.json` remains `private: true`. Publishing remains blocked until Release Owner Acceptance:
57
+
58
+ ```text
59
+ private-until-release-owner-acceptance
60
+ ```
61
+
62
+ ## Next-Wave Handoff
63
+
64
+ - Long-tail runtime implementation
65
+ - Visual snapshot automation
66
+ - Enterprise design system token productization
67
+ - RMT DSL authoring polish
68
+ - Release candidate owner acceptance
69
+
70
+ The RMT kernel boundary remains `no-rmt-kernel-import-of-xtend-types`.
@@ -0,0 +1,61 @@
1
+ # Epic 12 RC0 Handoff
2
+
3
+ - Contract: `xtend.epic12.rc0-handoff.v1`
4
+ - Report: `xtend.epic12.rc0-handoff-report.v1`
5
+ - Workpackage: `WP-E12-16`
6
+ - Local gate: `node scripts/run_xtend_tests.js epic12-rc0-handoff --json`
7
+ - Decision: `ready-for-release-owner-review-not-publish`
8
+
9
+ Epic 12 is complete. XTend now has a concrete RC0 path for release owner review without opening the publish boundary.
10
+
11
+ ## What RC0 Contains
12
+
13
+ | Area | State |
14
+ |------|-------|
15
+ | Long-tail | `x-tabs`, `x-theme`, `x-button`, `x-menu` closed |
16
+ | Boundary residuals | `xstate`, `x-utils`, `xtend.component.hydrate` accepted and visible |
17
+ | Visual snapshot | DOM-first runner with JSON baseline |
18
+ | Design tokens | `--xtend-*` product token line |
19
+ | RMT DSL | authoring polish for shells, routes, links, slots, commands, hydration and lanes |
20
+ | Docs | RC0 Adoption Guide and Migration Notes current |
21
+ | Release gate | RC0 Gate Matrix executable locally |
22
+
23
+ ## Owner Review
24
+
25
+ Before a publish decision, the release owner needs:
26
+
27
+ - Full Release Gate Report
28
+ - RC0 Gate Matrix Report
29
+ - Epic 12 RC0 Handoff Report
30
+ - Package Dry Run output
31
+ - Conditional Network Gate Status
32
+ - Known Residual Policy
33
+ - Migration Notes
34
+ - Publish Boundary decision
35
+
36
+ ## Local Gates
37
+
38
+ ```bash
39
+ node scripts/run_xtend_tests.js epic12-rc0-handoff --json
40
+ node scripts/run_xtend_tests.js epic12-docs-adoption --json
41
+ node scripts/run_xtend_tests.js rc0-gate-matrix --json
42
+ npm run test:release:full:report
43
+ npm run pack:dry-run
44
+ ```
45
+
46
+ Conditional network gates:
47
+
48
+ ```bash
49
+ npm audit --audit-level=moderate
50
+ npm sbom --sbom-format=cyclonedx --json
51
+ ```
52
+
53
+ ## Publish Boundary
54
+
55
+ `private-until-release-owner-approval` remains active. A green RC0 handoff means:
56
+
57
+ ```text
58
+ ready-for-release-owner-review-not-publish
59
+ ```
60
+
61
+ The next decision is `release-owner-acceptance`.
@@ -0,0 +1,232 @@
1
+ # Epic 18 RMT App Platform and Media Manager Vendor Upstream
2
+
3
+ - Contract: `xtend.epic18.rmt-app-platform-vendor-upstream.v1`
4
+ - Status: `planned`
5
+ - Backlog: `development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md`
6
+ - Initial Workpackage: `development/WP-E18-01-Epic-18-Scope-Vendor-Baseline-und-App-Platform-Leitplanken-finalisieren.md`
7
+ - Source vendor snapshot: `@ccslabs/xtend@0.1.0-rc.1`
8
+ - Vendor source commit: `fab0e2d1281336d1b6813217e61ee2453ede09e7`
9
+ - Vendor package date: `2026-05-17`
10
+ - Source docs:
11
+ - `/home/konni/Dokumente/net.ccs.cloud/media-manager/docs/xtend-component-bugfixes.md`
12
+ - `/home/konni/Dokumente/net.ccs.cloud/media-manager/docs/vendor-build.md`
13
+ - `/home/konni/Dokumente/net.ccs.cloud/media-manager/docs/architecture.md`
14
+ - Target: XTend main branch, source components, tests, docs, RMT/App Shell runtime and vendor build.
15
+
16
+ ## Goal
17
+
18
+ Epic 18 brings the Media Manager vendor fixes back into XTend main in a controlled way and uses the Media Manager lessons learned as proof of need for a much more capable RMT App Platform. The short-term scope is vendor parity for the diverging XTend components. The strategic scope is more generic: developers should be able to model app shells, components, state, events, actions, data sources, resources, overlays and dynamic layouts natively in XTend/RMT without product-side `innerHTML` renderers, manual event delegation or custom mini-frameworks.
19
+
20
+ The Media Manager is not a product template to copy. Its surfaces and records remain example material. The target API is flexible App Platform primitives that can also build admin, content, dashboard, editor or media apps.
21
+
22
+ ## Vendor Parity Finding
23
+
24
+ The comparison of XTend main against `/home/konni/Dokumente/net.ccs.cloud/media-manager/vendor/xtend` shows:
25
+
26
+ | Area | Finding |
27
+ |------|---------|
28
+ | `components/` | 5 diverging files, 241 insertions, 41 deletions |
29
+ | `xtend-builder/` | no functional divergence, only local `.DS_Store` |
30
+ | `tools/` | no functional divergence, only local `.DS_Store` |
31
+ | `xtendrmt/` | no functional divergence, only local `.DS_Store` |
32
+ | `fabric/` | identical |
33
+ | `a11y/` | identical |
34
+ | `security/` | identical |
35
+ | `design-tokens/` | identical |
36
+ | `catalog/` | identical |
37
+ | Top-level Loader/API/CSS | identical |
38
+
39
+ The bugfix wave can therefore stay tightly scoped: no unfocused vendor copy, but a targeted adoption of the five component deltas plus tests, documentation and release/pack gates.
40
+
41
+ ## P0 Bugfix Wave
42
+
43
+ | Module | Vendor Delta | Upstream Target |
44
+ |--------|--------------|-----------------|
45
+ | `components/xtooltip.js` | Tooltip surface is positioned as `viewport-fixed-layer` instead of as a local anchor layer. Resize/scroll schedule a position update through `requestAnimationFrame`. | Tooltips in shells and surfaces must no longer be clipped by `overflow: hidden` and must not change toolbar height. |
46
+ | `components/xplayer.js` | Removes module-scope `this.shadowRoot`, guards `customElements.define`, introduces host/player containment, `ResizeObserver`, long-title ellipsis, visible volume overflow and canonical media events. | `x-player` stays bounded in resizable surfaces, imports cleanly as an ES module and dispatches `xplayer-play`/`xplayer-pause` from native media state transitions. |
47
+ | `components/xsurfacewindow.js` | Content scrolls vertically; horizontal scrolling is suppressed at the surface boundary. | Long content creates no horizontal surface scrollbars. |
48
+ | `components/xsidepanel.js` | Content scrolls vertically and horizontal scrolling is suppressed; collapse icon follows `placement` and `collapsed`. | Side panels keep stable bounds and correctly readable collapse signals for left, right, inline and bottom. |
49
+ | `components/xsurfacemanager-controller.js` | `registerSurface` preserves `bounds`, `previousBounds`, `minimized`, `maximized`, `pinned`, `collapsed`, `placement` and `mode` when re-registering. | Dynamically added surfaces must not reset runtime bounds, z-order or persistence state of existing surfaces. |
50
+
51
+ ## P0 Acceptance Tests
52
+
53
+ - Open `x-tooltip` in a toolbar inside a resizable `x-surface-window`. Expected: tooltip is above the shell, not clipped and causes no layout shift.
54
+ - Import `x-player` as an ES module and mount an instance. Expected: no module-scope error, `customElements.define` is idempotent, native `title` attributes are removed only after Shadow DOM setup.
55
+ - Test `x-player` with `width="100%" height="100%"` in a resizable `x-surface-window`. Expected: host, `.player`, media element, title line, controls and volume slider stay inside the surface.
56
+ - Start `x-player` by button, keyboard and `xstate.set("xplayer-state-<id>", { playing: true })`. Expected: exactly one `xplayer-play` after real media start; `xplayer-pause` comes from the native `pause` event.
57
+ - Render long unbroken content in `x-surface-window` and `x-side-panel`. Expected: no horizontal surface scrollbar; content must wrap, truncate or clip itself.
58
+ - Move/resize a surface, then dynamically slot a second surface into `x-surface-manager`. Expected: the first surface keeps bounds, status, `active/zIndex`, minimize/maximize state and side-panel attributes.
59
+
60
+ ## Blind Spots from the Media Manager
61
+
62
+ The Media Manager already starts shell-first through an RMT host adapter, but still has to render its actual UI imperatively in `media-manager-shell.js`. Epic 18 closes this gap not by a 1:1 port of the Media Manager surface, but through generic RMT App Platform capabilities.
63
+
64
+ ### BS1 RMT Template Runtime
65
+
66
+ RMT must be able to express normal UI: components, attributes, text nodes, conditional regions, keyed lists, empty states, slots, tooltips, icons and form controls. Product code should no longer have to build HTML strings for normal app UI.
67
+
68
+ Acceptance: lists, detail areas, toolbars, feedback zones and arbitrary custom-element compositions can be described as RMT templates and executed as render units.
69
+
70
+ ### BS2 Safe DOM Descriptor Renderer
71
+
72
+ The compiler needs DOM descriptors or generated render functions that work with `createElement`, `replaceChildren`, keyed diffing and safe attribute setters. Direct HTML sinks remain an explicit Trusted HTML boundary of the framework.
73
+
74
+ Acceptance: normal RMT shell templates use no product-side `root.innerHTML`, `element.innerHTML` or `template.innerHTML` writes.
75
+
76
+ ### BS3 Typed State and XState Bridge
77
+
78
+ App state such as collection, filters, sorting, active selection, form values, panel states or dynamic instances becomes modelable as an RMT state graph with selectors, derived values, reducers and XState bindings.
79
+
80
+ Acceptance: selection changes can synchronize attributes/ARIA state incrementally without rehydrating lists or losing scroll/focus.
81
+
82
+ ### BS4 Actions, Effects and Feedback
83
+
84
+ Async flows such as load data, reindex, upload, delete, lazy imports, navigation, preview open or external component commands run through declarative RMT actions and effects with loading, success, error and feedback results.
85
+
86
+ Acceptance: `x-toast` can be preloaded as an RMT feedback surface and controlled through action results; product code no longer calls ad-hoc toast handlers for standard flows.
87
+
88
+ ### BS5 DataSources and Contracts
89
+
90
+ RMT needs data sources for fixture, REST, SSR and later Electron/Node, including schema validation, normalization and pagination.
91
+
92
+ Acceptance: freely definable record contracts flow into template, selector and action types; backend endpoints remain pure data, stream and mutation adapters.
93
+
94
+ ### BS6 Surface Graph Runtime
95
+
96
+ Dynamic surface instances must be expressible framework-natively as keyed surface repeaters. Minimize, restore, close, destroy, focus, persistence, bounds, placement and layout modes belong in the Surface Graph.
97
+
98
+ Acceptance: developers can create custom surface models from arbitrary records without writing product-side registry repaints or bounds recovery.
99
+
100
+ ### BS7 Island Diffing and Preserve Rules
101
+
102
+ Island hydration needs structural patches. Selection changes must not rewrite lists, scroll/focus must not be lost and component Shadow DOM must not be recreated unnecessarily.
103
+
104
+ Acceptance: hydration keys distinguish structural changes from pure selection/state sync; browser smokes verify scroll and focus preservation.
105
+
106
+ ### BS8 Event Routing
107
+
108
+ DOM events such as `click`, `change`, `input`, `drop`, `surface-closed`, `xplayer-play` and `lightbox-closed` run into actions through declarative RMT event bindings. Product-side `event.target.closest(...)` chains are now only host-adapter fallback.
109
+
110
+ Acceptance: RMT build diagnostics can show event source, action target and payload contract.
111
+
112
+ ### BS9 Overlay and Portal Layer
113
+
114
+ `x-tooltip`, `x-toast`, `x-lightbox`, popovers, menus, dialogs and other overlays need a shared portal layer for z-index, focus, escape, pointer, scroll and clipping. This layer must be addressable through RMT.
115
+
116
+ Acceptance: the tooltip fix is the first slice; other overlays then share portal/layer policy instead of app-shell workarounds.
117
+
118
+ ### BS10 Resource Lifecycle Manager
119
+
120
+ Custom Elements, Object URLs, ResizeObserver, idle handles, streams, timers and dynamic imports need declarative ownership. Destroying a surface or render unit cleans up only the resources for that instance.
121
+
122
+ Acceptance: close destroys surface DOM and instance-bound resources; minimize preserves DOM, Shadow DOM and runtime state.
123
+
124
+ ### BS11 SSR and Prehydration Contract
125
+
126
+ Backend adapters should be able to provide initial records, surface snapshots and optionally prehydrated data as RMT data payloads. The client initializes the same state graph from them.
127
+
128
+ Acceptance: a generic App Platform fixture can start with fixture or SSR payload without duplicate product-side boot state.
129
+
130
+ ### BS12 Diagnostics and Gates
131
+
132
+ The build must detect when product shells introduce direct `innerHTML` sinks, manual full-root repaints or non-keyed lists.
133
+
134
+ Acceptance: a gate marks normal app UI `innerHTML` writes outside the Trusted DOM boundary as regression.
135
+
136
+ ## Workpackages
137
+
138
+ The operative order is in the backlog `development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md`. The backlog line is intentionally split in two: first concrete vendor stabilization, then RMT as a generic App Platform.
139
+
140
+ | ID | Priority | Status | Workstream | Title |
141
+ |----|----------|--------|------------|-------|
142
+ | `WP-E18-01` | P0 | completed | WS0 | Finalize Epic 18 scope, vendor baseline and App Platform guardrails |
143
+ | `WP-E18-02` | P0 | completed | WS1 | Vendor component bugfix backport into main |
144
+ | `WP-E18-03` | P0 | completed | WS1 | Build bugfix contract and browser smokes |
145
+ | `WP-E18-04` | P0 | completed | WS2 | Extend RMT App Platform authoring model |
146
+ | `WP-E18-05` | P0 | completed | WS2 | Build safe DOM descriptor renderer and no-manual-HTML gate |
147
+ | `WP-E18-06` | P0 | completed | WS3 | Implement component-native template primitives for RMT |
148
+ | `WP-E18-07` | P0 | completed | WS4 | Build typed state, selectors and XState bridge for apps |
149
+ | `WP-E18-08` | P1 | completed | WS5 | Connect actions, effects, data sources and resource runtime |
150
+ | `WP-E18-09` | P1 | completed | WS6 | Build declarative event routing and component interaction contracts |
151
+ | `WP-E18-10` | P1 | completed | WS7 | Harden surface, overlay, portal and resource graph generically |
152
+ | `WP-E18-11` | P1 | completed | WS8 | Extend scaffold, linter, LSP and diagnostics for RMT apps |
153
+ | `WP-E18-12` | P1 | completed | WS9 | Build generic RMT App Platform fixture |
154
+ | `WP-E18-13` | P2 | completed | WS10 | Docs, migration guide, vendor rebuild and release handoff |
155
+
156
+ Next startable packages:
157
+
158
+ - No internal Epic 18 workpackage is open.
159
+
160
+ Completed WP-E18-12 fixture gate:
161
+ `node scripts/run_xtend_tests.js rmt-app-platform-fixture --json`.
162
+
163
+ Completed WP-E18-11 tooling gate:
164
+ `node scripts/run_xtend_tests.js rmt-app-platform-tooling --json`.
165
+
166
+ Completed WP-E18-13 handoff gate:
167
+ `node scripts/run_xtend_tests.js epic18-rmt-app-platform --json`.
168
+
169
+ Release handoff schema:
170
+ `xtend.epic18.rmt-app-platform-release-handoff.v1`.
171
+
172
+ `WP-E18-12` does not copy a 1:1 Media Manager surface structure. The fixture proves with `generic-catalog`, `admin-queue` and `content-board` that the same RMT primitives can flexibly carry different app domains.
173
+
174
+ ## Module Upgrade Matrix
175
+
176
+ | XTend Module | Upgrade in Epic 18 |
177
+ |--------------|--------------------|
178
+ | `components/` | P0 backports for Tooltip, Player, Surface Window, Side Panel and Surface Controller. |
179
+ | `tests/components/` | contract tests for re-register preserve, SidePanel placement icons and component-level regressions. |
180
+ | `tests/browser/` | browser-near fixtures for tooltip clipping, player resize, volume hover, long title, XState playback and surface scrollbar boundaries. |
181
+ | `docs/components/` | user-facing documentation of the new behavior guarantees and acceptance examples. |
182
+ | `docs/epic18-vendor-bugfixes.md` | central bugfix docs for Tooltip, Player, Surface Window, Side Panel and SurfaceManager Controller. |
183
+ | `docs/rmt-app-platform-migration-guide.md` | migration away from external HTML hosts toward DOM Descriptor, Actions, DataSources, Surfaces, Overlays and Resource Cleanup. |
184
+ | `docs/epic18-rmt-app-platform-release-handoff.md` | Epic 18 handoff with gate matrix, GitHub Actions and pack/export-lock evidence. |
185
+ | `xtendrmt/` | App Platform authoring model, shell render units, DOM Descriptor Renderer (`xtendrmt/rmt-dom-descriptor-renderer.js`), component-native template primitives, State Selector Runtime (`xtendrmt/rmt-state-selector-runtime.js`), Action Effect Runtime (`xtendrmt/rmt-action-effect-runtime.js`), Event Routing Runtime (`xtendrmt/rmt-event-routing-runtime.js`), Surface Resource Graph Runtime (`xtendrmt/rmt-surface-resource-graph-runtime.js`), DataSources, Events, Surfaces, Overlays, Portals and Resources; the WP12 fixture connects these building blocks end to end. |
186
+ | `tools/rmt-language/` | linter, diagnostics, completion and hover support for `state`, `derive`, `repeat`, `when`, `bind`, `effect`, `datasource`, `resource`, `portal`, `overlay`, component bindings and no-manual-shell gates; `tools/rmt-language/app-platform-tooling.js` provides analyzer, source maps and scaffold plan. |
187
+ | `fabric/` | diagnostics, lane mapping, resource lifecycle and runtime signals for render units, component instances and surface graphs. |
188
+ | `xtend-builder/` | use of the Epic 17 build pipeline for generic RMT app artifacts, fixture generation, browser smokes and vendor rebuild; `rmt-app-platform` produces diagnostics, source maps and build reports. |
189
+ | `catalog/` | Epic 18 App Platform authoring, DOM Descriptor Renderer, Component Template Primitives, State Selector, Action Effect, Event Routing, Surface Resource Graph Runtime, App Platform Tooling, App Platform Fixture and Release Handoff contracts for runtime and tooling slices. |
190
+ | `package.json` | add new test scripts only with implemented suites; `test:rmt-app-platform-authoring`, `test:rmt-dom-descriptor-renderer`, `test:rmt-component-template-primitives`, `test:rmt-state-selector-runtime`, `test:rmt-action-effect-runtime`, `test:rmt-event-routing-runtime`, `test:rmt-surface-resource-graph-runtime`, `test:rmt-app-platform-tooling`, `test:rmt-app-platform-fixture` and `test:epic18-rmt-app-platform` are available. |
191
+
192
+ ## Planned Gate Chain
193
+
194
+ Short-term for the bugfix wave:
195
+
196
+ ```bash
197
+ node scripts/run_xtend_tests.js components surface-controller surface-manager-browser overlay-interaction-ux layout-display-media-ux epic18-vendor-bugfix-smokes browser references --json
198
+ ```
199
+
200
+ For the RMT/App Shell slice:
201
+
202
+ ```bash
203
+ node scripts/run_xtend_tests.js rmt-app-platform-authoring rmt-dom-descriptor-renderer rmt-component-template-primitives rmt-state-selector-runtime rmt-action-effect-runtime rmt-event-routing-runtime rmt-surface-resource-graph-runtime rmt-app-platform-tooling rmt-app-platform-fixture rmt-vnext-compiler rmt-vnext-events rmt-vnext-surfaces rmt-vnext-security rmt-first-demo-app scaffold-rmt-build --json
204
+ ```
205
+
206
+ For the Epic handoff:
207
+
208
+ ```bash
209
+ node scripts/run_xtend_tests.js epic18-rmt-app-platform --json
210
+ npm run test:pr:report
211
+ npm run test:release:full:report
212
+ npm run pack:dry-run
213
+ ```
214
+
215
+ The Epic 18 umbrella gate is created in `WP-E18-13`. It verifies docs, migration, GitHub gate handoff, package metadata and pack/export-lock evidence.
216
+
217
+ ## Definition of Done
218
+
219
+ - All five vendor component deltas have been adopted into main or deliberately rejected with technical rationale.
220
+ - The backports are protected by component and browser smokes.
221
+ - The Media Manager lessons learned have been translated into concrete workpackages as generic RMT App Platform scope.
222
+ - RMT can execute at least one flexible app-shell island without product-side HTML-string renderer.
223
+ - Dynamic surfaces, component bindings, feedback, lazy resources, data sources, event routing and resource cleanup are proven as repo-native, domain-neutral fixture or demo.
224
+ - Vendor build, package export lock and release handoff are updated.
225
+
226
+ ## Non-Goals
227
+
228
+ - No unverified full copy from `vendor/xtend` into main.
229
+ - No 1:1 rebuild of the Media Manager surfaces as the XTend default app.
230
+ - No adoption of Media Manager-specific theme or Shadow DOM monkeypatches as global XTend defaults.
231
+ - No break of the boundary `no-rmt-kernel-import-of-xtend-types`.
232
+ - No production Electron/Node backend adapter in the XTend framework; backend remains fixture or host-adapter responsibility.