@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
@@ -37,8 +37,8 @@ Das Script schreibt:
37
37
 
38
38
  ## TypeExports Anschluss
39
39
 
40
- Ab `WP-TypeExports-01` nutzt [TypeExports](./type-exports.md) den Package Export Lock als Quelle fuer die Public Export Surface. Der Gate `node scripts/run_xtend_tests.js type-exports --json` koppelt die 115 erwarteten Exports ueber Count und Fingerprint an `xtend.epic13.package-export-lock.v1` und erzwingt fuer neue Public Exports eine Type-Entscheidung. Ab `WP-TypeExports-02` besitzen `.`, `./loader` und `./legacy-loader` die Type-Ziele `./xtend-loader.d.ts` und `./xtend-dev.d.ts`; `node scripts/run_xtend_tests.js type-exports-loader --json` prueft diesen Anschluss gegen die Loader-Runtime. Ab `WP-TypeExports-03` besitzt `./api` das Type-Ziel `./api.d.ts`; `node scripts/run_xtend_tests.js type-exports-api --json` prueft den Core-API-Namespace gegen `api.js`. Ab `WP-TypeExports-04` besitzen `./rmt`, `./rmt/browser` und die RMT-Language-/Tooling-Exports Type-Ziele wie `./xtendrmt/rmt-core.d.ts` und `./tools/rmt-language/rmt-tooling-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-rmt --json` prueft diesen Anschluss gegen die RMT Runtime- und Tooling-Surface. Ab `WP-TypeExports-05` besitzen Fabric/A11y/Security Exports Type-Ziele wie `./fabric/xtend-fabric.d.ts` und `./fabric/xtend-policy-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-policy --json` prueft diesen Anschluss gegen die Policy-Surface. Ab `WP-TypeExports-06` besitzen Builder-Exports Type-Ziele wie `./xtend-builder/scaffold.d.ts`, `./xtend-builder/builder-public-types.d.ts` und `./xtend-builder/*.d.ts`; `node scripts/run_xtend_tests.js type-exports-builder --json` prueft diesen Anschluss gegen Scaffold, Generatoren, Component Lab und Typing Contracts. Ab `WP-TypeExports-07` besitzen Catalog-Exports Type-Ziele wie `./catalog/epic13-package-export-lock.d.ts` und das gemeinsame `./catalog/catalog-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-catalog --json` prueft diesen Anschluss gegen Plan-/Report-/Validation-Catalogs. Ab `WP-TypeExports-08` besitzen Design Tokens und Vendor-Facades Type-Ziele wie `./design-tokens/xtend-design-tokens.d.ts`, `./design-tokens/xtheme-token-alias-layer.d.ts`, `./components/prism.d.ts` und `./components/turndown.d.ts`; `node scripts/run_xtend_tests.js type-exports-vendor --json` prueft diesen Anschluss gegen die Utility-Grenzen. Ab `WP-TypeExports-09` buendelt `npm run test:type-exports:release` die TypeExports-Gates als Release-Handoff und schreibt `.xtend-test-results/xtend-type-exports-report.json`.
40
+ Ab `WP-TypeExports-01` nutzt [TypeExports](./type-exports.md) den Package Export Lock als Quelle fuer die Public Export Surface. Der Gate `node scripts/run_xtend_tests.js type-exports --json` koppelt die 124 erwarteten Exports ueber Count und Fingerprint an `xtend.epic13.package-export-lock.v1` und erzwingt fuer neue Public Exports eine Type-Entscheidung. Ab `WP-TypeExports-02` besitzen `.`, `./loader` und `./legacy-loader` die Type-Ziele `./xtend-loader.d.ts` und `./xtend-dev.d.ts`; `node scripts/run_xtend_tests.js type-exports-loader --json` prueft diesen Anschluss gegen die Loader-Runtime. Ab `WP-TypeExports-03` besitzt `./api` das Type-Ziel `./api.d.ts`; `node scripts/run_xtend_tests.js type-exports-api --json` prueft den Core-API-Namespace gegen `api.js`. Ab `WP-TypeExports-04` besitzen `./rmt`, `./rmt/browser`, `./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`, `./rmt/native-shell-runtime`, `./rmt/node-ssr-adapter`, `./rmt-language/app-platform-tooling` und die RMT-Language-/Tooling-Exports Type-Ziele wie `./xtendrmt/rmt-core.d.ts`, `./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`, `./xtendrmt/rmt-native-shell-runtime.d.ts`, `./xtendrmt/rmt-node-ssr-adapter.d.ts`, `./tools/rmt-language/app-platform-tooling.d.ts` und `./tools/rmt-language/rmt-tooling-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-rmt --json` prueft diesen Anschluss gegen die RMT Runtime- und Tooling-Surface. Ab `WP-TypeExports-05` besitzen Fabric/A11y/Security Exports Type-Ziele wie `./fabric/xtend-fabric.d.ts` und `./fabric/xtend-policy-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-policy --json` prueft diesen Anschluss gegen die Policy-Surface. Ab `WP-TypeExports-06` besitzen Builder-Exports Type-Ziele wie `./xtend-builder/scaffold.d.ts`, `./xtend-builder/builder-public-types.d.ts` und `./xtend-builder/*.d.ts`; `node scripts/run_xtend_tests.js type-exports-builder --json` prueft diesen Anschluss gegen Scaffold, Generatoren, Component Lab und Typing Contracts. Ab `WP-TypeExports-07` besitzen Catalog-Exports Type-Ziele wie `./catalog/epic13-package-export-lock.d.ts` und das gemeinsame `./catalog/catalog-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-catalog --json` prueft diesen Anschluss gegen Plan-/Report-/Validation-Catalogs. Ab `WP-TypeExports-08` besitzen Design Tokens und Vendor-Facades Type-Ziele wie `./design-tokens/xtend-design-tokens.d.ts`, `./design-tokens/xtheme-token-alias-layer.d.ts`, `./components/prism.d.ts` und `./components/turndown.d.ts`; `node scripts/run_xtend_tests.js type-exports-vendor --json` prueft diesen Anschluss gegen die Utility-Grenzen. Ab `WP-TypeExports-09` buendelt `npm run test:type-exports:release` die TypeExports-Gates als Release-Handoff und schreibt `.xtend-test-results/xtend-type-exports-report.json`.
41
41
 
