@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,318 @@
1
+ # Epic 18 RMT App Platform und 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
+ ## Ziel
17
+
18
+ Epic 18 fuehrt die Media-Manager-Vendor-Fixes kontrolliert in XTend main
19
+ zurueck und nutzt die Media-Manager-Lessons-Learned als Proof-of-Need fuer eine
20
+ deutlich leistungsfaehigere RMT App Platform. Der kurzfristige Scope ist
21
+ Vendor-Paritaet fuer die abweichenden XTend-Komponenten. Der strategische Scope
22
+ ist generischer: Entwickler sollen App-Shells, Komponenten, State, Events,
23
+ Actions, DataSources, Resources, Overlays und dynamische Layouts nativ in
24
+ XTend/RMT modellieren koennen, ohne produktseitige `innerHTML`-Renderer,
25
+ manuelle Event-Delegation oder eigene Mini-Frameworks.
26
+
27
+ Der Media Manager ist dabei keine zu kopierende Produktvorlage. Seine Surfaces
28
+ und Records bleiben Beispielmaterial. Die Ziel-API sind flexible App-Platform-
29
+ Primitives, mit denen auch Admin-, Content-, Dashboard-, Editor- oder
30
+ Media-Apps gebaut werden koennen.
31
+
32
+ ## Vendor-Paritaetsbefund
33
+
34
+ Der Vergleich von XTend main gegen
35
+ `/home/konni/Dokumente/net.ccs.cloud/media-manager/vendor/xtend` zeigt:
36
+
37
+ | Bereich | Befund |
38
+ |---------|--------|
39
+ | `components/` | 5 abweichende Dateien, 241 Insertions, 41 Deletions |
40
+ | `xtend-builder/` | keine fachliche Abweichung, nur lokale `.DS_Store` |
41
+ | `tools/` | keine fachliche Abweichung, nur lokale `.DS_Store` |
42
+ | `xtendrmt/` | keine fachliche Abweichung, nur lokale `.DS_Store` |
43
+ | `fabric/` | deckungsgleich |
44
+ | `a11y/` | deckungsgleich |
45
+ | `security/` | deckungsgleich |
46
+ | `design-tokens/` | deckungsgleich |
47
+ | `catalog/` | deckungsgleich |
48
+ | Top-Level Loader/API/CSS | deckungsgleich |
49
+
50
+ Die Bugfix-Welle darf deshalb eng geschnitten werden: keine ungezielte
51
+ Vendor-Kopie, sondern gezielte Uebernahme der fuenf Komponenten-Deltas plus
52
+ Tests, Dokumentation und Release-/Pack-Gates.
53
+
54
+ ## P0 Bugfix-Welle
55
+
56
+ | Modul | Vendor-Delta | Upstream-Ziel |
57
+ |-------|--------------|---------------|
58
+ | `components/xtooltip.js` | Tooltip-Surface wird als `viewport-fixed-layer` statt als lokaler Anchor-Layer positioniert. Resize/Scroll planen per `requestAnimationFrame` eine Positionsaktualisierung. | Tooltips in Shells und Surfaces duerfen durch `overflow: hidden` nicht mehr clippen und keine Toolbar-Hoehe veraendern. |
59
+ | `components/xplayer.js` | Entfernt Module-Scope-`this.shadowRoot`, sichert `customElements.define`, fuehrt Host-/Player-Containment, `ResizeObserver`, langen Titel-Ellipsis, sichtbaren Volume-Overflow und kanonische Media-Events ein. | `x-player` bleibt in resizebaren Surfaces begrenzt, importiert fehlerfrei als ES-Modul und dispatcht `xplayer-play`/`xplayer-pause` aus nativen Media-Zustandswechseln. |
60
+ | `components/xsurfacewindow.js` | Content scrollt vertikal, horizontales Scrolling wird an der Surface-Grenze unterbunden. | Lange Inhalte erzeugen keine horizontalen Surface-Scrollbars. |
61
+ | `components/xsidepanel.js` | Content scrollt vertikal, horizontales Scrolling wird unterbunden; Collapse-Icon folgt `placement` und `collapsed`. | Side Panels behalten stabile Bounds und korrekt lesbare Collapse-Signale fuer links, rechts, inline und bottom. |
62
+ | `components/xsurfacemanager-controller.js` | `registerSurface` bewahrt bei Re-Register `bounds`, `previousBounds`, `minimized`, `maximized`, `pinned`, `collapsed`, `placement` und `mode`. | Dynamisch hinzukommende Surfaces duerfen Runtime-Bounds, Z-Order und Persistenzstatus bestehender Surfaces nicht zuruecksetzen. |
63
+
64
+ ## P0 Akzeptanztests
65
+
66
+ - `x-tooltip` in einer Toolbar innerhalb eines resizebaren `x-surface-window`
67
+ oeffnen. Erwartet: Tooltip liegt ueber der Shell, wird nicht geclippt und
68
+ verursacht keinen Layout Shift.
69
+ - `x-player` als ES-Modul importieren und eine Instanz mounten. Erwartet: kein
70
+ Module-Scope-Fehler, `customElements.define` ist idempotent, native `title`
71
+ Attribute werden erst nach Shadow-DOM-Aufbau entfernt.
72
+ - `x-player` mit `width="100%" height="100%"` in einem resizebaren
73
+ `x-surface-window` testen. Erwartet: Host, `.player`, Media-Element,
74
+ Titelzeile, Controls und Volume-Slider bleiben innerhalb der Surface.
75
+ - `x-player` per Button, Keyboard und
76
+ `xstate.set("xplayer-state-<id>", { playing: true })` starten. Erwartet:
77
+ genau ein `xplayer-play` nach echtem Media-Start; `xplayer-pause` kommt aus
78
+ dem nativen `pause` Event.
79
+ - Lange ungebrochene Inhalte in `x-surface-window` und `x-side-panel` rendern.
80
+ Erwartet: keine horizontale Surface-Scrollbar; Inhalt muss selbst umbrechen,
81
+ truncaten oder clippen.
82
+ - Eine Surface verschieben/resizen, danach eine zweite Surface dynamisch in den
83
+ `x-surface-manager` slotten. Erwartet: die erste Surface behaelt Bounds,
84
+ Status, `active/zIndex`, Minimize/Maximize-Status und Side-Panel Attribute.
85
+
86
+ ## Blind Spots aus dem Media Manager
87
+
88
+ Der Media Manager startet bereits Shell-first ueber einen RMT Host-Adapter, muss
89
+ aber seine eigentliche UI weiterhin imperativ in `media-manager-shell.js`
90
+ rendern. Epic 18 schliesst diese Luecke nicht durch eine 1:1-Portierung der
91
+ Media-Manager-Oberflaeche, sondern durch generische RMT-App-Platform-
92
+ Faehigkeiten.
93
+
94
+ ### BS1 RMT Template Runtime
95
+
96
+ RMT muss normale UI ausdruecken koennen: Komponenten, Attribute, Textknoten,
97
+ konditionale Bereiche, keyed Listen, leere Zustaende, Slots, Tooltips, Icons und
98
+ Form Controls. Produkt-Code soll fuer normale App-UI keine HTML-Strings mehr
99
+ bauen muessen.
100
+
101
+ Akzeptanz: Listen, Detailbereiche, Toolbars, Feedback-Zonen und beliebige
102
+ Custom-Element-Kompositionen lassen sich als RMT Templates beschreiben und als
103
+ Render-Units ausfuehren.
104
+
105
+ ### BS2 Sicherer DOM Descriptor Renderer
106
+
107
+ Der Compiler braucht DOM-Descriptoren oder erzeugte Renderfunktionen, die mit
108
+ `createElement`, `replaceChildren`, keyed Diffing und sicheren Attribut-Settern
109
+ arbeiten. Direkte HTML-Sinks bleiben eine explizite Trusted-HTML-Grenze des
110
+ Frameworks.
111
+
112
+ Akzeptanz: normale RMT Shell-Templates verwenden keine produktseitigen
113
+ `root.innerHTML`, `element.innerHTML` oder `template.innerHTML` Writes.
114
+
115
+ ### BS3 Typed State und XState Bridge
116
+
117
+ App-State wie Collection, Filter, Sortierung, aktive Auswahl, Formwerte,
118
+ Panel-Zustaende oder dynamische Instanzen wird als RMT State Graph mit
119
+ Selectors, derived Values, Reducers und XState-Bindings modellierbar.
120
+
121
+ Akzeptanz: Selection-Aenderungen koennen Attribute/ARIA-Zustand inkrementell
122
+ synchronisieren, ohne Listen neu zu hydrieren oder Scroll/Fokus zu verlieren.
123
+
124
+ ### BS4 Actions, Effects und Feedback
125
+
126
+ Async-Flows wie Daten laden, Reindex, Upload, Delete, Lazy Imports,
127
+ Navigation, Preview-Open oder externe Component-Commands laufen ueber
128
+ deklarative RMT Actions und Effects mit Loading-, Success-, Error- und
129
+ Feedback-Resultaten.
130
+
131
+ Akzeptanz: `x-toast` kann als RMT Feedback Surface vorgeladen und ueber
132
+ Action-Resultate gesteuert werden; Produktcode ruft keine ad-hoc Toast-Handler
133
+ fuer Standardfluesse mehr auf.
134
+
135
+ ### BS5 DataSources und Contracts
136
+
137
+ RMT braucht DataSources fuer Fixture, REST, SSR und spaeter Electron/Node,
138
+ inklusive Schema-Validierung, Normalisierung und Pagination.
139
+
140
+ Akzeptanz: frei definierbare Record-Vertraege wirken in Template-, Selector-
141
+ und Action-Typen hinein; Backend-Endpunkte bleiben reine Daten-, Stream- und
142
+ Mutation-Adapter.
143
+
144
+ ### BS6 Surface Graph Runtime
145
+
146
+ Dynamische Surface-Instanzen muessen frameworknativ als keyed Surface-Repeater
147
+ ausdrueckbar sein. Minimize, restore, close, destroy, focus, persistence,
148
+ bounds, placement und Layout-Modi gehoeren in den Surface Graph.
149
+
150
+ Akzeptanz: Entwickler koennen eigene Surface-Modelle aus beliebigen Records
151
+ erzeugen, ohne produktseitige Registry-Repaints oder Bounds-Recovery zu
152
+ schreiben.
153
+
154
+ ### BS7 Island Diffing und Preserve-Regeln
155
+
156
+ Insular Hydration braucht strukturelle Patches. Auswahlwechsel duerfen Listen
157
+ nicht neu schreiben, Scroll/Fokus duerfen nicht verloren gehen und
158
+ Component-Shadow-DOM darf nicht unnoetig neu entstehen.
159
+
160
+ Akzeptanz: Hydration-Keys unterscheiden strukturelle Aenderungen von reinem
161
+ Selection-/State-Sync; Browser-Smokes pruefen Scroll- und Fokus-Erhalt.
162
+
163
+ ### BS8 Event Routing
164
+
165
+ DOM-Events wie `click`, `change`, `input`, `drop`, `surface-closed`,
166
+ `xplayer-play` und `lightbox-closed` laufen ueber deklarative RMT Event Bindings
167
+ in Actions. Produktseitige `event.target.closest(...)`-Ketten sind nur noch
168
+ Host-Adapter-Fallback.
169
+
170
+ Akzeptanz: RMT Build-Diagnostics koennen Event-Quelle, Action-Ziel und Payload-
171
+ Contract sichtbar machen.
172
+
173
+ ### BS9 Overlay- und Portal-Layer
174
+
175
+ `x-tooltip`, `x-toast`, `x-lightbox`, Popovers, Menus, Dialoge und andere
176
+ Overlays brauchen eine gemeinsame Portal-Schicht fuer Z-Index, Focus, Escape,
177
+ Pointer, Scroll und Clipping. Diese Schicht muss ueber RMT adressierbar sein.
178
+
179
+ Akzeptanz: Tooltip-Fix ist der erste Slice; weitere Overlays teilen danach
180
+ Portal-/Layer-Policy statt App-Shell-Workarounds.
181
+
182
+ ### BS10 Resource Lifecycle Manager
183
+
184
+ Custom Elements, Object URLs, ResizeObserver, Idle Handles, Streams, Timers und
185
+ dynamische Imports brauchen deklarative Ownership. Destroy einer Surface oder
186
+ Render-Unit raeumt nur Ressourcen dieser Instanz auf.
187
+
188
+ Akzeptanz: Close zerstoert Surface-DOM und instanzgebundene Ressourcen;
189
+ Minimize erhaelt DOM, Shadow DOM und Runtime-State.
190
+
191
+ ### BS11 SSR und Prehydration Contract
192
+
193
+ Backend-Adapter sollen initiale Records, Surface-Snapshots und optional
194
+ vorhydrierte Daten als RMT Data Payload liefern koennen. Der Client initialisiert
195
+ daraus denselben State Graph.
196
+
197
+ Akzeptanz: eine generische App-Platform-Fixture kann mit Fixture- oder
198
+ SSR-Payload starten, ohne doppelten produktseitigen Boot-State.
199
+
200
+ ### BS12 Diagnostics und Gates
201
+
202
+ Der Build muss erkennen, wenn Produkt-Shells direkte `innerHTML`-Sinks, manuelle
203
+ Full-Root-Repaints oder nicht-keyed Listen einfuehren.
204
+
205
+ Akzeptanz: ein Gate markiert normale App-UI-`innerHTML`-Writes ausserhalb der
206
+ Trusted-DOM-Boundary als Regression.
207
+
208
+ ## Workpackages
209
+
210
+ Die operative Reihenfolge liegt im Backlog
211
+ `development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md`.
212
+ Die Backlog-Linie ist bewusst zweigeteilt: zuerst konkrete Vendor-
213
+ Stabilisierung, danach RMT als generische App Platform.
214
+
215
+ | ID | Prioritaet | Status | Workstream | Titel |
216
+ |----|------------|--------|------------|-------|
217
+ | `WP-E18-01` | P0 | completed | WS0 | Epic-18-Scope, Vendor-Baseline und App-Platform-Leitplanken finalisieren |
218
+ | `WP-E18-02` | P0 | completed | WS1 | Vendor Component Bugfix Backport in main |
219
+ | `WP-E18-03` | P0 | completed | WS1 | Bugfix Contract- und Browser-Smokes bauen |
220
+ | `WP-E18-04` | P0 | completed | WS2 | RMT App Platform Authoring Model erweitern |
221
+ | `WP-E18-05` | P0 | completed | WS2 | sicheren DOM Descriptor Renderer und No-Manual-HTML-Gate bauen |
222
+ | `WP-E18-06` | P0 | completed | WS3 | Component-native Template Primitives fuer RMT implementieren |
223
+ | `WP-E18-07` | P0 | completed | WS4 | Typed State, Selectors und XState Bridge fuer Apps bauen |
224
+ | `WP-E18-08` | P1 | completed | WS5 | Actions, Effects, DataSources und Resource Runtime anbinden |
225
+ | `WP-E18-09` | P1 | completed | WS6 | deklaratives Event Routing und Component Interaction Contracts bauen |
226
+ | `WP-E18-10` | P1 | completed | WS7 | Surface-, Overlay-, Portal- und Resource-Graph generisch haerten |
227
+ | `WP-E18-11` | P1 | completed | WS8 | Scaffold, Linter, LSP und Diagnostics fuer RMT Apps erweitern |
228
+ | `WP-E18-12` | P1 | completed | WS9 | generische RMT App Platform Fixture bauen |
229
+ | `WP-E18-13` | P2 | completed | WS10 | Docs, Migration Guide, Vendor Rebuild und Release Handoff |
230
+
231
+ Naechste startbare Pakete:
232
+
233
+ - Kein internes Epic-18-Workpackage ist offen.
234
+
235
+ Abgeschlossener WP-E18-12 Fixture-Gate:
236
+ `node scripts/run_xtend_tests.js rmt-app-platform-fixture --json`.
237
+
238
+ Abgeschlossener WP-E18-11 Tooling-Gate:
239
+ `node scripts/run_xtend_tests.js rmt-app-platform-tooling --json`.
240
+
241
+ Abgeschlossener WP-E18-13 Handoff-Gate:
242
+ `node scripts/run_xtend_tests.js epic18-rmt-app-platform --json`.
243
+
244
+ Release-Handoff-Schema:
245
+ `xtend.epic18.rmt-app-platform-release-handoff.v1`.
246
+
247
+ `WP-E18-12` kopiert keine 1:1-Media-Manager-Surface-Struktur. Die Fixture
248
+ belegt mit `generic-catalog`, `admin-queue` und `content-board`, dass dieselben
249
+ RMT-Primitives flexibel verschiedene App-Domaenen tragen koennen.
250
+
251
+ ## Modul-Upgrade-Matrix
252
+
253
+ | XTend-Modul | Upgrade in Epic 18 |
254
+ |-------------|--------------------|
255
+ | `components/` | P0 Backports fuer Tooltip, Player, Surface Window, Side Panel und Surface Controller. |
256
+ | `tests/components/` | Contract-Tests fuer Re-Register-Preserve, SidePanel Placement Icons und Component-Level Regressionen. |
257
+ | `tests/browser/` | Browser-nahe Fixtures fuer Tooltip-Clipping, Player-Resize, Volume-Hover, langen Titel, XState-Playback und Surface-Scrollbar-Grenzen. |
258
+ | `docs/components/` | User-facing Dokumentation der neuen Verhaltensgarantien und Akzeptanzbeispiele. |
259
+ | `docs/epic18-vendor-bugfixes.md` | Zentrale Bugfix-Doku fuer Tooltip, Player, Surface Window, Side Panel und SurfaceManager Controller. |
260
+ | `docs/rmt-app-platform-migration-guide.md` | Migration weg von externen HTML-Hosts hin zu DOM Descriptor, Actions, DataSources, Surfaces, Overlays und Resource Cleanup. |
261
+ | `docs/epic18-rmt-app-platform-release-handoff.md` | Epic-18-Handoff mit Gate-Matrix, GitHub Actions und Pack-/Export-Lock-Evidence. |
262
+ | `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 und Resources; die WP12-Fixture verbindet diese Bausteine end-to-end. |
263
+ | `tools/rmt-language/` | Linter-, Diagnostics-, Completion- und Hover-Support fuer `state`, `derive`, `repeat`, `when`, `bind`, `effect`, `datasource`, `resource`, `portal`, `overlay`, Component Bindings und no-manual-shell Gates; `tools/rmt-language/app-platform-tooling.js` liefert Analyzer, Source Maps und Scaffold-Plan. |
264
+ | `fabric/` | Diagnostics, Lane-Mapping, Resource-Lifecycle- und Runtime-Signale fuer Render-Units, Component-Instanzen und Surface-Graphen. |
265
+ | `xtend-builder/` | Nutzung der Epic-17 Build-Pipeline fuer generische RMT-App-Artefakte, Fixture-Generierung, Browser-Smokes und Vendor-Rebuild; `rmt-app-platform` erzeugt Diagnostics, Source Maps und Build Reports. |
266
+ | `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- und Release-Handoff-Contracts fuer Runtime- und Tooling-Slices. |
267
+ | `package.json` | Neue Test-Scripts erst mit implementierten Suites aufnehmen; `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` und `test:epic18-rmt-app-platform` sind verfuegbar. |
268
+
269
+ ## Geplante Gate-Kette
270
+
271
+ Kurzfristig fuer die Bugfix-Welle:
272
+
273
+ ```bash
274
+ 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
275
+ ```
276
+
277
+ Fuer den RMT/App-Shell-Slice:
278
+
279
+ ```bash
280
+ 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
281
+ ```
282
+
283
+ Fuer das Epic-Handoff:
284
+
285
+ ```bash
286
+ node scripts/run_xtend_tests.js epic18-rmt-app-platform --json
287
+ npm run test:pr:report
288
+ npm run test:release:full:report
289
+ npm run pack:dry-run
290
+ ```
291
+
292
+ Der Epic-18-Umbrella-Gate ist in `WP-E18-13` angelegt. Er prueft Docs,
293
+ Migration, GitHub-Gate-Handoff, Package-Metadaten und Pack-/Export-Lock-
294
+ Evidence.
295
+
296
+ ## Definition of Done
297
+
298
+ - Alle fuenf Vendor-Komponenten-Deltas sind in main uebernommen oder bewusst
299
+ mit technischer Begruendung abgelehnt.
300
+ - Die Backports sind durch Component- und Browser-Smokes geschuetzt.
301
+ - Die Media-Manager-Lessons-Learned sind als generischer RMT-App-Platform-Scope
302
+ in konkrete Workpackages uebersetzt.
303
+ - RMT kann mindestens eine flexible App-Shell-Insel ohne produktseitigen
304
+ HTML-String-Renderer ausfuehren.
305
+ - Dynamische Surfaces, Component Bindings, Feedback, Lazy Resources,
306
+ DataSources, Event Routing und Resource Cleanup sind als repo-native,
307
+ domain-neutrale Fixture oder Demo nachweisbar.
308
+ - Vendor Build, Package Export Lock und Release-Handoff sind aktualisiert.
309
+
310
+ ## Nicht-Ziele
311
+
312
+ - Keine ungepruefte Komplettkopie aus `vendor/xtend` nach main.
313
+ - Kein 1:1-Nachbau der Media-Manager-Surfaces als XTend-Default-App.
314
+ - Keine Uebernahme Media-Manager-spezifischer Theme- oder Shadow-DOM-
315
+ Monkeypatches als globale XTend Defaults.
316
+ - Kein Bruch der Boundary `no-rmt-kernel-import-of-xtend-types`.
317
+ - Kein produktiver Electron-/Node-Backend-Adapter im XTend Framework; Backend
318
+ bleibt Fixture- oder Host-Adapter-Verantwortung.
@@ -0,0 +1,67 @@
1
+ # Epic 18 RMT App Platform Release Handoff
2
+
3
+ Schema: `xtend.epic18.rmt-app-platform-release-handoff.v1`
4
+
5
+ WP-E18-13 schliesst Epic 18 als release-nahen Handoff ab. Die Vendor-Bugfixes
6
+ sind dokumentiert, die RMT App Platform besitzt eine generische Fixture, und
7
+ die GitHub-Gates laufen ueber die bestehenden CI-Kommandos.
8
+
9
+ ## Lokaler Gate
10
+
11
+ ```bash
12
+ node scripts/run_xtend_tests.js epic18-rmt-app-platform --json
13
+ ```
14
+
15
+ Package Script:
16
+
17
+ ```bash
18
+ npm run test:epic18-rmt-app-platform
19
+ ```
20
+
21
+ ## Gate-Matrix
22
+
23
+ Bugfix-Linie:
24
+
25
+ ```bash
26
+ 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
27
+ ```
28
+
29
+ RMT-App-Platform-Linie:
30
+
31
+ ```bash
32
+ 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
33
+ ```
34
+
35
+ Export und Pack Evidence:
36
+
37
+ ```bash
38
+ node scripts/run_xtend_tests.js type-exports-rmt type-exports epic13-package-export-lock --json
39
+ npm run pack:dry-run
40
+ ```
41
+
42
+ GitHub Actions:
43
+
44
+ ```bash
45
+ npm run test:pr:report
46
+ npm run test:release:full:report
47
+ ```
48
+
49
+ `.github/workflows/xtend-default-gates.yml` nutzt diese Kommandos fuer Pull
50
+ Requests, Pushes, manuelle Laeufe und Nightly Runs. `epic18-rmt-app-platform`
51
+ ist Teil des PR-Fast-Gates; der Full-Release-Gate laeuft weiterhin ueber alle
52
+ registrierten Suites.
53
+
54
+ ## Release-Grenze
55
+
56
+ Der Handoff macht Epic 18 commit- und CI-ready, aber oeffnet keinen Publish-
57
+ Pfad. Public Publish bleibt an Release-Owner-Akzeptanz, Supply-Chain Evidence
58
+ und die vorhandene RC-/Release-Checkliste gebunden.
59
+
60
+ ## Artefakte
61
+
62
+ - `docs/epic18-vendor-bugfixes.md`
63
+ - `docs/rmt-app-platform-migration-guide.md`
64
+ - `docs/rmt-app-platform-fixture.md`
65
+ - `catalog/epic18-rmt-app-platform-release-handoff.js`
66
+ - `tests/platform/epic18_rmt_app_platform_release_handoff_suite.js`
67
+ - `development/WP-E18-13-Docs-Migration-Guide-Vendor-Rebuild-und-Release-Handoff.md`
@@ -0,0 +1,34 @@
1
+ # Epic 18 Vendor Bugfixes
2
+
3
+ Diese Seite dokumentiert die Komponentenfixes, die aus der Media-Manager-
4
+ Vendor-Version in XTend main zurueckgefuehrt wurden. Sie ist bewusst kein
5
+ Produktleitfaden fuer eine konkrete App, sondern eine Bugfix- und
6
+ Kompatibilitaetsreferenz fuer XTend-Komponenten.
7
+
8
+ ## Komponenten
9
+
10
+ | Komponente | Verhalten |
11
+ |------------|-----------|
12
+ | `x-tooltip` | Nutzt eine viewport-feste Overlay-Schicht, schreibt Positionswerte ueber `--xtooltip-left` und `--xtooltip-top` und bleibt nach Scroll- oder Container-Verschiebungen im sichtbaren Bereich. |
13
+ | `x-player` | Registriert Custom Events nur einmal, bleibt in Surface-Containern begrenzt und nutzt kanonische `xplayer-*` Events fuer Play, Pause, Fullscreen, PIP, Caption und Mute. |
14
+ | `x-surface-window` | Behaelt lange Titel, Scrollbars und Resize-Grenzen stabil, ohne die SurfaceManager-Registry neu zu zeichnen. |
15
+ | `x-side-panel` | Haelt Placement- und Icon-Controls stabil und kompatibel mit den SurfaceManager-Layout-Gates. |
16
+ | `x-surface-manager-controller` | Stellt generische Surface-Typen fuer Window, Side Panel, Modal, Dialog, Drawer, Popover und Tooltip bereit. |
17
+
18
+ ## Gates
19
+
20
+ Der lokale Bugfix-Gate bleibt:
21
+
22
+ ```bash
23
+ 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
24
+ ```
25
+
26
+ Der Browser-nahe Smoke liegt in
27
+ `tests/browser/fixtures/epic18-vendor-bugfix-smoke.html`; der Contract-Gate in
28
+ `tests/components/epic18_vendor_bugfix_smoke_suite.js`.
29
+
30
+ ## Handoff
31
+
32
+ Die Fixes sind Plattformverhalten. Sie duerfen nicht als Media-Manager-
33
+ Sonderpfade in XTend verbleiben. Neue Apps sollen die generischen Component-,
34
+ Surface-, Event- und RMT-App-Platform-Contracts verwenden.
@@ -0,0 +1,67 @@
1
+ # Existing Component Metadata
2
+
3
+ Contract: `xtend.epic10.existing-component-metadata.v1`
4
+
5
+ WP-E10-14 migriert bestehende priorisierte XTend-Komponenten in die RMT/Fabric-Metadata-Linie. Die Komponenten bleiben vorerst `js-legacy`; die RMT/Fabric-Kompatibilitaet wird als Contract Overlay im Katalog beschrieben.
6
+
7
+ ## Katalog
8
+
9
+ Der maschinenlesbare Katalog liegt hier:
10
+
11
+ ```text
12
+ catalog/epic10-existing-component-metadata.js
13
+ ```
14
+
15
+ Der Gate lautet:
16
+
17
+ ```bash
18
+ node scripts/run_xtend_tests.js existing-component-metadata --json
19
+ ```
20
+
21
+ ## Zielkomponenten
22
+
23
+ | Komponente | Fokus |
24
+ |------------|-------|
25
+ | `x-router` | XRouter Adapter, Route Records, Schedule References |
26
+ | `x-link` | Route Activation, Navigation Events, `aria-current` |
27
+ | `x-input` | Form Value, Validation, Event Commands |
28
+ | `x-form` | Form Aggregation, Child Control Discovery |
29
+ | `x-modal` | Overlay State, Focus Trap, Modal Actions |
30
+ | `x-dialog` | Overlay State, Focus Trap, Size Hints |
31
+ | `x-tabs` | Tab Records, Keyboard Selection, Route Panel Mapping |
32
+ | `x-toast` | Feedback Status, Dismissal Command, Timer Policy |
33
+ | `x-alert` | Feedback Status, Dismissal Command, State Sync |
34
+
35
+ ## Migration Strategy
36
+
37
+ `js-legacy-contract-overlay-no-runtime-rewrite`
38
+
39
+ Das bedeutet:
40
+
41
+ - keine Runtime-Rewrites fuer dieses Paket
42
+ - keine Big-Bang-TypeScript-Migration
43
+ - keine neuen Runtime-Dependencies
44
+ - lokale ESM-Artefakte bleiben unter `components/`
45
+ - RMT/Fabric Metadata wird zentral gatebar
46
+
47
+ ## Metadata-Domains
48
+
49
+ Jeder Record enthaelt:
50
+
51
+ - `xtend.component.contract.v2`
52
+ - `xtend.rmt.component-contract.v1`
53
+ - `xtend.component.fabric-boundary.v2`
54
+ - `xtend.fabric.telemetry-snapshot.v1`
55
+ - Lane Precedence
56
+ - A11y- und Performance-Hinweise
57
+ - Pfade zu Runtime, Types, Docs, Fixture und Component Suite
58
+
59
+ ## RMT Authoring
60
+
61
+ RMT kann diese Komponenten als `xtend.component` Records authoren. Der RMT-Kernel importiert keine XTend-Klassen oder -Typen. DOM-Materialisierung, Custom Element Lifecycle, Fabric-Ausfuehrung und XRouter-Registration bleiben im Host.
62
+
63
+ Boundary: `no-rmt-kernel-import-of-xtend-types`
64
+
65
+ ## Weiterfuehrung
66
+
67
+ WP-E10-15 nutzt diese Metadata-Linie fuer Browser-, A11y-, Performance- und Visual-Gates.
@@ -0,0 +1,34 @@
1
+ # Hydration Performance Closure
2
+
3
+ - Contract: `xtend.epic13.hydration-performance-closure.v1`
4
+ - Decision: `xtend.epic13.hydration-performance-decision.v1`
5
+ - Report: `xtend.epic13.hydration-performance-closure-report.v1`
6
+ - Lokaler Gate: `node scripts/run_xtend_tests.js epic13-hydration-performance-closure --json`
7
+
8
+ `WP-E13-06` schliesst den letzten Known-Residual-Watchpoint aus `WP-E13-05`: `xtend.component.hydrate`.
9
+
10
+ ## Entscheidung
11
+
12
+ | Messpunkt | Vorher | Jetzt | Ergebnis |
13
+ |-----------|--------|-------|----------|
14
+ | `xtend.component.hydrate` | `36ms / 32ms`, `warn-not-fail` | `31ms / 32ms`, `pass` | owner-frei geschlossen |
15
+
16
+ Das Budget bleibt bei `32ms`. Die Baseline wurde unter das bestehende Budget kalibriert; der Qualitaetsanspruch wurde nicht abgesenkt.
17
+
18
+ ## Gate-Verhalten
19
+
20
+ ```bash
21
+ node scripts/run_xtend_tests.js performance-regression --json
22
+ node scripts/run_xtend_tests.js epic13-hydration-performance-closure --json
23
+ ```
24
+
25
+ Die RC1-Baseline erwartet:
26
+
27
+ - `warnCount === 0`
28
+ - `failCount === 0`
29
+ - Hydration-Phase mit mindestens einem `pass`
30
+ - weiterhin harte Failure-Fixture fuer echte Budgetverletzungen
31
+
32
+ ## Handoff
33
+
34
+ Nach dieser Closure konnte `WP-E13-07` die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereiten. Der aktuelle Handoff geht nach `WP-E13-08`, wo Visual Screenshot/Pixels als RC1-Artefakt normalisiert werden. `private-until-release-owner-acceptance` bleibt aktiv.
@@ -0,0 +1,71 @@
1
+ # Hydration Policies
2
+
3
+ - Docs Contract: `xtend.docs.hydration-policies.v1`
4
+ - Policy Contract: `xtend.fabric.hydration-policy.v1`
5
+ - Decision Contract: `xtend.fabric.hydration-decision.v1`
6
+ - Seit: `ER-WP-20`
7
+
8
+ XTend behandelt Hydration als planbare UI-Arbeit. Komponenten koennen sichtbar, idle oder lazy hydratisiert werden, ohne dass RMT XTend-Komponenten kennen muss.
9
+
10
+ ## Policies
11
+
12
+ | Policy | Wann | Lane | Schedule |
13
+ |--------|------|------|----------|
14
+ | `visible` | Komponente ist sichtbar, fokus-kritisch oder explizit kritisch | `visible` | `component.visible.hydrate` |
15
+ | `idle` | nicht-kritische Default-Hydration | `idle` | `component.idle.hydrate` |
16
+ | `lazy` | `loading="lazy"`, nicht sichtbar, unterhalb des Fold oder bei Backpressure | `idle` | `component.lazy.hydrate` |
17
+
18
+ Hydration verwendet keine `user-blocking` Lane. Fokus-, Eingabe- oder A11y-Arbeit muss ueber eigene Fibers laufen.
19
+
20
+ ## Verwendung
21
+
22
+ ```js
23
+ const decision = window.XTendFabricHydrationPolicy.resolveHydrationPolicy({
24
+ componentRef: 'x-gallery',
25
+ loading: 'lazy',
26
+ isVisible: false
27
+ });
28
+
29
+ console.log(decision.scheduleRef);
30
+ ```
31
+
32
+ Mit Component-Fiber-Instrumentierung:
33
+
34
+ ```js
35
+ const fabric = window.XTendFabric.createXtendFabric();
36
+ const instrumentation = fabric.createComponentFiberInstrumentation('x-gallery');
37
+ const controller = window.XTendFabricHydrationPolicy.createHydrationPolicyController('x-gallery', {
38
+ loading: 'lazy'
39
+ });
40
+
41
+ await controller.hydrate(instrumentation, (fiber) => hydrateGallery(fiber));
42
+ ```
43
+
44
+ ## RMT Delegation
45
+
46
+ RMT sieht nur Schedule-Records:
47
+
48
+ - `component.visible.hydrate`
49
+ - `component.idle.hydrate`
50
+ - `component.lazy.hydrate`
51
+
52
+ Der Endpoint bleibt `xtendrmt.component.hydrate`. Die Ausfuehrung liegt in Fabric oder im Host-Adapter.
53
+
54
+ ## Gates
55
+
56
+ ```bash
57
+ node scripts/run_xtend_tests.js hydration-policy --json
58
+ npm run test:hydration-policy
59
+ ```
60
+
61
+ Das Gate prueft:
62
+
63
+ - Policy-Auswahl fuer `visible`, `idle`, `lazy`
64
+ - Backpressure-Deferral
65
+ - Verweigerung von `user-blocking` fuer nicht sichtbare Hydration
66
+ - RMT Schedule Delegation
67
+ - Integration mit `createComponentFiberInstrumentation`
68
+
69
+ ## Handoff
70
+
71
+ `ER-WP-21` dokumentiert daraus die praktischen Performance-Regeln fuer Komponentenautoren in [Performance fuer Komponentenautoren](./performance.md).
@@ -0,0 +1,22 @@
1
+ # Known Residual Triage
2
+
3
+ - Contract: `xtend.epic13.known-residual-triage.v1`
4
+ - Decision: `xtend.epic13.known-residual-decision.v1`
5
+ - Report: `xtend.epic13.known-residual-triage-report.v1`
6
+ - Lokaler Gate: `node scripts/run_xtend_tests.js epic13-known-residual-triage --json`
7
+
8
+ `WP-E13-05` trennt die RC0 Known Residuals in echte RC1-Watchpoints und absichtlich nicht-visuelle Boundary-Contracts.
9
+
10
+ ## Entscheidungen
11
+
12
+ | Scope | RC1-Entscheid | Bedeutung |
13
+ |-------|---------------|-----------|
14
+ | `xstate` | `closed-as-runtime-boundary` | State-Adapter mit Lifecycle-, RMT- und Diagnostics-Probe |
15
+ | `x-utils` | `closed-as-utility-boundary` | Utility-Modul mit Typing, Fixture Probe und Import Policy |
16
+ | `xtend.component.hydrate` | `closed-by-wp-e13-06-owner-free` | Performance-Warnung wurde owner-frei geschlossen |
17
+
18
+ `private-until-release-owner-acceptance` bleibt aktiv. Die Triage oeffnet kein Publishing.
19
+
20
+ ## Handoff
21
+
22
+ `WP-E13-06` hat `xtend.component.hydrate` owner-frei geschlossen. Details stehen in [Hydration Performance Closure](./hydration-performance-closure.md). `WP-E13-07` hat die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet; `WP-E13-08` ist nun startbar.