@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
@@ -51,7 +51,7 @@ Der Plan haelt die frueheren Boundary-Luecken nachvollziehbar, aber nicht mehr a
51
51
  - 0 Manifest-Eintraege brauchen noch Suite-, Fixture- oder Type-Nacharbeit.
52
52
  - `xstate` ist seit `WP-E13-05` als Runtime-Boundary geschlossen.
53
53
  - `x-utils` ist seit `WP-E13-05` als Utility-Boundary geschlossen.
54
- - Die 40 sichtbaren Runtime-/UI-Komponenten behalten explizite Performance-Profile; `xstate` und `x-utils` werden nicht kuenstlich zu visuellen Profiltraegern umgedeutet.
54
+ - Die 42 sichtbaren Runtime-/UI-Komponenten behalten explizite Performance-Profile; `xstate` und `x-utils` werden nicht kuenstlich zu visuellen Profiltraegern umgedeutet.
55
55
 
56
56
  Damit ist klar, dass `ER-WP-35` priorisiert, aber die eigentliche Screenshot-/Pixel-Regression an CI und Release Readiness uebergibt.
57
57
 
@@ -10,16 +10,17 @@
10
10
 
11
11
  ## Zweck
12
12
 
13
- `WP-TypeExports-04` macht die XTendRMT Runtime, den Browser-Entry und die RMT-Language-/Tooling-Exports fuer TypeScript-Consumer importierbar. Die Runtime bleibt unveraendert: `./rmt` und `./rmt/browser` zeigen per `types`-Condition auf `./xtendrmt/rmt-core.d.ts`, waehrend die JS-Ziele weiterhin `rmt-runtime.esm.js` und `rmt-runtime.browser.js` bleiben.
13
+ `WP-TypeExports-04` macht die XTendRMT Runtime, den Browser-Entry und die RMT-Language-/Tooling-Exports fuer TypeScript-Consumer importierbar. `./rmt` und `./rmt/browser` zeigen per `types`-Condition auf `./xtendrmt/rmt-core.d.ts`, waehrend `./rmt/dom-descriptor-renderer`, `./rmt/component-capability-registry`, `./rmt/state-selector-runtime`, `./rmt/action-effect-runtime`, `./rmt/event-routing-runtime` und `./rmt/surface-resource-graph-runtime` eigene schmale Runtime-Declarations besitzen.
14
14
 
15
15
  ## Declaration Pack
16
16
 
17
17
  | Bereich | Package Export | Declaration |
18
18
  | --- | --- | --- |
19
19
  | RMT Runtime | `./rmt`, `./rmt/browser` | `./xtendrmt/rmt-core.d.ts` |
20
+ | RMT App Platform Runtime | `./rmt/dom-descriptor-renderer`, `./rmt/component-capability-registry`, `./rmt/state-selector-runtime`, `./rmt/action-effect-runtime`, `./rmt/event-routing-runtime`, `./rmt/surface-resource-graph-runtime` | `./xtendrmt/rmt-dom-descriptor-renderer.d.ts`, `./xtendrmt/rmt-component-capability-registry.d.ts`, `./xtendrmt/rmt-state-selector-runtime.d.ts`, `./xtendrmt/rmt-action-effect-runtime.d.ts`, `./xtendrmt/rmt-event-routing-runtime.d.ts`, `./xtendrmt/rmt-surface-resource-graph-runtime.d.ts` |
20
21
  | Source Model und Parser | `./rmt-language/source-model`, `./rmt-language/parser` | `tools/rmt-language/*.d.ts` |
21
22
  | vNext Compiler und Contracts | `./rmt-language/vnext-*` | `tools/rmt-language/vnext-*.d.ts` |
22
- | Tooling Services | `./rmt-language/diagnostics`, `./rmt-language/completions`, `./rmt-language/hover`, `./rmt-language/symbols`, `./rmt-language/definitions`, `./rmt-language/code-actions` | Service-Facades mit gemeinsamen RMT-Tooling-Typen |
23
+ | Tooling Services | `./rmt-language/diagnostics`, `./rmt-language/app-platform-tooling`, `./rmt-language/completions`, `./rmt-language/hover`, `./rmt-language/symbols`, `./rmt-language/definitions`, `./rmt-language/code-actions` | Service-Facades mit gemeinsamen RMT-Tooling-Typen |
23
24
  | LSP, Linter, Editor | `./rmt-language-server`, `./rmt-linter/*`, `./rmt-editor/vscode` | LSP-/CLI-/Editor-Facades |
