@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
@@ -96,7 +96,7 @@ Wichtige Prefixes:
96
96
 
97
97
  ## VS Code
98
98
 
99
- Ein duennes Bridge-Package liegt in:
99
+ Die VS-Code-Integration liegt in:
100
100
 
101
101
  ```text
102
102
  tools/rmt-editor/vscode
@@ -106,11 +106,31 @@ Es registriert:
106
106
 
107
107
  - Language ID `rmt`
108
108
  - Dateiendung `.rmt`
109
- - JSON-basierte TextMate-Grammatik
109
+ - RMT-vNext-aware TextMate-Grammatik mit Legacy-JSON-Fallback
110
110
  - RMT Snippets
111
+ - `vscode-languageclient` fuer den lokalen RMT Language Server
112
+ - `$xtend-rmt-lint` Problem Matcher
113
+ - XTend CLI Tasks und Debug-Console-Launch-Konfigurationen
111
114
  - Command `XTendRMT: Show Language Server Command`
112
-
113
- Bis ein voll gepackter VS-Code-LanguageClient freigegeben ist, kann ein generischer LSP-Client mit folgendem Befehl genutzt werden:
115
+ - Command `XTendRMT: Start/Restart Language Server`
116
+ - Command `XTendRMT: Run Active RMT Lint`
117
+ - Command `XTendRMT: Run Workspace RMT Lint`
118
+ - Command `XTendRMT: Run RMT Build Check`
119
+ - Command `XTendRMT: Run Scaffold Verify`
120
+ - Command `XTendRMT: Debug Language Server`
121
+ - Command `XTendRMT: Debug Active RMT Lint`
122
+ - Command `XTendRMT: Debug Active RMT Build`
123
+ - Command `XTendRMT: Open XTend CLI Terminal`
124
+ - Command `XTendRMT: Run XTend CLI Command...`
125
+ - Command `XTendRMT: Run Agent Repair Report`
126
+ - Command `XTendRMT: Run RMT Build Write`
127
+ - Command `XTendRMT: Open VS Code Tasks Template`
128
+ - Command `XTendRMT: Open VS Code Launch Template`
129
+ - Command `XTendRMT: Show vNext Primitive Apply Experience`
130
+ - Command `XTendRMT: Show vNext Primitive Code Action Preview`
131
+ - Command `XTendRMT: Show vNext Primitive Command Handoff`
132
+
133
+ Der gepackte LanguageClient startet den Server per stdio:
114
134
 
115
135
  ```json
116
136
  {
@@ -119,6 +139,43 @@ Bis ein voll gepackter VS-Code-LanguageClient freigegeben ist, kann ein generisc
119
139
  }
