@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
@@ -9,7 +9,12 @@
9
9
 
10
10
  ## Zweck
11
11
 
12
- Dieser Guide beschreibt die Migration von fruehen XTendRMT-Metadatenpfaden zu nativen RMT Top-Level-Domains. Die Migration ist additiv und opt-in: bestehende XTend-, React-, Vue-, Vanilla-JS- und Custom-Apps duerfen weiterlaufen, waehrend neue RMT App-DSL-Dokumente direkt `adapters`, `components`, `routes` und `schedules` verwenden.
12
+ Dieser Guide beschreibt die Migration von fruehen XTendRMT-Metadatenpfaden zu
13
+ nativen RMT Top-Level-Domains und weiter zu RMT vNext. Die Migration ist
14
+ additiv und opt-in: bestehende XTend-, React-, Vue-, Vanilla-JS- und
15
+ Custom-Apps duerfen weiterlaufen, waehrend neue App-Shells in RMT vNext
16
+ geschrieben werden. `adapters`, `components`, `routes`, `schedules` und
17
+ `templates` bleiben Runtime Registry, Compiler-Output und Compatibility Mirror.
13
18
 
14
19
  Der aktuelle Produktueberblick liegt in [XTendRMT Developer Overview](./xtendrmt-overview.md). Die App-DSL-Details stehen in [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md), die produktive Adapter-/Bridge-Verkabelung in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
15
20
 
@@ -19,14 +24,40 @@ Neue Dokumente sollen diese Quellen nutzen:
19
24
 
20
25
  | Bereich | Zielquelle |
21
26
  |---------|------------|
22
- | Host Adapter | `adapters` |
23
- | XTend Components | `components` mit `adapter: "xtend.component"` |
24
- | XRouter Routes | `routes` mit `router: "xtend.xrouter"` |
25
- | Scheduler Policies | `schedules` |
26
- | Markup oder Fragmente | `templates` |
27
+ | Host Adapter | vNext Surface-/Endpoint-Nutzung, Output: `adapters` |
28
+ | XTend Components | `surface ... component x-*`, Output: `components` mit `adapter: "xtend.component"` |
29
+ | XRouter Routes | vNext Shell-/Route-Surface, Output: `routes` mit `router: "xtend.xrouter"` |
30
+ | Scheduler Policies | `lane` und Lifecycle-Operationen, Output: `schedules` |
31
+ | Markup oder Fragmente | `surface`, `slot`, `trust boundary`, Output: `templates` |
27
32
  | Beschreibung, Handoff, Historie | `manifest.metadata` |
28
33
 
29
- `manifest.metadata` bleibt fuer Produktbeschreibung, Handoff-Notizen, Demo-Historie und bewusst historische Pilotdaten gueltig. Operative Routes, Components und Schedules sollen dort nicht neu entstehen. Template-only-Dokumente bleiben kompatibel.
34
+ `manifest.metadata` bleibt fuer Produktbeschreibung, Handoff-Notizen,
35
+ Demo-Historie und bewusst historische Pilotdaten gueltig. Operative Routes,
36
+ Components und Schedules sollen dort nicht neu entstehen.
37
+ Template-only-Dokumente bleiben kompatibel.
38
+
39
+ ## vNext-Zielbild
40
+
41
+ ```rmt
42
+ template settings.migration {
43
+ state settings.tab type string initial "profile"
44
+
45
+ portal surface.root root "#settings-root" layer surface
46
+
47
+ surface settings.card kind card component x-card {
48
+ source state settings.tab
49
+ portal surface.root
50
+
51
+ lane visible weight 80 {
52
+ hydrate settings-card from state settings.tab
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ Die JSON-Beispiele in den folgenden Schritten sind bewusst als Legacy Input
59
+ oder Runtime-Registry-Output markiert. Sie zeigen Migrationsevidence, nicht die
60
+ neue Schreibform.
30
61
 
31
62
  ## Migrationsmatrix
32
63
 
@@ -41,7 +72,7 @@ Neue Dokumente sollen diese Quellen nutzen:
41
72
  | manuelle Scheduler-/State-Bruecke | durch `createRmtStateSchedulerDiagnosticsBridge` ersetzen |
42
73
  | nicht-XTend Host | eigenen Adapter wie `vanilla.component` deklarieren |
43
74
 
44
- ## Schritt 1: Adapter explizit machen
75
+ ## Schritt 1: Adapter im Registry-Output explizit machen
45
76
 
46
77
  Alte Demo-Metadaten enthalten oft implizites Wissen wie "diese Route nutzt XRouter" oder "diese Component ist XTend". Der erste Migrationsschritt ist ein expliziter Adapter-Record.
47
78
 
@@ -57,9 +88,9 @@ Alte Demo-Metadaten enthalten oft implizites Wissen wie "diese Route nutzt XRout
57
88
 
58
89
  `kernelVisible: false` ist fuer host-spezifische Adapterdaten Pflicht. Es bedeutet: Der Kernel darf den Record validieren und indizieren, aber keine XTend-Laufzeit importieren.
59
90
 
60
- ## Schritt 2: Components aus Metadaten heben
91
+ ## Schritt 2: Components aus Legacy-Metadaten heben
61
92
 
62
- Vorher:
93
+ Vorher: Legacy `manifest.metadata`
63
94
 
64
95
  ```json
