@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,106 @@
1
+ # Performance Measurements
2
+
3
+ Starting with `ER-WP-18`, XTend measures loader, hydration, render and route core paths locally.
4
+
5
+ The stable measurement contract is:
6
+
7
+ ```text
8
+ xtend.performance.measurement.v1
9
+ ```
10
+
11
+ ## Measurement Points
12
+
13
+ | Measure | Phase | Source |
14
+ |---------|-------|--------|
15
+ | `xtend.loader.manifest` | `load` | `xtend-loader.js` |
16
+ | `xtend.loader.module` | `load` | `xtend-loader.js`, Fabric Fibers |
17
+ | `xtend.component.define` | `define` | `xtend-loader.js` |
18
+ | `xtend.component.mount` | `mount` | Fabric Fibers |
19
+ | `xtend.component.hydrate` | `hydrate` | Fabric Fibers |
20
+ | `xtend.component.render` | `render` | Fabric Fibers |
21
+ | `xtend.component.update` | `update` | Fabric Fibers |
22
+ | `xtend.event.handler` | `event` | Fabric Fibers |
23
+ | `xtend.route.navigate` | `route` | Fabric Fibers |
24
+ | `xtend.route.render` | `route` | Fabric Fibers |
25
+ | `xtend.diagnostics.snapshot` | `diagnostics` | Fabric Fibers |
26
+
27
+ ## Loader
28
+
29
+ The loader sets `performance.mark` and `performance.measure` for:
30
+
31
+ - loading and resolving the manifest
32
+ - loading the ESM module
33
+ - waiting for the Custom Element definition
34
+
35
+ It also emits a local browser event:
36
+
37
+ ```js
38
+ window.addEventListener('xtend-loader-performance', (event) => {
39
+ console.log(event.detail.name, event.detail.durationMs);
40
+ });
41
+ ```
42
+
43
+ The automatic boot promise contains the loader measurements:
44
+
45
+ ```js
46
+ const boot = await window.__XTendLoaderBootPromise;
47
+ console.log(boot.performanceMeasurements);
48
+ ```
49
+
50
+ ## Fabric
51
+
52
+ Fabric automatically measures known fibers:
53
+
54
+ ```js
55
+ const fabric = window.XTendFabric.createXtendFabric({
56
+ performance: window.performance
57
+ });
58
+
59
+ const component = fabric.createComponentFiberInstrumentation('x-alert');
60
+ await component.hydrate(() => hydrateAlert());
61
+ ```
62
+
63
+ Measurement can be disabled for special tests:
64
+
65
+ ```js
66
+ const fabric = window.XTendFabric.createXtendFabric({
67
+ markPerformance: false
68
+ });
69
+ ```
70
+
71
+ ## Telemetry Snapshot
72
+
73
+ `createTelemetrySnapshot()` reads `mark` and `measure` entries with the `xtend.` prefix and normalizes them:
74
+
75
+ ```js
76
+ const snapshot = fabric.createTelemetrySnapshot({
77
+ performance: window.performance
78
+ });
79
+
80
+ console.log(snapshot.performance.measurements);
81
+ console.log(snapshot.performance.phaseSummary.hydrate);
82
+ ```
83
+
84
+ The snapshot section contains:
85
+
86
+ - `measurementSchema`
87
+ - `measurementCount`
88
+ - `measurements`
89
+ - `phaseSummary`
90
+ - `entries`
91
+ - `totalDurationMs`
92
+ - `maxDurationMs`
93
+
94
+ ## Gates
95
+
96
+ ```bash
97
+ node scripts/run_xtend_tests.js fabric-performance-measurements --json
98
+ npm run test:fabric-performance
99
+ ```
100
+
101
+ Since `ER-WP-19`, [Performance Regression](./performance-regression.md) uses the same measurements for local deterministic baselines:
102
+
103
+ ```bash
104
+ node scripts/run_xtend_tests.js performance-regression --json
105
+ npm run test:performance
106
+ ```
@@ -0,0 +1,89 @@
1
+ # Performance Regression
2
+
3
+ - Docs contract: `xtend.docs.performance-regression.v1`
4
+ - Gate contract: `xtend.performance.regression-gate.v1`
5
+ - Baseline contract: `xtend.performance.regression-baseline.v1`
6
+ - Report schema: `xtend.performance.regression-report.v1`
7
+ - Since: `ER-WP-19`
8
+
9
+ XTend already measures loader, hydration, render and route work as `xtend.performance.measurement.v1`. The Performance Regression Gate evaluates these measurements against local baselines.
10
+
11
+ ## Local Gate
12
+
13
+ ```bash
14
+ node scripts/run_xtend_tests.js performance-regression
15
+ npm run test:performance
16
+ node scripts/run_xtend_tests.js performance-regression --json
17
+ ```
18
+
19
+ The suite uses:
20
+
21
+ - `tests/performance/performance_regression_suite.js`
22
+ - `tests/performance/baselines/local-performance-baseline.json`
23
+ - Fabric `createTelemetrySnapshot`
24
+ - budget values from `fabric/xtend-fabric.js` and `development/XTend-Performance-Budget-Matrix.md`
25
+
26
+ ## Status Model
27
+
28
+ | Status | Condition | Effect |
29
+ |--------|-----------|--------|
30
+ | `pass` | `durationMs <= budgetMs` | no action |
31
+ | `warn` | `durationMs <= budgetMs * 1.5` | visible in report |
32
+ | `fail` | `durationMs > budgetMs * 1.5` | suite fails |
33
+
34
+ Warnings are calibration signals. Hard `fail` entries are regressions and appear in the runner report under `failures`. Since `WP-E13-06`, the local RC1 baseline must report `warnCount === 0`; the earlier hydration warning is closed without owner dependency through [Hydration Performance Closure](./hydration-performance-closure.md).
35
+
36
+ ## Baseline
37
+
38
+ The first baseline is intentionally deterministic and local:
39
+
40
+ ```text
41
+ tests/performance/baselines/local-performance-baseline.json
42
+ ```
43
+
44
+ It covers at least these measurement points:
45
+
46
+ - `xtend.loader.manifest`
47
+ - `xtend.loader.module`
48
+ - `xtend.component.define`
49
+ - `xtend.component.mount`
50
+ - `xtend.component.hydrate`
51
+ - `xtend.component.render`
52
+ - `xtend.component.update`
53
+ - `xtend.event.handler`
54
+ - `xtend.route.navigate`
55
+ - `xtend.route.render`
56
+ - `xtend.diagnostics.snapshot`
57
+
58
+ ## JSON Report
59
+
60
+ The embedded regression report uses:
61
+
62
+ ```text
63
+ xtend.performance.regression-report.v1
64
+ ```
65
+
66
+ Important fields:
67
+
68
+ - `measurementSchema`
69
+ - `measurementCount`
70
+ - `passCount`
71
+ - `warnCount`
72
+ - `failCount`
73
+ - `warnings`
74
+ - `failures`
75
+ - `phaseSummary`
76
+
77
+ `phaseSummary` makes visible which phase creates budget pressure without requiring every component to have its own browser test.
78
+
79
+ ## Relationship to Measurements
80
+
81
+ The regression gate builds on [Performance Measurements](./performance-measurements.md). It does not introduce a second measurement logic, but uses Fabric telemetry snapshots as the source.
82
+
83
+ ## RC1 Closure
84
+
85
+ `WP-E13-06` calibrated `xtend.component.hydrate` from `36ms / 32ms` to `31ms / 32ms` without raising the budget. The failure fixture remains active and continues to prove that real budget violations fail hard.
86
+
87
+ ## Handoff
88
+
89
+ `ER-WP-20` uses these reports for lazy/idle/visible hydration policies. `ER-WP-21` derived the practical rules for component authors in [Performance for component authors](./performance.md).
@@ -0,0 +1,132 @@
1
+ # Performance for Component Authors
2
+
3
+ - Docs Contract: `xtend.docs.performance-authoring.v1`
4
+ - Scaffold Policy: `xtend.scaffold.performance-policy.v1`
5
+ - Component Profile Contract: `xtend.performance.component-profile.v1`
6
+ - Budget Matrix: `xtend.performance.budget-matrix.v1`
7
+ - Measurement Contract: `xtend.performance.measurement.v1`
8
+ - Regression Gate: `xtend.performance.regression-gate.v1`
9
+ - Hydration Policy: `xtend.fabric.hydration-policy.v1`
10
+ - Since: `ER-WP-21`
11
+
12
+ This document turns the performance budget matrix into concrete authoring
13
+ rules. New components should not be optimized only after the fact; their
14
+ performance profile should already be visible in the scaffold, component docs,
15
+ Fabric measurements, and the local regression gate.
16
+
17
+ ## Performance Profile
18
+
19
+ Every new scaffolded component receives `xtendScaffoldPerformanceProfile` in
20
+ source, `performanceProfile` in the manifest patch plan, and the docs sections
21
+ `Performance Profile` and `Performance Rules`. These artifacts all reference
22
+ the same policy: `xtend.scaffold.performance-policy.v1`.
23
+
24
+ | Profile | Lane | Budget Class | Hydration | Critical Phases |
25
+ |--------|------|--------------|-----------|------------------|
26
+ | `display` | `visible` | `interactive` | `visible` | load, mount, hydrate, render, update |
27
+ | `interactive` | `user-blocking` | `critical` | `visible` | hydrate, render, update, event |
28
+ | `overlay` | `user-blocking` | `critical` | `visible` | mount, hydrate, render, event |
29
+ | `routing` | `transition` | `interactive` | `visible` | route navigate, route render, hydrate, event |
30
+ | `form` | `user-blocking` | `critical` | `visible` | hydrate, update, event |
31
+ | `media` | `visible` | `interactive` | `visible-or-idle` | mount, hydrate, render, event |
32
+ | `stateful` | `user-blocking` | `critical` | `visible` | update, event, state sync |
33
+ | `feedback` | `a11y` | `critical` | `visible` | render, update, event, announcement |
34
+ | `theme` | `visible` | `interactive` | `visible` | render, update, theme apply |
35
+
36
+ Components with multiple profiles use the strictest budget class and the
37
+ highest-priority lane. `feedback` may use a dedicated `a11y` fiber; `media` may
38
+ move non-visible work to `idle`.
39
+
40
+ ## DOM Rules
41
+
42
+ - DOM queries must be limited to `this.shadowRoot`, the host, or a known
43
+ container.
44
+ - `document.querySelectorAll` and global DOM loops need a justified exception
45
+ and a budget.
46
+ - Static references may be cached; dynamic node lists must not grow without
47
+ control.
48
+ - Repeated full renders are acceptable only for small, static components.
49
+ Larger components must update targeted subtrees.
50
+ - `MutationObserver`, `ResizeObserver`, timers, and subscriptions must be
51
+ cleaned up in `disconnectedCallback`.
52
+
53
+ ## Event Rules
54
+
55
+ - `interactive`, `overlay`, and `form` treat user events as `critical`; the
56
+ synchronous handler target is 16 ms.
57
+ - Handlers must not perform synchronous network, storage, or large DOM-scan
58
+ work.
59
+ - High-frequency events such as `input`, `scroll`, `pointermove`, and `resize`
60
+ must be throttled, batched, or moved onto `requestAnimationFrame`.
61
+ - Event data should be moved into canonical state or local render caches;
62
+ derived DOM work is then batched afterwards.
63
+
64
+ ## Shadow DOM
65
+
66
+ - Styles should stay static. Re-inserting identical `<style>` blocks on the
67
+ update path is a review signal.
68
+ - Use CSS custom properties and parts where possible so theme work does not
69
+ require JavaScript layout loops.
70
+ - `slotchange` must be budgeted and must not trigger unbounded DOM scans.
71
+ - Shadow DOM updates should replace small subtrees instead of rewriting the
72
+ entire UI for every state change.
73
+
74
+ ## Layout and Animation
75
+
76
+ - Layout reads happen before layout writes. Mixed read/write loops in the same
77
+ synchronous phase are forbidden.
78
+ - Animations should prefer `transform` and `opacity` and respect
79
+ `prefers-reduced-motion`.
80
+ - Measurable visible work must be correlatable through `componentRef`,
81
+ `fiberId`, `lane`, `phase`, and `durationMs`.
82
+ - Non-visible work uses `idle`, `background`, or `diagnostics`; it must not
83
+ claim a `user-blocking` lane.
84
+
85
+ ## Hydration
86
+
87
+ `visible` is the default for visible UI. `idle` is suitable for work that is
88
+ not needed immediately but is expected soon. `lazy` is reserved for work that
89
+ activates only on demand or when it becomes visible. Non-visible hydration must
90
+ not be scheduled as `user-blocking`.
91
+
92
+ The operational policy is described in
93
+ [Hydration Policies](./hydration-policies.md). Measurement points and gate
94
+ evaluation are described in [Performance Measurements](./performance-measurements.md)
95
+ and [Performance Regression](./performance-regression.md).
96
+
97
+ ## Scaffold Requirements
98
+
99
+ New scaffold outputs must expose this data:
100
+
101
+ - `performanceProfile`
102
+ - `budgetClass`
103
+ - `lane`
104
+ - `hydrationPolicy`
105
+ - `criticalMeasurements`
106
+ - `idleOrBackgroundAllowed`
107
+ - `requiresA11yFiber`
108
+
109
+ The policy is stored in `xtend-builder/scaffold.config.js` under
110
+ `performance`. The generator mirrors it into
111
+ `xtend-builder/performance/component-performance-profile.js`, the component
112
+ templates, and the manifest patch plan.
113
+
114
+ ## Gates
115
+
116
+ ```bash
117
+ node scripts/run_xtend_tests.js fabric-performance-measurements --json
118
+ node scripts/run_xtend_tests.js performance-regression --json
119
+ node scripts/run_xtend_tests.js hydration-policy --json
120
+ node scripts/run_xtend_tests.js references --json
121
+ ```
122
+
123
+ `performance-regression` may produce local warnings when a deterministic
124
+ fixture path exceeds its budget. Hard failures remain reserved for prioritized
125
+ core paths and documented budget violations.
126
+
127
+ ## Handoff
128
+
129
+ `ER-WP-25` is complete and connects screen reader signals with performance
130
+ fibers and the `a11y` lane. `ER-WP-26` is complete as well: reduced-motion and
131
+ high-contrast rules use the same profile, lane, and gate language through
132
+ `xtend.a11y.motion-contrast-policy.v1`.
@@ -0,0 +1,17 @@
1
+ # XTend Scaffold Previews
2
+
3
+ - Status: scaffold preview convention
4
+ - Reference gate: `node scripts/run_xtend_tests.js references`
5
+ - Generator: `node xtend-builder/scaffold.js preview --tag x-example --profile display --feature state --json`
6
+
7
+ ## Purpose
8
+
9
+ This directory is reserved for scaffolded component preview plans. A preview plan is a local Markdown reference that connects generated component source, docs, fixture, types and manifest patch output to the documentation and demo reference registry.
10
+
11
+ ## Minimum Contract
12
+
13
+ - Preview paths follow `docs/previews/<name>.preview.md`.
14
+ - Preview plans must be listed in `development/XTend-Dokumentations-und-Demo-Referenzpfade.md` before they become automated references.
15
+ - Preview plans must use repo-local component, fixture and manifest paths.
16
+ - External network dependencies are not allowed for automated scaffold previews.
17
+ - Productive preview writes remain review-first until a later package introduces a write mode.
@@ -0,0 +1,40 @@
1
+ # PROD Browser CSP Smokes
2
+
3
+ - Contract: `xtend.epic13.prod-browser-csp-smoke.v1`
4
+ - Fixture contract: `xtend.epic13.prod-browser-csp-smoke-fixture.v1`
5
+ - Report: `xtend.epic13.prod-browser-csp-smoke-report.v1`
6
+ - Workpackage: `WP-E13-07`
7
+ - Local gate: `node scripts/run_xtend_tests.js epic13-prod-browser-csp-smoke --json`
8
+ - Dev server: `npm run dev:local:csp`
9
+ - Fixture: `tests/browser/fixtures/epic13-prod-csp-smoke.html`
10
+ - Publish boundary: `private-until-release-owner-acceptance`
11
+
12
+ ## Purpose
13
+
14
+ The PROD browser CSP smoke checks the XTend loader under a production-like Content Security Policy without using external networks or CDN fallbacks.
15
+
16
+ The fixture uses:
17
+
18
+ - a `nonce` for all inline and loader scripts
19
+ - a same-origin manifest at `/tests/browser/fixtures/components/manifest.json`
20
+ - the root-local loader `/xtend-loader.js`
21
+ - no `importmap`
22
+ - no `https://cdn.ccs-networks.de/xtend` reference
23
+ - XState and XRouter as the minimal hydration line
24
+
25
+ ## Local Usage
26
+
27
+ ```bash
28
+ npm run test:epic13-prod-browser-csp-smoke
29
+ npm run dev:local:csp
30
+ ```
31
+
32
+ The local server adds a `content-security-policy` header in addition to the fixture CSP meta tag. This allows the HTML file to be checked both statically and close to a server environment.
33
+
34
+ ## Boundaries
35
+
36
+ This smoke is a production-close boot and policy preparation. The Trusted DOM check for Parsedown, RMT HTML fragments and untrusted content has lived under [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) and `xtend.epic13.trusted-dom-boundary.v1` since `WP-E13-11`.
37
+
38
+ ## Handoff
39
+
40
+ `WP-E13-07` is complete. `WP-E13-08` normalized [Visual Owner Artifacts](./visual-owner-artifacts.md). `WP-E13-09` is ready and next bundles the RMT-first app production readiness.
@@ -0,0 +1,79 @@
1
+ # Public Component Types
2
+
3
+ - Contract: `xtend.docs.public-component-types.v1`
4
+ - Type contract: `xtend.enterprise.er-wp-34.public-component-types.v1`
5
+ - Workpackage: `ER-WP-34`
6
+
7
+ XTend ships local TypeScript declaration artifacts next to the respective runtime source for prioritized public components. The files live directly in `components/*.d.ts` and become reachable through the package export `xtend/components/*`.
8
+
9
+ ## Local Contract
10
+
11
+ ```text
12
+ components/xtend-public-types.d.ts
13
+ components/xalert.d.ts
14
+ components/xtoast.d.ts
15
+ components/xmodal.d.ts
16
+ components/xrouter.d.ts
17
+ components/xlink.d.ts
18
+ components/xinput.d.ts
19
+ components/xselect.d.ts
20
+ components/xcheckbox.d.ts
21
+ components/xradio.d.ts
22
+ components/xtextarea.d.ts
23
+ components/xstatus.d.ts
24
+ components/xprogress.d.ts
25
+ components/xtooltip.d.ts
26
+ components/xpopover.d.ts
27
+ components/xdrawer.d.ts
28
+ components/xform.d.ts
29
+ components/xtabs.d.ts
30
+ components/xdialog.d.ts
31
+ components/xlightbox.d.ts
32
+ components/xcalendar.d.ts
33
+ components/xwriter.d.ts
34
+ components/xtheme.d.ts
35
+ components/xbutton.d.ts
36
+ components/xspinner.d.ts
37
+ components/xmenu.d.ts
38
+ components/xsummary.d.ts
39
+ components/xplayer.d.ts
40
+ components/xsection.d.ts
41
+ components/xcards.d.ts
42
+ components/xheader.d.ts
43
+ components/xfooter.d.ts
44
+ components/xhero.d.ts
45
+ components/xtype.d.ts
46
+ components/xcode.d.ts
47
+ components/xmasonry.d.ts
48
+ components/xstate.d.ts
49
+ components/xutils.d.ts
50
+ ```
51
+
52
+ Each component file describes:
53
+
54
+ - public attribute names
55
+ - public property and method surfaces
56
+ - event names
57
+ - `CustomEvent` detail payloads
58
+ - `HTMLElementTagNameMap` for custom elements
59
+ - typed `addEventListener` overloads for component-specific events
60
+
61
+ `x-theme` is not a custom element, but a core module. Its types therefore describe `window.XTend.theme`, `window.XTheme`, a11y preference snapshots, motion/contrast policy, density, theme context, performance snapshot, RMT metadata and the document events `theme-initialized`, `theme-changed`, `theme-variable-changed`, `theme-preference-changed`, `theme-a11y-announcement`, `theme-density-changed`, `theme-context-changed` and `theme-performance-measured`.
62
+
63
+ ## Gate
64
+
65
+ ```bash
66
+ node scripts/run_xtend_tests.js components
67
+ ```
68
+
69
+ As of `ER-WP-34`, the component suite contains the subgate `component-public-types`. After `RC1TB-WP-03`, it checks the shared type helpers, all 44 prioritized `.d.ts` files, event names, detail types, API methods and element/window mappings.
70
+
71
+ As of `WP-TypeExports-09`, the component wildcard export is also covered in the productive TypeExports handoff. `./components/*` remains an adjacent-declaration boundary: consumers receive `components/*.d.ts` through neighboring files, while `node scripts/run_xtend_tests.js type-exports --json` prevents new public component exports from entering the package surface without a type decision.
72
+
73
+ ## Coverage Status
74
+
75
+ After `RC1TB-WP-03`, `types` in the Component Catalog Coverage Matrix are at `44/44`. `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-portal`, `x-surface-region`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` and `x-player` are the current `enterprise-ready` reference line with public types, component suite, fixture, a11y and performance profile. `xstate` has public types for boundary contract, RMT state adapter, lifecycle events and diagnostics. `x-utils` has public types for utility contract, import policy, boundary snapshot, UI effects, template API and the events `xutils:import-policy-check` and `xutils:ui-effects-change`.
76
+
77
+ After `WP-E12-09`, no type gap remains. Since `WP-E13-05`, the earlier boundary residuals are also closed: `xstate` is `closed-as-runtime-boundary`, `x-utils` is `closed-as-utility-boundary`. Both remain public type boundaries, but no open type or performance tasks.
78
+
79
+ The previous vendor boundaries `components/prism.js` and `components/turndown.js` have narrow facade declarations as of `WP-TypeExports-08`. They are not public XTend UI components, but are checked by the TypeExports release gate against unintended declaration drift.
@@ -0,0 +1,189 @@
1
+ # Quick Start Guide
2
+
3
+ This guide takes you from a local XTend page to a small RMT vNext app shell. The fastest first step is still HTML with Web Components; the recommended growth path for apps is RMT-first.
4
+
5
+ ## Requirements
6
+
7
+ - Node.js 18 or newer
8
+ - a local checkout of the XTend repository
9
+ - a browser with Custom Elements and ES Module support
10
+
11
+ Start the local dev server:
12
+
13
+ ```bash
14
+ npm run dev:local
15
+ ```
16
+
17
+ The server usually serves the app at `http://127.0.0.1:4173/`.
18
+
19
+ ## 1. Start a Minimal Host
20
+
21
+ Create an HTML file in the project, for example `quick-start.html`:
22
+
23
+ ```html
24
+ <!doctype html>
25
+ <html lang="en">
26
+ <head>
27
+ <meta charset="utf-8">
28
+ <meta name="viewport" content="width=device-width,initial-scale=1">
29
+ <meta name="xtend-preload" content="x-theme,x-section,x-button">
30
+ <title>XTend Quick Start</title>
31
+ <script
32
+ type="module"
33
+ src="/xtend-loader.js"
34
+ data-manifest="/components/manifest.json">
35
+ </script>
36
+ </head>
37
+ <body>
38
+ <main>
39
+ <x-section layout="column" label="Quick Start">
40
+ <h1>Hello XTend</h1>
41
+ <p>This app runs with local Web Components.</p>
42
+ <x-button variant="primary">Get started</x-button>
43
+ </x-section>
44
+ </main>
45
+ </body>
46
+ </html>
47
+ ```
48
+
49
+ Then open `http://127.0.0.1:4173/quick-start.html`.
50
+
51
+ What happens here?
52
+
53
+ - `xtend-loader.js` is the local loader.
54
+ - `components/manifest.json` is the component registry.
55
+ - `meta name="xtend-preload"` loads critical modules early.
56
+ - `x-theme` is an infrastructure module; `x-section` and `x-button` are
57
+ normal XTend Web Components.
58
+ - `/xtend.css` is optional host theming.
59
+
60
+ ## 2. Describe the App Shell in RMT vNext
61
+
62
+ When the page becomes an app, the shell should live in RMT. RMT vNext describes UI structure, state, actions, events, surfaces, and scheduling in a readable `.rmt` source.
63
+
64
+ ```rmt
65
+ template quickstart.app {
66
+ state counter type number initial 0
67
+
68
+ selector counterLabel from state counter {
69
+ output text
70
+ }
71
+
72
+ action increment {
73
+ input amount number
74
+ reduce state.counter = input.amount
75
+ emit counter.changed with action increment
76
+ }
77
+
78
+ portal app root "#app-root" layer surface
79
+
80
+ surface home kind page component x-section {
81
+ source state counter
82
+ portal app
83
+ key route.path
84
+
85
+ lane visible weight 80 {
86
+ hydrate x-section from state counter
87
+ }
88
+
89
+ on click target button.primary -> action increment {
90
+ payload amount from 1
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ This document is the app description. The compiler turns it into Core and kernel records that host adapters can connect to XTend Components, XRouter, and Fabric.
97
+
98
+ ## 3. Materialize XTend UI from RMT
99
+
100
+ Runtime hosts connect RMT descriptors with the existing XTend components from
101
+ the manifest through the Component Capability Registry. Component Contracts,
102
+ events, slots, parts, and state bindings stay the shared source of truth:
103
+
104
+ ```js
105
+ import {
106
+ createRmtComponentCapabilityRegistry
107
+ } from '@ccslabs/xtend/rmt/component-capability-registry';
108
+ import {
109
+ createRmtDomDescriptorRenderer
110
+ } from '@ccslabs/xtend/rmt/dom-descriptor-renderer';
111
+
112
+ const registry = createRmtComponentCapabilityRegistry({ manifest, sourceTexts });
113
+ const renderer = createRmtDomDescriptorRenderer({ documentTarget: document });
114
+
115
+ renderer.renderKeyed(root, [
116
+ registry.buildComponentDescriptor({
117
+ tag: 'x-button',
118
+ key: 'primary-action',
119
+ attributes: { variant: 'primary' },
120
+ slots: { default: { text: 'Get started' } },
121
+ events: { click: 'quickstart.increment' }
122
+ })
123
+ ], {
124
+ componentRegistry: registry,
125
+ dispatchEvent: actions.dispatch,
126
+ stateBridge
127
+ });
128
+ ```
129
+
130
+ That lets RMT primitives use XTend UI without Shadow-DOM patches,
131
+ component-specific renderers, or manual HTML sinks.
132
+
133
+ ## 4. Server-Prerender with Node
134
+
135
+ Node hosts can use the same RMT description for SSR and incremental JSONL. The
136
+ adapter stays framework-neutral and does not start its own HTTP server:
137
+
138
+ ```js
139
+ import {
140
+ createRmtNodeSsrAdapter
141
+ } from '@ccslabs/xtend/rmt/node-ssr-adapter';
142
+
143
+ const adapter = createRmtNodeSsrAdapter({ manifest, sourceTexts });
144
+ const result = await adapter.render({ source, filePath: 'app.rmt' });
145
+ ```
146
+
147
+ PHP/Laravel hosts use the same client-facing wire shape through the single-file
148
+ module:
149
+
150
+ ```php
151
+ require __DIR__ . '/xtendrmt/rmt-php-ssr-adapter.php';
152
+
153
+ $adapter = createRmtPhpSsrAdapter(['manifest' => $manifest]);
154
+ $result = $adapter->render(['coreDocument' => $coreDocument]);
155
+ ```
156
+
157
+ See [RMT Node SSR Adapter](./rmt-node-ssr-adapter.md) and
158
+ [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md).
159
+
160
+ ## 5. Check RMT Locally
161
+
162
+ ```bash
163
+ xt rmt lint app.rmt
164
+ xt rmt lint app.rmt --json
165
+ xt rmt lint app.rmt --agent
166
+ ```
167
+
168
+ The agent report contains `repairPlan`, `fixOrder`, `confidence`, `impact`, `relatedDiagnostics`, and explained no-ops for repairs that intentionally stay manual.
169
+
170
+ ## 6. Enable Editor Support
171
+
172
+ ```bash
173
+ node tools/rmt-language-server/server.js
174
+ ```
175
+
176
+ The server provides diagnostics, completion, hover, document symbols, definition, and code actions. For a minimal native app shell, use the `rmt-app` snippet prefix; for vNext primitives, `rmt-vnext-primitive-shell` is the fastest start.
177
+
178
+ ## Next Steps
179
+
180
+ - [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
181
+ - [RMT vNext Component Primitives and XTend UI](./rmt-vnext-component-primitives.md)
182
+ - [RMT Node SSR Adapter](./rmt-node-ssr-adapter.md)
183
+ - [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md)
184
+ - [XTendRMT Developer Overview](./xtendrmt-overview.md)
185
+ - [RMT Linter and AI-Agent Repair Report](./rmt-linter.md)
186
+ - [RMT Language Server and Editor Setup](./rmt-language-server.md)
187
+ - [XTend Loader](./xtend-loader.md)
188
+ - [Manifest Format](./manifest.md)
189
+ - [Component Development](./components.md)