42
42
  ## Handoff
43
43
 
44
- Nach `WP-E13-04` hat `WP-E13-05` die Known Residual Triage unter [Known Residual Triage](./known-residual-triage.md) mit `xtend.epic13.known-residual-triage.v1` abgeschlossen. `WP-E13-06` hat die [Hydration Performance Closure](./hydration-performance-closure.md) mit `xtend.epic13.hydration-performance-closure.v1` abgeschlossen. `WP-E13-07` hat die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet, `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert, `WP-E13-09` hat [RMT Production Readiness](./rmt-production-readiness.md) gebuendelt, `WP-E13-10` hat [Docs RMT Production Hardening](./docs-rmt-production-hardening.md) abgeschlossen, `WP-E13-11` hat [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) abgeschlossen, `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) abgeschlossen, `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) registriert, `DPF-WP-02` hat [Release Report und Pack Dry Run Evidence](./release-report-pack-dry-run-evidence.md) nachgezogen und `DPF-WP-03` hat [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) nachgezogen. Der aktuelle Export Lock erwartet 115 Package-Exports inklusive `./design-tokens/xtheme-token-alias-layer`, `./catalog/epic13-rc1-migration-notes`, `./catalog/epic13-rc1-gate-matrix-ci-handoff`, `./catalog/epic13-release-report-pack-dry-run-evidence`, `./catalog/epic13-conditional-network-evidence-ci`, `./rmt-language/kernel-trust-authority`, `./rmt-language/kernel-security-regression`, `./catalog/epic14-rmt-tooling`, `./catalog/epic14-lsp-handoff` sowie der klassischen und vNext RMT-Tooling-Surface.
44
+ Nach `WP-E13-04` hat `WP-E13-05` die Known Residual Triage unter [Known Residual Triage](./known-residual-triage.md) mit `xtend.epic13.known-residual-triage.v1` abgeschlossen. `WP-E13-06` hat die [Hydration Performance Closure](./hydration-performance-closure.md) mit `xtend.epic13.hydration-performance-closure.v1` abgeschlossen. `WP-E13-07` hat die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet, `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert, `WP-E13-09` hat [RMT Production Readiness](./rmt-production-readiness.md) gebuendelt, `WP-E13-10` hat [Docs RMT Production Hardening](./docs-rmt-production-hardening.md) abgeschlossen, `WP-E13-11` hat [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) abgeschlossen, `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) abgeschlossen, `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) registriert, `DPF-WP-02` hat [Release Report und Pack Dry Run Evidence](./release-report-pack-dry-run-evidence.md) nachgezogen und `DPF-WP-03` hat [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) nachgezogen. Der aktuelle Export Lock erwartet 124 Package-Exports inklusive `./design-tokens/xtheme-token-alias-layer`, `./catalog/epic13-rc1-migration-notes`, `./catalog/epic13-rc1-gate-matrix-ci-handoff`, `./catalog/epic13-release-report-pack-dry-run-evidence`, `./catalog/epic13-conditional-network-evidence-ci`, `./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`, `./rmt/native-shell-runtime`, `./rmt/node-ssr-adapter`, `./rmt-language/app-platform-tooling`, `./rmt-language/kernel-trust-authority`, `./rmt-language/kernel-security-regression`, `./catalog/epic14-rmt-tooling`, `./catalog/epic14-lsp-handoff` sowie der klassischen und vNext RMT-Tooling-Surface.
@@ -66,13 +66,13 @@ Jede Komponenten-Datei beschreibt:
66
66
  node scripts/run_xtend_tests.js components