65
96
  {
@@ -76,7 +107,7 @@ Vorher:
76
107
  }
77
108
  ```
78
109
 
79
- Nachher:
110
+ Nachher: Compatibility-/Registry-Output
80
111
 
81
112
  ```json
82
113
  {
@@ -94,9 +125,9 @@ Nachher:
94
125
 
95
126
  Damit kann `createRmtFormat().createRuntimeRegistries(...)` die Component ueber `componentRegistry.byAdapter["xtend.component"]` bereitstellen.
96
127
 
97
- ## Schritt 3: Routes aus Metadaten heben
128
+ ## Schritt 3: Routes aus Legacy-Metadaten heben
98
129
 
99
- Vorher:
130
+ Vorher: Legacy `manifest.metadata`
100
131
 
101
132
  ```json
102
133
  {
@@ -113,7 +144,7 @@ Vorher:
113
144
  }
114
145
  ```
115
146
 
116
- Nachher:
147
+ Nachher: Compatibility-/Registry-Output
117
148
 
118
149
  ```json
119
150
  {
@@ -181,10 +212,10 @@ Wenn Speziallogik weiterhin notwendig ist, gehoert sie in einen Adapter oder in
181
212
 
182
213
  `xtendrmt/xtendrmt-bestcase-demo.rmt` ist die produktive Authoring-Referenz fuer RMT vNext:
183
214
 
184
- - die `.rmt` Datei nutzt `template`, `surface`, `lane`, Lifecycle-Operationen, Slots und Event-Actions statt JSON
215
+ - die `.rmt` Datei nutzt `template`, `surface`, `lane`, Lifecycle-Operationen, Slots, Event-Actions, State, Selectors, Actions, DataSources, Portals, Overlays, Resources und Remote Surfaces statt JSON
185
216
  - `xtendrmt/xtendrmt-bestcase-demo.core.json` ist der byte-stabile vNext-Core-Output
186
- - die Browser-Demo projiziert vNext-Core zur Laufzeit auf `adapters`, `components`, `routes` und `schedules`
187
- - `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und `createRmtStateSchedulerDiagnosticsBridge` bleiben die produktiven Adapterpfade
217
+ - die Browser-Demo projiziert vNext-Core zur Laufzeit auf `adapters`, `components`, `routes`, `schedules`, Component Capability Registry, Player Contract und Resource Ownership
218
+ - `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter`, `createRmtStateSchedulerDiagnosticsBridge` und `createRmtComponentCapabilityRegistry` bleiben die produktiven Adapterpfade
188
219
  - `nativeDemoMigration` wird in der Runtime-Projektion als Handoff-Metadatum erhalten
189
220
 
190
221
  `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` ist die browsernahe Regression fuer den migrierten Pfad. Sie prueft zusaetzlich `vanilla.component`, damit der Zielzustand framework-agnostisch bleibt.
@@ -1,6 +1,6 @@
1
1
  # XTendRMT Native Authoring Guide
2
2
 
3
- - Status: produktiv nach Epic 05 Abschluss
3
+ - Status: produktiv nach Epic 05 Abschluss, vNext-first aktualisiert
4
4
  - Contract: `xtend.rmt.native-authoring-guide.v1`
5
5
  - Mindestgates:
6
6
  - `node scripts/run_xtend_tests.js rmt-compatibility --json`
@@ -9,221 +9,193 @@
9
9
 
10
10
  ## Zweck
11
11
 
12
- Dieser Guide beschreibt das produktive Authoring-Modell fuer native `.rmt` Dokumente mit XTend UI und XRouter. Ziel ist, dass Menschen und AI-Agenten native RMT Routes, XTend Components, Adapter und Schedules schreiben koennen, ohne XTend oder XRouter in den RMT Kernel einzubetten.
12
+ Dieser Guide beschreibt das produktive Authoring-Modell fuer native `.rmt`
13
+ Dokumente mit XTend UI und XRouter. Der empfohlene Weg fuer neue Apps ist RMT
14
+ vNext: App Shell, Surfaces, Routes, State, Events, Hydration und Fabric-Lanes
15
+ stehen in einer lesbaren RMT-Quelle. Legacy- und App-DSL-JSON bleiben
16
+ Compatibility Layer, Runtime Registry und Compiler-Target, aber nicht der
17
+ normale Autorenpfad.
13
18
 
14
- `.rmt` ist der kanonische Dateityp. Server sollten ihn als `application/vnd.xtendrmt.rmt+json` oder kompatibel als Text ausliefern; der Runtime-Loader liest RMT-Dokumente als Text und parst sie ueber `createRmtFormat().parseDocument(...)`. JSON-Endungen bleiben nur fuer Edge-Case-Hosts ohne native MIME-Unterstuetzung vorgesehen.
19
+ `.rmt` ist der kanonische Dateityp. Server sollten ihn als
20
+ `application/vnd.xtendrmt.rmt+json` oder kompatibel als Text ausliefern; der
21
+ Runtime-Loader liest RMT-Dokumente als Text und parst sie ueber
22
+ `createRmtFormat().parseDocument(...)`. JSON-Endungen bleiben nur fuer
23
+ Edge-Case-Hosts ohne native MIME-Unterstuetzung vorgesehen.
15
24
 
16
- Fuer einen kompakten Produktueberblick siehe [XTendRMT Developer Overview](./xtendrmt-overview.md). Die referenzartige DSL-Beschreibung liegt in [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md); Runtime-Factories und Bridge-Verkabelung liegen in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
25
+ Fuer einen kompakten Produktueberblick siehe [XTendRMT Developer
26
+ Overview](./xtendrmt-overview.md). Die referenzartige DSL-Beschreibung liegt in
27
+ [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md); Runtime-Factories und
28
+ Bridge-Verkabelung liegen in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
17
29
 
18
30
  Die Produktgrenze bleibt:
19
31
 
20
- - XTend UI ist das UI-Builder- und Web-Component-Produkt
21
- - XTendRMT ist Scheduler, Runtime Kernel und Templating Engine
22
- - XRouter ist der erste produktive Router Adapter
23
- - XTend Components sind First-Class RMT Components ueber `xtend.component`
24
- - nicht-XTend Hosts bleiben ueber eigene Adapter gleichberechtigt
32
+ - XTend UI ist das UI-Builder- und Web-Component-Produkt.
33
+ - XTendRMT ist Scheduler, Runtime Kernel und Templating Engine.
34
+ - XRouter ist der erste produktive Router Adapter.
35
+ - XTend Components sind First-Class RMT Components ueber `xtend.component`.
36
+ - Nicht-XTend Hosts bleiben ueber eigene Adapter gleichberechtigt.
37
+ - Der RMT Kernel importiert keine XTend-, XRouter-, DOM- oder Browser-Typen.
25
38
 
26
- Ab `WP-E13-09` ist [RMT Production Readiness](./rmt-production-readiness.md) der RC1-Schnitt fuer diesen Pfad. Der Contract `xtend.epic13.rmt-production-readiness.v1` wird lokal ueber `node scripts/run_xtend_tests.js epic13-rmt-production-readiness --json` geprueft und buendelt die bestehenden RMT-, Component-, Fabric- und Telemetry-Gates.
39
+ Ab `WP-E13-09` ist [RMT Production Readiness](./rmt-production-readiness.md)
40
+ der RC1-Schnitt fuer diesen Pfad. Der Contract
41
+ `xtend.epic13.rmt-production-readiness.v1` wird lokal ueber
42
+ `node scripts/run_xtend_tests.js epic13-rmt-production-readiness --json`
43
+ geprueft und buendelt die bestehenden RMT-, Component-, Fabric- und
44
+ Telemetry-Gates.
27
45
 
28
46
  Ab Epic 14 ist der native Authoring-Pfad auch toolgestuetzt:
29
47
 
30
- - [RMT Linter und AI-Agent Repair Report](./rmt-linter.md) beschreibt `xt rmt lint`, JSON-Reports, `--fail-on` und `--agent`.
31
- - [RMT Language Server und Editor Setup](./rmt-language-server.md) beschreibt LSP, Snippets und Editor-Anbindung fuer VS Code, JetBrains, Neovim und Helix.
32
- - `node scripts/run_xtend_tests.js rmt-language-regression --json` prueft valide, defekte, Legacy- und groessere RMT-Dokumente ueber Parser, Linter, CLI, LSP und Agent-Report hinweg.
33
-
34
- ## Minimaler Dokumentaufbau
35
-
36
- Neue App-DSL-Dokumente nutzen native Top-Level-Domains:
37
-
38
- ```json
39
- {
40
- "kind": "rmt_document",
41
- "version": "1.0",
42
- "documentId": "app.shell",
43
- "namespace": "app",
44
- "adapters": [],
45
- "components": [],
46
- "routes": [],
47
- "schedules": [],
48
- "surfaces": [],
49
- "templates": []
50
- }
51
- ```
48
+ - [RMT Linter und AI-Agent Repair Report](./rmt-linter.md) beschreibt
49
+ `xt rmt lint`, JSON-Reports, `--fail-on` und `--agent`.
50
+ - [RMT Language Server und Editor Setup](./rmt-language-server.md) beschreibt
51
+ LSP, Snippets und Editor-Anbindung fuer VS Code, JetBrains, Neovim und Helix.
52
+ - `node scripts/run_xtend_tests.js rmt-language-regression --json` prueft
53
+ valide, defekte, Legacy- und groessere RMT-Dokumente ueber Parser, Linter,
54
+ CLI, LSP und Agent-Report hinweg.
52
55
 
53
- Bestehende Template-only-Dokumente bleiben gueltig. Neue Routing- und Component-Arbeit soll jedoch nicht mehr in `manifest.metadata` versteckt werden.
56
+ ## Minimaler vNext-Aufbau
54
57
 
55
- ## Adapter
58
+ Neue App-Shells starten mit einer vNext-Quelle:
56
59
 
57
- Adapter beschreiben Host-Faehigkeiten. Sie sind Daten im RMT Dokument, keine Kernel-Imports.
60
+ ```rmt
61
+ template settings.app {
62
+ state settings.tab type string initial "profile"
58
63
 
59
- ```json
60
- {
61
- "id": "xtend.xrouter",
62
- "kind": "router_adapter",
63
- "runtimeSurface": ["esm", "browser_classic"],
64
- "providedCapabilities": ["routes", "navigation", "params", "query", "scheduleRefs"],
65
- "kernelVisible": false
66
- }
67
- ```
64
+ selector settings.view from state settings.tab {
65
+ output SettingsView
66
+ }
68
67
 
69
- Stabile Adapter-IDs fuer den aktuellen Produktpfad:
70
-
71
- - `xtend.xrouter` fuer native XRouter Routes
72
- - `xtend.component` fuer XTend Custom Elements
73
- - `xtend.surface` fuer native Surface Records als WindowManager-, SidePanel- und Overlay-Handoff
74
- - `rmt.state-scheduler-diagnostics` fuer Adapter Results, Scheduler Endpoints und Diagnostics
75
- - `vanilla.component` als Beispiel fuer einen nicht-XTend Component Host
76
-
77
- ## Components
78
-
79
- Eine Component beschreibt das fachliche Host-Element. XTend-spezifische Arbeit bleibt Adapteraufgabe.
80
-
81
- ```json
82
- {
83
- "id": "settings.card",
84
- "kind": "custom_element",
85
- "adapter": "xtend.component",
86
- "tag": "x-card",
87
- "schedule": "component.idle.hydrate",
88
- "props": {
89
- "label": "Settings"
90
- },
91
- "attributes": {
92
- "data-host": "xtend"
93
- },
94
- "hydration": {
95
- "mode": "runtime_render",
96
- "ownershipMode": "managed_subtree"
68
+ action settings.save {
69
+ input tab string
70
+ reduce state.settings.tab = input.tab
71
+ emit settings.saved with action settings.save
97
72
  }
98
- }
99
- ```
100
73
 
101
- Authoring-Regeln:
102
-
103
- - `id` ist stabil und route-freundlich.
104
- - `adapter` referenziert einen Record aus `adapters`.
105
- - `tag` ist bei Custom Elements erforderlich.
106
- - `props`, `attributes` und `slots` bleiben explizit.
107
- - `schedule` referenziert eine Policy aus `schedules`.
108
- - Manifest Lookup, Custom-Element-Registration, DOM-Erzeugung und Hydration gehoeren zu `createRmtXtendComponentAdapter`.
109
-
110
- ## Routes
111
-
112
- Eine Route beschreibt Navigation, nicht DOM-Aufbau.
113
-
114
- ```json
115
- {
116
- "id": "settings",
117
- "path": "/settings",
118
- "router": "xtend.xrouter",
119
- "component": "settings.card",
120
- "template": "settings.shell",
121
- "schedule": "route.visible.render",
122
- "query": {
123
- "tab": "profile"
74
+ portal surface.root root "#app-root" layer surface
75
+
76
+ surface settings.card kind page component x-card {
77
+ source selector settings.view
78
+ portal surface.root
79
+
80
+ lane visible weight 80 {
81
+ mount x-card
82
+ hydrate settings-card from selector settings.view
83
+ }
84
+
85
+ on submit target settings-form -> action settings.save {
86
+ payload tab from target.dataset.tab
87
+ }
124
88
  }
125
89
  }
126
90
  ```
127
91
 
128
- Authoring-Regeln:
129
-
130
- - `router` referenziert den Router Adapter.
131
- - `component` referenziert einen nativen Component Record.
132
- - `template` bleibt optional, aber empfohlen fuer renderbare Shells.
133
- - `schedule` steuert Route-Aktivierung ueber eine zentrale Policy.
134
- - Parameter, Query und Metadata bleiben generisch.
135
- - XRouter-Mapping, `registerRoutes` und Navigation gehoeren zu `createRmtXRouterAdapter`.
136
-
137
- ## Schedules
138
-
139
- Schedules sind zentrale Policies. Routes und Components referenzieren sie nur.
140
-
141
- ```json
142
- {
143
- "id": "component.idle.hydrate",
144
- "endpointName": "xtendrmt.component.hydrate",
145
- "scope": "app.component.hydrate",
146
- "lane": "idle",
147
- "priority": 40,
148
- "deadlineMs": 420,
149
- "preferIdle": true,
150
- "budgetClass": "background"
151
- }
152
- ```
92
+ Der Compiler erzeugt daraus Core- und Kernel-Records fuer `adapters`,
93
+ `components`, `routes`, `schedules`, `surfaces` und `templates`. Diese Records
94
+ sind Runtime-Registry und Mirror; App-Autoren arbeiten in vNext.
95
+
96
+ ## Adapter und Host-Grenze
97
+
98
+ Adapter beschreiben Host-Faehigkeiten. Sie sind Daten im RMT Dokument, keine
99
+ Kernel-Imports. Der aktuelle Produktpfad kennt diese stabilen Adapter-IDs:
100
+
101
+ - `xtend.xrouter` fuer native XRouter Routes.
102
+ - `xtend.component` fuer XTend Custom Elements.
103
+ - `xtend.surface` fuer SurfaceManager-, SidePanel- und Overlay-Handoffs.
104
+ - `rmt.state-scheduler-diagnostics` fuer Adapter Results, Scheduler Endpoints
105
+ und Diagnostics.
106
+ - `vanilla.component` als Beispiel fuer einen nicht-XTend Component Host.
153
107
 
154
- Erprobte Policies aus Demo und Browser-Smoke:
108
+ `kernelVisible: false` bleibt fuer host-spezifische Adapterdaten der Normalfall.
109
+ Der Kernel darf Records normalisieren, indizieren und schedulen, aber keine
110
+ Host-Runtime laden.
155
111
 
156
- - `route.visible.render` -> `xtendrmt.route.render`
157
- - `component.visible.mount` -> `xtendrmt.component.mount`
158
- - `component.idle.hydrate` -> `xtendrmt.component.hydrate`
159
- - `vanilla.visible.mount` -> `xtendrmt.vanilla.mount`
112
+ ## Components, Routes und Schedules in vNext
160
113
 
161
- Die Ausfuehrung und Spiegelung von Scheduler-Ergebnissen gehoert zu `createRmtStateSchedulerDiagnosticsBridge`.
114
+ Components werden ueber `surface ... component ...` sichtbar. Route- und
115
+ Schedule-Informationen bleiben in der RMT-Quelle deklarativ und werden vom Host
116
+ ueber Adapter ausgefuehrt:
162
117
 
163
- ## Surfaces
118
+ ```rmt
119
+ template settings.routes {
120
+ portal surface.root root "#app-root" layer surface
164
121
 
165
- Ab `WP-SM-08` koennen komplexe App-Shell-Oberflaechen native `surfaces` Records fuehren:
122
+ surface settings.page kind page component x-section {
123
+ portal surface.root
166
124
 
167
- ```json
168
- {
169
- "id": "surface.inspector",
170
- "schema": "xtend.surface.record.v1",
171
- "type": "window",
172
- "adapter": "xtend.surface",
173
- "manager": "workbench.manager",
174
- "component": "workbench.inspector",
175
- "route": "workbench",
176
- "schedule": "surface.user-blocking.open",
177
- "stateKey": "xtend.surface.inspector.state"
125
+ lane visible weight 80 {
126
+ hydrate settings-shell from endpoint xtendrmt.route.render
127
+ hydrate settings-form from endpoint xtendrmt.component.hydrate
128
+ }
129
+
130
+ lane idle weight 20 {
131
+ hydrate settings-help from endpoint xtendrmt.component.hydrate
132
+ }
133
+ }
178
134
  }
179
135
  ```
180
136
 
181
- Authoring-Regeln:
182
-
183
- - `manager` und `component` referenzieren native Component Records.
184
- - `route` und `schedule` binden Surface-Sichtbarkeit an App- und Scheduler-Kontext.
185
- - `components[*].metadata.surface` bleibt als Migrationsquelle gueltig.
186
- - `xtend.surface` ist in `WP-SM-08` ein Adapter-Handoff, keine produktive Kernel-Runtime.
187
- - Details liegen in [SurfaceManager Native RMT Surfaces](./surface-manager-native-rmt-surfaces.md).
188
- - Der abgeschlossene Surface-Authoring-Pfad liegt in [SurfaceManager Authoring Guide](./surface-manager-authoring-guide.md) (`docs/surface-manager-authoring-guide.md`) und beschreibt `component-metadata-mvp`, `dual-record-handoff` und `native-surfaces-preferred`.
189
-
190
- ## Templates
191
-
192
- Templates bleiben Teil von RMT. Fuer XTend UI sollen sie Host-Daten referenzieren statt versteckte Component-Logik zu enthalten.
193
-
194
- ```json
195
- {
196
- "id": "settings.shell",
197
- "mode": "html_fragment",
198
- "markup": "<x-card></x-card>",
199
- "security": {
200
- "markupClass": "htmlFragment",
201
- "trustBoundary": "xtend.security.sanitizing-boundary.v1",
202
- "sink": "trustedDomBoundary"
203
- },
204
- "hydration": {
205
- "mode": "runtime_render",
206
- "metadata": {
207
- "endpointHint": "xtendrmt.component.hydrate"
137
+ Der Normalizer macht daraus Runtime-Registry-Eintraege, die Adapter ueber
138
+ `componentRegistry.byAdapter["xtend.component"]`, `componentRegistry.byTag[...]`
139
+ und Route-/Schedule-Indizes konsumieren. XRouter-Mapping, `registerRoutes`,
140
+ Custom-Element-Registration, DOM-Erzeugung und Hydration bleiben Host-Aufgabe.
141
+
142
+ ## Surfaces und Templates
143
+
144
+ Komplexe App-Shells werden in vNext als Surfaces und Portals beschrieben:
145
+
146
+ ```rmt
147
+ template workbench.app {
148
+ state workbench.selection type object initial null
149
+
150
+ portal surface.root root "#workbench-root" layer surface
151
+
152
+ surface workbench.manager kind workspace component x-surface-manager {
153
+ portal surface.root
154
+
155
+ lane visible weight 90 {
156
+ hydrate surface-manager from endpoint xtendrmt.component.mount
157
+ }
158
+ }
159
+
160
+ surface workbench.inspector kind window component x-surface-window {
161
+ source state workbench.selection
162
+ portal surface.root
163
+
164
+ lane user-blocking weight 95 {
165
+ hydrate inspector-window from state workbench.selection
208
166
  }
209
167
  }
210
168
  }
211
169
  ```
212
170
 
213
- Wenn eine Component eine Route vollstaendig abdeckt, bleibt `template` optional. Wenn Slots oder Shell-Markup benoetigt werden, sollte der Template Record stabil referenziert werden.
171
+ Das Lowering kann daraus weiterhin `dom_descriptor` Template Records und
172
+ native `surfaces` Records erzeugen. `html_fragment` bleibt kompatibel, ist aber
173
+ DOM-untrusted und braucht `xtend.security.sanitizing-boundary.v1`. Der Kernel
174
+ sanitized kein HTML; Host Adapter besitzen den Trusted-DOM-Sink. Siehe
175
+ [Trusted DOM und Sanitizing](./trusted-dom-sanitizing.md).
214
176
 
215
- Security-Regel ab `ER-WP-29`: `dom_descriptor` ist der bevorzugte Modus fuer neue Templates. `html_fragment` bleibt moeglich, ist aber DOM-untrusted und braucht `xtend.security.sanitizing-boundary.v1`. Der RMT Kernel sanitized kein HTML; Host Adapter besitzen den Trusted-DOM-Sink. Siehe [Trusted DOM und Sanitizing](./trusted-dom-sanitizing.md).
177
+ Der abgeschlossene Surface-Authoring-Pfad liegt in [SurfaceManager Authoring
178
+ Guide](./surface-manager-authoring-guide.md) (`docs/surface-manager-authoring-guide.md`).
216
179
 
217
180
  ## Runtime-Verkabelung
218
181
 
219
- Der produktive Browser-/ESM-Pfad besteht aus vier Schritten:
182
+ Der produktive Browser-/ESM-Pfad bleibt stabil:
220
183
 
221
184
  1. `createRmtFormat().normalizeDocument(document)`
222
185
  2. `createRmtFormat().createRuntimeRegistries(normalizedDocument)`
223
186
  3. `createRmtXRouterAdapter(...).registerRoutes(registry)`
224
- 4. `createRmtXtendComponentAdapter(...).mountComponent(...)` und `hydrateComponent(...)`
187
+ 4. `createRmtXtendComponentAdapter(...).mountComponent(...)` und
188
+ `hydrateComponent(...)`
225
189
 
226
- Adapter Results koennen anschliessend ueber `createRmtStateSchedulerDiagnosticsBridge(...).recordAdapterResult(...)` an `xstate`, Scheduler und Diagnostics Hub gespiegelt werden.
190
+ Adapter Results koennen anschliessend ueber
191
+ `createRmtStateSchedulerDiagnosticsBridge(...).recordAdapterResult(...)` an
192
+ `xstate`, Scheduler und Diagnostics Hub gespiegelt werden.
193
+
194
+ Die stabilen Factory-Namen fuer Adapterdokumentation und Tooling bleiben
195
+ `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und
196
+ `createRmtStateSchedulerDiagnosticsBridge`. Die Standard-Policies bleiben
197
+ `route.visible.render` fuer sichtbares Routing und `component.idle.hydrate`
198
+ fuer nachgelagerte Component-Hydration.
227
199
 
228
200
  ## Authoring Tooling
229
201
 
@@ -241,26 +213,19 @@ Die IDE-Anbindung startet denselben Sprachkern ueber:
241
213
  node tools/rmt-language-server/server.js
242
214
  ```
243
215
 
244
- Wichtig: Linter, LSP, Code Actions und Agent Report teilen sich den gleichen Diagnosekern. Editor-Packages und AI-Agenten sollen keine eigenen RMT-Regeln implementieren.
245
-
246
- Neue App-Shells koennen ueber den Snippet-Prefix `rmt-app` gestartet werden. Weitere Prefixes sind `rmt-component`, `rmt-route`, `rmt-schedule`, `rmt-template-dom` und `rmt-template-html`.
216
+ Wichtig: Linter, LSP, Code Actions und Agent Report teilen sich den gleichen
217
+ Diagnosekern. Editor-Packages und AI-Agenten sollen keine eigenen RMT-Regeln
218
+ implementieren.
247
219
 
248
- ## Epic-10-App-Authoring
249
-
250
- Fuer vollstaendige XTend-Apps gilt ab Epic 10 der Contract `xtend.rmt.first-class-app-authoring.v1`. Er erweitert den nativen Authoring-Pfad von einzelnen Routes und Components auf komplette Shell-first Apps:
251
-
252
- - App Shell als `dom_descriptor`
253
- - `xtend.component`, `xtend.xrouter` und `rmt.state-scheduler-diagnostics` als Pflichtadapter
254
- - Component Records mit Props, Attributes, Slots, Events, Fabric- und A11y-Metadaten
255
- - Route Records mit Component-, Template- und Schedule-Referenzen
256
- - zentrale Schedule Policies fuer Shell, Route Render, Component Mount, Hydration, User Input, Lazy Media und Diagnostics
257
- - Kernel Boundary `no-rmt-kernel-import-of-xtend-types`
258
-
259
- Das Referenz-Fixture liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`; der lokale Gate ist `node scripts/run_xtend_tests.js rmt-first-class-app --json`.
220
+ Neue App-Shells koennen ueber den Snippet-Prefix `rmt-app` gestartet werden.
221
+ Weitere Prefixes sind `rmt-component`, `rmt-route`, `rmt-schedule`,
222
+ `rmt-template-dom`, `rmt-template-html` und `rmt-vnext-primitive-shell`.
260
223
 
261
224
  ## Fabric/Lane-Ingestion im Component Adapter
262
225
 
263
- Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2` Fabric- und Lane-Hints direkt beim Mounting und bei Hydration aus. Die Precedence ist:
226
+ Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2`
227
+ Fabric- und Lane-Hints direkt beim Mounting und bei Hydration aus. Die
228
+ Precedence bleibt:
264
229
 
265
230
  1. `rmt.schedule-record`
266
231
  2. `rmt.component-metadata`
@@ -268,7 +233,12 @@ Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2`
268
233
  4. `component.static-contract`
269
234
  5. `scaffold.blueprint-default`
270
235
 
271
- Der Adapter stellt dafuer `resolveFabricContext(componentRef, operation, model, options)` bereit. `mountComponent(...)` und `hydrateComponent(...)` spiegeln den Context in `result.metadata.fabric` und setzen DOM-Attribute fuer Lane, RMT-Lane, Fiber, Source und Endpoint. Konflikte erzeugen `rmt.xtend.component.fabric_lane.conflict`.
236
+ In vNext kommt die bevorzugte Quelle aus `lane`- und Lifecycle-Klauseln. Der
237
+ Adapter stellt dafuer `resolveFabricContext(componentRef, operation, model,
238
+ options)` bereit. `mountComponent(...)` und `hydrateComponent(...)` spiegeln
239
+ den Context in `result.metadata.fabric` und setzen DOM-Attribute fuer Lane,
240
+ RMT-Lane, Fiber, Source und Endpoint. Konflikte erzeugen
241
+ `rmt.xtend.component.fabric_lane.conflict`.
272
242
 
273
243
  Der lokale Gate ist:
274
244
 
@@ -278,38 +248,64 @@ node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json
278
248
 
279
249
  ## Component Lifecycle Telemetry
280
250
 
281
- Ab `xtend.component.lifecycle-telemetry.v1` erzeugt derselbe Adapter standardisierte Component Lifecycle Telemetry. `mountComponent(...)` und `hydrateComponent(...)` schreiben `result.metadata.telemetry`; die Event Bridge erzeugt `event` Records; fuer Render, Update, Unmount und Error steht `recordComponentTelemetry(record, options)` bereit.
251
+ Ab `xtend.component.lifecycle-telemetry.v1` erzeugt derselbe Adapter
252
+ standardisierte Component Lifecycle Telemetry. RMT-Dokumente muessen dafuer
253
+ keinen XTend-Code importieren; sie liefern nur Component-, Route-, Schedule-
254
+ und Fabric-Kontext. Der Host kann `telemetryCollector`, `recordTelemetry` oder
255
+ eine Fabric-Instanz uebergeben.
256
+
257
+ ```js
258
+ const records = [];
259
+ adapter.mountComponent(root, 'pages.settings', model, {
260
+ mapping,
261
+ telemetryCollector: records
262
+ });
263
+
264
+ const snapshot = fabric.createTelemetrySnapshot({
265
+ componentTelemetry: records
266
+ });
267
+ ```
282
268
 
283
- Fabric kann diese Records ueber `createTelemetrySnapshot({ componentTelemetry })` unter `snapshot.componentTelemetry` aggregieren. Component-Fehler, Deadline-Ueberschreitungen und explizite `backpressureSignal` Metadata fliessen in die Backpressure-Sektion ein.
269
+ `snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`,
270
+ `event`, `unmount` und `error` nach Operation, Component und Lane. Component-
271
+ Fehler, Deadline-Ueberschreitungen und explizite `backpressureSignal` Metadata
272
+ koennen Backpressure erzeugen. Der Gate ist
273
+ `node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json`.
284
274
 
285
- ```bash
286
- node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json
287
- ```
275
+ Hosts koennen Fabric Snapshots direkt an die produktive RMT Bridge uebergeben:
288
276
 
289
- Aktuelle Artefakte:
277
+ ```js
278
+ bridge.recordTelemetrySnapshot(snapshot, {
279
+ scheduleRef: "diagnostics.snapshot"
280
+ });
281
+ ```
290
282
 
291
- - `xtendrmt/rmt-core.esm.js`
292
- - `xtendrmt/rmt-runtime.esm.js`
293
- - `xtendrmt/rmt-runtime.browser.js`
294
- - `xtendrmt/rmt-core.d.ts`
295
- - `xtendrmt/rmt.schema.json`
296
- - `xtendrmt/rmt-manifest.json`
283
+ Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und
284
+ `rmt.backpressure.*` und plant bei Bedarf den Diagnostics-Snapshot-Endpunkt.
297
285
 
298
286
  ## Multi-Host-Regel
299
287
 
300
- Native RMT Components duerfen nicht implizit XTend bedeuten. Ein nicht-XTend Host nutzt denselben Component-Record-Aufbau mit eigener Adapter-ID:
288
+ Native RMT Components duerfen nicht implizit XTend bedeuten. Ein nicht-XTend
289
+ Host nutzt denselben vNext-Aufbau mit eigener Adapter-ID und eigener
290
+ Host-Ausfuehrung:
291
+
292
+ ```rmt
293
+ template vanilla.app {
294
+ portal surface.root root "#vanilla-root" layer surface
295
+
296
+ surface vanilla.panel kind card component vanilla-panel {
297
+ portal surface.root
301
298
 
302
- ```json
303
- {
304
- "id": "vanilla-panel",
305
- "kind": "custom_element",
306
- "adapter": "vanilla.component",
307
- "tag": "vanilla-panel",
308
- "schedule": "vanilla.visible.mount"
299
+ lane visible weight 60 {
300
+ hydrate vanilla-panel from endpoint xtendrmt.vanilla.mount
301
+ }
302
+ }
309
303
  }
310
304
  ```
311
305
 
312
- Der Browser-Smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` prueft genau diesen Pfad. Damit ist Framework-Agnostik nicht nur Architekturziel, sondern Regression.
306
+ Der Browser-Smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` prueft
307
+ genau diesen Pfad. Damit ist Framework-Agnostik nicht nur Architekturziel,
308
+ sondern Regression.
313
309
 
314
310
  ## Kernel Boundary
315
311
 
@@ -322,16 +318,16 @@ Der RMT Kernel darf nicht importieren oder voraussetzen:
322
318
  - `xstate`
323
319
  - Browser DOM APIs
324
320
 
325
- Der Kernel darf normalisieren, indizieren, validieren und Schedule Policies beschreiben. Host-Ausfuehrung bleibt Adapterarbeit.
321
+ Der Kernel darf normalisieren, indizieren, validieren und Schedule Policies
322
+ beschreiben. Host-Ausfuehrung bleibt Adapterarbeit.
326
323
 
327
324
  ## Review-Checkliste
328
325
 
329
326
  Vor einem neuen nativen `.rmt` Dokument pruefen:
330
327
 
331
- - sind `adapters`, `components`, `routes` und `schedules` Top-Level-Domains?
332
- - referenzieren Routes nur Component IDs und keine DOM-Details?
333
- - referenzieren Components nur Adapter IDs und keine Kernel-Sonderfaelle?
334
- - sind Schedule Policies zentral und wiederverwendbar?
335
- - bleiben XTend-spezifische Daten `kernelVisible: false`?
328
+ - beschreibt die Quelle App Shell, Surfaces, Lanes und Events in RMT vNext?
329
+ - sind Legacy-/App-DSL-JSON nur noch Compiler-Output, Mirror oder Migration?
330
+ - bleiben XTend-spezifische Daten ausserhalb des Kernels?
331
+ - referenzieren Lifecycle-Operationen stabile Endpoints und Adaptergrenzen?
336
332
  - existiert fuer nicht-XTend Hosts ein eigener Adapter statt XTend-Fallback?
337
333
  - laufen `rmt-compatibility`, `browser` und `references` Gates?