@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,47 @@
1
+ # RMT State Selector Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-state-selector-runtime.v1`
4
+ - Fixture: `tests/fixtures/rmt-state-selector-runtime.rmt`
5
+ - Runtime: `xtendrmt/rmt-state-selector-runtime.js`
6
+ - Types: `xtendrmt/rmt-state-selector-runtime.d.ts`
7
+ - Local Gate: `node scripts/run_xtend_tests.js rmt-state-selector-runtime --json`
8
+ - Workpackage: `WP-E18-07`
9
+
10
+ Die State Selector Runtime macht App-Zustand fuer RMT Templates deklarativ
11
+ nutzbar. Sie definiert typisierte State Records, wertet Selectors und derived
12
+ Values aus, dispatcht Reducer-Commands und erzeugt ein Render-Context-Model fuer
13
+ den DOM Descriptor Renderer aus `WP-E18-05`/`WP-E18-06`.
14
+
15
+ ## Primitives
16
+
17
+ | Primitive | Zweck |
18
+ |-----------|-------|
19
+ | `state` | typisierte App-Zustaende wie Collection, Selection, Filter, UI und Loading |
20
+ | `selector` | abgeleitete, wiederverwendbare Sichten auf State, zum Beispiel gefilterte Listen |
21
+ | `derive` | einzelne derived Values wie Selection Count oder Detail Label |
22
+ | `reducer` | Command-getriebene State-Aenderungen ohne produktlokale Mini-Frameworks |
23
+ | `xstateBridge` | injizierte Host-Bridge zu `xstate`, ohne Runtime-Import |
24
+ | `preservePatchPlan` | unterscheidet strukturelle Rerenders von Attribut-/Component-State-Sync |
25
+ | `stateBindings` | aktualisiert Attribute, Klassen und Properties bestehender DOM-Knoten |
26
+
27
+ ## Preserve-Regeln
28
+
29
+ States mit `preserve: "attribute-sync"` oder `preserve: "component-state"`
30
+ duerfen DOM-Inseln erhalten. Selection- oder UI-Aenderungen koennen dadurch
31
+ Attribute wie `aria-selected`, Klassen wie `is-selected` oder Component
32
+ Properties synchronisieren, ohne Listen neu zu materialisieren.
33
+
34
+ Strukturelle Selectors, zum Beispiel `selector.filtered-items`, duerfen dagegen
35
+ einen Rerender anfordern. Filter- oder Collection-Aenderungen bleiben dadurch
36
+ korrekt, waehrend reine Selection-Aenderungen Fokus, Scroll und Component
37
+ Instanzen erhalten koennen.
38
+
39
+ ## XState Boundary
40
+
41
+ Die Runtime importiert `xstate` nicht. Host-Code kann ein kompatibles Ziel mit
42
+ `set`, `setState`, `get`, `getState` oder `subscribe` injizieren. Die Bridge
43
+ spiegelt State-, Selector- und Derived-Keys in dieses Ziel, bleibt aber auch mit
44
+ einem internen Snapshot lauffaehig.
45
+
46
+ `WP-E18-08` kann darauf Actions, Effects, DataSources und Resource Runtime
47
+ aufbauen.
@@ -0,0 +1,92 @@
1
+ # RMT Surface Resource Graph Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-surface-resource-graph-runtime.v1`
4
+ - Gate: `node scripts/run_xtend_tests.js rmt-surface-resource-graph-runtime --json`
5
+ - Workpackage: `WP-E18-10`
6
+ - Handoff: `WP-E18-11`
7
+
8
+ ## Ziel
9
+
10
+ Die Surface Resource Graph Runtime macht dynamische App-Layouts in RMT als
11
+ generische Plattformfaehigkeit modellierbar. Entwickler koennen eigene
12
+ Surface-Modelle aus beliebigen Records erzeugen, Bounds und Fokus verwalten,
13
+ Overlays ueber Portale stapeln und instanzgebundene Ressourcen aufraeumen,
14
+ ohne eine produktlokale Registry oder Shell-spezifische Repaint-Logik zu
15
+ schreiben.
16
+
17
+ Der Media Manager bleibt dabei nur Proof-of-Need. Die Runtime kennt keine
18
+ Produkt-Surface-Liste und importiert keine XTend-Komponenten.
19
+
20
+ ## Keyed Surface Repeater
21
+
22
+ `surface` Definitionen koennen `source`, `repeat` und `key` deklarieren. Die
23
+ Runtime erzeugt daraus stabile Surface-Instanzen wie
24
+ `surface.workspace:alpha`. Beim erneuten Materialisieren mit denselben Keys
25
+ bleiben Runtime-Zustand, Bounds, Fokusreihenfolge, Ressourcenstatus und
26
+ Persistenzdaten erhalten.
27
+
28
+ Wichtige Operationen:
29
+
30
+ - `materialize(recordsBySource)`: erzeugt oder reused Surface-Instanzen.
31
+ - `openSurface(id)`: oeffnet eine Instanz und uebernimmt ihre Ressourcen.
32
+ - `minimizeSurface(id)`: minimiert, ohne DOM- oder Ressourcenstatus zu
33
+ verwerfen.
34
+ - `restoreSurface(id)`: stellt Bounds und offenen Zustand wieder her.
35
+ - `closeSurface(id)`: schliesst nach Policy, ohne zwingend zu zerstoeren.
36
+ - `destroySurface(id)`: gibt instanzgebundene Ressourcen frei und trennt den
37
+ Event-Owner.
38
+
39
+ ## Portal Layer Stack
40
+
41
+ Portale beschreiben Layer- und Policy-Grenzen fuer Tooltips, Toasts, Popovers,
42
+ Lightboxes, Menus, Dialoge und weitere Overlay-Arten. `openOverlay` legt
43
+ Overlay-Instanzen in ihrem Portal ab und vergibt eine stabile Stack-Reihenfolge
44
+ ueber `zIndexStart` und `zStep`. `closeTopOverlay` schliesst den obersten
45
+ dismissible Overlay-Eintrag pro Portal oder global.
46
+
47
+ Die Portal-Policy ist generisch:
48
+
49
+ - `stacked` fuer normale App-Flächen.
50
+ - `modal` und `nonmodal` fuer blockierende und nicht blockierende Overlays.
51
+ - `toast-region` fuer Feedback-Layer.
52
+ - `clipping-escape` fuer Viewport-feste Layer wie Tooltips.
53
+
54
+ ## Resource Ownership
55
+
56
+ Ressourcen werden ueber den WP-E18-08 Resource Manager injiziert. Die Surface
57
+ Runtime besitzt keine eigenen Adapter, sondern ruft `acquireMany` und
58
+ `releaseOwner` pro Surface- oder Overlay-Instanz auf.
59
+
60
+ Dadurch gelten klare Regeln:
61
+
62
+ - Minimize erhaelt Ressourcen und Component-State.
63
+ - Close kann Ressourcen optional freigeben.
64
+ - Destroy gibt Ressourcen der betroffenen Instanz frei.
65
+ - Overlay-Close gibt Overlay-Ressourcen frei.
66
+ - Destroy einer Surface ruft zusaetzlich `eventRuntime.detachOwner(owner)` auf.
67
+
68
+ ## Persistenz
69
+
70
+ `persistSnapshot` liefert einen Snapshot mit Surface-Zustand, Bounds, Fokus,
71
+ offenen Overlays und Portal-Metadaten. Ein optionaler Persistence Adapter kann
72
+ diesen Snapshot speichern. `hydrateSnapshot` spielt ihn spaeter in bereits
73
+ materialisierte Instanzen zurueck.
74
+
75
+ ## Grenzen
76
+
77
+ - Keine Produkt-Surface-Taxonomie als Framework-Default.
78
+ - Keine produktlokale Registry-Repaint-Pflicht.
79
+ - Keine XTend-Component-Imports im RMT Kernel.
80
+ - Normale UI bleibt bei DOM Descriptoren und Component Templates; HTML-String-
81
+ Renderer bleiben eine separate Trusted-DOM-Grenze.
82
+
83
+ ## Gates
84
+
85
+ ```bash
86
+ node scripts/run_xtend_tests.js rmt-surface-resource-graph-runtime --json
87
+ node scripts/run_xtend_tests.js rmt-app-platform-authoring rmt-dom-descriptor-renderer rmt-component-template-primitives rmt-state-selector-runtime rmt-action-effect-runtime rmt-event-routing-runtime rmt-surface-resource-graph-runtime --json
88
+ ```
89
+
90
+ `WP-E18-11` erweitert darauf aufbauend Scaffold, Linter, LSP und Diagnostics,
91
+ damit Surface-, Overlay-, Portal- und Resource-Graphen schon beim Authoring
92
+ sichtbar und pruefbar werden.
@@ -0,0 +1,77 @@
1
+ # RMT Tooling Release Gates
2
+
3
+ - Status: produktiv vorbereitet ab `WP-E14-15`
4
+ - Contract: `xtend.epic14.rmt-tooling.v1`
5
+ - Gate Record Contract: `xtend.epic14.rmt-tooling-gate.record.v1`
6
+ - Report Contract: `xtend.epic14.rmt-tooling-report.v1`
7
+ - Lokaler Gate: `node scripts/run_xtend_tests.js epic14-rmt-tooling --json`
8
+
9
+ ## Zweck
10
+
11
+ Die RMT Tooling Gates buendeln den nativen `.rmt` Authoring-Pfad fuer Pull Requests, Release-Kandidaten und AI-Agenten. Sie pruefen nicht die RMT Runtime, sondern die Sprachebene: Source Model, Parser, Semantic Graph, Linter, CLI, Completion, Navigation, LSP, Code Actions, Agent Report, Editor Packaging, Regression Fixtures und Dokumentation.
12
+
13
+ ## Befehle
14
+
15
+ ```bash
16
+ npm run test:rmt-linter
17
+ npm run test:rmt-language-server
18
+ npm run test:pr:rmt
19
+ npm run test:pr:rmt:report
20
+ npm run test:rmt-tooling
21
+ npm run test:rmt-tooling:report
22
+ node scripts/run_xtend_tests.js epic14-rmt-tooling --json
23
+ ```
24
+
25
+ `npm run test:pr:rmt` ist ein optionaler Zusatzgate fuer RMT-nahe Pull Requests. Der globale PR-Gate bleibt dadurch schlank, kann aber bei DSL-, Linter-, LSP- oder Agent-Report-Aenderungen gezielt erweitert werden.
26
+
27
+ `npm run test:rmt-tooling` ist der Release-Bundle-Gate fuer Epic 14. Er laeuft ohne Netzwerk und nutzt ausschliesslich repo-lokale Fixtures, Docs und Tooling-Module.
28
+
29
+ ## Release-Bundle
30
+
31
+ Das Release-Bundle umfasst:
32
+
33
+ - `rmt-source-model`
34
+ - `rmt-parser`
35
+ - `rmt-semantic-graph`
36
+ - `rmt-linter-rules`
37
+ - `rmt-linter-cli`
38
+ - `rmt-completions`
39
+ - `rmt-navigation`
40
+ - `rmt-language-server`
41
+ - `rmt-code-actions`
42
+ - `rmt-agent-report`
43
+ - `rmt-editor-packaging`
44
+ - `rmt-language-regression`
45
+ - `rmt-tooling-docs`
46
+
47
+ ## Package Surface
48
+
49
+ Die Package-Surface fuer RMT Tooling ist ueber `package.json` exportiert. Relevant fuer Tooling-Konsumenten sind insbesondere:
50
+
51
+ - `xtend/rmt-language/source-model`
52
+ - `xtend/rmt-language/parser`
53
+ - `xtend/rmt-language/diagnostics`
54
+ - `xtend/rmt-language/completions`
55
+ - `xtend/rmt-language/code-actions`
56
+ - `xtend/rmt-language-server`
57
+ - `xtend/rmt-linter/cli`
58
+ - `xtend/rmt-linter/reporter`
59
+ - `xtend/rmt-language/snippets`
60
+
61
+ Der Gate `epic14-rmt-tooling` prueft, dass diese Surface nicht unbemerkt driftet und dass `xtend.epic14RmtTooling` die aktiven Scripts, Suites und Handoff-Metadaten enthaelt.
62
+
63
+ ## CI-Handoff
64
+
65
+ Die globale Full-Release-Linie bleibt:
66
+
67
+ ```bash
68
+ npm run test:release:full:report
69
+ ```
70
+
71
+ RMT Tooling ist zusaetzlich als eigener Release-Gate in `xtend.releaseGates` registriert:
72
+
73
+ ```bash
74
+ npm run test:rmt-tooling
75
+ ```
76
+
77
+ Damit koennen Release-Owner, CI-Systeme und AI-Agenten die RMT-Sprachwerkzeuge separat nachweisen, ohne den RMT Kernel mit XTend Runtime-Typen zu koppeln.
@@ -0,0 +1,170 @@
1
+ # RMT vNext Authoring Guide
2
+
3
+ - Contract: `xtend.rmt.vnext-release-handoff.v1`
4
+ - Syntax Contract: `xtend.rmt.vnext.grammar.v1`
5
+ - Core Output: `xtend.rmt.core-format.vnext.v1`
6
+
7
+ RMT vNext ist die menschenfreundliche Syntax fuer XTend Apps. Du kannst eine
8
+ vollstaendige UI-Shell in RMT schreiben: State, Selectors, DataSources,
9
+ Actions, Events, Portals, Overlays, Resources, Surfaces und Fabric-Lanes
10
+ liegen in einer `.rmt` Quelle und werden deterministisch in Core- und
11
+ Kernel-Records kompiliert.
12
+
13
+ ## Grundform
14
+
15
+ ```rmt
16
+ template media.manager {
17
+ state selectedItem type object initial null
18
+
19
+ selector visibleItems from datasource library {
20
+ output card-list
21
+ }
22
+
23
+ datasource library from fixture records.media-items {
24
+ contract "media.item.v1[]"
25
+ }
26
+
27
+ action select-item {
28
+ input id string
29
+ reduce state.selectedItem = input.id
30
+ emit media.item.selected with action select-item
31
+ }
32
+
33
+ portal app root "#app-root" layer surface
34
+
35
+ surface library kind workspace component x-cards {
36
+ repeat from selector visibleItems
37
+ key item.id
38
+ portal app
39
+
40
+ lane visible weight 80 {
41
+ hydrate x-cards from selector visibleItems
42
+ }
43
+
44
+ on card-click target item -> action select-item {
45
+ payload id from item.id
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
51
+ Die wichtigsten Bausteine:
52
+
53
+ | Syntax | Zweck |
54
+ | --- | --- |
55
+ | `template` | gruppiert eine App- oder Dokument-Shell |
56
+ | `state` | beschreibt persistenten oder transienten App-Zustand |
57
+ | `selector` | leitet UI-nahe Views aus State oder DataSources ab |
58
+ | `datasource` | bindet Fixture-, Endpoint-, SSE- oder Worker-Quellen an |
59
+ | `action` | beschreibt User- und Systemaktionen mit Reducern und Effects |
60
+ | `on ... -> action ...` | routet DOM- oder Custom-Events in Actions |
61
+ | `portal` | benennt Mount-Ziele fuer Surfaces und Overlays |
62
+ | `surface` | beschreibt sichtbare UI-Objekte, Listen, Panels oder Pages |
63
+ | `overlay` | beschreibt Toasts, Dialoge, Menues, Popovers und Lightboxes |
64
+ | `resource` | beschreibt Besitz, Import, Stream, Timer und Cleanup |
65
+ | `lane` | steuert Prioritaet, Scheduling und Backpressure |
66
+ | `mount`, `hydrate`, `prewarm`, `dispose` | Lifecycle-Operationen |
67
+ | `when` | deklarative Conditions ohne Funktionsaufrufe oder Eval |
68
+ | `slot` | Composition innerhalb einer Operation |
69
+ | `trust boundary` und `sanitize` | Security-Policy fuer unsichere Daten |
70
+ | `stream` | inkrementelle Streaming-Operation |
71
+
72
+ ## App Shell nur in RMT
73
+
74
+ Eine vNext-App soll nicht zwischen RMT, App-Platform-JSON und Host-Code
75
+ zerfallen. RMT ist der Authoring-Ort fuer:
76
+
77
+ - Route- und Shell-Struktur
78
+ - sichtbare Surfaces und Overlay-Portale
79
+ - State- und Selector-Modell
80
+ - Actions, Effects und Event-Payloads
81
+ - Resource Ownership und Cleanup
82
+ - Fabric-Lanes fuer sichtbare, user-blocking, transition, idle,
83
+ background- und diagnostics-Arbeit
84
+
85
+ Der Host stellt Komponenten, Router, Browser-APIs und externe Daten bereit.
86
+ Diese Grenze haelt den Kernel framework-neutral und macht die App trotzdem
87
+ vollstaendig beschreibbar.
88
+
89
+ ## XTend UI-Kompatibilitaet
90
+
91
+ RMT vNext Component Primitives zielen auf den bestehenden XTend-Component-
92
+ Stack. Eine Surface wie `component x-select` wird zu einem DOM Descriptor
93
+ abgesenkt und dann ueber die Component Capability Registry aufgeloest, nicht
94
+ ueber einen produktspezifischen Renderer. Die Registry liest
95
+ `components/manifest.json`, `xtendComponentContract`, `xtendRmtMetadata`,
96
+ public Events, `observedAttributes`, Slots, Parts, Form-Assoziation,
97
+ Accessibility-Profile und Performance-Profile.
98
+
99
+ Damit erreicht RMT alle 44 public Manifest-Eintraege, waehrend 40 renderbare
100
+ UI-Komponenten ihren normalen Web-Component-Lifecycle behalten. Infrastruktur-
101
+ module wie `x-theme` und `xstate` bleiben Host-Services, keine normalen
102
+ Surface-Elemente. Produktcode soll ueber public Attribute, Properties, Events,
103
+ Parts, Slots und State-Bridges binden, statt `shadowRoot` oder private
104
+ Component-Maps zu patchen.
105
+
106
+ Details stehen in
107
+ [RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md).
108
+
109
+ ## Editor-DX
110
+
111
+ Der Language Server erkennt vNext-Primitives direkt:
112
+
113
+ - Completions fuer Primitive-Keywords und klauselnahe Vorschlaege
114
+ - Hover mit Core Pointer und Primitive-Informationen
115
+ - Document Symbols fuer `states`, `selectors`, `actions`, `surfaces`,
116
+ `portals`, `overlays` und `resources`
117
+ - Code Actions fuer sichere Reparaturen
118
+ - Safe Fix-All fuer `source.fixAll.rmt.vnext.primitives`
119
+ - manuelle Uebergaben fuer Kernel-/Host-Boundaries
120
+
121
+ Das Snippet `rmt-vnext-primitive-shell` erzeugt eine kleine App Shell mit
122
+ State, Selector, Action, Portal, Surface, Lane und Event-Payload-Contract.
123
+
124
+ ## Migration aus Legacy-Records
125
+
126
+ Legacy- und App-Platform-JSON bleiben lesbar, sind aber nicht der normale
127
+ Authoring-Pfad. Fuer vorhandene App-Platform-Primitive-Records gibt es:
128
+
129
+ - `createAppPlatformPrimitiveMigrationPreview(...)` fuer einen vNext-Draft
130
+ - `createAppPlatformPrimitiveMigrationApplyPlan(...)` fuer einen manuellen
131
+ Apply-Plan ohne automatisches Schreiben
132
+ - `report-only`, `preview-ready`, `apply-plan-ready` und `blocked` als
133
+ klare Statuswerte
134
+
135
+ Details stehen in [RMT vNext Primitive Migration](./rmt-vnext-primitive-migration.md).
136
+
137
+ ## Reference Demo
138
+
139
+ Die vollstaendige Referenz liegt in `xtendrmt/rmt-vnext-reference-demo.rmt`.
140
+ Sie deckt Templates, Surfaces, gewichtete Lanes, Conditions, Slots, Events,
141
+ Endpoint/SSE/Worker Sources, Security Policies und Streaming ab.
142
+
143
+ Der stabile Compiler-Output liegt in
144
+ `xtendrmt/rmt-vnext-reference-demo.core.json`. Wenn Syntax oder Compiler
145
+ absichtlich geaendert werden, muessen Quelle und Core-Output gemeinsam
146
+ aktualisiert werden.
147
+
148
+ ## Lokal pruefen
149
+
150
+ ```bash
151
+ node scripts/run_xtend_tests.js rmt-vnext-parser rmt-vnext-compiler rmt-vnext-tooling --json
152
+ node scripts/run_xtend_tests.js rmt-vnext-compatibility --json
153
+ node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json
154
+ node scripts/run_xtend_tests.js rmt-vnext-release --json
155
+ ```
156
+
157
+ Fuer App-Shell-Arbeit reichen normalerweise Parser, Compiler, Tooling und
158
+ Compatibility. Release-Gates pruefen zusaetzlich Referenzdemo, Core-Output,
159
+ Migration und Referenzpfade.
160
+
161
+ ## Grenzen
162
+
163
+ - RMT vNext fuehrt keine Host-Runtime im Kernel aus.
164
+ - Conditions sind deklarativ und erlauben keine Funktionsaufrufe.
165
+ - Imports sind statisch und bleiben package-root-gebunden.
166
+ - Legacy JSON bleibt kompatibel, aber nicht der bevorzugte Authoring-Pfad.
167
+ - XTend-, XRouter-, DOM- und Browser-Details gehoeren in Adapter.
168
+ - XTend-Component-Integration laeuft ueber public Contracts und die Component
169
+ Capability Registry, nicht ueber direkte Kernel-Imports oder
170
+ Shadow-DOM-Monkeypatching.
@@ -0,0 +1,188 @@
1
+ # RMT vNext Component Primitives und XTend UI
2
+
3
+ - Schema: `xtend.rmt.component-capability-registry.v1`
4
+ - Report Schema: `xtend.rmt.component-capability-registry-report.v1`
5
+ - Runtime: `xtendrmt/rmt-component-capability-registry.js`
6
+ - Export: `@ccslabs/xtend/rmt/component-capability-registry`
7
+ - Local Gate: `node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json`
8
+ - Aggregat: `npm run test:rmt-vnext-primitives:report`
9
+
10
+ RMT vNext und XTend UI sind keine Parallelwelten. Die Component Primitives
11
+ verbinden RMT-Templates, Kernel Records, DOM Descriptor Renderer und die
12
+ public XTend Web Components ueber eine gemeinsame Capability Registry. RMT
13
+ beschreibt Shell, State, Surfaces, Events und Lifecycle; XTend Components
14
+ liefern die konkreten UI-Bausteine, Accessibility-Profile, Parts, Slots,
15
+ Events und Performance-Profile.
16
+
17
+ ## Source-to-Sea-Fluss
18
+
19
+ ```text
20
+ .rmt template
21
+ -> RMT Compiler und Core Records
22
+ -> Kernel Records und Fabric Lanes
23
+ -> DOM Descriptor Renderer
24
+ -> Component Capability Registry
25
+ -> XTend Component aus components/manifest.json
26
+ -> Browser DOM und Component Lifecycle
27
+ ```
28
+
29
+ Der RMT-Kernel importiert keine XTend-Komponenten und keine XTend-Typen. Die
30
+ Registry liest Manifest, Component Contracts, `xtendRmtMetadata`,
31
+ `observedAttributes`, Events, Slots, Parts, Form-Assoziation sowie A11y- und
32
+ Performance-Profile. Daraus entsteht eine normalisierte Matrix fuer alle 42
33
+ public Eintraege aus `components/manifest.json`.
34
+
35
+ ## Matrix
36
+
37
+ | Bereich | Abdeckung |
38
+ | --- | --- |
39
+ | Manifest-Eintraege | 44 |
40
+ | Renderbare public UI-Komponenten | 40 |
41
+ | Nicht-visuelle Sonderfaelle | 4 |
42
+ | RMT-Metadaten | 42 Eintraege |
43
+ | Component Contracts | 40 Eintraege |
44
+ | Form-associated Components | 6 |
45
+
46
+ Nicht-visuelle Sonderfaelle sind `x-theme`, `xstate`, `x-utils` und
47
+ `x-rmt-lifecycle-demo-build`. `x-theme` und `xstate` sind Infrastrukturmodule;
48
+ sie werden ueber Host-/Loader-Dienste genutzt, aber nicht als normale RMT-App-
49
+ UI gerendert. `x-utils` bleibt Utility-Modul, der Lifecycle-Demo-Build bleibt
50
+ Demo-Artefakt.
51
+
52
+ ## Component-Familien
53
+
54
+ | Familie | Tags |
55
+ | --- | --- |
56
+ | Form | `x-calendar`, `x-checkbox`, `x-form`, `x-input`, `x-radio`, `x-select`, `x-textarea` |
57
+ | Navigation | `x-router`, `x-link`, `x-menu`, `x-drawer` |
58
+ | Overlay/Surface | `x-dialog`, `x-lightbox`, `x-modal`, `x-popover`, `x-side-panel`, `x-surface-manager`, `x-surface-window`, `x-toast`, `x-tooltip` |
59
+ | Media/Feedback/Layout | `x-alert`, `x-button`, `x-cards`, `x-code`, `x-icon`, `x-masonry`, `x-player`, `x-progress`, `x-spinner`, `x-status`, `x-summary`, `x-type`, `x-writer` |
60
+ | Theme/Layout | `x-footer`, `x-header`, `x-hero`, `x-section`, `x-tabs` |
61
+ | Infrastruktur | `x-theme`, `xstate`, `x-utils`, `x-rmt-lifecycle-demo-build` |
62
+
63
+ Die risikoreichen Familien `form`, `navigation`, `overlay-surface`,
64
+ `media-feedback-layout` und `theme-layout` bleiben fuer representative Browser
65
+ Smokes markiert. Der Default-Gate prueft die breite Matrix fake-DOM-nah und
66
+ haelt Browser-Flakiness aus dem schnellen Primitive-Gate heraus.
67
+
68
+ ## Runtime API
69
+
70
+ ```js
71
+ import {
72
+ createRmtComponentCapabilityRegistry
73
+ } from '@ccslabs/xtend/rmt/component-capability-registry';
74
+ import {
75
+ createRmtDomDescriptorRenderer
76
+ } from '@ccslabs/xtend/rmt/dom-descriptor-renderer';
77
+
78
+ const registry = createRmtComponentCapabilityRegistry({
79
+ manifest,
80
+ sourceTexts,
81
+ importer: async (modulePath) => import(`/components/${modulePath.replace(/^\.\//u, '')}`)
82
+ });
83
+
84
+ const descriptor = registry.buildComponentDescriptor({
85
+ tag: 'x-select',
86
+ id: 'plan-select',
87
+ key: 'settings:plan',
88
+ attributes: {
89
+ name: 'plan',
90
+ value: 'pro'
91
+ },
92
+ slots: {
93
+ label: { text: 'Plan' }
94
+ },
95
+ events: {
96
+ 'select-changed': 'settings.plan.changed'
97
+ }
98
+ });
99
+
100
+ const renderer = createRmtDomDescriptorRenderer({ documentTarget: document });
101
+
102
+ renderer.renderKeyed(root, [descriptor], {
103
+ componentRegistry: registry,
104
+ dispatchEvent(event) {
105
+ actions.dispatch(event.action, event.payload);
106
+ },
107
+ stateBridge: {
108
+ read(key) {
109
+ return state.read(key);
110
+ },
111
+ write(key, value) {
112
+ state.write(key, value);
113
+ }
114
+ }
115
+ });
116
+ ```
117
+
118
+ Wichtige Registry-Funktionen:
119
+
120
+ | Funktion | Zweck |
121
+ | --- | --- |
122
+ | `resolveComponentCapability(tag)` | Liefert normalisierte Capabilities fuer einen Manifest-Tag. |
123
+ | `listCapabilities(filter)` | Listet Capabilities nach Familie oder Visual Kind. |
124
+ | `buildComponentDescriptor(input)` | Baut einen DOM Descriptor fuer XTend-Komponenten inklusive Capability-Markern. |
125
+ | `bindComponentInstance(element, binding, options)` | Verbindet Events, Form-State und State Bridge ueber public DOM APIs. |
126
+ | `ensureComponentLoaded(tag, options)` | Fuehrt lazy Import ueber einen expliziten Importer aus. |
127
+ | `createMatrixReport()` | Erzeugt den Compatibility-Report fuer CI und lokale Diagnose. |
128
+
129
+ ## Event- und State-Bridge
130
+
131
+ Form Controls liefern `value`, `checked`, `validity`, `dataset` und Datei-
132
+ Metadaten in einem sicheren Payload-Record
133
+ `xtend.rmt.component-event-payload.v1`. Fuer Form-Familien werden `input` und
134
+ `change` ergaenzt, wenn keine explizite Event-Bindung gesetzt ist.
135
+
136
+ Navigation, Overlays, Feedback- und Layout-Komponenten bleiben ebenfalls ueber
137
+ public Events und Properties angebunden. Produktcode muss nicht in
138
+ `shadowRoot` greifen, keine privaten Component-Maps lesen und keine
139
+ komponentenspezifischen Renderer einbauen.
140
+
141
+ ## Renderer-Integration
142
+
143
+ Der DOM Descriptor Renderer akzeptiert `componentRegistry` in
144
+ `render(...)` und `renderKeyed(...)`. Bei `type: "component"` werden Tag,
145
+ Attribute, Properties, Slots, Parts und Event-Bindings ueber die Registry
146
+ normalisiert. Keyed Reuse bleibt erhalten, unkeyed Repeat-UI wird weiterhin
147
+ diagnostiziert.
148
+
149
+ Normale RMT-App-UI nutzt keine HTML-Sinks. `innerHTML`, `outerHTML`,
150
+ `insertAdjacentHTML`, `document.write`, `createContextualFragment` und
151
+ unsichere URL-/Inline-Event-Sinks bleiben durch den No-Manual-HTML-Gate und
152
+ die Trusted-DOM-Boundary gesperrt.
153
+
154
+ ## Architekturregeln
155
+
156
+ - Component Contracts bleiben die Quelle der Wahrheit.
157
+ - RMT erweitert XTend UI ueber Metadaten und Runtime-Bridges, nicht ueber
158
+ Monkeypatching.
159
+ - Lazy Import laeuft nur ueber Manifest und explizite Importer.
160
+ - Der RMT-Kernel bleibt framework-neutral und importiert keine XTend-Typen.
161
+ - Overlays, Surfaces und Portals brauchen Resource Ownership und Cleanup.
162
+ - `x-player` nutzt den public Player Contract fuer Play/Pause, State Bridge,
163
+ Theme Tokens und Parts; Produktcode patcht kein Shadow DOM.
164
+ - Infrastrukturmodule wie `x-theme` und `xstate` werden als Services genutzt,
165
+ nicht als normale Surface-Elemente.
166
+
167
+ ## Gates
168
+
169
+ ```bash
170
+ node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json
171
+ npm run test:rmt-vnext-primitives:report
172
+ node scripts/run_xtend_tests.js component-ux-browser-smokes --json
173
+ node scripts/run_xtend_tests.js type-exports-rmt --json
174
+ ```
175
+
176
+ Das schnelle Primitive-Gate prueft Registry, Matrix, Renderer-Bindung,
177
+ Package-Exports, Type Declarations, Lazy Import, State Roundtrip und negative
178
+ Grenzen gegen Shadow-DOM-Patches, manuelle HTML-Sinks und direkte Component-
179
+ Imports.
180
+
181
+ ## Verwandte Doku
182
+
183
+ - [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
184
+ - [RMT DOM Descriptor Renderer](./rmt-dom-descriptor-renderer.md)
185
+ - [RMT Component Template Primitives](./rmt-component-template-primitives.md)
186
+ - [XTend Components](./components.md)
187
+ - [Component Platform](./component-platform.md)
188
+ - [XTend-Fabric RMT Lane Mapping](./xtend-fabric-rmt-lane-mapping.md)
@@ -0,0 +1,68 @@
1
+ # RMT vNext Cross Surface Events
2
+
3
+ Cross Surface Events verbinden Bereiche der App Shell, ohne einen impliziten
4
+ globalen Event Bus einzufuehren. Jede Richtung, jedes Ziel und jedes Payload-
5
+ Schema wird explizit beschrieben und durch Governance-Diagnostics abgesichert.
6
+ Boundary: no implicit global Event Bus.
7
+
8
+ ## Contract
9
+
10
+ ```js
11
+ schema: "xtend.rmt.vnext-cross-surface-event-protocol.v1"
12
+ reportSchema: "xtend.rmt.vnext-cross-surface-event-report.v1"
13
+ governanceSchema: "xtend.rmt.vnext-event-governance-policy.v1"
14
+ ```
15
+
16
+ Ein Event muss definieren:
17
+
18
+ - `event` als versionierter Name, zum Beispiel `checkout.cart.updated.v1`.
19
+ - `owner` als Team fuer Event- und Versionspflege.
20
+ - `payload.schema` als stabile Payload-ID.
21
+ - `direction` als `outbound` oder `inbound`.
22
+ - `scope` als Lane-, Surface- oder Shell-Target-Bindung.
23
+ - `delivery` mit TTL, Korrelation und Idempotenz, wenn erforderlich.
24
+
25
+ ## Direction
26
+
27
+ `emits` beschreibt ausgehende Events einer Surface. `consumes` beschreibt
28
+ eingehende Events. Die Shell darf diese Bindings weiterleiten, aber nicht frei
29
+ interpretieren. Dadurch bleibt sichtbar, ob eine User-Aktion mehrere Bereiche
30
+ der Shell tangiert.
31
+
32
+ ## Scope
33
+
34
+ Events sind auf Lanes und Shell Targets begrenzt:
35
+
36
+ ```rmt
37
+ emits checkout.cart.updated.v1 {
38
+ owner: "checkout-platform"
39
+ payload: "xtend.schemas.cartUpdated.v1"
40
+ direction: outbound
41
+ scope: lane critical -> shell.slot:sidebar.cart
42
+ }
43
+ ```
44
+
45
+ Ein Event ohne klaren Scope wird im E16-Gate blockiert oder diagnostiziert. Das
46
+ verhindert denselben impliziten Kopplungsdruck, der Micro-Frontend-Systeme ohne
47
+ Disziplin schwer wartbar macht.
48
+
49
+ ## Governance
50
+
51
+ Das Governance-Modell prueft:
52
+
53
+ - Event Owner und Payload Owner.
54
+ - Cross-Team-Events.
55
+ - Delivery Mode, TTL, `correlationId` und `idempotencyKey`.
56
+ - Sensitivity und Review-Pflichten.
57
+ - Degradation-Verhalten fuer Events einer blockierten oder degradierten Surface.
58
+
59
+ ## Gates
60
+
61
+ ```bash
62
+ node scripts/run_xtend_tests.js rmt-vnext-cross-surface-events --json
63
+ node scripts/run_xtend_tests.js rmt-vnext-event-governance --json
64
+ node scripts/run_xtend_tests.js rmt-vnext-enterprise-release --json
65
+ ```
66
+
67
+ Die Enterprise Demo deckt `checkout.cart.updated.v1` und
68
+ `user.session.changed.v1` als typisierte, gerichtete Cross-Surface-Events ab.