120
140
  ```
121
141
 
142
+ Terminal-Tasks nutzen die XTend CLI als Orchestrator und pflegen keine eigene
143
+ RMT-Semantik. Die Extension sucht die CLI im Workspace zuerst unter
144
+ `xtend-builder/scaffold.js`, danach unter `node_modules/.bin/xt` und danach
145
+ unter `node_modules/@ccslabs/xtend-cli/scaffold.js`. Falls ein Projekt anders
146
+ aufgebaut ist, kann `xtendRmt.xtendCli.path` explizit auf ein Executable oder
147
+ eine `scaffold.js` zeigen. Die versionierte Vorlage liegt unter:
148
+
149
+ ```text
150
+ tools/rmt-editor/vscode/templates/tasks.json
151
+ ```
152
+
153
+ Der Problem Matcher konsumiert die stabile Linter-Ausgabe:
154
+
155
+ ```bash
156
+ xt rmt lint app.rmt --format problem-matcher --fail-on warning
157
+ ```
158
+
159
+ Die Launch-Vorlage fuer die Debug Console liegt unter:
160
+
161
+ ```text
162
+ tools/rmt-editor/vscode/templates/launch.json
163
+ ```
164
+
165
+ Sie enthaelt Debug-Starts fuer Language Server, aktiven RMT Lint, aktiven RMT
166
+ Build und Scaffold Verify. Das ist Tool-Debugging fuer Authoring-Workflows; ein
167
+ eigener Debug Adapter fuer ausgefuehrte RMT-UI-Breakpoints bleibt bewusst
168
+ ausserhalb dieses Slices.
169
+
170
+ Die vNext-Primitive-Commands lesen CodeAction-Reports oder einzelne Actions
171
+ aus der RMT-vNext-Tooling-Schicht und zeigen die drei Apply-Pfade getrennt im
172
+ Output Channel:
173
+
174
+ - sichere einzelne Quick-Fixes;
175
+ - `source.fixAll.rmt.vnext.primitives` fuer alle sicheren WorkspaceEdits;
176
+ - manuelle `xtend.rmt.vnext.extractKernelImport` Handoffs fuer Kernel-/Fabric-
177
+ Boundary-Verletzungen ohne automatischen WorkspaceEdit.
178
+
122
179
  ## JetBrains
123
180
 
124
181
  JetBrains-IDEs koennen ueber einen generischen LSP-Client oder ein lokales File-Watcher-/External-Tool-Setup angebunden werden.
@@ -11,10 +11,9 @@ oeffnbaren XTend App:
11
11
  3. Derselbe Scaffold-Build schreibt die generierten Artefakte:
12
12
  `components/x-rmt-lifecycle-demo.js`,
13
13
  `xtendrmt/rmt-lifecycle-demo.app.js`,
14
- `xtendrmt-rmt-lifecycle-demo.html` und
15
14
  `tests/browser/fixtures/rmt-lifecycle-demo-smoke.html`.
16
15
  4. Die App kann ueber den lokalen HTTP-Server geoeffnet werden:
17
- `node scripts/serve_xtend_dev.js --default xtendrmt-rmt-lifecycle-demo.html`.
16
+ `node scripts/serve_xtend_dev.js --default tests/browser/fixtures/rmt-lifecycle-demo-smoke.html`.
18
17
 
19
18
  Der Build-Report liegt in `xtendrmt/rmt-lifecycle-demo.scaffold.json`. Er
20
19
  haelt Source, Core Output, generierte XTend App, Browser-Smoke und den lokalen
@@ -0,0 +1,144 @@
1
+ # RMT Node SSR Adapter
2
+
3
+ Der Node SSR Adapter ist die leichte serverseitige Host-Schicht fuer RMT
4
+ vNext. Er erzeugt Light-DOM-HTML fuer XTend Custom Elements, Hydration-
5
+ Payloads im bestehenden RenderMan-Shape und optional JSONL-Frames fuer
6
+ inkrementelle UI-Ausgabe. Das Modul ist bewusst kein HTTP-Server und kein
7
+ Parallelrenderer.
8
+
9
+ Schema: `xtend.rmt.node-ssr-adapter.v1`
10
+
11
+ Export:
12
+
13
+ ```js
14
+ import {
15
+ createRmtNodeSsrAdapter
16
+ } from '@ccslabs/xtend/rmt/node-ssr-adapter';
17
+ ```
18
+
19
+ Das Runtime-Paket exportiert dieselbe API ueber
20
+ `@ccslabs/xtend-rmt/node-ssr-adapter`.
21
+
22
+ Fuer PHP/Laravel-Hosts gibt es denselben Client-Wire-Contract ueber den
23
+ [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md). Beide Adapter liefern
24
+ kompatible HTML-, Hydration-, RenderMan-Chunk- und JSONL-Frames.
25
+
26
+ ## Rolle im Stack
27
+
28
+ RMT bleibt die App-Beschreibung. Der Compiler erzeugt Core-/Kernel-Records,
29
+ Fabric fuehrt Scheduling-Absicht aus, die Component Capability Registry
30
+ beschreibt XTend UI generisch, und der Node SSR Adapter materialisiert daraus
31
+ serverseitige Startausgabe.
32
+
33
+ Der Adapter:
34
+
35
+ - instanziiert keine Custom Elements auf dem Server
36
+ - rendert kein Component-Shadow-DOM
37
+ - nutzt keine privaten Component-Maps
38
+ - startet keinen HTTP-Server
39
+ - nutzt keinen impliziten globalen Netzwerkzugriff
40
+ - serialisiert nur sichere Host-Ausgabe mit Trust-Boundary-Diagnostics
41
+
42
+ ## Public API
43
+
44
+ ```js
45
+ const adapter = createRmtNodeSsrAdapter({
46
+ manifest,
47
+ sourceTexts,
48
+ endpointHandlers: {
49
+ 'ssr.hero': () => ({
50
+ html: '<x-hero>Hero</x-hero>',
51
+ trustBoundary: 'xtend.security.sanitizing-boundary.v1'
52
+ })
53
+ },
54
+ sanitizeHtmlOutput(html) {
55
+ return html;
56
+ }
57
+ });
58
+
59
+ const result = await adapter.render({
60
+ source,
61
+ filePath: 'app.rmt'
62
+ });
63
+
64
+ for await (const line of adapter.streamJsonl({ source })) {
65
+ process.stdout.write(line);
66
+ }
67
+ ```
68
+
69
+ `render(input, options)` akzeptiert `.rmt` Source, RMT vNext Core Documents,
70
+ Prepared Templates und DOM Descriptoren. Im Vollpaket wird die Source-
71
+ Kompilierung automatisch ueber den bestehenden vNext Compiler verdrahtet. Im
72
+ Runtime-only-Paket muss `compileRmtVNextSource` injiziert werden; sonst meldet
73
+ der Adapter `rmt.node_ssr.compiler_required`.
74
+
75
+ ## Render-Ergebnis
76
+
77
+ `adapter.render(...)` liefert `xtend.rmt.node-ssr-render-result.v1`:
78
+
79
+ - `html`: serverseitiges Light DOM fuer XTend Custom Elements
80
+ - `head.preloads`: Lazy-Import-Hints aus Component Capabilities
81
+ - `chunks`: `renderman_template_chunk` im bestehenden
82
+ `server_prerender_hydrate`-Shape
83
+ - `hydration`: serialisierbares Payload fuer die Browser-Hydration
84
+ - `streamingContract`: vorhandener `xtend.rmt.vnext-streaming-contract.v1`
85
+ Contract, wenn das Dokument Streaming beschreibt
86
+ - `componentCapabilities`: normalisierte XTend Component Capability Marker
87
+ - `diagnostics`: blockierende und nicht-blockierende Host-Diagnostics
88
+
89
+ ## JSONL Streaming
90
+
91
+ `streamJsonl(input, options)` erzeugt newline-delimited JSON Frames mit Schema
92
+ `xtend.rmt.node-ssr-jsonl-frame.v1`.
93
+
94
+ Frame-Typen:
95
+
96
+ - `start`
97
+ - `component`
98
+ - `html`
99
+ - `hydration`
100
+ - `diagnostic`
101
+ - `complete`
102
+ - `error`
103
+
104
+ Jeder Frame traegt `requestId`, `sequence`, `operationId`, `variant`,
105
+ `capability`, `lane`, `chunkKey`, `payload` und `diagnostics`. SSR-Frames
106
+ nutzen `stream.ssr.incremental`; Hydration-Frames nutzen
107
+ `stream.hydration.chunked`.
108
+
109
+ ## DataSource Resolver
110
+
111
+ Serverdaten sind immer Host-Verantwortung. Nutze eine der expliziten
112
+ Integrationen:
113
+
114
+ - `resolveDataSource(record, context)`
115
+ - `endpointHandlers[target]`
116
+ - `staticDataSources`
117
+ - `fixtures`
118
+ - `fetchAdapter(record, context)`
119
+
120
+ Wenn ein RMT-Streaming- oder Endpoint-Record keinen Resolver hat, meldet der
121
+ Adapter `rmt.node_ssr.datasource_missing`. Dadurch bleibt der Kernel frei von
122
+ Host-Netzwerkannahmen.
123
+
124
+ ## Trust Boundary
125
+
126
+ HTML-Fragmente aus Hosts, Endpoints oder Streaming muessen eine Boundary wie
127
+ `xtend.security.sanitizing-boundary.v1` oder
128
+ `xtend.security.streaming-boundary.v1` tragen. Unsichere URLs, Event-
129
+ Attribute, `srcdoc` und blockierte Tags werden diagnostiziert und vom
130
+ Fallback-Sanitizer entfernt. Produktive Hosts sollten `sanitizeHtmlOutput`
131
+ injizieren.
132
+
133
+ ## Gates
134
+
135
+ ```bash
136
+ npm run test:rmt-node-ssr-adapter
137
+ node scripts/run_xtend_tests.js rmt-node-ssr-adapter --json
138
+ ```
139
+
140
+ Der Adapter ist Teil des RMT vNext Primitive Gates:
141
+
142
+ ```bash
143
+ npm run test:rmt-vnext-primitives:report
144
+ ```
@@ -0,0 +1,158 @@
1
+ # RMT PHP/Laravel SSR Adapter
2
+
3
+ Der PHP SSR Adapter ist die Laravel-kompatible Host-Schicht fuer RMT vNext.
4
+ Er liegt als portables Single-File-Modul unter
5
+ `xtendrmt/rmt-php-ssr-adapter.php`, benoetigt PHP 8.1+ und hat in diesem Slice
6
+ keine Composer- oder Service-Provider-Pflicht.
7
+
8
+ Schema: `xtend.rmt.php-ssr-adapter.v1`
9
+
10
+ Der Adapter ist auf Client-Wire-Ebene kompatibel mit dem
11
+ [RMT Node SSR Adapter](./rmt-node-ssr-adapter.md). Beide liefern denselben
12
+ Render-Result-, Hydration-, Chunk- und JSONL-Frame-Shape:
13
+ `xtend.rmt.node-ssr-render-result.v1`,
14
+ `xtend.rmt.node-ssr-hydration-payload.v1` und
15
+ `xtend.rmt.node-ssr-jsonl-frame.v1`.
16
+
17
+ ## Rolle im Stack
18
+
19
+ RMT beschreibt App Shell, State, DataSources, Surfaces, Events und Lanes. Der
20
+ PHP Adapter materialisiert daraus serverseitiges Light DOM fuer XTend Custom
21
+ Elements und uebergibt Hydration-Daten an die bestehende Browser-Runtime.
22
+
23
+ Der Adapter:
24
+
25
+ - instanziiert keine Custom Elements auf dem Server
26
+ - rendert kein Shadow DOM
27
+ - nutzt keine privaten Component-Maps
28
+ - ist nicht an die Docs-App gekoppelt
29
+ - fuehrt keinen PHP-RMT-Compiler mit
30
+ - akzeptiert DataSources nur ueber explizite Host-Resolver
31
+
32
+ ## Public API
33
+
34
+ ```php
35
+ require __DIR__ . '/xtendrmt/rmt-php-ssr-adapter.php';
36
+
37
+ $adapter = createRmtPhpSsrAdapter([
38
+ 'manifest' => $manifest,
39
+ 'endpointHandlers' => [
40
+ 'ssr.hero' => fn () => [
41
+ 'html' => '<x-hero>Hero</x-hero>',
42
+ 'trustBoundary' => 'xtend.security.sanitizing-boundary.v1',
43
+ ],
44
+ ],
45
+ ]);
46
+
47
+ $result = $adapter->render([
48
+ 'coreDocument' => $coreDocument,
49
+ ]);
50
+
51
+ foreach ($adapter->streamJsonl(['coreDocument' => $coreDocument]) as $line) {
52
+ echo $line;
53
+ }
54
+ ```
55
+
56
+ `render($input, $options)` akzeptiert RMT vNext Core Documents, Prepared
57
+ Templates und DOM Descriptoren direkt. `.rmt` Source wird nur verarbeitet, wenn
58
+ ein Host eine `compileRmtVNextSource`-Bridge injiziert. Ohne Bridge meldet der
59
+ Adapter `rmt.php_ssr.compiler_required`.
60
+
61
+ ## Laravel Helpers
62
+
63
+ Die Helpers bleiben optional und aktivieren sich nur, wenn Laravel oder
64
+ Symfony Response-Klassen bereits geladen sind:
65
+
66
+ ```php
67
+ return $adapter->toLaravelResponse($result);
68
+
69
+ return $adapter->toLaravelStreamedResponse([
70
+ 'coreDocument' => $coreDocument,
71
+ ]);
72
+ ```
73
+
74
+ Ohne Framework degradieren die Methoden sauber zu Arrays. Dadurch kann dieselbe
75
+ Adapterdatei in Laravel, kleinen PHP-Hosts und Tests genutzt werden.
76
+
77
+ ## Render-Ergebnis
78
+
79
+ `render(...)` liefert ein Array mit:
80
+
81
+ - `schema`: `xtend.rmt.node-ssr-render-result.v1`
82
+ - `adapterSchema`: `xtend.rmt.php-ssr-adapter.v1`
83
+ - `html`: serverseitiges Light DOM fuer XTend Custom Elements
84
+ - `head.preloads`: Lazy-Import-Hints aus Component Capabilities
85
+ - `chunks`: `renderman_template_chunk` im `server_prerender_hydrate`-Shape
86
+ - `response`: `renderman_template_prerender_response`
87
+ - `hydration`: `xtend.rmt.node-ssr-hydration-payload.v1`
88
+ - `streamingContract`: `xtend.rmt.vnext-streaming-contract.v1`, falls das
89
+ Dokument Streaming beschreibt
90
+ - `componentCapabilities`: Marker fuer XTend Component Tags
91
+ - `diagnostics`: PHP-spezifische Diagnostics unter `rmt.php_ssr.*`
92
+
93
+ ## JSONL Streaming
94
+
95
+ `streamJsonl(...)` erzeugt newline-delimited JSON Frames mit
96
+ `xtend.rmt.node-ssr-jsonl-frame.v1`.
97
+
98
+ Frame-Typen:
99
+
100
+ - `start`
101
+ - `component`
102
+ - `html`
103
+ - `hydration`
104
+ - `diagnostic`
105
+ - `complete`
106
+ - `error`
107
+
108
+ Jeder Frame traegt `requestId`, `sequence`, `operationId`, `variant`,
109
+ `capability`, `lane`, `chunkKey`, `payload` und `diagnostics`. SSR-Frames
110
+ nutzen `stream.ssr.incremental`; Hydration-Frames nutzen
111
+ `stream.hydration.chunked`.
112
+
113
+ ## DataSources und Security
114
+
115
+ Serverdaten sind Host-Verantwortung. Der Adapter nutzt nur explizite Resolver:
116
+
117
+ - `resolveDataSource`
118
+ - `endpointHandlers`
119
+ - `staticDataSources`
120
+ - `fixtures`
121
+ - `fetchAdapter`
122
+ - `laravelContainerResolver`
123
+
124
+ HTML-Fragmente brauchen eine Trust Boundary wie
125
+ `xtend.security.sanitizing-boundary.v1` oder
126
+ `xtend.security.streaming-boundary.v1`. Der eingebaute Fallback-Sanitizer
127
+ blockt Event-Attribute, `srcdoc`, unsichere URLs und Script-/Frame-/Object-
128
+ Tags. Produktive Hosts koennen `sanitizeHtmlOutput` injizieren.
129
+
130
+ ## Docs-App Integration
131
+
132
+ Die Docs-App nutzt den Adapter nun direkt in `docs/index.php` fuer
133
+ Shell-first-Prehydration.
134
+
135
+ - Contract: `xtend.docs.php-ssr-prehydration.v1`
136
+ - vNext Source: `docs/xtendrmt-docs-shell-vnext.rmt`
137
+ - Compiler-Bridge: `scripts/compile_rmt_vnext_bridge.js`
138
+ - JSONL Endpoint:
139
+ `index.php?xtend-docs-rmt-ssr=shell&format=jsonl&page={slug}&locale={locale}`
140
+
141
+ Der Host injiziert `compileRmtVNextSource` ueber die Node-Bridge, rendert die
142
+ Root-Shell als RMT DOM Descriptor und exposes `window.xtendDocsSsrPrehydration`
143
+ mit Hydration, Chunks und Diagnostics. Parsedown bleibt Host-Boundary und
144
+ fuellt weiterhin nur den Content-Slot.
145
+
146
+ ## Gates
147
+
148
+ ```bash
149
+ npm run test:rmt-php-ssr-adapter
150
+ npm run test:docs-php-ssr-prehydration
151
+ node scripts/run_xtend_tests.js rmt-php-ssr-adapter --json
152
+ ```
153
+
154
+ Empfohlene Regression:
155
+
156
+ ```bash
157
+ node scripts/run_xtend_tests.js rmt-php-ssr-adapter rmt-node-ssr-adapter rmt-vnext-streaming rmt-vnext-component-primitives type-exports-rmt --json
158
+ ```
@@ -0,0 +1,47 @@
1
+ # RMT State Selector Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-state-selector-runtime.v1`
4
+ - Fixture: `tests/fixtures/rmt-state-selector-runtime.rmt`
5
+ - Runtime: `xtendrmt/rmt-state-selector-runtime.js`
6
+ - Types: `xtendrmt/rmt-state-selector-runtime.d.ts`
7
+ - Local Gate: `node scripts/run_xtend_tests.js rmt-state-selector-runtime --json`
8
+ - Workpackage: `WP-E18-07`
9
+
10
+ Die State Selector Runtime macht App-Zustand fuer RMT Templates deklarativ
11
+ nutzbar. Sie definiert typisierte State Records, wertet Selectors und derived
12
+ Values aus, dispatcht Reducer-Commands und erzeugt ein Render-Context-Model fuer
13
+ den DOM Descriptor Renderer aus `WP-E18-05`/`WP-E18-06`.
14
+
15
+ ## Primitives
16
+
17
+ | Primitive | Zweck |
18
+ |-----------|-------|
19
+ | `state` | typisierte App-Zustaende wie Collection, Selection, Filter, UI und Loading |
20
+ | `selector` | abgeleitete, wiederverwendbare Sichten auf State, zum Beispiel gefilterte Listen |
21
+ | `derive` | einzelne derived Values wie Selection Count oder Detail Label |
22
+ | `reducer` | Command-getriebene State-Aenderungen ohne produktlokale Mini-Frameworks |
23
+ | `xstateBridge` | injizierte Host-Bridge zu `xstate`, ohne Runtime-Import |
24
+ | `preservePatchPlan` | unterscheidet strukturelle Rerenders von Attribut-/Component-State-Sync |
25
+ | `stateBindings` | aktualisiert Attribute, Klassen und Properties bestehender DOM-Knoten |
26
+
27
+ ## Preserve-Regeln
28
+
29
+ States mit `preserve: "attribute-sync"` oder `preserve: "component-state"`
30
+ duerfen DOM-Inseln erhalten. Selection- oder UI-Aenderungen koennen dadurch
31
+ Attribute wie `aria-selected`, Klassen wie `is-selected` oder Component
32
+ Properties synchronisieren, ohne Listen neu zu materialisieren.
33
+
34
+ Strukturelle Selectors, zum Beispiel `selector.filtered-items`, duerfen dagegen
35
+ einen Rerender anfordern. Filter- oder Collection-Aenderungen bleiben dadurch
36
+ korrekt, waehrend reine Selection-Aenderungen Fokus, Scroll und Component
37
+ Instanzen erhalten koennen.
38
+
39
+ ## XState Boundary
40
+
41
+ Die Runtime importiert `xstate` nicht. Host-Code kann ein kompatibles Ziel mit
42
+ `set`, `setState`, `get`, `getState` oder `subscribe` injizieren. Die Bridge
43
+ spiegelt State-, Selector- und Derived-Keys in dieses Ziel, bleibt aber auch mit
44
+ einem internen Snapshot lauffaehig.
45
+
46
+ `WP-E18-08` kann darauf Actions, Effects, DataSources und Resource Runtime
47
+ aufbauen.
@@ -0,0 +1,92 @@
1
+ # RMT Surface Resource Graph Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-surface-resource-graph-runtime.v1`
4
+ - Gate: `node scripts/run_xtend_tests.js rmt-surface-resource-graph-runtime --json`
5
+ - Workpackage: `WP-E18-10`
6
+ - Handoff: `WP-E18-11`
7
+
8
+ ## Ziel
9
+
10
+ Die Surface Resource Graph Runtime macht dynamische App-Layouts in RMT als
11
+ generische Plattformfaehigkeit modellierbar. Entwickler koennen eigene
12
+ Surface-Modelle aus beliebigen Records erzeugen, Bounds und Fokus verwalten,
13
+ Overlays ueber Portale stapeln und instanzgebundene Ressourcen aufraeumen,
14
+ ohne eine produktlokale Registry oder Shell-spezifische Repaint-Logik zu
15
+ schreiben.
16
+
17
+ Der Media Manager bleibt dabei nur Proof-of-Need. Die Runtime kennt keine
18
+ Produkt-Surface-Liste und importiert keine XTend-Komponenten.
19
+
20
+ ## Keyed Surface Repeater
21
+
22
+ `surface` Definitionen koennen `source`, `repeat` und `key` deklarieren. Die
23
+ Runtime erzeugt daraus stabile Surface-Instanzen wie
24
+ `surface.workspace:alpha`. Beim erneuten Materialisieren mit denselben Keys
25
+ bleiben Runtime-Zustand, Bounds, Fokusreihenfolge, Ressourcenstatus und
26
+ Persistenzdaten erhalten.
27
+
28
+ Wichtige Operationen:
29
+
30
+ - `materialize(recordsBySource)`: erzeugt oder reused Surface-Instanzen.
31
+ - `openSurface(id)`: oeffnet eine Instanz und uebernimmt ihre Ressourcen.
32
+ - `minimizeSurface(id)`: minimiert, ohne DOM- oder Ressourcenstatus zu
33
+ verwerfen.
34
+ - `restoreSurface(id)`: stellt Bounds und offenen Zustand wieder her.
35
+ - `closeSurface(id)`: schliesst nach Policy, ohne zwingend zu zerstoeren.
36
+ - `destroySurface(id)`: gibt instanzgebundene Ressourcen frei und trennt den
37
+ Event-Owner.
38
+
39
+ ## Portal Layer Stack
40
+
41
+ Portale beschreiben Layer- und Policy-Grenzen fuer Tooltips, Toasts, Popovers,
42
+ Lightboxes, Menus, Dialoge und weitere Overlay-Arten. `openOverlay` legt
43
+ Overlay-Instanzen in ihrem Portal ab und vergibt eine stabile Stack-Reihenfolge
44
+ ueber `zIndexStart` und `zStep`. `closeTopOverlay` schliesst den obersten
45
+ dismissible Overlay-Eintrag pro Portal oder global.
46
+
47
+ Die Portal-Policy ist generisch:
48
+
49
+ - `stacked` fuer normale App-Flächen.
50
+ - `modal` und `nonmodal` fuer blockierende und nicht blockierende Overlays.
51
+ - `toast-region` fuer Feedback-Layer.
52
+ - `clipping-escape` fuer Viewport-feste Layer wie Tooltips.
53
+
54
+ ## Resource Ownership
55
+
56
+ Ressourcen werden ueber den WP-E18-08 Resource Manager injiziert. Die Surface
57
+ Runtime besitzt keine eigenen Adapter, sondern ruft `acquireMany` und
58
+ `releaseOwner` pro Surface- oder Overlay-Instanz auf.
59
+
60
+ Dadurch gelten klare Regeln:
61
+
62
+ - Minimize erhaelt Ressourcen und Component-State.
63
+ - Close kann Ressourcen optional freigeben.
64
+ - Destroy gibt Ressourcen der betroffenen Instanz frei.
65
+ - Overlay-Close gibt Overlay-Ressourcen frei.
66
+ - Destroy einer Surface ruft zusaetzlich `eventRuntime.detachOwner(owner)` auf.
67
+
68
+ ## Persistenz
69
+
70
+ `persistSnapshot` liefert einen Snapshot mit Surface-Zustand, Bounds, Fokus,
71
+ offenen Overlays und Portal-Metadaten. Ein optionaler Persistence Adapter kann
72
+ diesen Snapshot speichern. `hydrateSnapshot` spielt ihn spaeter in bereits
73
+ materialisierte Instanzen zurueck.
74
+
75
+ ## Grenzen
76
+
77
+ - Keine Produkt-Surface-Taxonomie als Framework-Default.
78
+ - Keine produktlokale Registry-Repaint-Pflicht.
79
+ - Keine XTend-Component-Imports im RMT Kernel.
80
+ - Normale UI bleibt bei DOM Descriptoren und Component Templates; HTML-String-
81
+ Renderer bleiben eine separate Trusted-DOM-Grenze.
82
+
83
+ ## Gates
84
+
85
+ ```bash
86
+ node scripts/run_xtend_tests.js rmt-surface-resource-graph-runtime --json
87
+ node scripts/run_xtend_tests.js rmt-app-platform-authoring rmt-dom-descriptor-renderer rmt-component-template-primitives rmt-state-selector-runtime rmt-action-effect-runtime rmt-event-routing-runtime rmt-surface-resource-graph-runtime --json
88
+ ```
89
+
90
+ `WP-E18-11` erweitert darauf aufbauend Scaffold, Linter, LSP und Diagnostics,
91
+ damit Surface-, Overlay-, Portal- und Resource-Graphen schon beim Authoring
92
+ sichtbar und pruefbar werden.