24
25
 
25
26
  Der gemeinsame Typkern liegt in `tools/rmt-language/rmt-tooling-public-types.d.ts` und enthaelt unter anderem `RmtToolingDiagnostic`, `RmtTextEdit`, `RmtWorkspaceEdit`, `RmtLanguageServiceReport` und `RmtJsonRpcMessage`.
@@ -1,35 +1,48 @@
1
1
  # XTendRMT App-DSL Reference
2
2
 
3
- - Status: aktuell nach Epic 05 Abschluss
3
+ - Status: aktuell nach Epic 05 Abschluss, vNext-first aktualisiert
4
4
  - Contract: `xtend.docs.xtendrmt-app-dsl.v1`
5
5
  - Schema-Quelle: `xtendrmt/rmt.schema.json`
6
6
  - Normalizer: `createRmtFormat().normalizeDocument(...)`
7
7
 
8
8
  ## Zweck
9
9
 
10
- Die App-DSL beschreibt eine renderbare Anwendung als RMT-Dokument. Sie ist kein XTend-spezifisches Format. XTend UI, XRouter, Vanilla JS oder andere Hosts werden ueber Adapter Records angebunden.
10
+ Die App-DSL beschreibt eine renderbare Anwendung als RMT-Dokument. Neue
11
+ Authoring-Arbeit nutzt RMT vNext; Legacy-/App-DSL-JSON ist weiterhin der
12
+ normalisierte Core-Output, Runtime Registry und Compatibility Surface. XTend UI,
13
+ XRouter, Vanilla JS oder andere Hosts werden ueber Adapter Records angebunden,
14
+ ohne dass der Kernel Host-Runtime importiert.
11
15
 
12
- Seit `WP-E13-09` buendelt [RMT Production Readiness](./rmt-production-readiness.md) diese App-DSL unter `xtend.epic13.rmt-production-readiness.v1` als RC1-Schnitt fuer Shell-first App Shell, native Routes, Components, Fabric/Lanes, Lifecycle Telemetry, Diagnostics und Artifact Parity.
16
+ Seit `WP-E13-09` buendelt [RMT Production
17
+ Readiness](./rmt-production-readiness.md) diese App-DSL unter
18
+ `xtend.epic13.rmt-production-readiness.v1` als RC1-Schnitt fuer Shell-first App
19
+ Shell, native Routes, Components, Fabric/Lanes, Lifecycle Telemetry,
20
+ Diagnostics und Artifact Parity.
13
21
 
14
- ## Minimales Dokument
22
+ ## Minimales vNext-Dokument
15
23
 
16
- ```json
17
- {
18
- "kind": "rmt_document",
19
- "version": "1.0",
20
- "documentId": "app.shell",
21
- "namespace": "app",
22
- "adapters": [],
23
- "components": [],
24
- "routes": [],
25
- "schedules": [],
26
- "templates": []
24
+ ```rmt
25
+ template app.shell {
26
+ state app.ready type boolean initial true
27
+
28
+ portal surface.root root "#app-root" layer surface
29
+
30
+ surface app.home kind page component x-section {
31
+ source state app.ready
32
+ portal surface.root
33
+
34
+ lane visible weight 80 {
35
+ hydrate app-shell from state app.ready
36
+ }
37
+ }
27
38
  }
