@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,145 @@
1
+ # RMT DSL Authoring Polish
2
+
3
+ Der Contract `xtend.rmt.dsl-authoring-polish.v1` bereitet eine freundlichere
4
+ RMT-DSL fuer XTend Component Shells vor. Er macht RMT Authoring kuerzer, ohne
5
+ XTend in den RMT Kernel einzubetten.
6
+
7
+ Lokaler Gate:
8
+
9
+ ```bash
10
+ node scripts/run_xtend_tests.js rmt-dsl-authoring-polish --json
11
+ ```
12
+
13
+ ## Warum dieses Paket existiert
14
+
15
+ Nach `WP-E12-12` besitzt XTend ein produktives Design-Token-Vokabular.
16
+ `WP-E12-13` nutzt diese Tokens, damit Shells, Slots, Styles, A11y, Events,
17
+ Commands, Hydration, Fabric-Lanes und XRouter-Routen in RMT einfacher
18
+ beschrieben werden koennen.
19
+
20
+ RMT bleibt dabei host-neutral:
21
+
22
+ - `xtend.component` rendert und hydriert Components im Host.
23
+ - `xtend.xrouter` verbindet Route Records mit XRouter.
24
+ - `xtend.fabric` und Telemetry bleiben Adapter-/Hostdaten.
25
+ - `no-rmt-kernel-import-of-xtend-types` bleibt Pflicht.
26
+
27
+ ## Authoring-Aliase
28
+
29
+ | Alias | Ziel |
30
+ |-------|------|
31
+ | `component` | XTend Component Record |
32
+ | `shell` | Shell-Zustand, Slots, Parts und Fokus |
33
+ | `slot` | Template-, Component- oder Text-Slots |
34
+ | `style` | Variant, Theme, Density, Tokens und Parts |
35
+ | `token` | produktive `--xtend-*` Tokens |
36
+ | `theme` | Theme Pack |
37
+ | `density` | Density Pack |
38
+ | `a11y` | Role, Label, Live Region, Keyboard und Announcements |
39
+ | `on` | Event zu Command |
40
+ | `command` | Command zu Schedule |
41
+ | `hydrate` | Hydration Policy |
42
+ | `lane` | Fabric Lane und Fiber |
43
+ | `route` | XRouter Route |
44
+ | `link` | XLink-kompatibler Link |
45
+ | `outlet` | Route Outlet im Template |
46
+
47
+ ## Beispiel
48
+
49
+ ```rmt
50
+ template settings.shell {
51
+ state settings.theme type string initial "dark"
52
+ state settings.density type string initial "comfortable"
53
+
54
+ portal surface.root root "#settings-root" layer surface
55
+
56
+ surface settings.shell kind page component x-section {
57
+ portal surface.root
58
+
59
+ lane visible weight 80 {
60
+ hydrate settings-header {
61
+ slot header hydrate settings.header.template
62
+ }
63
+
64
+ hydrate feedback-toast from endpoint xtendrmt.component.hydrate {
65
+ slot feedback hydrate feedback.toast
66
+ }
67
+ }
68
+
69
+ lane idle weight 20 {
70
+ hydrate settings-shell-style from endpoint xtendrmt.component.hydrate {
71
+ trust boundary "xtend.security.sanitizing-boundary.v1"
72
+ }
73
+ }
74
+ }
75
+ }
76
+ ```
77
+
78
+ Token-Aliase bleiben Teil des Contracts: produktive Styles referenzieren
79
+ weiterhin stabile Custom Properties wie `--xtend-surface` und
80
+ `--xtend-color-primary`, waehrend vNext die Struktur, Slots und Hydration
81
+ beschreibt.
82
+
83
+ Der normalisierte Output wird zu `components[]`, `templates[]` und
84
+ `schedules[]`. RMT beschreibt die Struktur; XTend fuehrt die
85
+ Component-Hydration aus.
86
+
87
+ ## Routing-Sugar
88
+
89
+ Routen koennen authoringfreundlich als Surface-, Link- und Outlet-Struktur
90
+ beschrieben werden:
91
+
92
+ ```rmt
93
+ template settings.routing {
94
+ portal surface.root root "#app-root" layer surface
95
+
96
+ surface settings.route kind page component x-section {
97
+ portal surface.root
98
+
99
+ lane visible weight 80 {
100
+ hydrate settings-shell from endpoint xtendrmt.route.render
101
+ hydrate settings-link from endpoint xtendrmt.component.hydrate
102
+ slot outlet hydrate primary
103
+ }
104
+
105
+ on click target settings-link -> action route.navigate {
106
+ payload href from "/settings"
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ Das wird zu `routes[]`, `components[]` und `templates[]` mit Adapter
113
+ `xtend.xrouter`. XRouter bleibt Host Adapter, nicht RMT-Kernel-Abhaengigkeit.
114
+
115
+ ## Diagnostik
116
+
117
+ Der Polish-Plan definiert diese Diagnosecodes:
118
+
119
+ - `rmt.dsl.alias.unknown`
120
+ - `rmt.dsl.alias.required-field-missing`
121
+ - `rmt.dsl.token.unknown`
122
+ - `rmt.dsl.route.target-unresolved`
123
+ - `rmt.dsl.link.route-unresolved`
124
+ - `rmt.dsl.slot.target-unresolved`
125
+ - `rmt.dsl.schedule.unresolved`
126
+ - `rmt.dsl.inline-runtime-code-refused`
127
+ - `rmt.dsl.kernel-boundary.refused`
128
+
129
+ Damit kann XTendRMT upstream freundlichere Parserfehler und Editor-Hints bauen,
130
+ ohne die XTend Runtime zu importieren.
131
+
132
+ ## Artefakte
133
+
134
+ - Contract: `development/XTend-RMT-DSL-Authoring-Polish-fuer-Component-Shells.md`
135
+ - Modul: `xtend-builder/typing/rmt-dsl-authoring-polish.js`
136
+ - Fixture: `tests/fixtures/rmt-dsl-authoring-polish.rmt`
137
+ - Suite: `tests/rmt/rmt_dsl_authoring_polish_suite.js`
138
+
139
+ ## RC0 Adoption Update
140
+
141
+ Seit `WP-E12-15` beschreibt der [RC0 Adoption Guide](./rc0-adoption-guide.md),
142
+ wie App Authors diese DSL-Polish-Schicht fuer Shell-first XTend Apps nutzen.
143
+ Die wichtigste Migrationsregel bleibt: RMT darf XTend-Komponenten,
144
+ XRouter-Routen und Content Slots konstruieren und schedulen, ohne XTend-Typen
145
+ in den RMT Kernel einzubetten.
@@ -0,0 +1,81 @@
1
+ # RMT Event Routing Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-event-routing-runtime.v1`
4
+ - Workpackage: `WP-E18-09`
5
+ - Runtime: `xtendrmt/rmt-event-routing-runtime.js`
6
+ - Types: `xtendrmt/rmt-event-routing-runtime.d.ts`
7
+ - Fixture: `tests/fixtures/rmt-event-routing-runtime.rmt`
8
+ - Lokaler Gate: `node scripts/run_xtend_tests.js rmt-event-routing-runtime --json`
9
+ - Naechstes Paket: `WP-E18-10`
10
+
11
+ ## Zweck
12
+
13
+ Die Event Routing Runtime macht DOM- und Custom Events zu nativen RMT-App-Platform-Primitives. Apps koennen Events deklarativ an Actions binden, Payloads vor der Action-Ausfuehrung validieren, Governance-Policies anwenden und Listener nach Owner-Scope bereinigen.
14
+
15
+ Die Runtime delegiert die Ausfuehrung an die Action Effect Runtime aus `WP-E18-08`. Sie erzeugt kein zweites Action-Framework und importiert keine XTend-UI-Komponenten.
16
+
17
+ ## Event Bindings
18
+
19
+ Ein Event Binding kann deklarieren:
20
+
21
+ - `event`
22
+ - `target`
23
+ - `component`
24
+ - `owner`
25
+ - `action`
26
+ - `actionMode`
27
+ - `payload`
28
+ - `payloadContract`
29
+ - `governance`
30
+ - `condition`
31
+
32
+ Targets werden ueber explizite Refs, eine uebergebene `targets` Map, einen eigenen Target Resolver oder eine DOM-Query aus einem bereitgestellten Root aufgeloest. Produktlokale `event.target.closest(...)`-Delegationketten sind fuer normale App-Flows nicht erforderlich.
33
+
34
+ ## Payload Contracts
35
+
36
+ Payloads werden aus Event-Daten mit Ausdruecken wie diesen gebaut:
37
+
38
+ - `$event.target.value`
39
+ - `$detail.id`
40
+ - `$target.dataset.id`
41
+ - `$source.dataset.path`
42
+
43
+ Contracts nutzen eine kleine strukturelle Form:
44
+
45
+ ```json
46
+ {
47
+ "type": "object",
48
+ "required": ["id"],
49
+ "properties": {
50
+ "id": "string"
51
+ }
52
+ }
53
+ ```
54
+
55
+ Ungueltige Payloads werden geblockt, bevor die Action Runtime aufgerufen wird, und emittieren `rmt.event.payload_contract.invalid` Diagnostics.
56
+
57
+ ## Event Governance
58
+
59
+ Unterstuetzte Policies:
60
+
61
+ - `preventDefault`
62
+ - `stopPropagation`
63
+ - `stopImmediatePropagation`
64
+ - `capture`
65
+ - `passive`
66
+ - `once`
67
+ - `retarget`
68
+
69
+ Retargeting kann `target`, `current-target` oder `composed-path` verwenden. Dadurch bleibt Component-Interaktion explizit, ohne produktspezifisches DOM-Walking.
70
+
71
+ ## Ownership
72
+
73
+ `attach()` registriert Listener und merkt sich ihren Owner. `detachOwner(ownerId)` entfernt nur die Listener fuer diesen Scope, waehrend `detachAll()` die verbleibenden Listener entfernt. Das ist die Bruecke zur Surface- und Resource-Lifecycle-Arbeit in `WP-E18-10`.
74
+
75
+ ## Diagnostics
76
+
77
+ Diagnostics nutzen `xtend.epic18.rmt-event-routing-diagnostic.v1` auf `rmt.app_platform.event_routing`. Route Diagnostics enthalten Event-ID, Component, Payload und Action-Ziel, damit Build- und Runtime-Reports zeigen koennen, warum eine User-Interaktion ausgefuehrt wurde oder nicht.
78
+
79
+ ## Handoff
80
+
81
+ `WP-E18-10` kann nun Surface-, Overlay-, Portal- und Resource-Graphs mit owner-scoped Events und dem Resource-Ownership-Modell aus `WP-E18-08` haerten.
@@ -0,0 +1,77 @@
1
+ # RMT-first Demo-App
2
+
3
+ Contract: `xtend.epic10.rmt-first-demo-app.v1`
4
+
5
+ Die RMT-first Demo-App zeigt den Zielpfad fuer Epic 10: Eine XTend App wird nicht mehr als manuelle HTML-Shell gebaut, sondern aus einem `.rmt` App-Dokument gerendert. XTend liefert lokale Web Components. RMT liefert Shell, Routes, Templates, Schedules, Fabric/Lane Metadata und Diagnostics.
6
+
7
+ ## Startpunkt
8
+
9
+ - Demo / Browser Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
10
+ - RMT Document: `xtendrmt/rmt-first-demo-app.rmt`
11
+ - Runtime: `xtendrmt/rmt-first-demo-app.js`
12
+ - Browser Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
13
+
14
+ Die Hostseite enthaelt nur den RMT Root:
15
+
16
+ ```html
17
+ <div
18
+ id="rmt-first-demo-root"
19
+ data-rmt-host="rmt-first-demo"
20
+ data-rmt-document-src="xtendrmt/rmt-first-demo-app.rmt"></div>
21
+ ```
22
+
23
+ Die Shell selbst kommt aus `app.shell.template`.
24
+
25
+ ## Was RMT besitzt
26
+
27
+ - App Shell
28
+ - Routes
29
+ - `dom_descriptor` Templates
30
+ - Component Records
31
+ - Props, Attribute, Slots und Event Commands
32
+ - Schedules und Lanes
33
+ - Fabric/Fiber Metadata
34
+ - Diagnostics
35
+
36
+ ## Was XTend besitzt
37
+
38
+ - Custom Elements
39
+ - Manifest Lookup
40
+ - Component Lifecycle
41
+ - DOM-Ausfuehrung
42
+ - XRouter-Registrierung
43
+ - Fabric-Ausfuehrung und Telemetry Hooks
44
+
45
+ Der RMT-Kernel importiert keine XTend-Komponenten. Diese Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
46
+
47
+ ## Demo-Routen
48
+
49
+ | Route | Pfad | Inhalt |
50
+ |-------|------|--------|
51
+ | `dashboard` | `/` | Shell-first Status und Performance Coverage |
52
+ | `settings` | `/settings` | Form Controls mit `x-select`, `x-checkbox`, `x-radio`, `x-textarea` |
53
+ | `overlays` | `/overlays` | `x-tooltip`, `x-popover`, `x-drawer` |
54
+
55
+ ## No-Manual-Shell-Regel
56
+
57
+ Die Demo gilt nur als korrekt, wenn:
58
+
59
+ - der Host keine statischen `x-section` oder `x-router` Shell-Tags enthaelt
60
+ - die Runtime kein `innerHTML` nutzt
61
+ - `manifest.metadata.manualShellAllowed` auf `false` steht
62
+ - `manifest.metadata.hostShellMarkup` auf `false` steht
63
+ - der Browser-Smoke die Shell aus RMT rendert
64
+
65
+ ## Lokaler Gate
66
+
67
+ ```bash
68
+ node scripts/run_xtend_tests.js rmt-first-demo-app --json
69
+ ```
70
+
71
+ Der Gate prueft RMT-Referenzen, Runtime-Registry-Normalisierung, Host-Boundary, Browser-Smoke, Package-Metadata und die Dokumentationspfade.
72
+
73
+ ## Weiterfuehrung
74
+
75
+ `WP-E10-14` migriert bestehende priorisierte Komponenten in dieselbe RMT/Fabric-Metadata-Linie. Die Demo-App bleibt dafuer der erste produktive Abnahme-Host.
76
+
77
+ Seit `WP-E13-09` ist die Demo-App Teil von [RMT Production Readiness](./rmt-production-readiness.md). Der Contract `xtend.epic13.rmt-production-readiness.v1` nutzt sie als shell-first Evidence fuer Routing, Components, Fabric/Lane, Lifecycle Telemetry und Diagnostics.
@@ -0,0 +1,129 @@
1
+ # RMT-first XTend Apps
2
+
3
+ Docs Contract: `xtend.docs.rmt-first-xtend-apps.v1`
4
+
5
+ Dieser Guide beschreibt den Zielpfad aus Epic 10: Eine vollstaendige XTend App
6
+ wird als RMT-vNext-Dokument beschrieben. XTend liefert lokale Web Components,
7
+ RMT liefert Shell, Routes, Templates, Components, Schedules, Hydration
8
+ Policies, Fabric-Lanes und Diagnostics.
9
+
10
+ Der zugrunde liegende Authoring Contract ist:
11
+
12
+ ```text
13
+ xtend.rmt.first-class-app-authoring.v1
14
+ ```
15
+
16
+ ## Grundregeln
17
+
18
+ - RMT vNext ist App-Authoring-Modell.
19
+ - XTend-Komponenten werden ueber Surfaces mit `component x-*` beschrieben und
20
+ in `xtend.component` Records kompiliert.
21
+ - XRouter wird ueber `xtend.xrouter` angebunden.
22
+ - Templates nutzen bevorzugt `dom_descriptor` als generierten Output.
23
+ - Event Bindings laufen als `on ... -> action ...`.
24
+ - Fabric-, Lane- und Fiber-Hints kommen aus `lane`- und Lifecycle-Klauseln.
25
+ - Der RMT Kernel importiert keine XTend-Klassen oder XTend-Typen.
26
+
27
+ Die Boundary bleibt:
28
+
29
+ ```text
30
+ no-rmt-kernel-import-of-xtend-types
31
+ ```
32
+
33
+ ## Minimalstruktur
34
+
35
+ ```rmt
36
+ template settings.app {
37
+ state settings.status type string initial "ready"
38
+
39
+ selector settings.feedback from state settings.status {
40
+ output StatusView
41
+ }
42
+
43
+ action settings.refresh {
44
+ reduce state.settings.status = "refreshing"
45
+ emit settings.refresh.requested with action settings.refresh
46
+ }
47
+
48
+ portal surface.root root "#app-root" layer surface
49
+
50
+ surface settings.status kind card component x-status {
51
+ source selector settings.feedback
52
+ portal surface.root
53
+
54
+ lane visible weight 80 {
55
+ mount x-status
56
+ hydrate settings-status from selector settings.feedback
57
+ }
58
+
59
+ on click target refresh-button -> action settings.refresh {
60
+ payload source from target.dataset.action
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ Der Compiler erzeugt daraus `xtend.component`, `xtend.xrouter`,
67
+ `rmt.state-scheduler-diagnostics`, `dom_descriptor` Templates und
68
+ Schedule-/Lane-Records. Diese JSON-Records sind Runtime-Mirror, nicht der
69
+ primaere Authoring-Pfad.
70
+
71
+ ## Referenzpfade
72
+
73
+ - Contract: `development/XTend-RMT-First-Class-App-Authoring.md`
74
+ - Fixture: `tests/fixtures/rmt-first-class-xtend-app.rmt`
75
+ - Demo-App: `xtendrmt/rmt-first-demo-app.rmt`
76
+ - Browser-Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
77
+ - Gate: `node scripts/run_xtend_tests.js rmt-first-class-app --json`
78
+ - Demo-Gate: `node scripts/run_xtend_tests.js rmt-first-demo-app --json`
79
+
80
+ ## Fabric und Telemetry
81
+
82
+ Komponenten erhalten Fabric-Kontext ueber Adapter Injection. Die kanonische
83
+ Boundary ist:
84
+
85
+ ```text
86
+ adapter-injection-via-xtend-component-resolveFabricContext
87
+ ```
88
+
89
+ `window.XTendFabric` kann durch Hosts genutzt werden, ist aber nicht die
90
+ Contract-Oberflaeche einer Komponente.
91
+
92
+ ## Release-Handoff
93
+
94
+ Der Abschluss von Epic 10 wird in [Epic 10 Release
95
+ Handoff](./epic10-release-handoff.md) dokumentiert. Die dortige Gate-Kette
96
+ entscheidet, ob ein RMT-first XTend App-Pfad releasefaehig genug fuer einen
97
+ Kandidaten ist.
98
+
99
+ Seit `WP-E13-09` buendelt [RMT Production
100
+ Readiness](./rmt-production-readiness.md) diesen Pfad unter
101
+ `xtend.epic13.rmt-production-readiness.v1`: Shell-first App Shell, Routing,
102
+ Components, Fabric/Lanes, Lifecycle Telemetry, Diagnostics und Artifact Parity
103
+ sind als RC1-Gate verbunden. `WP-E13-10` hat [Docs RMT Production
104
+ Hardening](./docs-rmt-production-hardening.md) abgeschlossen; `WP-E13-11` hat
105
+ [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md)
106
+ und `xtend.epic13.trusted-dom-boundary.v1` abgeschlossen. `WP-E13-12` hat [RC1
107
+ Migration Notes](./rc1-migration-notes.md) und
108
+ `xtend.epic13.rc1-migration-notes-semver.v1` abgeschlossen. `WP-E13-13` hat
109
+ [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) und
110
+ `xtend.epic13.rc1-gate-matrix-ci-handoff.v1` abgeschlossen.
111
+
112
+ ## Component UX Authoring
113
+
114
+ Seit `WP-E11-16` ergaenzt [Component UX App Authoring](./component-ux-app-authoring.md)
115
+ diesen Guide um sichtbare UX-Regeln fuer RMT-first Apps. Dazu gehoeren Theme,
116
+ Motion, Density, Viewports, Browser-Smokes und die Component Shell Theme Matrix
117
+ `xtend.epic11.component-shell-theme-matrix.v1`.
118
+
119
+ Seit `WP-E11-17` beschreibt [Component Long-Tail
120
+ Migration](./component-long-tail-migration.md), welche Legacy- und
121
+ Infrastrukturkomponenten zuerst fuer RMT-first App-Kompatibilitaet
122
+ nachgehaertet werden.
123
+
124
+ Der lokale Docs-Gate lautet:
125
+
126
+ ```bash
127
+ node scripts/run_xtend_tests.js component-ux-authoring-docs --json
128
+ node scripts/run_xtend_tests.js component-long-tail-migration --json
129
+ ```
@@ -0,0 +1,61 @@
1
+ # RMT Kernel Panic Recovery Incident Handoff
2
+
3
+ - Contract: `xtend.rmt.kernel-migration-authoring-incident-handoff.v1`
4
+ - Workpackage: `RKSH-WP-11`
5
+ - Local gate: `node scripts/run_xtend_tests.js rmt-kernel-handoff-docs --json`
6
+
7
+ Dieses Handoff beschreibt, wie Host-Teams Panic- und Recovery-Diagnostics auswerten, wenn die Kernel-Trust-Schicht fehlerhafte Outputs blockiert oder Recovery startet.
8
+
9
+ ## Diagnostics-Kanaele
10
+
11
+ | Kanal | Zweck |
12
+ |-------|-------|
13
+ | `rmt.kernel.panic` | Panic-State, Trigger, Severity, Scope und blockierte Commits. |
14
+ | `rmt.kernel.recovery` | Recovery-Outcome, Snapshot-Nutzung, Fallback und Quarantaene. |
15
+ | `rmt.kernel.escalation` | Escalation Envelope aus Diagnostics Hub oder Command Bus. |
16
+ | `rmt.kernel.scheduler_failure` | `failed`, `aborted`, `panic_blocked` und Backpressure-Failure fuer Jobs. |
17
+
18
+ ## Mindestfelder fuer Incident Review
19
+
20
+ - `panicId`
21
+ - `correlationId`
22
+ - `state`
23
+ - `severity`
24
+ - `scope`
25
+ - `trigger`
26
+ - `blockedCommitCount`
27
+ - `recoveryAction`
28
+ - `quarantined`
29
+ - `hostNotified`
30
+ - `affectedJobs`
31
+ - `firstSeenAt`
32
+ - `lastSeenAt`
33
+
34
+ ## Incident Severity
35
+
36
+ | Severity | Bedeutung | Erwartete Reaktion |
37
+ |----------|-----------|--------------------|
38
+ | `warning` | Output wurde korrigiert oder sanitisiert. | Verdicts beobachten, keine Eskalation noetig. |
39
+ | `degraded` | Output wurde blockiert, UI bleibt mit sicherem Fallback nutzbar. | Host-Team prueft Authoring oder Remote Source. |
40
+ | `critical` | Surface, Template oder Binding wurde quarantined. | Incident oeffnen, `correlationId` und `panicId` verfolgen. |
41
+ | `fatal` | Recovery ist fehlgeschlagen oder mehrere Kernel-Scope-Fehler korrelieren. | Release/Traffic stoppen und letzten sicheren Stand wiederherstellen. |
42
+
43
+ ## Recovery-Aktionen
44
+
45
+ | `recoveryAction` | Bedeutung | Host-Handoff |
46
+ |------------------|-----------|--------------|
47
+ | `rollback-last-safe-snapshot` | Der Kernel stellt den letzten sicheren Snapshot wieder her. | Snapshot-ID und Surface-Scope sichern. |
48
+ | `render-safe-fallback` | Ein gepruefter Fallback ersetzt unsicheren Output. | Fallback-Markup und Reason Code pruefen. |
49
+ | `quarantine-surface` | Betroffene Surface nimmt keine neuen Commits an. | Remote Source oder Adapter deaktivieren. |
50
+ | `abort-scope-jobs` | Scheduler Jobs im betroffenen Scope werden abgebrochen. | `rmt.kernel.scheduler_failure` mit `panic_blocked` pruefen. |
51
+ | `notify-host` | Host Adapter wird aktiv ueber Recovery informiert. | `hostNotified` und Host-Log-Korrelation bestaetigen. |
52
+
53
+ ## Triage-Ablauf
54
+
55
+ 1. `rmt.kernel.panic` nach `panicId`, `correlationId`, `scope`, `trigger` und `blockedCommitCount` filtern.
56
+ 2. `rmt.kernel.recovery` mit demselben `correlationId` verbinden und `recoveryAction`, `quarantined` sowie `hostNotified` bewerten.
57
+ 3. `rmt.kernel.escalation` pruefen, wenn Diagnostics-Subscriber oder Command-Handler beteiligt waren.
58
+ 4. `rmt.kernel.scheduler_failure` pruefen, wenn Jobs `failed`, `aborted` oder `panic_blocked` sind.
59
+ 5. Authoring anhand von [RMT Kernel Trusted Output Authoring](./rmt-kernel-trusted-output-authoring.md) korrigieren.
60
+ 6. Migration und Regression mit [RMT Kernel Security Hardening Migration](./rmt-kernel-security-hardening-migration.md) und `node scripts/run_xtend_tests.js rmt-kernel-security-regression --json` absichern.
61
+
@@ -0,0 +1,50 @@
1
+ # RMT Kernel Security Hardening Migration
2
+
3
+ - Contract: `xtend.rmt.kernel-migration-authoring-incident-handoff.v1`
4
+ - Workpackage: `RKSH-WP-11`
5
+ - Status: `completed`
6
+ - Local gate: `node scripts/run_xtend_tests.js rmt-kernel-handoff-docs --json`
7
+
8
+ Dieses Dokument beschreibt die Migration fuer Hosts und RMT-Authoring, die bisher implizit erlaubte Runtime-Outputs genutzt haben. Seit der Kernel-Haertung gilt: HTML, Attribute, Properties und Remote Outputs werden erst committed, wenn die Trust-Schicht ein `RmtKernelRuntimeTrustVerdict` erzeugt hat.
9
+
10
+ ## Wann eine Trust Boundary erforderlich ist
11
+
12
+ | Output | Trust Boundary | Migration |
13
+ |--------|----------------|-----------|
14
+ | `slot.html`, `prerender.html`, `fallback.html` | HTML muss vor jedem DOM-Commit bewertet werden. | `commitTrustedHtml` mit `sanitize html`, `html_fragment` und `safeFallbackHtml` nutzen. |
15
+ | Direkte DOM-HTML-Sinks wie `innerHTML`, `insertAdjacentHTML` und `template.innerHTML` | Diese Sinks bleiben privilegierte Trusted-DOM-Sinks. | Direkte Writes entfernen und den Runtime Trust-Sink-Adapter verwenden. |
16
+ | Attribute wie `href`, `src`, `srcset`, `action`, `formaction` und `srcdoc` | URL- und Sandbox-Policy entscheidet vor dem Commit. | `commitTrustedAttribute` verwenden und gefaehrliche Protokolle wie `javascript:` blockieren. |
17
+ | Event-nahe Attribute wie `onclick`, `onload` oder `onerror` | Event-Attribute sind keine erlaubten Markup-Outputs. | Commands oder registrierte Event-Handler statt HTML-Attributen verwenden. |
18
+ | Style- und DOM-Property-Writes wie `style`, `innerHTML`, `outerHTML`, `srcdoc` | Property-Policy bewertet Nebenwirkungen und DOM-Clobbering-Risiko. | `commitTrustedProperty` nur fuer explizit erlaubte Properties nutzen. |
19
+ | Remote Outputs und Adapter Outputs | Remote Surface Boundaries brauchen Scope, Origin, Capability und Integrity-Kontext. | Remote Outputs als `remote-surface` oder `adapter-output` scope in die Trust Authority geben. |
20
+
21
+ ## Legacy-Pfade ersetzen
22
+
23
+ 1. Direkte HTML-Commits aus Komponenten, Adaptern und Host-Bridges entfernen. Der Kernel darf `innerHTML`, `insertAdjacentHTML` oder Template-HTML nur ueber `commitTrustedHtml` erreichen.
24
+ 2. HTML, das weiterhin erlaubt sein soll, als `html_fragment` markieren und durch `sanitize html` fuehren. Der Sanitizer muss `script`, `iframe`, `srcdoc`, `on*`, `javascript:` und vergleichbare gefaehrliche Patterns entfernen oder blockieren.
25
+ 3. Reine Texte als Text schreiben: `textContent` ist fuer Labels, Status, Fehlermeldungen und User Content der bevorzugte Pfad.
26
+ 4. Attribute trennen: `data-*` und `aria-*` bleiben normale strukturierte Attribute, URL-Attribute laufen durch `commitTrustedAttribute`.
27
+ 5. Properties trennen: nur explizit erlaubte Properties laufen durch `commitTrustedProperty`; HTML-nahe Properties bleiben blockiert.
28
+ 6. Fallbacks wie `fallback.html` nicht privilegieren. Recovery-Fallbacks muessen dieselbe Policy wie normale Outputs erfuellen und ein `safeFallbackHtml` besitzen.
29
+ 7. Diagnose und Regression pruefen: `listTrustVerdicts()`, `rmt.kernel.panic`, `rmt.kernel.recovery` und `node scripts/run_xtend_tests.js rmt-kernel-security-regression --json` muessen nach der Migration gruen bleiben.
30
+
31
+ ## SemVer-Auswirkung
32
+
33
+ Blockierte Legacy-Outputs koennen ein Breaking Change sein, wenn veroeffentlichte Hosts bisher bewusst unsicheres Markup gerendert haben und dieses Verhalten Teil der dokumentierten Integrationsoberflaeche war.
34
+
35
+ | Aenderung | SemVer |
36
+ |-----------|--------|
37
+ | Unsichere HTML-, URL- oder Event-Attribute werden neu blockiert und bestehende Apps koennen dadurch sichtbaren Content verlieren. | `major` |
38
+ | Unsichere Pfade erhalten Warnungen, Diagnostics oder Opt-in-Fallbacks, aber der bisher sichere Output bleibt sichtbar. | `minor` |
39
+ | Nur Docs, Tests, Report-Felder oder strengere Diagnostics ohne Output-Aenderung werden ergaenzt. | `patch` |
40
+
41
+ Release Notes muessen fuer behavior-changing Blocks mindestens die betroffenen Sinks, den Reason Code, den Recovery-Pfad und die empfohlene Migration nennen.
42
+
43
+ ## Verifikation
44
+
45
+ ```bash
46
+ node scripts/run_xtend_tests.js rmt-kernel-handoff-docs --json
47
+ node scripts/run_xtend_tests.js rmt-kernel-security-regression --json
48
+ node scripts/verify_xtendrmt_artifact_parity.js --json
49
+ ```
50
+
@@ -0,0 +1,69 @@
1
+ # RMT Kernel Trusted Output Authoring
2
+
3
+ - Contract: `xtend.rmt.kernel-migration-authoring-incident-handoff.v1`
4
+ - Workpackage: `RKSH-WP-11`
5
+ - Package script: `npm run test:rmt-kernel-handoff-docs`
6
+
7
+ RMT-Authoring darf nicht davon ausgehen, dass ein String sicher ist, nur weil er aus einem Template, einer Remote Surface oder einem Adapter stammt. Jeder output-nahe Authoring-Pfad braucht eine klare Trust Boundary und einen sicheren Fallback.
8
+
9
+ ## Authoring-Regeln
10
+
11
+ - Text bleibt Text: Labels, Status, User Content und Fehlermeldungen als `textContent` oder strukturierte Textfelder authoren.
12
+ - HTML nur bewusst authoren: `html_fragment` mit `sanitize html` und explizitem Scope verwenden.
13
+ - Attribute klein halten: `data-*` und `aria-*` sind bevorzugt, URL-Attribute laufen ueber `commitTrustedAttribute`.
14
+ - Properties nur fuer erlaubte Runtime-Ziele nutzen: DOM-HTML-Properties nicht als Abkuerzung verwenden.
15
+ - Fallbacks sind nicht privilegiert: `safeFallbackHtml` muss selbst sanitizbar und nicht interaktiv gefaehrlich sein.
16
+ - Remote Surface Outputs brauchen Scope, Capability, Origin und Integrity-Kontext, bevor sie in den Kernel gelangen.
17
+
18
+ ## Sichere Muster
19
+
20
+ ```js
21
+ runtime.commitTrustedHtml(slotTarget, {
22
+ scope: 'slot',
23
+ source: 'slot.html',
24
+ html: model.safeSummaryHtml,
25
+ policy: {
26
+ transform: 'sanitize html',
27
+ output: 'html_fragment'
28
+ },
29
+ safeFallbackHtml: '<p data-rmt-fallback="safe">Content unavailable.</p>'
30
+ });
31
+ ```
32
+
33
+ ```js
34
+ runtime.commitTrustedAttribute(linkTarget, {
35
+ scope: 'binding',
36
+ name: 'href',
37
+ value: model.href,
38
+ allowedProtocols: ['https:', 'mailto:']
39
+ });
40
+ ```
41
+
42
+ ```js
43
+ runtime.commitTrustedProperty(inputTarget, {
44
+ scope: 'binding',
45
+ name: 'value',
46
+ value: model.value,
47
+ policy: 'form-control-value'
48
+ });
49
+ ```
50
+
51
+ ## Authoring-Checkliste
52
+
53
+ | Frage | Sichere Antwort |
54
+ |-------|-----------------|
55
+ | Enthält der Output Markup? | `html_fragment` plus `sanitize html` und `commitTrustedHtml`. |
56
+ | Ist es nur Text? | `textContent` oder ein strukturierter Text-Record. |
57
+ | Ist es ein URL-Attribut? | `commitTrustedAttribute` mit Protokoll-Allowlist. |
58
+ | Ist es `data-*` oder `aria-*`? | Strukturierter Attribute-Commit, keine HTML-Interpolation. |
59
+ | Ist es ein Fallback? | `safeFallbackHtml` mit derselben Policy wie normale HTML-Outputs. |
60
+ | Kommt es aus Remote oder Adapter Code? | Trust Scope `remote-surface` oder `adapter-output`, Capability und Diagnostics-Korrelation. |
61
+
62
+ ## No-go-Muster
63
+
64
+ - Markup aus Remote Sources direkt in `slot.html`, `prerender.html` oder `fallback.html` schleusen.
65
+ - Event-Attribute wie `onclick` als Daten transportieren.
66
+ - `style` oder HTML-nahe Properties als Escape Hatch verwenden.
67
+ - `safeFallbackHtml` aus derselben unsicheren Quelle wie den blockierten Output bilden.
68
+ - Diagnostics ignorieren, wenn ein Verdict `blocked` oder `panic` meldet.
69
+