@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,474 @@
1
+ # XTend-Fabric Runtime
2
+
3
+ - Status: runtime skeleton since `ER-WP-08`, lifecycle boundary since `ER-WP-09`, reporter adapter since `ER-WP-10`, runtime diagnostics bridge since `ER-WP-11`, component fiber instrumentation since `ER-WP-14`, route fiber instrumentation since `ER-WP-15`, telemetry snapshots since `ER-WP-16`, performance measurements since `ER-WP-18`, performance regression since `ER-WP-19`, hydration policies since `ER-WP-20`, performance authoring since `ER-WP-21`
4
+ - Contract: `xtend.docs.xtend-fabric.v1`
5
+ - API Contract: `xtend.fabric.api.v1`
6
+ - Lifecycle Boundary Contract: `xtend.fabric.lifecycle-error-boundary.v1`
7
+ - Runtime Diagnostics Bridge Contract: `xtend.fabric.runtime-diagnostics-bridge.v1`
8
+ - Component Fiber Instrumentation Contract: `xtend.fabric.component-fiber-instrumentation.v1`
9
+ - Route Fiber Instrumentation Contract: `xtend.fabric.route-fiber-instrumentation.v1`
10
+ - Telemetry Snapshot Contract: `xtend.fabric.telemetry-snapshot.v1`
11
+ - Backpressure Signal Contract: `xtend.fabric.backpressure-signal.v1`
12
+ - Performance Measurement Contract: `xtend.performance.measurement.v1`
13
+ - Component Lifecycle Telemetry Contract: `xtend.component.lifecycle-telemetry.v1`
14
+ - Hydration Policy Contract: `xtend.fabric.hydration-policy.v1`
15
+ - Performance Authoring: [Performance for Component Authors](./performance.md)
16
+ - Runtime: `fabric/xtend-fabric.js`
17
+ - Lane Mapping: `docs/xtend-fabric-rmt-lane-mapping.md`
18
+
19
+ ## Purpose
20
+
21
+ `XTend-Fabric` is the local host layer for safety, diagnostics, error boundaries, reporters and later UI scheduler integration.
22
+
23
+ Fabric replaces neither XTend UI nor XTendRMT. The layer sits between loader/API/components and app-specific code. XTendRMT remains a framework-agnostic scheduler and kernel; Fabric consumes only adapter, bridge and diagnostic signals.
24
+
25
+ ## Runtime Entry
26
+
27
+ The first production runtime path is:
28
+
29
+ ```html
30
+ <script src="/fabric/xtend-fabric.js"></script>
31
+ ```
32
+
33
+ In the browser, the facade `window.XTendFabric` is then available. In local Node gates, the same module can be loaded through CommonJS.
34
+
35
+ ## API
36
+
37
+ ```js
38
+ const fabric = window.XTendFabric.createXtendFabric();
39
+ ```
40
+
41
+ The instance provides:
42
+
43
+ | API | Purpose |
44
+ |-----|---------|
45
+ | `createBoundary(scope, options)` | reusable boundary for loader, component, router, API or RMT-near work |
46
+ | `createComponentLifecycleBoundary(componentRef, options)` | component-specific boundary for lifecycle, hydration and event-handler errors |
47
+ | `wrapComponent(componentClassOrInstance, options)` | prepared lifecycle wrapping for component errors |
48
+ | `runFiber(fiberInput, callback)` | executes UI work as a fiber and records result/error locally |
49
+ | `emitDiagnostic(event)` | normalizes, redacts and stores local diagnostics |
50
+ | `registerReporter(reporter)` | registers opt-in reporters |
51
+ | `createReporterAdapter(options)` | generic adapter surface for custom and enterprise reporters |
52
+ | `createConsoleReporter(options)` | local console reporter for development |
53
+ | `createTestReporter(options)` | memory reporter for tests and local gates |
54
+ | `createRuntimeDiagnosticsBridge(options)` | connects Fabric with `xstate`, XTend API compliance and XTendRMT diagnostics |
55
+ | `createComponentFiberInstrumentation(componentRef, options)` | instrument mount, hydration and preload as component fibers |
56
+ | `createRouteFiberInstrumentation(routerRef, options)` | instrument XRouter navigation and route render as route fibers |
57
+ | `createTelemetrySnapshot(options)` | aggregates fibers, diagnostics, performance runtime, runtime bridge and backpressure |
58
+ | `publishTelemetrySnapshot(snapshotOrOptions, options)` | exports a snapshot as redacted diagnostic to opt-in reporters |
59
+ | `createBackpressureSignal(signal, defaults)` | creates redacted backpressure hints for scheduler/host layers |
60
+ | `recordComponentTelemetry(record)` | stores `xtend.component.lifecycle-telemetry.v1` records for snapshot aggregation |
61
+ | `captureError(error, context)` | converts errors into `xtend.fabric.diagnostic.v1` |
62
+ | `connectRmtDiagnostics(source, options)` | consumes RMT adapter/bridge diagnostics without kernel import |
63
+
64
+ ## Contracts
65
+
66
+ Fabric exports these stable contract IDs:
67
+
68
+ - `xtend.fabric.api.v1`
69
+ - `xtend.fabric.diagnostic.v1`
70
+ - `xtend.fabric.reporter.v1`
71
+ - `xtend.fabric.redaction.v1`
72
+ - `xtend.fabric.fiber.v1`
73
+ - `xtend.fabric.lane.v1`
74
+ - `xtend.fabric.lifecycle-error-boundary.v1`
75
+ - `xtend.fabric.runtime-diagnostics-bridge.v1`
76
+ - `xtend.fabric.component-fiber-instrumentation.v1`
77
+ - `xtend.fabric.route-fiber-instrumentation.v1`
78
+ - `xtend.fabric.telemetry-snapshot.v1`
79
+ - `xtend.fabric.backpressure-signal.v1`
80
+ - `xtend.performance.measurement.v1`
81
+ - `xtend.component.lifecycle-telemetry.v1`
82
+ - `xtend.fabric.hydration-policy.v1`
83
+
84
+ The RMT lane mapping is maintained as a separate module under `fabric/rmt-lane-mapping.js` and carries `xtend.fabric.rmt-lane-mapping.v1`.
85
+
86
+ ## Diagnostics
87
+
88
+ Diagnostics are stored locally and published as the browser event `xtend-fabric-diagnostic` when a browser environment exists.
89
+
90
+ Minimum fields:
91
+
92
+ - `schema`
93
+ - `id`
94
+ - `timestamp`
95
+ - `level`
96
+ - `code`
97
+ - `message`
98
+ - `source`
99
+ - `phase`
100
+
101
+ Optional correlation:
102
+
103
+ - `componentRef`
104
+ - `component`
105
+ - `fiberId`
106
+ - `lane`
107
+ - `severity`
108
+ - `correlationId`
109
+ - `routeRef`
110
+ - `scheduleRef`
111
+
112
+ ## Component Lifecycle Error Boundary
113
+
114
+ Starting with `ER-WP-09`, Fabric has a production component lifecycle error boundary. It catches errors from `connectedCallback`, `attributeChangedCallback`, `render`, `hydrate`, `disconnectedCallback` and explicitly wrapped event handlers.
115
+
116
+ ```js
117
+ const boundary = fabric.createComponentLifecycleBoundary('x-alert', {
118
+ swallowErrors: true,
119
+ fallbackValue: undefined
120
+ });
121
+
122
+ boundary.runPhase('render', () => component.render());
123
+ const safeDismiss = boundary.wrapEventHandler(component.handleDismiss, {
124
+ eventName: 'dismiss'
125
+ });
126
+ ```
127
+
128
+ `wrapComponent` uses the same boundary:
129
+
130
+ ```js
131
+ const SafeAlert = fabric.wrapComponent(XAlert, {
132
+ componentRef: 'x-alert',
133
+ eventHandlers: ['handleDismiss']
134
+ });
135
+ ```
136
+
137
+ Lifecycle errors use the code `xtend.fabric.component.lifecycle.failed` and carry at least `component`, `componentRef`, `phase`, `fiberId`, `lane`, `severity` and `cause`. The mapping is stable:
138
+
139
+ | Phase | Fiber Kind | Lane |
140
+ |-------|------------|------|
141
+ | `connectedCallback` | `component.mount` | `visible` |
142
+ | `attributeChangedCallback` | `component.update` | `visible` |
143
+ | `render` | `component.render` | `visible` |
144
+ | `hydrate` | `component.hydrate` | `visible` |
145
+ | `disconnectedCallback` | `component.disconnect` | `background` |
146
+ | `eventHandler` | `event.handler` | `user-blocking` |
147
+
148
+ ## Reporters
149
+
150
+ The default is a `noop` reporter. Without `registerReporter`, there is no external transmission. Starting with `ER-WP-10`, there is an explicit reporter adapter contract for console, test and later enterprise reporters.
151
+
152
+ Reporters must have at least this shape:
153
+
154
+ ```js
155
+ {
156
+ id: 'test',
157
+ schema: 'xtend.fabric.reporter.v1',
158
+ kind: 'test',
159
+ delivery: 'memory',
160
+ external: false,
161
+ minimumLevel: 'warn',
162
+ capabilities: ['diagnostics'],
163
+ publish(event, context) {},
164
+ flush(reason) {},
165
+ dispose() {}
166
+ }
167
+ ```
168
+
169
+ Runtime factories:
170
+
171
+ | Factory | Purpose |
172
+ |---------|---------|
173
+ | `createNoopReporter()` | default without external output |
174
+ | `createReporterAdapter(options)` | vendor-neutral adapter for custom and enterprise reporters |
175
+ | `createConsoleReporter(options)` | local console output, opt-in |
176
+ | `createTestReporter(options)` | memory reporter for gates, opt-in |
177
+
178
+ ```js
179
+ const testReporter = window.XTendFabric.createTestReporter({
180
+ minimumLevel: 'warn'
181
+ });
182
+ const unregister = fabric.registerReporter(testReporter);
183
+ ```
184
+
185
+ ```js
186
+ const enterpriseReporter = window.XTendFabric.createReporterAdapter({
187
+ id: 'enterprise-probe',
188
+ kind: 'enterprise',
189
+ external: true,
190
+ minimumLevel: 'error',
191
+ capabilities: ['diagnostics', 'lifecycle-errors'],
192
+ sink(event, context) {
193
+ // Future enterprise transport hook.
194
+ }
195
+ });
196
+ ```
197
+
198
+ Reporters receive only redacted diagnostics. Sensitive fields such as `token`, `password`, `cookie`, `authorization`, `header`, `query` or `form` are removed. DOM nodes are not serialized. `minimumLevel`, `filter(event, context)` and `mapEvent(event, context)` can control delivery and target payload. `mapEvent` is redacted again after mapping. Errors in reporters create local diagnostics with `xtend.fabric.reporter.failed`.
199
+
200
+ ## Runtime Diagnostics Bridge
201
+
202
+ Starting with `ER-WP-11`, `createRuntimeDiagnosticsBridge(options)` connects Fabric with `xstate`, XTend API compliance and XTendRMT diagnostics. The bridge imports no RMT kernel. It consumes adapter data, bridge outputs and diagnostics hubs.
203
+
204
+ ```js
205
+ const runtimeBridge = fabric.createRuntimeDiagnosticsBridge({
206
+ xstate: window.xstate,
207
+ api: window.XTend
208
+ });
209
+
210
+ runtimeBridge.connectXState();
211
+ runtimeBridge.connectApi();
212
+ const diagnosticsHub = runtimeBridge.createRmtDiagnosticsHub();
213
+ ```
214
+
215
+ `connectXState` writes stable mirror keys:
216
+
217
+ | Key | Purpose |
218
+ |-----|---------|
219
+ | `xtend.fabric.bridge.ready` | bridge readiness with contract ID |
220
+ | `xtend.fabric.diagnostics.last` | latest redacted Fabric diagnostic |
221
+ | `xtend.fabric.diagnostics.snapshot` | local snapshot with diagnostic and fiber counters |
222
+
223
+ Stable bridge diagnostics:
224
+
225
+ | Code | Source |
226
+ |------|--------|
227
+ | `xtend.fabric.xstate.connected` | xstate is connected |
228
+ | `xtend.fabric.xstate.changed` | an external state key was changed |
229
+ | `xtend.fabric.api.connected` | XTend API compliance metadata was read |
230
+ | `xtend.fabric.rmt.connected` | RMT diagnostic source is connected |
231
+ | `xtend.rmt.bridge.adapter.result.degraded` | RMT adapter result was normalized into Fabric |
232
+
233
+ `connectRmtDiagnostics` accepts arrays, `source.diagnostics`, `source.listDiagnostics()`, `source.subscribe(fn)`, DOM events and the hub shape created by `createRmtDiagnosticsHub()`. All payloads are redacted before state or reporter output.
234
+
235
+ Details are in the contract [XTend-Fabric Runtime Diagnostics Bridge](../development/XTend-Fabric-Runtime-Diagnostics-Bridge.md).
236
+
237
+ ## Fiber
238
+
239
+ `runFiber` normalizes UI work into `xtend.fabric.fiber.v1`.
240
+
241
+ ```js
242
+ fabric.runFiber({
243
+ kind: 'component.hydrate',
244
+ scope: 'x-alert#primary',
245
+ componentRef: 'x-alert',
246
+ correlationId: 'route.alerts'
247
+ }, () => {
248
+ // UI work
249
+ });
250
+ ```
251
+
252
+ Fabric infers the lane from the fiber kind, for example `component.hydrate` -> `visible` and `route.navigate` -> `user-blocking`.
253
+
254
+ ## Component Fiber Instrumentation
255
+
256
+ Starting with `ER-WP-14`, hosts and adapters can explicitly execute component mount, hydration and loader preload as fibers:
257
+
258
+ ```js
259
+ const componentFibers = fabric.createComponentFiberInstrumentation('x-alert', {
260
+ scope: 'x-alert#primary',
261
+ routeRef: '/alerts',
262
+ correlationId: 'route.alerts'
263
+ });
264
+
265
+ componentFibers.mount(() => document.createElement('x-alert'));
266
+ await componentFibers.hydrate((fiber) => element.hydrate(model, { fiber }));
267
+ componentFibers.preload(() => import('/components/xalert.js'));
268
+ ```
269
+
270
+ Operation profiles:
271
+
272
+ | Operation | Fiber Kind | Default Lane | ScheduleRef | Endpoint Hint |
273
+ |-----------|------------|--------------|-------------|---------------|
274
+ | `mount` | `component.mount` | `visible` | `component.visible.mount` | `xtendrmt.component.mount` |
275
+ | `hydrate` | `component.hydrate` | `idle` | `component.idle.hydrate` | `xtendrmt.component.hydrate` |
276
+ | `preload` | `loader.module` | `visible` | `component.visible.mount` | `xtendrmt.component.mount` |
277
+
278
+ Every completed run creates an `xtend.fabric.fiber.v1` record with `durationMs`, `result`, `lane`, `scheduleRef`, `endpointNameHint` and `diagnostics`. Errors create `xtend.fabric.component.mount.failed`, `xtend.fabric.component.hydrate.failed` or `xtend.fabric.component.preload.failed` and are forwarded to opt-in reporters. Metadata is redacted before it lands in the fiber store.
279
+
280
+ Fabric imports no RMT kernel here. `scheduleRef` and `endpointNameHint` are only host/adapter hints for XTendRMT or other schedulers.
281
+
282
+ ## Route Fiber Instrumentation
283
+
284
+ Starting with `ER-WP-15`, hosts, app shells and XRouter adapters can explicitly execute navigation and route render as fibers:
285
+
286
+ ```js
287
+ const routeFibers = fabric.createRouteFiberInstrumentation('xtend.xrouter', {
288
+ scope: 'x-router#shell',
289
+ adapterRef: 'xtendrmt.xrouter',
290
+ hostRef: 'app-shell'
291
+ });
292
+
293
+ routeFibers.navigate(() => router.navigate('/settings'), {
294
+ from: '/',
295
+ to: '/settings',
296
+ routeId: 'settings'
297
+ });
298
+
299
+ await routeFibers.render((fiber) => router._renderRoute(match, outlet, { fiber }), {
300
+ routeRef: '/settings',
301
+ componentRef: 'x-settings'
302
+ });
303
+ ```
304
+
305
+ Operation profiles:
306
+
307
+ | Operation | Fiber Kind | Default Lane | ScheduleRef | Endpoint Hint |
308
+ |-----------|------------|--------------|-------------|---------------|
309
+ | `navigate` | `route.navigate` | `user-blocking` | `ui.user-blocking.input` | `xtendrmt.ui.user-blocking` |
310
+ | `render` | `route.render` | `transition` | `route.transition.render` | `xtendrmt.route.render` |
311
+
312
+ Route render can be scheduled visibly through overrides, for example with `lane: "visible"` and `scheduleRef: "route.visible.render"`. Errors create `xtend.fabric.route.navigate.failed` or `xtend.fabric.route.render.failed`. Metadata is redacted and can carry `routeId`, `from`, `to`, `params`, `query`, `componentRef`, `adapterRef`, `hostRef` and `backpressureSignal`.
313
+
314
+ The XRouter edge remains framework-neutral: `navigate(to, options)`, `_handleNavigation()`, `_renderRoute(match, container)` and the `router-navigate` signal are instrumentable boundaries. Fabric imports no RMT kernel; `scheduleRef` and `endpointNameHint` are only scheduler hints for XTendRMT or other hosts.
315
+
316
+ ## Telemetry Snapshots and Backpressure
317
+
318
+ Starting with `ER-WP-16`, `createTelemetrySnapshot(options)` summarizes local runtime data:
319
+
320
+ ```js
321
+ const snapshot = fabric.createTelemetrySnapshot({
322
+ runtimeBridge,
323
+ rmtBridge,
324
+ performance: window.performance,
325
+ correlationId: 'route.settings'
326
+ });
327
+
328
+ fabric.publishTelemetrySnapshot(snapshot);
329
+ ```
330
+
331
+ A snapshot carries `xtend.fabric.telemetry-snapshot.v1` and contains:
332
+
333
+ | Area | Content |
334
+ |------|---------|
335
+ | `totals` | fiber counters, errors, budget misses, average and maximum duration |
336
+ | `lanes` | aggregation per Fabric lane including `scheduleRefs` |
337
+ | `backpressure` | score, level, action, signals and lane grouping |
338
+ | `componentTelemetry` | component lifecycle records by operation, component and lane |
339
+ | `performance` | optional `mark`/`measure` entries, normalized measurements and `phaseSummary` |
340
+ | `runtime` | optional snapshot from `createRuntimeDiagnosticsBridge` |
341
+
342
+ Component lifecycle telemetry carries `xtend.component.lifecycle-telemetry.v1`. `recordComponentTelemetry(record)` stores records locally; `createTelemetrySnapshot({ componentTelemetry })` can alternatively normalize explicit records. Both paths cover `mount`, `hydrate`, `render`, `update`, `event`, `unmount` and `error`. The snapshot section `componentTelemetry` contains `recordCount`, `operations`, `components`, `lanes`, `statusCounts`, durations, diagnostics and the latest records.
343
+
344
+ Backpressure signals carry `xtend.fabric.backpressure-signal.v1`. Fabric creates them from fiber errors, deadline overruns, explicit `backpressureSignal` metadata, component lifecycle telemetry and optional snapshot inputs.
345
+
346
+ When `createTelemetrySnapshot({ rmtBridge })` receives an XTendRMT `createRmtStateSchedulerDiagnosticsBridge`, the snapshot is automatically mirrored to RMT through `recordTelemetrySnapshot`. This lands `snapshot.backpressure` and the scheduler action permanently in `rmt.backpressure.*`, without hosts having to build their own backpressure API.
347
+
348
+ | Level | Action |
349
+ |-------|--------|
350
+ | `none` | `continue` |
351
+ | `low` | `observe` |
352
+ | `medium` | `coalesce-idle-work` |
353
+ | `high` | `defer-background-work` |
354
+ | `critical` | `protect-user-blocking-work` |
355
+
356
+ `publishTelemetrySnapshot` creates the local diagnostic `xtend.fabric.telemetry.snapshot` on the `diagnostics` lane. Reporters remain opt-in; the default `noop` sends nothing externally.
357
+
358
+ Details are in the contract [XTend Telemetry Snapshot and Backpressure Contract](../development/XTend-Telemetry-Snapshot-und-Backpressure-Contract.md).
359
+
360
+ The component lifecycle connection is described in [XTend Component Lifecycle Telemetry Contract](../development/XTend-Component-Lifecycle-Telemetry-Contract.md). The local gate is:
361
+
362
+ ```bash
363
+ node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json
364
+ ```
365
+
366
+ ## Performance Measurements
367
+
368
+ Starting with `ER-WP-18`, Fabric automatically measures known fiber kinds through `performance.mark` and `performance.measure`.
369
+
370
+ | Fiber Kind | Measure | Phase |
371
+ |------------|---------|-------|
372
+ | `loader.module` | `xtend.loader.module` | `load` |
373
+ | `component.mount` | `xtend.component.mount` | `mount` |
374
+ | `component.hydrate` | `xtend.component.hydrate` | `hydrate` |
375
+ | `component.render` | `xtend.component.render` | `render` |
376
+ | `component.update` | `xtend.component.update` | `update` |
377
+ | `event.handler` | `xtend.event.handler` | `event` |
378
+ | `route.navigate` | `xtend.route.navigate` | `route` |
379
+ | `route.render` | `xtend.route.render` | `route` |
380
+ | `diagnostics.snapshot` | `xtend.diagnostics.snapshot` | `diagnostics` |
381
+
382
+ `createTelemetrySnapshot()` converts performance entries with prefix `xtend.` into `xtend.performance.measurement.v1` records. The snapshot section `performance.phaseSummary` aggregates `load`, `hydrate`, `render` and `route`, among others.
383
+
384
+ ```js
385
+ const snapshot = fabric.createTelemetrySnapshot({
386
+ performance: window.performance
387
+ });
388
+
389
+ console.log(snapshot.performance.measurements);
390
+ console.log(snapshot.performance.phaseSummary.hydrate);
391
+ ```
392
+
393
+ Details are in [Performance Measurements](./performance-measurements.md) and in the contract [XTend Performance Measurement Points and Snapshots](../development/XTend-Performance-Messpunkte-und-Snapshots.md).
394
+
395
+ Since `ER-WP-19`, [Performance Regression](./performance-regression.md) evaluates these measurements against local deterministic baselines as `xtend.performance.regression-report.v1`.
396
+
397
+ ## Hydration Policies
398
+
399
+ Starting with `ER-WP-20`, `fabric/hydration-policy.js` decides whether component hydration is scheduled visible, idle or lazy:
400
+
401
+ | Policy | Lane | ScheduleRef |
402
+ |--------|------|-------------|
403
+ | `visible` | `visible` | `component.visible.hydrate` |
404
+ | `idle` | `idle` | `component.idle.hydrate` |
405
+ | `lazy` | `idle` | `component.lazy.hydrate` |
406
+
407
+ Non-visible hydration must not use the `user-blocking` lane. RMT receives only schedule records; XTend execution remains in Fabric or host adapters. Details are in [Hydration Policies](./hydration-policies.md).
408
+
409
+ ## RMT Boundary
410
+
411
+ `connectRmtDiagnostics` accepts RMT-near adapter and bridge outputs, but imports no RMT kernel and parses no `.rmt` documents.
412
+
413
+ Allowed:
414
+
415
+ - adapter results
416
+ - bridge diagnostics
417
+ - schedule endpoint signals
418
+ - diagnostics snapshots
419
+
420
+ Not allowed:
421
+
422
+ - import the XTendRMT kernel
423
+ - rewrite RMT scheduler policies in Fabric
424
+ - establish XTend as a required host in RMT
425
+
426
+ ## RMT Lane Mapping
427
+
428
+ Starting with `ER-WP-13`, `fabric/rmt-lane-mapping.js` maps Fabric lanes to RMT schedule records. The RMT kernel remains framework-agnostic: it sees schedule policies and endpoint names, but no XTend component logic.
429
+
430
+ Short form:
431
+
432
+ | Fabric Lane | RMT Schedule Lane |
433
+ |-------------|-------------------|
434
+ | `user-blocking` | `user-blocking` |
435
+ | `a11y` | `user-blocking` |
436
+ | `visible` | `visible` |
437
+ | `transition` | `transition` |
438
+ | `idle` | `idle` |
439
+ | `background` | `background` |
440
+ | `diagnostics` | `diagnostics` |
441
+
442
+ Details, examples and gates are in [XTend-Fabric RMT Lane Mapping](./xtend-fabric-rmt-lane-mapping.md).
443
+
444
+ ## Gates
445
+
446
+ ```bash
447
+ node scripts/run_xtend_tests.js fabric --json
448
+ node scripts/run_xtend_tests.js fabric-lane-mapping --json
449
+ node scripts/run_xtend_tests.js fabric-lifecycle-boundary --json
450
+ node scripts/run_xtend_tests.js fabric-reporters --json
451
+ node scripts/run_xtend_tests.js fabric-runtime-bridge --json
452
+ node scripts/run_xtend_tests.js fabric-component-fibers --json
453
+ node scripts/run_xtend_tests.js fabric-route-fibers --json
454
+ node scripts/run_xtend_tests.js fabric-telemetry-snapshot --json
455
+ node scripts/run_xtend_tests.js fabric-performance-measurements --json
456
+ node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json
457
+ node scripts/run_xtend_tests.js performance-regression --json
458
+ node scripts/run_xtend_tests.js hydration-policy --json
459
+ npm run test:fabric
460
+ npm run test:fabric-lanes
461
+ npm run test:fabric-lifecycle
462
+ npm run test:fabric-reporters
463
+ npm run test:fabric-runtime-bridge
464
+ npm run test:fabric-component-fibers
465
+ npm run test:fabric-route-fibers
466
+ npm run test:fabric-telemetry
467
+ npm run test:fabric-performance
468
+ npm run test:performance
469
+ npm run test:hydration-policy
470
+ node scripts/run_xtend_tests.js references --json
471
+ npm test
472
+ ```
473
+
474
+ `ER-WP-19` is complete. Loader, hydration, render and route measurement points now hang in the performance runtime, in Fabric telemetry snapshots and in the local performance regression gate.
@@ -0,0 +1,58 @@
1
+ # XTend Loader Types
2
+
3
+ - Contract: `xtend.type-exports.loader-declarations.v1`
4
+ - Workpackage: `WP-TypeExports-02`
5
+ - Gate: `node scripts/run_xtend_tests.js type-exports-loader --json`
6
+ - Report: `.xtend-test-results/xtend-type-exports-loader-report.json`
7
+ - Declarations: `xtend-loader.d.ts`, `xtend-dev.d.ts`
8
+
9
+ ## Purpose
10
+
11
+ `xtend-loader.d.ts` describes the official loader surface for app shells, dynamic hydration and framework-native skeleton/style helpers. The runtime remains `xtend-loader.js`; the declaration adds no new runtime dependency.
12
+
13
+ ## Global APIs
14
+
15
+ | Global | Type |
16
+ | --- | --- |
17
+ | `window.XTendLoader` | `XTendLoaderApi` |
18
+ | `window.XTendStyleRegistry` | `XTendStyleRegistryApi` |
19
+ | `window.XTendSkeletonLoader` | `XTendSkeletonLoaderApi` |
20
+ | `window.__XTendLoaderBootPromise` | `Promise<XTendLoaderBootResult>` |
21
+
22
+ ## Important Methods
23
+
24
+ | API | Methods |
25
+ | --- | --- |
26
+ | `XTendLoaderApi` | `ensureComponent`, `hydrateTree`, `showSkeleton`, `hideSkeleton`, `ensureRuntimeStyles`, `defineComponentStyle`, `adoptStyle`, `initiateXTend` |
27
+ | `XTendStyleRegistryApi` | `ensureRuntimeStyles`, `ensureDocumentStyle`, `defineComponentStyle`, `adopt`, `adoptStyle`, `get`, `getThemeStylesheetState`, `list` |
28
+ | `XTendSkeletonLoaderApi` | `create`, `show`, `hide` |
29
+
30
+ ## Events
31
+
32
+ `WindowEventMap` contains typed loader events:
33
+
34
+ - `xtend-loader-diagnostic` with `XTendLoaderDiagnosticDetail`
35
+ - `xtend-loader-performance` with `XTendLoaderPerformanceDetail`
36
+ - `xtend-loader-tree-hydrated` with `XTendHydrateTreeDetail`
37
+
38
+ ## Package Exports
39
+
40
+ As of this run, the package exports `.`, `./loader` and `./legacy-loader` have `types` conditions:
41
+
42
+ | Export | Types |
43
+ | --- | --- |
44
+ | `.` | `./xtend-loader.d.ts` |
45
+ | `./loader` | `./xtend-loader.d.ts` |
46
+ | `./legacy-loader` | `./xtend-dev.d.ts` |
47
+
48
+ `xtend.css` remains an optional theme artifact. In short: xtend.css remains optional. Loader types describe `xtend.css` only as an optionally recognized default stylesheet file and do not depend on an external CSS file.
49
+
50
+ ## Drift Gate
51
+
52
+ The gate `type-exports-loader` checks:
53
+
54
+ - declaration files exist and are included in the package
55
+ - package `types` conditions point to the loader declarations
56
+ - runtime methods in `XTendLoader`, `XTendStyleRegistry` and `XTendSkeletonLoader` are visible in the declarations
57
+ - loader events are typed in `WindowEventMap`
58
+ - `xtend-loader.js` imports no `.d.ts` file and the boot path remains unchanged