28
39
  ```
29
40
 
30
- Template-only-Dokumente bleiben gueltig. Neue App-DSL-Dokumente sollen operative Host-Daten aber in nativen Top-Level-Domains fuehren.
41
+ Der Compiler senkt diese Quelle in Core-Domains wie `adapters`, `components`,
42
+ `routes`, `schedules`, `surfaces` und `templates`. Diese Domains sind fuer
43
+ Runtime-Adapter stabil, aber nicht mehr die bevorzugte Schreiboberflaeche.
31
44
 
32
- ## Native Domains
45
+ ## Native Domains als Compiler-Output
33
46
 
34
47
  | Domain | Aufgabe |
35
48
  |--------|---------|
@@ -37,95 +50,102 @@ Template-only-Dokumente bleiben gueltig. Neue App-DSL-Dokumente sollen operative
37
50
  | `components` | fachliche Component Records, Host Adapter und Hydration-Hinweise |
38
51
  | `routes` | Navigation, Route-Ziele, Query/Params und Schedule References |
39
52
  | `schedules` | wiederverwendbare Scheduler Policies |
40
- | `templates` | Markup, Props, Slots, Bindings und Hydration Contracts |
53
+ | `templates` | `dom_descriptor`, Props, Slots, Bindings und Hydration Contracts |
54
+ | `surfaces` | SurfaceManager-, Window-, Panel- und Overlay-Handoffs |
41
55
 
42
- `manifest.metadata` bleibt fuer Beschreibung, Handoff, Historie und Demo-Notizen gueltig. Neue operative Routes, Components und Schedules gehoeren nicht mehr in `manifest.metadata`.
56
+ `manifest.metadata` bleibt fuer Beschreibung, Handoff, Historie und Demo-Notizen
57
+ gueltig. Neue operative Routes, Components und Schedules gehoeren in vNext-
58
+ Source und werden daraus in die Registry projiziert.
43
59
 
44
60
  ## Adapter Records
45
61
 
46
- ```json
47
- {
48
- "id": "xtend.xrouter",
49
- "kind": "router_adapter",
50
- "runtimeSurface": ["esm", "browser_classic"],
51
- "providedCapabilities": ["routes", "navigation", "params", "query", "scheduleRefs"],
52
- "kernelVisible": false
53
- }
54
- ```
55
-
56
- Stabile Adapter-IDs:
62
+ Adapter werden in vNext implizit durch Surface-, Route- und Endpoint-Nutzung
63
+ sichtbar. Die Registry enthaelt danach stabile Adapter Records fuer Hosts:
57
64
 
58
65
  - `xtend.xrouter`
59
66
  - `xtend.component`
67
+ - `xtend.surface`
60
68
  - `rmt.state-scheduler-diagnostics`
61
69
  - `vanilla.component`
62
70
 
63
- `kernelVisible: false` ist fuer host-spezifische Adapterdaten der Normalfall. Der Kernel darf diese Records indizieren, aber keine Host-Runtime laden.
71
+ `kernelVisible: false` ist fuer host-spezifische Adapterdaten der Normalfall.
72
+ Der Kernel darf diese Records indizieren, aber keine Host-Runtime laden.
64
73
 
65
74
  ## Component Records
66
75
 
67
- ```json
68
- {
69
- "id": "settings.card",
70
- "kind": "custom_element",
71
- "adapter": "xtend.component",
72
- "tag": "x-card",
73
- "schedule": "component.idle.hydrate",
74
- "props": {
75
- "label": "Settings"
76
- },
77
- "attributes": {
78
- "data-host": "xtend"
79
- },
80
- "hydration": {
81
- "mode": "runtime_render",
82
- "ownershipMode": "managed_subtree"
76
+ Ein vNext-Surface beschreibt das fachliche Host-Element:
77
+
78
+ ```rmt
79
+ template settings.components {
80
+ portal surface.root root "#settings-root" layer surface
81
+
82
+ surface settings.card kind card component x-card {
83
+ portal surface.root
84
+
85
+ lane visible weight 80 {
86
+ mount x-card
87
+ hydrate settings-card from endpoint xtendrmt.component.hydrate
88
+ }
83
89
  }
84
90
  }
85
91
  ```
86
92
 
87
- Der Normalizer macht daraus Runtime-Registry-Eintraege, die ueber `componentRegistry.byAdapter["xtend.component"]` und `componentRegistry.byTag["x-card"]` konsumierbar sind.
93
+ Der Normalizer macht daraus Runtime-Registry-Eintraege, die ueber
94
+ `componentRegistry.byAdapter["xtend.component"]` und
95
+ `componentRegistry.byTag["x-card"]` konsumierbar sind.
88
96
 
89
97
  ## Route Records
90
98
 
91
- ```json
92
- {
93
- "id": "settings",
94
- "path": "/settings",
95
- "router": "xtend.xrouter",
96
- "component": "settings.card",
97
- "title": "Settings",
98
- "documentTitle": "Settings | XTend App",
99
- "metaDescription": "Einstellungen der XTend RMT App",
100
- "metaKeywords": ["xtend", "rmt", "routing"],
101
- "template": "settings.shell",
102
- "schedule": "route.visible.render",
103
- "metadata": {
104
- "seo": {
105
- "titleTemplate": "{{title}} | XTend App"
99
+ Route-Metadaten bleiben deklarativ und koennen an Surfaces gekoppelt werden:
100
+
101
+ ```rmt
102
+ template settings.routes {
103
+ state settings.tab type string initial "profile"
104
+
105
+ portal surface.root root "#app-root" layer surface
106
+
107
+ surface settings.page kind page component x-section {
108
+ source state settings.tab
109
+ portal surface.root
110
+
111
+ lane visible weight 80 {
112
+ hydrate route-view from endpoint xtendrmt.route.render
113
+ hydrate settings-shell from state settings.tab
106
114
  }
107
115
  }
108
116
  }
109
117
  ```
110
118
 
111
- Der Normalizer macht daraus Runtime-Registry-Eintraege, die ueber `routeRegistry.byRouter["xtend.xrouter"]`, `routeRegistry.byId["settings"]` und `routeRegistry.byPath["/settings"]` konsumierbar sind. `title`, `documentTitle`, `titleTemplate`, `metaDescription` und `metaKeywords` bleiben deklarative Route-Metadaten: XRouter schreibt daraus `document.title` sowie `description`/`keywords`, ohne dass RMT XTend oder XRouter importiert.
119
+ Der Normalizer erzeugt daraus Route- und Schedule-Indizes fuer
120
+ `routeRegistry.byRouter["xtend.xrouter"]`, `routeRegistry.byId[...]` und
121
+ `routeRegistry.byPath[...]`. `title`, `documentTitle`, `titleTemplate`,
122
+ `metaDescription` und `metaKeywords` bleiben deklarative Route-Metadaten:
123
+ XRouter schreibt daraus `document.title` sowie `description`/`keywords`, ohne
124
+ dass RMT XTend oder XRouter importiert.
112
125
 
113
126
  ## Schedule Records
114
127
 
115
- ```json
116
- {
117
- "id": "route.visible.render",
118
- "endpointName": "xtendrmt.route.render",
119
- "scope": "app.route.render",
120
- "lane": "visible",
121
- "priority": 80,
122
- "deadlineMs": 250,
123
- "preferIdle": false,
124
- "budgetClass": "interactive"
128
+ Schedules sind in vNext `lane`- und Lifecycle-Klauseln:
129
+
130
+ ```rmt
131
+ template scheduler.page {
132
+ portal surface.root root "#app-root" layer surface
133
+
134
+ surface app.shell kind page component x-section {
135
+ portal surface.root
136
+
137
+ lane visible weight 80 {
138
+ hydrate route-shell from endpoint xtendrmt.route.render
139
+ }
140
+
141
+ lane idle weight 20 {
142
+ hydrate help-panel from endpoint xtendrmt.component.hydrate
143
+ }
144
+ }
125
145
  }
126
146
  ```
127
147
 
128
- Erprobte Endpoint-Namen:
148
+ Erprobte Endpoint-Namen bleiben:
129
149
 
130
150
  - `xtendrmt.route.render`
131
151
  - `xtendrmt.component.mount`
@@ -136,80 +156,116 @@ Erprobte Endpoint-Namen:
136
156
 
137
157
  ## Template Records und Trusted DOM
138
158
 
139
- Neue Template Records sollen strukturierte Daten mit `dom_descriptor` bevorzugen:
159
+ Neue Templates werden aus vNext-Surfaces und Slots in `dom_descriptor` Output
160
+ gesenkt:
161
+
162
+ ```rmt
163
+ template settings.template {
164
+ portal surface.root root "#settings-root" layer surface
165
+
166
+ surface settings.shell kind page component x-card {
167
+ portal surface.root
140
168
 
141
- ```json
142
- {
143
- "id": "settings.shell",
144
- "mode": "dom_descriptor",
145
- "nodes": [
146
- { "tag": "x-card", "attributes": { "label": "Settings" } }
147
- ]
169
+ lane visible weight 80 {
170
+ hydrate settings-card from endpoint xtendrmt.component.hydrate {
171
+ slot header hydrate settings-header
172
+ slot body hydrate settings-body
173
+ }
174
+ }
175
+ }
148
176
  }
149
177
  ```
150
178
 
151
- `html_fragment` bleibt kompatibel, braucht aber eine explizite Trusted-DOM-Boundary:
152
-
153
- ```json
154
- {
155
- "id": "settings.shell.legacy",
156
- "mode": "html_fragment",
157
- "markup": "<x-card label=\"Settings\"></x-card>",
158
- "security": {
159
- "markupClass": "htmlFragment",
160
- "trustBoundary": "xtend.security.sanitizing-boundary.v1",
161
- "sink": "trustedDomBoundary"
179
+ `html_fragment` bleibt kompatibel, braucht aber eine explizite
180
+ Trusted-DOM-Boundary:
181
+
182
+ ```rmt
183
+ template settings.legacyHtml {
184
+ surface settings.legacy kind card component x-card {
185
+ lane visible weight 60 {
186
+ hydrate legacy-fragment from endpoint docs.parse {
187
+ trust boundary "xtend.security.sanitizing-boundary.v1"
188
+ sanitize html_fragment
189
+ }
190
+ }
162
191
  }
163
192
  }
164
193
  ```
165
194
 
166
- Der Kernel darf solche Records normalisieren und schedulen. Sanitizing, Trusted DOM und konkrete DOM-Sinks bleiben Host-Adapter-Aufgabe. Siehe [Trusted DOM und Sanitizing](./trusted-dom-sanitizing.md).
195
+ Der Kernel darf solche Records normalisieren und schedulen. Sanitizing, Trusted
196
+ DOM und konkrete DOM-Sinks bleiben Host-Adapter-Aufgabe. Siehe [Trusted DOM und
197
+ Sanitizing](./trusted-dom-sanitizing.md).
167
198
 
168
199
  ## Shell-first Host Apps
169
200
 
170
- Die Docs-App nutzt diesen Pfad produktiv als Shell-first-Pilot. `docs/xtendrmt-parsedown-docs.rmt` beschreibt `docs.app.shell` als `dom_descriptor`, `docs.header.search` als Header-Search-Slot-Template und `docs.media.lazy` als future-ready Slot fuer XPlayer-Tutorials. `docs/utils/pageloader.js` rendert zuerst die RMT-Shell und setzt Parsedown-HTML anschliessend nur noch in den `data-rmt-slot="content"` Slot.
201
+ Die Docs-App nutzt diesen Pfad produktiv als Shell-first-Pilot.
202
+ `docs/xtendrmt-parsedown-docs.rmt` beschreibt `docs.app.shell` als
203
+ `dom_descriptor`, `docs.header.search` als Header-Search-Slot-Template und
204
+ `docs.media.lazy` als future-ready Slot fuer XPlayer-Tutorials.
205
+ `docs/utils/pageloader.js` rendert zuerst die RMT-Shell und setzt
206
+ Parsedown-HTML anschliessend nur noch in den `data-rmt-slot="content"` Slot.
171
207
 
172
- Wichtig: Auch in diesem Modus bleibt RMT framework-agnostisch. Parsedown, Rich-HTML-Sinks, XPlayer-Lazy-Loading und konkrete DOM-Events werden vom Host-Adapter ausgefuehrt. RMT stellt Shell-Records, Slots, Schedules und Diagnostics bereit.
208
+ Wichtig: Auch in diesem Modus bleibt RMT framework-agnostisch. Parsedown,
209
+ Rich-HTML-Sinks, XPlayer-Lazy-Loading und konkrete DOM-Events werden vom
210
+ Host-Adapter ausgefuehrt. RMT stellt Shell-Records, Slots, Schedules und
211
+ Diagnostics bereit.
173
212
 
174
213
  ## RMT-first XTend Apps
175
214
 
176
- Ab Epic 10 ist das App-Authoring fuer vollstaendige XTend-Apps als Contract `xtend.rmt.first-class-app-authoring.v1` beschrieben. Das Ziel ist eine App, deren Shell, Routes, Components, Templates, Events, Commands, Hydration Policies, Fabric-Lanes und Diagnostics komplett in RMT stehen.
215
+ Ab Epic 10 ist das App-Authoring fuer vollstaendige XTend-Apps als Contract
216
+ `xtend.rmt.first-class-app-authoring.v1` beschrieben. Das Ziel ist eine App,
217
+ deren Shell, Routes, Components, Templates, Events, Commands, Hydration
218
+ Policies, Fabric-Lanes und Diagnostics komplett in RMT stehen.
177
219
 
178
- Der Referenzpfad liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`. Der Gate ist:
220
+ Der Referenzpfad liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`. Der
221
+ Gate ist:
179
222
 
180
223
  ```bash
181
224
  node scripts/run_xtend_tests.js rmt-first-class-app --json
182
225
  ```
183
226
 
184
- Der Contract bleibt bewusst host-neutral. RMT kennt `xtend.component`, `xtend.xrouter` und `rmt.state-scheduler-diagnostics` als Adapter-Records, importiert aber keine XTend-Komponenten und kein XRouter-Modul in den Kernel. Details stehen in `development/XTend-RMT-First-Class-App-Authoring.md`.
227
+ Der Contract bleibt bewusst host-neutral. RMT kennt `xtend.component`,
228
+ `xtend.xrouter` und `rmt.state-scheduler-diagnostics` als Adapter-Records,
229
+ importiert aber keine XTend-Komponenten und kein XRouter-Modul in den Kernel.
230
+ Details stehen in `development/XTend-RMT-First-Class-App-Authoring.md`.
185
231
 
186
- Der kanonische Entwicklerguide fuer komplette XTend Apps liegt in [RMT-first XTend Apps](./rmt-first-xtend-apps.md). Der Epic-10-Abschluss und die Release-Gates sind in [Epic 10 Release Handoff](./epic10-release-handoff.md) dokumentiert.
232
+ Der kanonische Entwicklerguide fuer komplette XTend Apps liegt in [RMT-first
233
+ XTend Apps](./rmt-first-xtend-apps.md). Der Epic-10-Abschluss und die
234
+ Release-Gates sind in [Epic 10 Release Handoff](./epic10-release-handoff.md)
235
+ dokumentiert.
187
236
 
188
237
  ## Component Fabric Context
189
238
 
190
- XTend Components koennen Fabric-Hints in `metadata.fabric` tragen:
191
-
192
- ```json
193
- {
194
- "id": "pages.settings",
195
- "adapter": "xtend.component",
196
- "tag": "x-form",
197
- "schedule": "component.idle.hydrate",
198
- "metadata": {
199
- "fabric": {
200
- "lane": "idle",
201
- "fiber": "component.hydrate",
202
- "telemetry": true
239
+ XTend Components koennen Fabric-Hints aus vNext-Lanes und Legacy-Metadata
240
+ erhalten:
241
+
242
+ ```rmt
243
+ template pages.settings {
244
+ portal surface.root root "#app-root" layer surface
245
+
246
+ surface pages.settings kind page component x-form {
247
+ portal surface.root
248
+
249
+ lane idle weight 40 {
250
+ hydrate settings-form from endpoint xtendrmt.component.hydrate
203
251
  }
204
252
  }
205
253
  }
206
254
  ```
207
255
 
208
- Der produktive Adapter loest diese Daten ueber `xtend.component.fabric-lane-ingestion.v2` auf. RMT Schedule Records haben Vorrang vor Component Metadata, Runtime Overrides, Static Contracts und Scaffold Defaults. Der Gate ist `node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json`.
256
+ Der produktive Adapter loest diese Daten ueber
257
+ `xtend.component.fabric-lane-ingestion.v2` auf. RMT Schedule Records haben
258
+ Vorrang vor Component Metadata, Runtime Overrides, Static Contracts und
259
+ Scaffold Defaults. Der Gate ist
260
+ `node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json`.
209
261
 
210
262
  ## Component Lifecycle Telemetry
211
263
 
212
- Der Adapter erzeugt ab `xtend.component.lifecycle-telemetry.v1` Lifecycle Records fuer Component-Arbeit. RMT-Dokumente muessen dafuer keinen XTend-Code importieren; sie liefern nur Component-, Route-, Schedule- und Fabric-Kontext. Der Host kann `telemetryCollector`, `recordTelemetry` oder eine Fabric-Instanz uebergeben.
264
+ Der Adapter erzeugt ab `xtend.component.lifecycle-telemetry.v1` Lifecycle
265
+ Records fuer Component-Arbeit. RMT-Dokumente muessen dafuer keinen XTend-Code
266
+ importieren; sie liefern nur Component-, Route-, Schedule- und Fabric-Kontext.
267
+ Der Host kann `telemetryCollector`, `recordTelemetry` oder eine Fabric-Instanz
268
+ uebergeben.
213
269
 
214
270
  ```js
215
271
  const records = [];
@@ -223,7 +279,11 @@ const snapshot = fabric.createTelemetrySnapshot({
223
279
  });
224
280
  ```
225
281
 
226
- `snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`, `event`, `unmount` und `error` nach Operation, Component und Lane. Component-Fehler, Deadline-Ueberschreitungen und explizite `backpressureSignal` Metadata koennen Backpressure erzeugen. Der Gate ist `node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json`.
282
+ `snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`,
283
+ `event`, `unmount` und `error` nach Operation, Component und Lane.
284
+ Component-Fehler, Deadline-Ueberschreitungen und explizite
285
+ `backpressureSignal` Metadata koennen Backpressure erzeugen. Der Gate ist
286
+ `node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json`.
227
287
 
228
288
  Hosts koennen Fabric Snapshots direkt an die produktive RMT Bridge uebergeben:
229
289
 
@@ -233,10 +293,14 @@ bridge.recordTelemetrySnapshot(snapshot, {
233
293
  });
234
294
  ```
235
295
 
236
- Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und `rmt.backpressure.*` und plant bei Bedarf den Diagnostics-Snapshot-Endpunkt.
296
+ Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und
297
+ `rmt.backpressure.*` und plant bei Bedarf den Diagnostics-Snapshot-Endpunkt.
237
298
 
238
299
  ## Runtime Registry
239
300
 
301
+ Die Registry ist die konsumierbare Grenze zwischen DSL und Adapter. Adapter
302
+ lesen Registry-Eintraege, nicht rohe Demo-Metadaten:
303
+
240
304
  ```js
241
305
  const format = createRmtFormat();
242
306
  const normalizedDocument = format.normalizeDocument(document);
@@ -246,11 +310,10 @@ const registry = format.createRuntimeRegistries(normalizedDocument, {
246
310
  });
247
311
  ```
248
312
 
249
- Die Registry ist die konsumierbare Grenze zwischen DSL und Adapter. Adapter lesen Registry-Eintraege, nicht rohe Demo-Metadaten.
250
-
251
313
  ## Diagnostics
252
314
 
253
- Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu erzwingen. Wichtige Gruppen:
315
+ Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu
316
+ erzwingen. Wichtige Gruppen:
254
317
 
255
318
  - `rmt.dsl.reference.*` fuer fehlende oder ungueltige Referenzen
256
319
  - `rmt.runtime.registry.*` fuer Registry-Konflikte oder fehlende Required-Refs
@@ -260,7 +323,9 @@ Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu erzwingen.
260
323
 
261
324
  ## Review-Checkliste
262
325
 
263
- - `adapters`, `components`, `routes` und `schedules` sind native Top-Level-Domains.
326
+ - App-Shell-Beispiele sind `rmt` und vNext-first.
327
+ - Runtime-Registry-JSON ist als generierter Output oder Compatibility Surface
328
+ eingeordnet.
264
329
  - Routes referenzieren Components und Schedules nur per ID.
265
330
  - Components referenzieren Host Adapter nur per ID.
266
331
  - Schedule Policies sind zentral und wiederverwendbar.
@@ -0,0 +1,165 @@
1
+ template xtend.docs.php_ssr_shell {
2
+ state docs.shell.request type object preserve {
3
+ initial {
4
+ id "docs-shell"
5
+ locale "de"
6
+ slug "readme"
7
+ status "server-prehydrated"
8
+ }
9
+ }
10
+
11
+ state docs.shell.capabilities type object preserve {
12
+ initial {
13
+ id "docs-shell-capabilities"
14
+ components 12
15
+ jsonlStreaming true
16
+ hydrationMode "server_prerender_hydrate"
17
+ }
18
+ }
19
+
20
+ selector docs.shell.model from state docs.shell.request {
21
+ output DocsShellRequest
22
+ }
23
+
24
+ selector docs.shell.capabilityModel from state docs.shell.capabilities {
25
+ output DocsShellCapabilities
26
+ }
27
+
28
+ datasource docs.page.payload from endpoint "index.php?xtend-docs-page={slug}&locale={locale}" {
29
+ method GET
30
+ contract DocsParsedownPagePayload
31
+ result html
32
+ fallback fixture docs.page.initial
33
+ }
34
+
35
+ datasource docs.shell.ssr from endpoint "index.php?xtend-docs-rmt-ssr=shell&format=jsonl" {
36
+ method GET
37
+ contract DocsShellSsrFrames
38
+ result frames
39
+ fallback fixture docs.ssr.initial
40
+ }
41
+
42
+ action docs.route.navigate {
43
+ input path string
44
+ reduce state.docs.shell.request.status = "route-requested"
45
+ emit docs.route.requested with path input.path
46
+ }
47
+
48
+ action docs.search.submit {
49
+ input query string
50
+ reduce state.docs.shell.request.status = "search-requested"
51
+ emit docs.search.requested with query input.query
52
+ }
53
+
54
+ portal docs.shell.root root "body" layer surface
55
+
56
+ portal docs.overlay.root root "body" layer overlay z 1000 {
57
+ focus policy restore
58
+ pointer policy passthrough
59
+ scroll policy lock-when-modal
60
+ }
61
+
62
+ resource docs.shell.prehydration kind subscription owner surface.docs.root {
63
+ dispose on surface.destroy
64
+ }
65
+
66
+ surface docs.root kind shell component x-theme {
67
+ source selector docs.shell.model
68
+ key id
69
+ portal docs.shell.root
70
+ destroy releases resource docs.shell.prehydration
71
+
72
+ lane critical weight 100 {
73
+ mount docs-root-shell from endpoint xtendrmt.docs.php-ssr.shell
74
+ }
75
+
76
+ lane idle weight 20 {
77
+ hydrate docs-root-hydration from datasource docs.shell.ssr
78
+ }
79
+ }
80
+
81
+ surface docs.header kind header component x-header {
82
+ source selector docs.shell.model
83
+ key id
84
+ portal docs.shell.root
85
+
86
+ lane critical weight 96 {
87
+ mount docs-header from endpoint xtendrmt.docs.php-ssr.shell
88
+ }
89
+
90
+ on click "[data-docs-language-select]" -> action docs.route.navigate {
91
+ payload path from target.value
92
+ }
93
+ }
94
+
95
+ surface docs.hero kind hero component x-hero {
96
+ source selector docs.shell.model
97
+ key id
98
+ portal docs.shell.root
99
+
100
+ lane visible weight 86 {
101
+ mount docs-hero from endpoint xtendrmt.docs.php-ssr.shell
102
+ }
103
+ }
104
+
105
+ surface docs.router kind router component x-router {
106
+ source selector docs.shell.model
107
+ key id
108
+ portal docs.shell.root
109
+
110
+ lane visible weight 92 {
111
+ mount docs-router from endpoint xtendrmt.docs.php-ssr.shell
112
+ }
113
+
114
+ lane idle weight 24 {
115
+ prewarm docs-page-payload from datasource docs.page.payload
116
+ }
117
+ }
118
+
119
+ surface docs.page kind page component xtend-doc-page {
120
+ source selector docs.shell.model
121
+ key slug
122
+ portal docs.shell.root
123
+
124
+ lane visible weight 90 {
125
+ hydrate docs-page-shell from endpoint xtendrmt.docs.parsedown.parse
126
+ }
127
+
128
+ lane idle weight 18 {
129
+ prewarm docs-related-links from worker xtendrmt.docs.related.prepare
130
+ }
131
+ }
132
+
133
+ surface docs.sidebar kind panel component x-section {
134
+ source selector docs.shell.capabilityModel
135
+ key id
136
+ portal docs.shell.root
137
+
138
+ lane visible weight 60 {
139
+ hydrate docs-sidebar from endpoint xtendrmt.docs.php-ssr.shell
140
+ }
141
+ }
142
+
143
+ surface docs.footer kind footer component x-footer {
144
+ source selector docs.shell.model
145
+ key id
146
+ portal docs.shell.root
147
+
148
+ lane visible weight 54 {
149
+ mount docs-footer from endpoint xtendrmt.docs.php-ssr.shell
150
+ }
151
+ }
152
+
153
+ surface docs.diagnostics kind status component x-status {
154
+ source selector docs.shell.capabilityModel
155
+ key id
156
+ portal docs.overlay.root
157
+
158
+ lane diagnostics weight 12 {
159
+ stream docs-ssr-diagnostics from datasource docs.shell.ssr {
160
+ trust boundary "xtend.security.streaming-boundary.v1"
161
+ sanitize html
162
+ }
163
+ }
164
+ }
165
+ }