67
67
  ```
68
68
 
69
- Die Component-Suite enthaelt ab `ER-WP-34` den Sub-Gate `component-public-types`. Nach `RC1TB-WP-03` prueft er die Shared-Type-Helfer, alle 42 priorisierten `.d.ts` Dateien, Eventnamen, Detail-Typen, API-Methoden und Element-/Window-Mappings.
69
+ Die Component-Suite enthaelt ab `ER-WP-34` den Sub-Gate `component-public-types`. Nach `RC1TB-WP-03` prueft er die Shared-Type-Helfer, alle 44 priorisierten `.d.ts` Dateien, Eventnamen, Detail-Typen, API-Methoden und Element-/Window-Mappings.
70
70
 
71
71
  Ab `WP-TypeExports-09` ist der Component-Wildcard-Export auch im produktiven TypeExports-Handoff abgedeckt. `./components/*` bleibt eine adjacent-Declaration-Grenze: Consumer bekommen `components/*.d.ts` ueber die nebenliegenden Dateien, waehrend `node scripts/run_xtend_tests.js type-exports --json` verhindert, dass neue Public Component Exports ohne Type-Entscheidung in die Package Surface geraten.
72
72
 
73
73
  ## Coverage-Status
74
74
 
75
- Nach `RC1TB-WP-03` stehen `types` in der Component Catalog Coverage Matrix bei `42/42`. `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` sind die aktuelle `enterprise-ready` Referenzlinie mit Public Types, Component-Suite, Fixture, A11y und Performance-Profil. `xstate` besitzt Public Types fuer Boundary Contract, RMT State Adapter, Lifecycle Events und Diagnostics. `x-utils` besitzt Public Types fuer Utility Contract, Import Policy, Boundary Snapshot, UI Effects, Template API sowie die Events `xutils:import-policy-check` und `xutils:ui-effects-change`.
75
+ Nach `RC1TB-WP-03` stehen `types` in der Component Catalog Coverage Matrix bei `44/44`. `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-portal`, `x-surface-region`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` sind die aktuelle `enterprise-ready` Referenzlinie mit Public Types, Component-Suite, Fixture, A11y und Performance-Profil. `xstate` besitzt Public Types fuer Boundary Contract, RMT State Adapter, Lifecycle Events und Diagnostics. `x-utils` besitzt Public Types fuer Utility Contract, Import Policy, Boundary Snapshot, UI Effects, Template API sowie die Events `xutils:import-policy-check` und `xutils:ui-effects-change`.
76
76
 
77
77
  Es gibt nach `WP-E12-09` keinen verbleibenden Type-Gap. Seit `WP-E13-05` sind auch die frueheren Boundary-Residuals geschlossen: `xstate` ist `closed-as-runtime-boundary`, `x-utils` ist `closed-as-utility-boundary`. Beide bleiben Public-Type-Boundaries, aber keine offenen Type- oder Performance-Aufgaben.
78
78
 
@@ -1,6 +1,8 @@
1
1
  # Quick Start Guide
2
2
 
3
- Dieser Guide bringt eine minimale XTend-App lokal zum Laufen. Ziel ist ein kleiner, nachvollziehbarer Startpunkt ohne CDN, ohne Build-Schritt und ohne Framework-Zwang.
3
+ Dieser Guide bringt dich von einer lokalen XTend-Seite zu einer kleinen
4
+ RMT-vNext-App-Shell. Der schnellste Einstieg bleibt HTML mit Web Components;
5
+ der empfohlene Ausbaupfad fuer Apps ist RMT-first.
4
6
 
5
7
  ## Voraussetzungen
6
8
 
@@ -8,7 +10,7 @@ Dieser Guide bringt eine minimale XTend-App lokal zum Laufen. Ziel ist ein klein
8
10
  - ein lokaler Checkout des XTend-Repositories
9
11
  - ein Browser mit Custom-Elements- und ES-Module-Support
10
12
 
11
- XTend laeuft im Kern als lokales ES-Module- und Web-Component-Framework. Fuer Entwicklung und Tests wird der lokale Dev Server genutzt.
13
+ Starte den lokalen Dev Server:
12
14
 
13
15
  ```bash
14
16
  npm run dev:local
@@ -16,7 +18,7 @@ npm run dev:local
16
18
 
17
19
  Der Server liefert die App normalerweise unter `http://127.0.0.1:4173/` aus.
18
20
 
19
- ## Minimaler Host
21
+ ## 1. Minimalen Host starten
20
22
 
21
23
  Lege im Projekt eine HTML-Datei an, zum Beispiel `quick-start.html`:
22
24
 
@@ -35,8 +37,6 @@ Lege im Projekt eine HTML-Datei an, zum Beispiel `quick-start.html`:
35
37
  </script>
36
38
  </head>
37
39
  <body>
38
- <x-theme></x-theme>
39
-
40
40
  <main>
41
41
  <x-section layout="column" label="Quick Start">
42
42
  <h1>Hallo XTend</h1>
@@ -48,68 +48,129 @@ Lege im Projekt eine HTML-Datei an, zum Beispiel `quick-start.html`:
48
48
  </html>
49
49
  ```
50
50
 
51
- Danach oeffnest du `http://127.0.0.1:4173/quick-start.html`.
51
+ Oeffne danach `http://127.0.0.1:4173/quick-start.html`.
52
52
 
53
- ## Was passiert hier?
53
+ Was passiert hier?
54
54
 
55
- - `xtend-loader.js` ist der kanonische lokale Loader.
56
- - `components/manifest.json` ist die lokale Component Registry.
57
- - Die Loader-StyleRegistry bringt Runtime-Critical CSS fuer Tokens, Skeletons und FOUC-Schutz selbst mit.
58
- - `meta name="xtend-preload"` laedt die kritischen Komponenten frueh.
59
- - `x-theme` initialisiert Theme-Unterstuetzung.
60
- - `x-section` und `x-button` sind normale XTend Web Components.
55
+ - `xtend-loader.js` ist der lokale Loader.
56
+ - `components/manifest.json` ist die Component Registry.
57
+ - `meta name="xtend-preload"` laedt kritische Komponenten frueh.
58
+ - `x-theme` ist ein Infrastrukturmodul; `x-section` und `x-button` sind
59
+ normale XTend Web Components.
60
+ - `/xtend.css` ist optional und dient Host-Theming.
61
61
 
62
- Die App bleibt Vanilla HTML. XTend uebernimmt nur Loader, Komponenten, Styling- und Runtime-Kontrakte.
62
+ ## 2. App Shell in RMT vNext beschreiben
63
63
 
64
- `/xtend.css` ist optional. Der Dateiname bleibt der kanonische XTend-Standard fuer Host-Theming und gezielte 3rd-Party-Anpassungen, ist aber nicht noetig, damit der Loader ohne ungestyltes Pop-In bootet.
64
+ Wenn aus der Seite eine App wird, soll die Shell in RMT liegen. RMT vNext
65
+ beschreibt UI-Struktur, State, Actions, Events, Surfaces und Scheduling in
66
+ einer lesbaren `.rmt` Quelle.
65
67
 
66
- ## Optional: Routing
68
+ Lege zum Beispiel `app.rmt` an:
67
69
 
68
- Wenn du eine SPA brauchst, fuegst du `x-router` und `x-link` hinzu:
70
+ ```rmt
71
+ template quickstart.app {
72
+ state counter type number initial 0
69
73
 
70
- ```html
71
- <meta name="xtend-preload" content="x-theme,x-link,x-router,x-section">
72
-
73
- <nav>
74
- <x-link href="/home">Home</x-link>
75
- <x-link href="/about">About</x-link>
76
- </nav>
77
-
78
- <x-router mode="hash" document-title-template="{{title}} | Quick Start">
79
- <x-route path="/" component="x-section" title="Home"></x-route>
80
- <x-route path="/home" component="x-section" title="Home"></x-route>
81
- <x-route path="/about" component="x-section" title="About"></x-route>
82
- </x-router>
74
+ selector counterLabel from state counter {
75
+ output text
76
+ }
77
+
78
+ action increment {
79
+ input amount number
80
+ reduce state.counter = input.amount
81
+ emit counter.changed with action increment
82
+ }
83
+
84
+ portal app root "#app-root" layer surface
85
+
86
+ surface home kind page component x-section {
87
+ source state counter
88
+ portal app
89
+ key route.path
90
+
91
+ lane visible weight 80 {
92
+ hydrate x-section from state counter
93
+ }
94
+
95
+ on click target button.primary -> action increment {
96
+ payload amount from 1
97
+ }
98
+ }
99
+ }
83
100
  ```
84
101
 
85
- Der Router schreibt pro Route den Seitentitel. Fuer SEO-nahe Apps koennen Titel und Meta-Daten auch aus RMT Route Records kommen.
102
+ Dieses Dokument ist kein Runtime-Import und keine Framework-Komponente. Es ist
103
+ die App-Beschreibung: Der Compiler erzeugt daraus Core-/Kernel-Records, die
104
+ Host-Adapter mit XTend Components, XRouter und Fabric verbinden koennen.
105
+
106
+ ## 3. XTend UI aus RMT materialisieren
107
+
108
+ Fuer Runtime-Hosts verbindet die Component Capability Registry RMT-Descriptoren
109
+ mit den vorhandenen XTend-Komponenten aus dem Manifest. Dadurch bleiben
110
+ Component Contracts, Events, Slots, Parts und State-Bindings die gemeinsame
111
+ Quelle der Wahrheit:
112
+
113
+ ```js
114
+ import {
115
+ createRmtComponentCapabilityRegistry
116
+ } from '@ccslabs/xtend/rmt/component-capability-registry';
117
+ import {
118
+ createRmtDomDescriptorRenderer
119
+ } from '@ccslabs/xtend/rmt/dom-descriptor-renderer';
120
+
121
+ const registry = createRmtComponentCapabilityRegistry({ manifest, sourceTexts });
122
+ const renderer = createRmtDomDescriptorRenderer({ documentTarget: document });
123
+
124
+ renderer.renderKeyed(root, [
125
+ registry.buildComponentDescriptor({
126
+ tag: 'x-button',
127
+ key: 'primary-action',
128
+ attributes: { variant: 'primary' },
129
+ slots: { default: { text: 'Loslegen' } },
130
+ events: { click: 'quickstart.increment' }
131
+ })
132
+ ], {
133
+ componentRegistry: registry,
134
+ dispatchEvent: actions.dispatch,
135
+ stateBridge
136
+ });
137
+ ```
86
138
 
87
- ## Optional: RMT-first denken
139
+ So koennen RMT-Primitives XTend UI nutzen, ohne Shadow-DOM-Patches,
140
+ komponentenspezifische Renderer oder manuelle HTML-Sinks einzubauen.
88
141
 
89
- Fuer groessere Apps empfiehlt sich der RMT-first Pfad: Die Shell, Routes, Schedules und spaeter Komponentenbindungen werden deklarativ in einem `.rmt` Dokument beschrieben. XTend bleibt dann der UI-Adapter, XRouter der Routing-Adapter und XTendRMT der Scheduler.
142
+ ## 4. Serverseitig vorhydrieren
90
143
 
91
- Der lokale XTend-Dev-Server liefert `.rmt` mit dem nativen MIME-Type `application/vnd.xtendrmt.rmt+json` aus. Neue Apps sollten deshalb direkt `.rmt` verwenden; JSON-Endungen sind nur noch ein Kompatibilitaetsfallback fuer Hosts ohne eigene MIME-Konfiguration.
144
+ Node-Hosts koennen dieselbe RMT-Beschreibung fuer SSR und inkrementelles JSONL
145
+ nutzen. Der Adapter bleibt framework-neutral und startet keinen eigenen
146
+ HTTP-Server:
92
147
 
93
- Minimaler Route Record:
148
+ ```js
149
+ import {
150
+ createRmtNodeSsrAdapter
151
+ } from '@ccslabs/xtend/rmt/node-ssr-adapter';
94
152
 
95
- ```json
96
- {
97
- "id": "home",
98
- "path": "/home",
99
- "router": "xtend.xrouter",
100
- "component": "page.home",
101
- "title": "Home",
102
- "documentTitle": "Home | Quick Start",
103
- "template": "home.shell",
104
- "schedule": "route.visible.render"
105
- }
153
+ const adapter = createRmtNodeSsrAdapter({ manifest, sourceTexts });
154
+ const result = await adapter.render({ source, filePath: 'app.rmt' });
106
155
  ```
107
156
 
108
- Fuer eine minimale native App-Shell kannst du in einer IDE mit RMT Snippets den Prefix `rmt-app` nutzen. Der Snippet-Katalog liegt in `tools/rmt-language/snippets/` und erzeugt direkt `.rmt` Authoring-Strukturen.
157
+ PHP/Laravel-Hosts nutzen denselben clientseitigen Wire-Shape ueber das
158
+ Single-File-Modul:
109
159
 
110
- ## RMT lokal pruefen
160
+ ```php
161
+ require __DIR__ . '/xtendrmt/rmt-php-ssr-adapter.php';
111
162
 
112
- Der Standard-Gate fuer ein einzelnes Dokument ist:
163
+ $adapter = createRmtPhpSsrAdapter(['manifest' => $manifest]);
164
+ $result = $adapter->render(['coreDocument' => $coreDocument]);
165
+ ```
166
+
167
+ Mehr dazu:
168
+ [RMT Node SSR Adapter](./rmt-node-ssr-adapter.md) und
169
+ [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md).
170
+
171
+ ## 5. RMT lokal pruefen
172
+
173
+ Der Standardcheck fuer ein einzelnes Dokument ist:
113
174
 
114
175
  ```bash
115
176
  xt rmt lint app.rmt
@@ -127,9 +188,11 @@ AI-Agenten koennen den Repair Report nutzen:
127
188
  xt rmt lint app.rmt --agent
128
189
  ```
129
190
 
130
- Der Agent Report enthaelt `repairPlan`, `fixOrder`, `confidence`, `impact`, `relatedDiagnostics` und erklaerte No-Ops fuer bewusst nicht automatisierte Reparaturen.
191
+ Der Agent Report enthaelt `repairPlan`, `fixOrder`, `confidence`, `impact`,
192
+ `relatedDiagnostics` und erklaerte No-Ops fuer bewusst nicht automatisierte
193
+ Reparaturen.
131
194
 
132
- ## Editor-Unterstuetzung
195
+ ## 6. Editor-Unterstuetzung aktivieren
133
196
 
134
197
  Der RMT Language Server startet lokal ueber:
135
198
 
@@ -137,16 +200,21 @@ Der RMT Language Server startet lokal ueber:
137
200
  node tools/rmt-language-server/server.js
138
201
  ```
139
202
 
140
- Er liefert Diagnostics, Completion, Hover, Document Symbols, Definition und Code Actions. VS Code, JetBrains, Neovim und Helix koennen den Server ueber stdio anbinden. Die Setup-Hinweise stehen in [RMT Language Server und Editor Setup](./rmt-language-server.md).
141
-
142
- Fuer den ersten Einstieg reicht die HTML-Variante. Sobald Routing, Scheduling, Hydration oder mehrere Frameworks zusammenspielen, ist `.rmt` mit Linter und LSP der stabilere Ausbaupfad.
203
+ Er liefert Diagnostics, Completion, Hover, Document Symbols, Definition und
204
+ Code Actions. VS Code, JetBrains, Neovim und Helix koennen den Server ueber
205
+ stdio anbinden. Fuer eine minimale native App-Shell kannst du in einer IDE mit
206
+ RMT Snippets den Prefix `rmt-app` nutzen; fuer vNext-Primitives ist
207
+ `rmt-vnext-primitive-shell` der schnellste Start.
143
208
 
144
209
  ## Naechste Schritte
145
210
 
211
+ - [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
212
+ - [RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md)
213
+ - [RMT Node SSR Adapter](./rmt-node-ssr-adapter.md)
214
+ - [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md)
215
+ - [XTendRMT Developer Overview](./xtendrmt-overview.md)
216
+ - [RMT Linter und AI-Agent Repair Report](./rmt-linter.md)
217
+ - [RMT Language Server und Editor Setup](./rmt-language-server.md)
146
218
  - [XTend Loader](./xtend-loader.md)
147
219
  - [Manifest-Format](./manifest.md)
148
220
  - [Komponenten-Entwicklung](./components.md)
149
- - [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md)
150
- - [RMT-first XTend Apps](./rmt-first-xtend-apps.md)
151
- - [RMT Linter und AI-Agent Repair Report](./rmt-linter.md)
152
- - [RMT Language Server und Editor Setup](./rmt-language-server.md)
@@ -0,0 +1,101 @@
1
+ # RMT Action Effect Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-action-effect-runtime.v1`
4
+ - Workpackage: `WP-E18-08`
5
+ - Runtime: `xtendrmt/rmt-action-effect-runtime.js`
6
+ - Types: `xtendrmt/rmt-action-effect-runtime.d.ts`
7
+ - Fixture: `tests/fixtures/rmt-action-effect-runtime.rmt`
8
+ - Local gate: `node scripts/run_xtend_tests.js rmt-action-effect-runtime --json`
9
+ - Next: `WP-E18-09`
10
+
11
+ ## Purpose
12
+
13
+ The Action Effect Runtime turns common app flows into native RMT platform
14
+ primitives. Apps can load fixture, REST, SSR or host-adapter data; update typed
15
+ state; publish feedback; navigate; focus controls; lazy-load modules; and own
16
+ resources without product-local action frameworks.
17
+
18
+ The runtime is deliberately domain-neutral. It does not define product surfaces
19
+ or record taxonomies. Developers provide their own actions, contracts, adapters,
20
+ effects and resources.
21
+
22
+ ## DataSources
23
+
24
+ Supported datasource kinds:
25
+
26
+ - `fixture`: returns static fixture records for local app fixtures and tests.
27
+ - `rest`: calls an injected adapter with an endpoint and payload.
28
+ - `ssr`: reads a prehydrated payload and can project it with `resultPath`.
29
+ - `host`: calls an explicit host adapter for mutations or platform commands.
30
+
31
+ Runtime code never reaches for global network APIs directly. REST and host work
32
+ through injected adapters so browser, server, test and shell environments can
33
+ choose their own transport policy.
34
+
35
+ ## Actions
36
+
37
+ An action can declare:
38
+
39
+ - `datasource`
40
+ - `resultState`
41
+ - `loadingState`
42
+ - `statusState`
43
+ - `effects`
44
+ - `resources`
45
+ - `resourceOwner`
46
+ - `cancelable`
47
+
48
+ `runAction(id, payload)` moves the action through loading, success, error or
49
+ cancelled states. If a typed state runtime is passed in, loading and status are
50
+ written through `setState` and `patchState`, while datasource results can be
51
+ stored in `resultState`.
52
+
53
+ ## Effects
54
+
55
+ Supported effect kinds:
56
+
57
+ - `toast` and `feedback`
58
+ - `navigation`
59
+ - `focus`
60
+ - `lazy-import`
61
+ - `side-effect`
62
+
63
+ Feedback, navigation, focus and custom side effects use injected adapters.
64
+ Lazy imports are modeled as resources, which means they can share the same
65
+ ownership and cleanup model as other runtime resources.
66
+
67
+ ## Resource Ownership
68
+
69
+ Supported resource kinds:
70
+
71
+ - `object-url`
72
+ - `stream`
73
+ - `observer`
74
+ - `timer`
75
+ - `lazy-import`
76
+
77
+ Resources are acquired under an owner, normally the action id. The resource
78
+ manager exposes `releaseOwner(ownerId)` so surface destroy, render-unit destroy
79
+ or action cancel can clean up only the resources they own.
80
+
81
+ ## Diagnostics
82
+
83
+ The runtime emits diagnostics with
84
+ `xtend.epic18.rmt-action-effect-diagnostic.v1` on the
85
+ `rmt.app_platform.action_effect` channel. Loading, success, error and cancel
86
+ are all visible in the local runtime history and in an optional diagnostics hub.
87
+
88
+ ## Boundaries
89
+
90
+ - The RMT kernel imports no XTend UI components.
91
+ - Data access goes through injected adapters.
92
+ - Product-local action frameworks are not part of the platform contract.
93
+ - Product flow names remain app code, not framework defaults.
94
+ - Normal app UI still uses RMT templates and DOM descriptors instead of HTML
95
+ string renderers.
96
+
97
+ ## Handoff
98
+
99
+ `WP-E18-09` builds on this runtime by connecting declarative DOM and custom
100
+ events to actions. The event layer should reuse the Action Effect Runtime
101
+ instead of creating another action execution path.
@@ -0,0 +1,54 @@
1
+ # RMT App Platform Authoring
2
+
3
+ - Contract: `xtend.epic18.rmt-app-platform-authoring.v1`
4
+ - Fixture: `tests/fixtures/rmt-app-platform-authoring.rmt`
5
+ - Local Gate: `node scripts/run_xtend_tests.js rmt-app-platform-authoring --json`
6
+ - Workpackage: `WP-E18-04`
7
+
8
+ ## Zweck
9
+
10
+ Dieses Authoring-Modell definiert RMT als generische App Platform. Es ist keine
11
+ Portierung einer konkreten Produktoberflaeche. Entwickler koennen eigene
12
+ App-Domains, Record-Vertraege, Komponentenfamilien, Surfaces, State-Graphen,
13
+ Actions, DataSources, Resources und Events kombinieren.
14
+
15
+ ## Primitives
16
+
17
+ | Primitive | Zweck |
18
+ |-----------|-------|
19
+ | `app` | App-Metadaten, Shell, Domain, Record-Contract und Einstiegspunkte |
20
+ | `route` | URL- oder Navigationszustand auf Surface und Template mappen |
21
+ | `surface` | keyed App-Bereiche mit Lifecycle, Placement, State und Persistence |
22
+ | `slot` | benannte Kompositionspunkte zwischen Templates und Komponenten |
23
+ | `template` | strukturierte UI als DOM Descriptor, nicht als HTML-String |
24
+ | `component` | beliebige Custom Elements ueber einen Faehigkeitskatalog binden |
25
+ | `state` | typed App-State fuer Collections, Auswahl, Filter und Formwerte |
26
+ | `selector` | abgeleitete Lesesichten auf State |
27
+ | `derive` | computed Values mit klarem Output-Typ |
28
+ | `repeat` | keyed Listen ohne Produkt-Renderer |
29
+ | `when` | deklarative Bedingungen, Empty- und Fallback-Zustaende |
30
+ | `bind` | State, Selectors oder Derived Values auf Attribute/Properties mappen |
31
+ | `action` | deklarative Commands fuer App-Flows |
32
+ | `effect` | async Ausfuehrung mit Lanes und Feedback |
33
+ | `datasource` | Fixture-, REST-, SSR- oder spaetere Host-Datenadapter |
34
+ | `resource` | lazy/preload/cleanup Ressourcen inklusive Trusted-HTML-Sonderfall |
35
+ | `event` | scoped Event-Routing ohne impliziten globalen Event-Bus |
36
+
37
+ ## Boundaries
38
+
39
+ - `no-media-manager-product-surface-clone`
40
+ - `no-product-record-contract-required`
41
+ - `structured-ui-before-trusted-html`
42
+ - `trusted-html-explicit-boundary-only`
43
+ - `no-rmt-kernel-import-of-xtend-types`
44
+ - `no-external-innerhtml-helper-required`
45
+
46
+ Normale App-UI muss ueber strukturierte Templates modellierbar sein. HTML bleibt
47
+ eine explizite Trusted-DOM-Boundary fuer Sonderfaelle und ist nicht der
48
+ Standardweg fuer Komponentenentwicklung.
49
+
50
+ ## Handoff
51
+
52
+ `WP-E18-04` legt nur das Authoring-Modell fest. `WP-E18-05` baut danach den
53
+ sicheren DOM Descriptor Renderer und den No-Manual-HTML-Gate. `WP-E18-06`
54
+ setzt darauf die component-nativen Template Primitives um.
@@ -0,0 +1,46 @@
1
+ # RMT App Platform Fixture
2
+
3
+ WP-E18-12 liefert die generische Referenz-Fixture fuer die RMT App Platform.
4
+ Sie beweist, dass die Epic-18-Primitives nicht an eine Produktoberflaeche
5
+ gekoppelt sind: dieselben RMT-Bausteine tragen einen `generic-catalog`, eine
6
+ `admin-queue` und ein `content-board`.
7
+
8
+ ## Vertrag
9
+
10
+ - Schema: `xtend.epic18.rmt-app-platform-fixture.v1`
11
+ - Fixture Schema: `xtend.epic18.rmt-app-platform-fixture-source.v1`
12
+ - Lokaler Gate: `node scripts/run_xtend_tests.js rmt-app-platform-fixture --json`
13
+ - Package Script: `npm run test:rmt-app-platform-fixture`
14
+ - Handoff: `WP-E18-13`
15
+
16
+ ## Abgedeckte Plattformfaehigkeiten
17
+
18
+ - konfigurierbare Record-Contracts ohne feste Record-Klasse
19
+ - Listen-, Detail-, Toolbar-, Feedback- und Overlay-Komposition mit DOM
20
+ Descriptor Templates
21
+ - Actions mit Fixture-, REST-, SSR- und Host-DataSources
22
+ - Feedback-, Navigation-, Focus-, Lazy-Import- und Side-Effect-Flows
23
+ - dynamische Surfaces fuer mehrere Domains aus denselben Primitives
24
+ - Portals und Overlays inklusive Stack-Verhalten
25
+ - Resource Ownership und Cleanup fuer Streams, Observer, Timer, Object URLs und
26
+ Lazy Imports
27
+ - Scaffold Build Evidence ueber den RMT App Platform Generator
28
+
29
+ ## Grenzen
30
+
31
+ Normale RMT UI bleibt deklarativ. `innerHTML`, `outerHTML`,
32
+ `insertAdjacentHTML` und `document.write` gehoeren nicht in die App-Fixture;
33
+ der No-Manual-HTML-Gate prueft das explizit. Produktgebundene Surface-Listen
34
+ werden ebenfalls vermieden. Entwickler sollen in XTend App-Strukturen bauen
35
+ koennen, ohne externe Shell-Renderer oder lokale Registry-Umbauten zu brauchen.
36
+
37
+ ## Fixture-Artefakte
38
+
39
+ - `catalog/epic18-rmt-app-platform-fixture.js`
40
+ - `tests/fixtures/rmt-app-platform-fixture.rmt`
41
+ - `tests/rmt/rmt_app_platform_fixture_suite.js`
42
+ - `development/WP-E18-12-Generische-RMT-App-Platform-Fixture-bauen.md`
43
+
44
+ Der Gate rendert die Fixture mit dem DOM Descriptor Renderer, routet Events in
45
+ Actions, tauscht DataSources, materialisiert Surfaces, oeffnet Overlays und
46
+ belegt Cleanup durch Resource-Disposals.
@@ -0,0 +1,88 @@
1
+ # RMT App Platform Migration Guide
2
+
3
+ Dieser Guide beschreibt den Weg von externen Host-Hilfen wie
4
+ `root.innerHTML`, produktgebundenen Surface-Listen oder lokalen Registry-
5
+ Repaints hin zu nativen RMT-App-Platform-Primitives.
6
+
7
+ ## Zielbild
8
+
9
+ - Neue UI wird in RMT vNext beschrieben; DOM Descriptor, App-Platform-JSON und
10
+ Component Records sind generierter Output oder Compatibility Mirror.
11
+ - State, Selectors und Derived Values liegen in der RMT State Selector Runtime.
12
+ - Interaktionen laufen ueber deklarative Events und Actions.
13
+ - DataSources bleiben austauschbar: `fixture`, `rest`, `ssr` und `host`.
14
+ - Surfaces, Overlays, Portals und Resources werden ueber den Surface Resource
15
+ Graph materialisiert und aufgeraeumt.
16
+
17
+ ```rmt
18
+ template migration.catalog {
19
+ state records type collection initial []
20
+
21
+ selector visibleRecords from state records {
22
+ output CatalogRecord[]
23
+ }
24
+
25
+ datasource catalog from fixture records.generic-items {
26
+ contract CatalogRecord[]
27
+ }
28
+
29
+ action load-records {
30
+ effect fetch datasource catalog
31
+ on success -> reduce state.records = result.records
32
+ }
33
+
34
+ portal surface.root root "#app-root" layer surface
35
+
36
+ surface catalog.board kind workspace component x-cards {
37
+ repeat from selector visibleRecords
38
+ key record.id
39
+ portal surface.root
40
+
41
+ lane visible weight 80 {
42
+ hydrate catalog-cards from selector visibleRecords
43
+ }
44
+
45
+ on card-click target item -> action load-records {
46
+ payload source from target.dataset.source
47
+ }
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## Migration
53
+
54
+ 1. Externe HTML-Host-Renderer identifizieren.
55
+ Suchen nach `innerHTML`, `outerHTML`, `insertAdjacentHTML` und
56
+ `document.write`.
57
+ 2. Shell-Struktur in RMT vNext ueberfuehren.
58
+ Normale App-UI nutzt `template`, `surface`, `portal`, `lane`, `hydrate` und
59
+ Events; `mode: "dom_descriptor"` entsteht erst im Output.
60
+ 3. Produktlisten entkoppeln.
61
+ Statt einer festen Record-Klasse werden konfigurierbare Record-Contracts
62
+ mit stabilen IDs und Keys genutzt.
63
+ 4. Interaktionen deklarieren.
64
+ DOM- oder Custom-Events erhalten `payloadContract` und routen zu Actions.
65
+ 5. DataSources austauschbar halten.
66
+ Lokale Fixture-Daten, SSR-Bootstrap, REST-Suche und Host-Mutation teilen
67
+ denselben Action-Pfad.
68
+ 6. Surface Lifecycle pruefen.
69
+ Jede Surface mit `resource`-Eintraegen braucht einen Owner, Overlays laufen ueber
70
+ Portals, und Destroy/Close muss Ressourcen freigeben.
71
+ 7. Scaffold Evidence erzeugen.
72
+ Der RMT App Platform Builder schreibt Diagnostics, Source Map und Build
73
+ Report.
74
+
75
+ ## Referenz
76
+
77
+ Die Referenz-Fixture liegt in `tests/fixtures/rmt-app-platform-fixture.rmt` und
78
+ belegt `generic-catalog`, `admin-queue` und `content-board` mit denselben
79
+ Primitives.
80
+
81
+ ```bash
82
+ node scripts/run_xtend_tests.js rmt-app-platform-fixture --json
83
+ ```
84
+
85
+ ## Grenze
86
+
87
+ Trusted HTML bleibt ein expliziter Sonderfall mit Trusted-DOM-Boundary. Normale
88
+ App-UI darf keine HTML-Strings als Renderpfad verwenden.