@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,334 @@
1
+ # XTendRMT App-DSL Reference
2
+
3
+ - Status: aktuell nach Epic 05 Abschluss, vNext-first aktualisiert
4
+ - Contract: `xtend.docs.xtendrmt-app-dsl.v1`
5
+ - Schema-Quelle: `xtendrmt/rmt.schema.json`
6
+ - Normalizer: `createRmtFormat().normalizeDocument(...)`
7
+
8
+ ## Zweck
9
+
10
+ Die App-DSL beschreibt eine renderbare Anwendung als RMT-Dokument. Neue
11
+ Authoring-Arbeit nutzt RMT vNext; Legacy-/App-DSL-JSON ist weiterhin der
12
+ normalisierte Core-Output, Runtime Registry und Compatibility Surface. XTend UI,
13
+ XRouter, Vanilla JS oder andere Hosts werden ueber Adapter Records angebunden,
14
+ ohne dass der Kernel Host-Runtime importiert.
15
+
16
+ Seit `WP-E13-09` buendelt [RMT Production
17
+ Readiness](./rmt-production-readiness.md) diese App-DSL unter
18
+ `xtend.epic13.rmt-production-readiness.v1` als RC1-Schnitt fuer Shell-first App
19
+ Shell, native Routes, Components, Fabric/Lanes, Lifecycle Telemetry,
20
+ Diagnostics und Artifact Parity.
21
+
22
+ ## Minimales vNext-Dokument
23
+
24
+ ```rmt
25
+ template app.shell {
26
+ state app.ready type boolean initial true
27
+
28
+ portal surface.root root "#app-root" layer surface
29
+
30
+ surface app.home kind page component x-section {
31
+ source state app.ready
32
+ portal surface.root
33
+
34
+ lane visible weight 80 {
35
+ hydrate app-shell from state app.ready
36
+ }
37
+ }
38
+ }
39
+ ```
40
+
41
+ Der Compiler senkt diese Quelle in Core-Domains wie `adapters`, `components`,
42
+ `routes`, `schedules`, `surfaces` und `templates`. Diese Domains sind fuer
43
+ Runtime-Adapter stabil, aber nicht mehr die bevorzugte Schreiboberflaeche.
44
+
45
+ ## Native Domains als Compiler-Output
46
+
47
+ | Domain | Aufgabe |
48
+ |--------|---------|
49
+ | `adapters` | Host-Faehigkeiten, Runtime Surface, Capability Negotiation |
50
+ | `components` | fachliche Component Records, Host Adapter und Hydration-Hinweise |
51
+ | `routes` | Navigation, Route-Ziele, Query/Params und Schedule References |
52
+ | `schedules` | wiederverwendbare Scheduler Policies |
53
+ | `templates` | `dom_descriptor`, Props, Slots, Bindings und Hydration Contracts |
54
+ | `surfaces` | SurfaceManager-, Window-, Panel- und Overlay-Handoffs |
55
+
56
+ `manifest.metadata` bleibt fuer Beschreibung, Handoff, Historie und Demo-Notizen
57
+ gueltig. Neue operative Routes, Components und Schedules gehoeren in vNext-
58
+ Source und werden daraus in die Registry projiziert.
59
+
60
+ ## Adapter Records
61
+
62
+ Adapter werden in vNext implizit durch Surface-, Route- und Endpoint-Nutzung
63
+ sichtbar. Die Registry enthaelt danach stabile Adapter Records fuer Hosts:
64
+
65
+ - `xtend.xrouter`
66
+ - `xtend.component`
67
+ - `xtend.surface`
68
+ - `rmt.state-scheduler-diagnostics`
69
+ - `vanilla.component`
70
+
71
+ `kernelVisible: false` ist fuer host-spezifische Adapterdaten der Normalfall.
72
+ Der Kernel darf diese Records indizieren, aber keine Host-Runtime laden.
73
+
74
+ ## Component Records
75
+
76
+ Ein vNext-Surface beschreibt das fachliche Host-Element:
77
+
78
+ ```rmt
79
+ template settings.components {
80
+ portal surface.root root "#settings-root" layer surface
81
+
82
+ surface settings.card kind card component x-card {
83
+ portal surface.root
84
+
85
+ lane visible weight 80 {
86
+ mount x-card
87
+ hydrate settings-card from endpoint xtendrmt.component.hydrate
88
+ }
89
+ }
90
+ }
91
+ ```
92
+
93
+ Der Normalizer macht daraus Runtime-Registry-Eintraege, die ueber
94
+ `componentRegistry.byAdapter["xtend.component"]` und
95
+ `componentRegistry.byTag["x-card"]` konsumierbar sind.
96
+
97
+ ## Route Records
98
+
99
+ Route-Metadaten bleiben deklarativ und koennen an Surfaces gekoppelt werden:
100
+
101
+ ```rmt
102
+ template settings.routes {
103
+ state settings.tab type string initial "profile"
104
+
105
+ portal surface.root root "#app-root" layer surface
106
+
107
+ surface settings.page kind page component x-section {
108
+ source state settings.tab
109
+ portal surface.root
110
+
111
+ lane visible weight 80 {
112
+ hydrate route-view from endpoint xtendrmt.route.render
113
+ hydrate settings-shell from state settings.tab
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
119
+ Der Normalizer erzeugt daraus Route- und Schedule-Indizes fuer
120
+ `routeRegistry.byRouter["xtend.xrouter"]`, `routeRegistry.byId[...]` und
121
+ `routeRegistry.byPath[...]`. `title`, `documentTitle`, `titleTemplate`,
122
+ `metaDescription` und `metaKeywords` bleiben deklarative Route-Metadaten:
123
+ XRouter schreibt daraus `document.title` sowie `description`/`keywords`, ohne
124
+ dass RMT XTend oder XRouter importiert.
125
+
126
+ ## Schedule Records
127
+
128
+ Schedules sind in vNext `lane`- und Lifecycle-Klauseln:
129
+
130
+ ```rmt
131
+ template scheduler.page {
132
+ portal surface.root root "#app-root" layer surface
133
+
134
+ surface app.shell kind page component x-section {
135
+ portal surface.root
136
+
137
+ lane visible weight 80 {
138
+ hydrate route-shell from endpoint xtendrmt.route.render
139
+ }
140
+
141
+ lane idle weight 20 {
142
+ hydrate help-panel from endpoint xtendrmt.component.hydrate
143
+ }
144
+ }
145
+ }
146
+ ```
147
+
148
+ Erprobte Endpoint-Namen bleiben:
149
+
150
+ - `xtendrmt.route.render`
151
+ - `xtendrmt.component.mount`
152
+ - `xtendrmt.component.hydrate`
153
+ - `xtendrmt.vanilla.mount`
154
+ - `xtendrmt.diagnostics.snapshot`
155
+ - `xtendrmt.template.inspect`
156
+
157
+ ## Template Records und Trusted DOM
158
+
159
+ Neue Templates werden aus vNext-Surfaces und Slots in `dom_descriptor` Output
160
+ gesenkt:
161
+
162
+ ```rmt
163
+ template settings.template {
164
+ portal surface.root root "#settings-root" layer surface
165
+
166
+ surface settings.shell kind page component x-card {
167
+ portal surface.root
168
+
169
+ lane visible weight 80 {
170
+ hydrate settings-card from endpoint xtendrmt.component.hydrate {
171
+ slot header hydrate settings-header
172
+ slot body hydrate settings-body
173
+ }
174
+ }
175
+ }
176
+ }
177
+ ```
178
+
179
+ `html_fragment` bleibt kompatibel, braucht aber eine explizite
180
+ Trusted-DOM-Boundary:
181
+
182
+ ```rmt
183
+ template settings.legacyHtml {
184
+ surface settings.legacy kind card component x-card {
185
+ lane visible weight 60 {
186
+ hydrate legacy-fragment from endpoint docs.parse {
187
+ trust boundary "xtend.security.sanitizing-boundary.v1"
188
+ sanitize html_fragment
189
+ }
190
+ }
191
+ }
192
+ }
193
+ ```
194
+
195
+ Der Kernel darf solche Records normalisieren und schedulen. Sanitizing, Trusted
196
+ DOM und konkrete DOM-Sinks bleiben Host-Adapter-Aufgabe. Siehe [Trusted DOM und
197
+ Sanitizing](./trusted-dom-sanitizing.md).
198
+
199
+ ## Shell-first Host Apps
200
+
201
+ Die Docs-App nutzt diesen Pfad produktiv als Shell-first-Pilot.
202
+ `docs/xtendrmt-parsedown-docs.rmt` beschreibt `docs.app.shell` als
203
+ `dom_descriptor`, `docs.header.search` als Header-Search-Slot-Template und
204
+ `docs.media.lazy` als future-ready Slot fuer XPlayer-Tutorials.
205
+ `docs/utils/pageloader.js` rendert zuerst die RMT-Shell und setzt
206
+ Parsedown-HTML anschliessend nur noch in den `data-rmt-slot="content"` Slot.
207
+
208
+ Wichtig: Auch in diesem Modus bleibt RMT framework-agnostisch. Parsedown,
209
+ Rich-HTML-Sinks, XPlayer-Lazy-Loading und konkrete DOM-Events werden vom
210
+ Host-Adapter ausgefuehrt. RMT stellt Shell-Records, Slots, Schedules und
211
+ Diagnostics bereit.
212
+
213
+ ## RMT-first XTend Apps
214
+
215
+ Ab Epic 10 ist das App-Authoring fuer vollstaendige XTend-Apps als Contract
216
+ `xtend.rmt.first-class-app-authoring.v1` beschrieben. Das Ziel ist eine App,
217
+ deren Shell, Routes, Components, Templates, Events, Commands, Hydration
218
+ Policies, Fabric-Lanes und Diagnostics komplett in RMT stehen.
219
+
220
+ Der Referenzpfad liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`. Der
221
+ Gate ist:
222
+
223
+ ```bash
224
+ node scripts/run_xtend_tests.js rmt-first-class-app --json
225
+ ```
226
+
227
+ Der Contract bleibt bewusst host-neutral. RMT kennt `xtend.component`,
228
+ `xtend.xrouter` und `rmt.state-scheduler-diagnostics` als Adapter-Records,
229
+ importiert aber keine XTend-Komponenten und kein XRouter-Modul in den Kernel.
230
+ Details stehen in `development/XTend-RMT-First-Class-App-Authoring.md`.
231
+
232
+ Der kanonische Entwicklerguide fuer komplette XTend Apps liegt in [RMT-first
233
+ XTend Apps](./rmt-first-xtend-apps.md). Der Epic-10-Abschluss und die
234
+ Release-Gates sind in [Epic 10 Release Handoff](./epic10-release-handoff.md)
235
+ dokumentiert.
236
+
237
+ ## Component Fabric Context
238
+
239
+ XTend Components koennen Fabric-Hints aus vNext-Lanes und Legacy-Metadata
240
+ erhalten:
241
+
242
+ ```rmt
243
+ template pages.settings {
244
+ portal surface.root root "#app-root" layer surface
245
+
246
+ surface pages.settings kind page component x-form {
247
+ portal surface.root
248
+
249
+ lane idle weight 40 {
250
+ hydrate settings-form from endpoint xtendrmt.component.hydrate
251
+ }
252
+ }
253
+ }
254
+ ```
255
+
256
+ Der produktive Adapter loest diese Daten ueber
257
+ `xtend.component.fabric-lane-ingestion.v2` auf. RMT Schedule Records haben
258
+ Vorrang vor Component Metadata, Runtime Overrides, Static Contracts und
259
+ Scaffold Defaults. Der Gate ist
260
+ `node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json`.
261
+
262
+ ## Component Lifecycle Telemetry
263
+
264
+ Der Adapter erzeugt ab `xtend.component.lifecycle-telemetry.v1` Lifecycle
265
+ Records fuer Component-Arbeit. RMT-Dokumente muessen dafuer keinen XTend-Code
266
+ importieren; sie liefern nur Component-, Route-, Schedule- und Fabric-Kontext.
267
+ Der Host kann `telemetryCollector`, `recordTelemetry` oder eine Fabric-Instanz
268
+ uebergeben.
269
+
270
+ ```js
271
+ const records = [];
272
+ adapter.mountComponent(root, 'pages.settings', model, {
273
+ mapping,
274
+ telemetryCollector: records
275
+ });
276
+
277
+ const snapshot = fabric.createTelemetrySnapshot({
278
+ componentTelemetry: records
279
+ });
280
+ ```
281
+
282
+ `snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`,
283
+ `event`, `unmount` und `error` nach Operation, Component und Lane.
284
+ Component-Fehler, Deadline-Ueberschreitungen und explizite
285
+ `backpressureSignal` Metadata koennen Backpressure erzeugen. Der Gate ist
286
+ `node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json`.
287
+
288
+ Hosts koennen Fabric Snapshots direkt an die produktive RMT Bridge uebergeben:
289
+
290
+ ```js
291
+ bridge.recordTelemetrySnapshot(snapshot, {
292
+ scheduleRef: "diagnostics.snapshot"
293
+ });
294
+ ```
295
+
296
+ Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und
297
+ `rmt.backpressure.*` und plant bei Bedarf den Diagnostics-Snapshot-Endpunkt.
298
+
299
+ ## Runtime Registry
300
+
301
+ Die Registry ist die konsumierbare Grenze zwischen DSL und Adapter. Adapter
302
+ lesen Registry-Eintraege, nicht rohe Demo-Metadaten:
303
+
304
+ ```js
305
+ const format = createRmtFormat();
306
+ const normalizedDocument = format.normalizeDocument(document);
307
+ const registry = format.createRuntimeRegistries(normalizedDocument, {
308
+ requiredRoutes: ["settings", "/settings"],
309
+ requiredComponents: ["settings.card", "x-card"]
310
+ });
311
+ ```
312
+
313
+ ## Diagnostics
314
+
315
+ Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu
316
+ erzwingen. Wichtige Gruppen:
317
+
318
+ - `rmt.dsl.reference.*` fuer fehlende oder ungueltige Referenzen
319
+ - `rmt.runtime.registry.*` fuer Registry-Konflikte oder fehlende Required-Refs
320
+ - `rmt.xrouter.*` fuer Route-Mapping und Navigation
321
+ - `rmt.xtend.component.*` fuer Component-Mapping, Mounting und Hydration
322
+ - `rmt.bridge.*` fuer State-, Scheduler- und Diagnostics-Bridge
323
+
324
+ ## Review-Checkliste
325
+
326
+ - App-Shell-Beispiele sind `rmt` und vNext-first.
327
+ - Runtime-Registry-JSON ist als generierter Output oder Compatibility Surface
328
+ eingeordnet.
329
+ - Routes referenzieren Components und Schedules nur per ID.
330
+ - Components referenzieren Host Adapter nur per ID.
331
+ - Schedule Policies sind zentral und wiederverwendbar.
332
+ - XTend-spezifische Daten bleiben ausserhalb des Kernels.
333
+ - Nicht-XTend Hosts erhalten eigene Adapter statt XTend-Fallbacks.
334
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json` laeuft.
@@ -0,0 +1,266 @@
1
+ # XTendRMT Native Migration Guide
2
+
3
+ - Status: produktiv nach Epic 05 Abschluss
4
+ - Contract: `xtend.rmt.native-migration-guide.v1`
5
+ - Mindestgates:
6
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json`
7
+ - `node scripts/run_xtend_tests.js references --json`
8
+ - `npm test`
9
+
10
+ ## Zweck
11
+
12
+ Dieser Guide beschreibt die Migration von fruehen XTendRMT-Metadatenpfaden zu
13
+ nativen RMT Top-Level-Domains und weiter zu RMT vNext. Die Migration ist
14
+ additiv und opt-in: bestehende XTend-, React-, Vue-, Vanilla-JS- und
15
+ Custom-Apps duerfen weiterlaufen, waehrend neue App-Shells in RMT vNext
16
+ geschrieben werden. `adapters`, `components`, `routes`, `schedules` und
17
+ `templates` bleiben Runtime Registry, Compiler-Output und Compatibility Mirror.
18
+
19
+ Der aktuelle Produktueberblick liegt in [XTendRMT Developer Overview](./xtendrmt-overview.md). Die App-DSL-Details stehen in [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md), die produktive Adapter-/Bridge-Verkabelung in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
20
+
21
+ ## Zielzustand
22
+
23
+ Neue Dokumente sollen diese Quellen nutzen:
24
+
25
+ | Bereich | Zielquelle |
26
+ |---------|------------|
27
+ | Host Adapter | vNext Surface-/Endpoint-Nutzung, Output: `adapters` |
28
+ | XTend Components | `surface ... component x-*`, Output: `components` mit `adapter: "xtend.component"` |
29
+ | XRouter Routes | vNext Shell-/Route-Surface, Output: `routes` mit `router: "xtend.xrouter"` |
30
+ | Scheduler Policies | `lane` und Lifecycle-Operationen, Output: `schedules` |
31
+ | Markup oder Fragmente | `surface`, `slot`, `trust boundary`, Output: `templates` |
32
+ | Beschreibung, Handoff, Historie | `manifest.metadata` |
33
+
34
+ `manifest.metadata` bleibt fuer Produktbeschreibung, Handoff-Notizen,
35
+ Demo-Historie und bewusst historische Pilotdaten gueltig. Operative Routes,
36
+ Components und Schedules sollen dort nicht neu entstehen.
37
+ Template-only-Dokumente bleiben kompatibel.
38
+
39
+ ## vNext-Zielbild
40
+
41
+ ```rmt
42
+ template settings.migration {
43
+ state settings.tab type string initial "profile"
44
+
45
+ portal surface.root root "#settings-root" layer surface
46
+
47
+ surface settings.card kind card component x-card {
48
+ source state settings.tab
49
+ portal surface.root
50
+
51
+ lane visible weight 80 {
52
+ hydrate settings-card from state settings.tab
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ Die JSON-Beispiele in den folgenden Schritten sind bewusst als Legacy Input
59
+ oder Runtime-Registry-Output markiert. Sie zeigen Migrationsevidence, nicht die
60
+ neue Schreibform.
61
+
62
+ ## Migrationsmatrix
63
+
64
+ | Ausgangslage | Migration |
65
+ |--------------|-----------|
66
+ | Template-only `.rmt` Dokument | bleibt gueltig; nur bei App-DSL-Bedarf native Domains ergaenzen |
67
+ | `manifest.metadata.routes` | nach `routes` verschieben |
68
+ | `manifest.metadata.components` | nach `components` verschieben |
69
+ | `manifest.metadata.schedules` | nach `schedules` verschieben |
70
+ | XRouter-spezifische Demo-Initialisierung | durch `createRmtXRouterAdapter` ersetzen |
71
+ | XTend-spezifische Demo-Mount-Logik | durch `createRmtXtendComponentAdapter` ersetzen |
72
+ | manuelle Scheduler-/State-Bruecke | durch `createRmtStateSchedulerDiagnosticsBridge` ersetzen |
73
+ | nicht-XTend Host | eigenen Adapter wie `vanilla.component` deklarieren |
74
+
75
+ ## Schritt 1: Adapter im Registry-Output explizit machen
76
+
77
+ Alte Demo-Metadaten enthalten oft implizites Wissen wie "diese Route nutzt XRouter" oder "diese Component ist XTend". Der erste Migrationsschritt ist ein expliziter Adapter-Record.
78
+
79
+ ```json
80
+ {
81
+ "id": "xtend.component",
82
+ "kind": "component_adapter",
83
+ "runtimeSurface": ["esm", "browser_classic"],
84
+ "providedCapabilities": ["components", "customElements", "hydration", "scheduleRefs"],
85
+ "kernelVisible": false
86
+ }
87
+ ```
88
+
89
+ `kernelVisible: false` ist fuer host-spezifische Adapterdaten Pflicht. Es bedeutet: Der Kernel darf den Record validieren und indizieren, aber keine XTend-Laufzeit importieren.
90
+
91
+ ## Schritt 2: Components aus Legacy-Metadaten heben
92
+
93
+ Vorher: Legacy `manifest.metadata`
94
+
95
+ ```json
96
+ {
97
+ "manifest": {
98
+ "metadata": {
99
+ "components": [
100
+ {
101
+ "id": "settings.card",
102
+ "tag": "x-card"
103
+ }
104
+ ]
105
+ }
106
+ }
107
+ }
108
+ ```
109
+
110
+ Nachher: Compatibility-/Registry-Output
111
+
112
+ ```json
113
+ {
114
+ "components": [
115
+ {
116
+ "id": "settings.card",
117
+ "kind": "custom_element",
118
+ "adapter": "xtend.component",
119
+ "tag": "x-card",
120
+ "schedule": "component.idle.hydrate"
121
+ }
122
+ ]
123
+ }
124
+ ```
125
+
126
+ Damit kann `createRmtFormat().createRuntimeRegistries(...)` die Component ueber `componentRegistry.byAdapter["xtend.component"]` bereitstellen.
127
+
128
+ ## Schritt 3: Routes aus Legacy-Metadaten heben
129
+
130
+ Vorher: Legacy `manifest.metadata`
131
+
132
+ ```json
133
+ {
134
+ "manifest": {
135
+ "metadata": {
136
+ "routes": [
137
+ {
138
+ "path": "/settings",
139
+ "component": "settings.card"
140
+ }
141
+ ]
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ Nachher: Compatibility-/Registry-Output
148
+
149
+ ```json
150
+ {
151
+ "routes": [
152
+ {
153
+ "id": "settings",
154
+ "path": "/settings",
155
+ "router": "xtend.xrouter",
156
+ "component": "settings.card",
157
+ "template": "settings.shell",
158
+ "schedule": "route.visible.render"
159
+ }
160
+ ]
161
+ }
162
+ ```
163
+
164
+ Damit kann `createRmtXRouterAdapter` die Route ueber `routeRegistry.byRouter["xtend.xrouter"]` mappen und mit `registerRoutes` an XRouter uebergeben.
165
+
166
+ ## Schritt 4: Schedules zentralisieren
167
+
168
+ Vorher lagen Endpoint-Hints oft in Route-, Component- oder Template-Metadaten. Nach der Migration steht die Policy zentral in `schedules`.
169
+
170
+ ```json
171
+ {
172
+ "schedules": [
173
+ {
174
+ "id": "route.visible.render",
175
+ "endpointName": "xtendrmt.route.render",
176
+ "lane": "visible",
177
+ "priority": 80,
178
+ "preferIdle": false
179
+ },
180
+ {
181
+ "id": "component.idle.hydrate",
182
+ "endpointName": "xtendrmt.component.hydrate",
183
+ "lane": "idle",
184
+ "priority": 40,
185
+ "preferIdle": true
186
+ }
187
+ ]
188
+ }
189
+ ```
190
+
191
+ Routes und Components referenzieren nur noch `schedule`. Die Ausfuehrung laeuft ueber `createRmtStateSchedulerDiagnosticsBridge`.
192
+
193
+ ## Schritt 5: Demo-Brueckenlogik entfernen
194
+
195
+ Dauerhafte Demo-Brueckenlogik soll nicht mehr neue Produktlogik tragen. Ein migrierter Host-Start nutzt die produktiven Factories:
196
+
197
+ ```js
198
+ const format = createRmtFormat();
199
+ const normalizedDocument = format.normalizeDocument(document);
200
+ const registry = format.createRuntimeRegistries(normalizedDocument);
201
+
202
+ const routes = createRmtXRouterAdapter({ routerElement }).registerRoutes(registry);
203
+ const components = createRmtXtendComponentAdapter({ document, manifest }).mapComponents(registry);
204
+ const bridge = createRmtStateSchedulerDiagnosticsBridge({ schedules: normalizedDocument.schedules });
205
+
206
+ bridge.recordAdapterResult(routes, { scheduleRef: 'route.visible.render' });
207
+ ```
208
+
209
+ Wenn Speziallogik weiterhin notwendig ist, gehoert sie in einen Adapter oder in upstream RMT Source, nicht in eine Demo-Datei.
210
+
211
+ ## Bestcase-Referenz
212
+
213
+ `xtendrmt/xtendrmt-bestcase-demo.rmt` ist die produktive Authoring-Referenz fuer RMT vNext:
214
+
215
+ - die `.rmt` Datei nutzt `template`, `surface`, `lane`, Lifecycle-Operationen, Slots, Event-Actions, State, Selectors, Actions, DataSources, Portals, Overlays, Resources und Remote Surfaces statt JSON
216
+ - `xtendrmt/xtendrmt-bestcase-demo.core.json` ist der byte-stabile vNext-Core-Output
217
+ - die Browser-Demo projiziert vNext-Core zur Laufzeit auf `adapters`, `components`, `routes`, `schedules`, Component Capability Registry, Player Contract und Resource Ownership
218
+ - `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter`, `createRmtStateSchedulerDiagnosticsBridge` und `createRmtComponentCapabilityRegistry` bleiben die produktiven Adapterpfade
219
+ - `nativeDemoMigration` wird in der Runtime-Projektion als Handoff-Metadatum erhalten
220
+
221
+ `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` ist die browsernahe Regression fuer den migrierten Pfad. Sie prueft zusaetzlich `vanilla.component`, damit der Zielzustand framework-agnostisch bleibt.
222
+
223
+ Fuer die offizielle Docs-App gilt: Parsedown bleibt der aktive Markdown-Parser, aber die sichtbare App Shell wird Shell-first aus `docs.app.shell` im RMT-Dokument gerendert. Der RMT-Scheduling- und Shell-Pfad fuer Parsedown, Search und future-ready Media-Slots ist ueber [XTendRMT Parsedown Scheduling Pilot](./xtendrmt-parsedown-scheduling.md) dokumentiert und bleibt host-neutral.
224
+
225
+ ## SurfaceManager Migration
226
+
227
+ Ab `WP-SM-09` besitzt der SurfaceManager einen eigenen Migrationsguide: [SurfaceManager Migration Guide](./surface-manager-migration-guide.md) (`docs/surface-manager-migration-guide.md`).
228
+
229
+ Der Surface-Pfad ist additiv:
230
+
231
+ - bestehende `components[*].metadata.surface` Records bleiben gueltig
232
+ - native `surfaces[*]` Records werden fuer komplexe App Shells bevorzugt
233
+ - Dual Records halten `id`, `type`, `manager`, `component`, `route`, `schedule` und `stateKey` synchron
234
+ - `xtend.surface` bleibt `surface_adapter` Handoff, bis eine produktive Adapter Runtime implementiert wird
235
+
236
+ ## Was nicht migriert werden muss
237
+
238
+ Nicht jede Datei braucht sofort native Domains.
239
+
240
+ Nicht migrieren:
241
+
242
+ - reine Template-only-Dokumente ohne Routing- oder Component-Bedarf
243
+ - historische Demos mit `manual-legacy` Status
244
+ - Metadaten, die nur Produktbeschreibung oder Handoff-Notizen enthalten
245
+ - React-, Vue-, Vanilla- oder Custom-Hosts, die RMT noch nicht als Scheduler nutzen
246
+
247
+ Migrieren:
248
+
249
+ - neue `.rmt` App-DSL-Dokumente
250
+ - Demo-Code mit operativer Route-/Component-Bridge
251
+ - produktive Route- oder Component-Flows
252
+ - Host-Pfade, die Scheduler Endpoint Policies brauchen
253
+
254
+ ## Review-Checkliste
255
+
256
+ Vor Abschluss einer Migration pruefen:
257
+
258
+ - `manifest.metadata.routes -> routes` wurde umgesetzt
259
+ - `manifest.metadata.components -> components` wurde umgesetzt
260
+ - `manifest.metadata.schedules -> schedules` wurde umgesetzt
261
+ - `xtend.xrouter` und `xtend.component` sind Adapter-Records, nicht Kernelwissen
262
+ - `route.visible.render` und `component.idle.hydrate` sind zentrale Policies
263
+ - `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und `createRmtStateSchedulerDiagnosticsBridge` ersetzen Demo-Brueckenlogik
264
+ - Template-only-Kompatibilitaet bleibt erhalten
265
+ - React, Vue, Vanilla JS und Custom Hosts werden nicht zur XTend-Migration gezwungen
266
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json` und `node scripts/run_xtend_tests.js references --json` laufen