@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,63 @@
1
+ # TypeScript Components
2
+
3
+ XTend introduces new components TypeScript-first. Runtime artifacts remain local ES modules under `components/`, while the source of truth lives under `src/components/<tag>/`.
4
+
5
+ Contract: `xtend.scaffold.typescript-component-blueprint.v1`
6
+
7
+ Since `WP-E10-16`, this guide is part of the Epic 10 release handoff `xtend.epic10.release-handoff.v1`. New components must prove not only TypeScript source, but also RMT metadata, Fabric boundary, a11y, performance, fixture, docs and local gates.
8
+
9
+ ## Source Layout
10
+
11
+ | File | Purpose |
12
+ |------|---------|
13
+ | `<tag>.ts` | custom element source with static RMT, Fabric, a11y and performance metadata |
14
+ | `<tag>.contract.ts` | Component Contract v2 |
15
+ | `<tag>.rmt.ts` | RMT component metadata for `xtend.component` |
16
+ | `<tag>.a11y.ts` | a11y profile |
17
+ | `<tag>.performance.ts` | performance profile |
18
+ | `<tag>.fixture.ts` | typed fixture data |
19
+
20
+ ## Builder
21
+
22
+ The builder renders the new artifact group in dry run:
23
+
24
+ ```bash
25
+ node xtend-builder/scaffold.js component-files --tag x-example --profile display --feature state --json
26
+ ```
27
+
28
+ The local gate is:
29
+
30
+ ```bash
31
+ node scripts/run_xtend_tests.js builder-typescript-blueprint --json
32
+ ```
33
+
34
+ ## Required Gates as of WP-E10-16
35
+
36
+ ```bash
37
+ node scripts/run_xtend_tests.js component-contract-v2 --json
38
+ node scripts/run_xtend_tests.js epic10-platform-gates --json
39
+ node scripts/run_xtend_tests.js epic10-release-handoff --json
40
+ ```
41
+
42
+ New components additionally run through their component-level suite, catalog coverage, a11y, performance and visual regression gates.
43
+
44
+ As of `WP-TypeExports-09`, the productive TypeExports handoff is also part of the release view:
45
+
46
+ ```bash
47
+ npm run test:type-exports:release
48
+ ```
49
+
50
+ New TypeScript-first components must therefore deliver not only runtime and component-contract artifacts, but also cover their public package surface through `components/*.d.ts`, an explicit package `types` condition or a documented `types-not-required` boundary.
51
+
52
+ ## RMT and Fabric
53
+
54
+ Every new component needs an `xtend.component` RMT record and a Fabric boundary. The canonical runtime boundary for Fabric context is `adapter-injection-via-xtend-component-resolveFabricContext`; `window.XTendFabric` is a host convenience surface and not the component contract.
55
+
56
+ ## Boundaries
57
+
58
+ - no CDN imports
59
+ - no new runtime dependencies for core components
60
+ - no productive TypeScript compiler in the blueprint package
61
+ - no automatic file output without review
62
+ - RMT kernel boundary: `no-rmt-kernel-import-of-xtend-types`
63
+ - TypeExports boundary: `declarations-follow-js-runtime-surface`
@@ -0,0 +1,83 @@
1
+ # Visual Browser Regression
2
+
3
+ - Contract: `xtend.docs.visual-browser-regression.v1`
4
+ - Plan contract: `xtend.catalog.component-regression-priority-plan.v1`
5
+ - Gate contract: `xtend.catalog.component-regression-priority-gate.v1`
6
+ - Snapshot contract: `xtend.epic12.visual-snapshot-automation-contract.v1`
7
+ - Workpackage: `ER-WP-35`
8
+
9
+ This page describes the current XTend plan for visual and browser-close regression. ER-WP-35 does not introduce a screenshot runner yet. Instead, XTend creates a stable priority plan that defines per manifest component which browser smokes, viewports, theme variants, visual states and performance profiles must be automated first.
10
+
11
+ ## Check Locally
12
+
13
+ ```bash
14
+ node scripts/run_xtend_tests.js regression-priority
15
+ node scripts/run_xtend_tests.js regression-priority --json
16
+ npm run test:regression-priority
17
+ ```
18
+
19
+ The gate is part of the local test runner and uses the Component Catalog Coverage Matrix as its source. It remains CDN-free and needs no external browser automation.
20
+
21
+ ## Minimum Coverage
22
+
23
+ Every component in the plan receives:
24
+
25
+ - viewports: `desktop-1280`, `mobile-390`
26
+ - theme/preference variants: `light`, `dark`, `forced-colors`, `reduced-motion`
27
+ - performance profile: `xtend.performance.component-profile.v1`
28
+ - handoff gates: `browser`, `performance-regression`, `catalog-coverage`, `references`
29
+
30
+ P0 components such as `x-router`, `x-link`, `x-modal`, `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-textarea`, `x-tooltip`, `x-popover`, `x-drawer`, `x-form`, `x-calendar`, `x-writer`, `x-dialog` and `x-lightbox` are classified as `p0-browser-critical`. P1 components such as `x-status` and `x-progress` form the visual and performance baseline. P2 components remain visible as long tail.
31
+
32
+ ## Profile Rules
33
+
34
+ | Profile | Browser smokes | Visual states |
35
+ |---------|----------------|---------------|
36
+ | `routing` | route changes, keyboard navigation, history state, RMT route adapter | initial route, active route, RMT scheduled route |
37
+ | `form` | input sync, validation feedback, keyboard entry, form submit | default, focus, invalid, disabled |
38
+ | `overlay` | focus trap, Escape close, scroll lock, focus restore | closed, open, focus trapped, reduced motion open |
39
+ | `feedback` | live region, dismiss timer, reduced motion | info, warning, error, dismissed |
40
+ | `interactive` | keyboard activation, focus visible, mobile tap | default, hover, focus visible, active, disabled |
41
+ | `media` | media controls, poster load, fullscreen toggle | poster, playing, controls focus |
42
+ | `theme` | theme switch, token contrast, forced colors | light theme, dark theme, forced colors |
43
+ | `display` | layout stability, responsive overflow | default layout, narrow layout |
44
+ | `iconography` | layout stability, theme token color | default layout, high-contrast currentColor |
45
+ | `utility` | utility integration probe | helper ready |
46
+
47
+ ## Boundary Closure
48
+
49
+ The plan keeps the earlier boundary gaps traceable, but no longer treats them as open RC1 residuals:
50
+
51
+ - 0 manifest entries still need suite, fixture or type follow-up.
52
+ - `xstate` is closed as a runtime boundary since `WP-E13-05`.
53
+ - `x-utils` is closed as a utility boundary since `WP-E13-05`.
54
+ - The 42 visible runtime/UI components keep explicit performance profiles; `xstate` and `x-utils` are not artificially reinterpreted as visual profile carriers.
55
+
56
+ This makes it clear that `ER-WP-35` prioritizes, while handing the actual screenshot/pixel regression to CI and release readiness.
57
+
58
+ ## Snapshot Automation Contract
59
+
60
+ Since `WP-E12-10`, the next step is defined through `xtend.epic12.visual-snapshot-automation-contract.v1`:
61
+
62
+ ```bash
63
+ node scripts/run_xtend_tests.js visual-snapshot-automation --json
64
+ npm run test:visual-snapshot-automation
65
+ node scripts/run_xtend_tests.js visual-snapshots --json
66
+ npm run test:visual-snapshots
67
+ node scripts/run_xtend_tests.js design-tokens --json
68
+ npm run test:design-tokens
69
+ ```
70
+
71
+ The snapshot contract takes over the 360 combinations from the Component Shell Theme Matrix and describes `shell-structure`, `visual-state`, `theme-token-state`, `motion-density-state`, `viewport-layout`, `focus-a11y-state` and `rmt-shell-descriptor` as snapshot scopes. The diff strategy is `dom-first-pixel-ready`: DOM structure and CSS tokens are handled with tolerance `0`. Since `WP-E12-11`, `xtend.epic12.visual-snapshot-runner.v1` compares the local fixture against a textual JSON DOM baseline. Pixel diff is prepared as `optional-local-pixel-diff` and remains outside the Node contract gate. Since `WP-E12-12`, these CSS tokens are productized as `xtend.design-tokens.product-contract.v1` and checked through the same `--xtend-*` names in `x-theme`, Theme Matrix and Snapshot Baseline.
72
+
73
+ ## Handoff
74
+
75
+ - `WP-E12-10`: Visual Snapshot Automation Contract is complete.
76
+ - `WP-E12-11`: local snapshot fixture and DOM-first runner are complete.
77
+ - `WP-E12-12`: Enterprise Design System Token Productization is complete.
78
+ - `ER-WP-36`: productize CI workflow for default gates and regression priority gate.
79
+ - `ER-WP-38`: extend release checklist with browser/visual regression, artifacts and SemVer risks.
80
+ - `ER-WP-39`: Enterprise Adoption Guide with QA recommendations and baseline strategy is complete.
81
+ - `ER-WP-40`: Docs app with RMT Parsedown Scheduling Pilot is complete.
82
+
83
+ The machine-readable implementation is in `catalog/component-regression-priority.js`. The architecture decision is in `development/XTend-Visuelle-und-Browsernahe-Regression-Prioritaetsplan.md`.
@@ -0,0 +1,46 @@
1
+ # Visual Owner Artifacts
2
+
3
+ - Contract: `xtend.epic13.visual-owner-artifact.v1`
4
+ - Manifest contract: `xtend.epic13.visual-owner-artifact-manifest.v1`
5
+ - Report: `xtend.epic13.visual-owner-artifact-report.v1`
6
+ - Workpackage: `WP-E13-08`
7
+ - Local gate: `node scripts/run_xtend_tests.js epic13-visual-owner-artifact --json`
8
+ - Package script: `npm run test:epic13-visual-owner-artifact`
9
+ - Manifest: `tests/browser/visual-baselines/rc1-visual-owner-artifact.manifest.json`
10
+ - Publish boundary: `private-until-release-owner-acceptance`
11
+
12
+ ## Purpose
13
+
14
+ Visual Owner Artifacts connect the existing DOM-first Visual Snapshot Automation with a reproducible screenshot/pixel artifact path for RC1. The local gate validates contract, manifest and DOM snapshot state. Actual screenshot generation remains optional and belongs in stable browser or CI environments.
15
+
16
+ ## Path Convention
17
+
18
+ ```text
19
+ .xtend-test-results/visual-snapshots/rc1/{family}/{viewport}/{theme}/{density}/{motion}.png
20
+ ```
21
+
22
+ The report is stored at:
23
+
24
+ ```text
25
+ .xtend-test-results/visual-snapshots/rc1/visual-owner-artifact-report.json
26
+ ```
27
+
28
+ The fixture remains `tests/browser/fixtures/visual-snapshots-fixture.html`; the DOM baseline remains `tests/browser/visual-baselines/visual-snapshots.dom-baseline.json`.
29
+
30
+ ## Local Usage
31
+
32
+ ```bash
33
+ npm run test:epic13-visual-owner-artifact
34
+ ```
35
+
36
+ The local mode is `static-artifact-manifest-plus-dom-snapshot-gate`. `pixelDiffRequiredInLocalGate`, `screenshotRequiredInLocalGate` and `binaryBaselineCommitted` are `false`.
37
+
38
+ ## Relationship to Existing Gates
39
+
40
+ - The DOM structure comes from [Visual Snapshot Automation](./visual-snapshot-automation.md).
41
+ - The production-close browser/CSP preparation comes from [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md).
42
+ - The owner artifact remains `optional-browser-driver-or-ci-artifact` until a stable browser-capture environment is chosen as a required release gate.
43
+
44
+ ## Handoff
45
+
46
+ `WP-E13-08` is complete. `WP-E13-09` bundled `xtend.epic13.rmt-production-readiness.v1` under [RMT Production Readiness](./rmt-production-readiness.md). `WP-E13-10` completed [Docs RMT Production Hardening](./docs-rmt-production-hardening.md). `WP-E13-11` completed [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) and `xtend.epic13.trusted-dom-boundary.v1`. `WP-E13-12` completed [RC1 Migration Notes](./rc1-migration-notes.md) and `xtend.epic13.rc1-migration-notes-semver.v1`. `WP-E13-13` completed [RC1 Gate Matrix and CI Handoff](./rc1-gate-matrix-ci-handoff.md) and `xtend.epic13.rc1-gate-matrix-ci-handoff.v1`.
@@ -0,0 +1,87 @@
1
+ # Visual Snapshot Automation
2
+
3
+ - Contract: `xtend.epic12.visual-snapshot-automation-contract.v1`
4
+ - Entry contract: `xtend.epic12.visual-snapshot-automation-entry.v1`
5
+ - Automation report contract: `xtend.epic12.visual-snapshot-automation-report.v1`
6
+ - Runner contract: `xtend.epic12.visual-snapshot-runner.v1`
7
+ - Fixture contract: `xtend.epic12.visual-snapshot-fixture.v1`
8
+ - Runner report contract: `xtend.epic12.visual-snapshot-runner-report.v1`
9
+ - Design token contract: `xtend.design-tokens.product-contract.v1`
10
+ - Workpackages: `WP-E12-10`, `WP-E12-11`, `WP-E12-12`
11
+ - Contract gate: `node scripts/run_xtend_tests.js visual-snapshot-automation --json`
12
+ - Snapshot gate: `node scripts/run_xtend_tests.js visual-snapshots --json`
13
+
14
+ XTend Visual Snapshot Automation is the Epic 12 line for local visual regression. `WP-E12-10` defines scopes, matrix, tolerances and artifact policy. `WP-E12-11` builds a local DOM-first snapshot runner with JSON baseline on top of that.
15
+
16
+ ## Check Locally
17
+
18
+ ```bash
19
+ node scripts/run_xtend_tests.js visual-snapshot-automation
20
+ node scripts/run_xtend_tests.js visual-snapshot-automation --json
21
+ npm run test:visual-snapshot-automation
22
+ node scripts/run_xtend_tests.js visual-snapshots --json
23
+ npm run test:visual-snapshots
24
+ node scripts/run_xtend_tests.js design-tokens --json
25
+ npm run test:design-tokens
26
+ ```
27
+
28
+ The gate is local-only, CDN-free and uses no external browser services.
29
+
30
+ ## Matrix
31
+
32
+ The contract adopts the 360 combinations of the Component Shell Theme Matrix:
33
+
34
+ - themes: `light`, `dark`, `high-contrast`, `forced-colors`
35
+ - motion: `default-motion`, `reduced-motion`
36
+ - density: `comfortable`, `compact`, `dense`
37
+ - viewports: `desktop-1280`, `tablet-768`, `mobile-390`
38
+ - UX families: `form-controls`, `feedback-status`, `navigation-routing`, `overlay-interaction`, `layout-display-media`
39
+
40
+ ## Snapshot Scopes
41
+
42
+ - `shell-structure`
43
+ - `visual-state`
44
+ - `theme-token-state`
45
+ - `motion-density-state`
46
+ - `viewport-layout`
47
+ - `focus-a11y-state`
48
+ - `rmt-shell-descriptor`
49
+
50
+ The RMT boundary remains `no-rmt-kernel-import-of-xtend-types`: RMT describes and schedules shells, but imports no XTend types into the kernel.
51
+
52
+ As of `WP-E12-12`, the snapshot fixture uses the same product tokens as `x-theme` and the Component Shell Theme Matrix. The DOM baseline tracks `--xtend-surface`, `--xtend-text`, `--xtend-color-primary`, `--xtend-density-spacing` and `--xtend-radius`; local fixture names such as `--snapshot-*` have been removed.
53
+
54
+ ## Diff Strategy
55
+
56
+ `WP-E12-10` defines `dom-first-pixel-ready`; `WP-E12-11` performs the local DOM diff:
57
+
58
+ - DOM structure and CSS tokens have tolerance `0`.
59
+ - Pixel diff is prepared as `optional-local-pixel-diff`, but does not run in the Node contract gate.
60
+ - Maximum pixel mismatch is `0.01`.
61
+ - Layout shift is limited to `1px`.
62
+ - Before capture, the runner must wait for custom elements, fonts, loader completion and one animation frame.
63
+
64
+ ## Artifacts
65
+
66
+ | Artifact | Path |
67
+ |----------|------|
68
+ | Contract | `development/XTend-Visual-Snapshot-Automation-Contract.md` |
69
+ | Plan | `tests/browser/visual-snapshot-automation-plan.js` |
70
+ | Automation suite | `tests/browser/visual_snapshot_automation_suite.js` |
71
+ | Runner | `tests/browser/visual-snapshots-runner.js` |
72
+ | Fixture | `tests/browser/fixtures/visual-snapshots-fixture.html` |
73
+ | DOM baseline | `tests/browser/visual-baselines/visual-snapshots.dom-baseline.json` |
74
+ | Snapshot suite | `tests/browser/visual_snapshots_suite.js` |
75
+ | Output root | `.xtend-test-results/visual-snapshots` |
76
+ | Report path | `.xtend-test-results/visual-snapshots/visual-snapshots-report.json` |
77
+ | RC1 owner manifest | `tests/browser/visual-baselines/rc1-visual-owner-artifact.manifest.json` |
78
+
79
+ The baseline is textual and reviewable in `WP-E12-11`. Binary or screenshot baselines remain reserved for an optional local pixel-diff mode.
80
+
81
+ ## RC1 Visual Owner Artifact
82
+
83
+ As of `WP-E13-08`, [Visual Owner Artifacts](./visual-owner-artifacts.md) uses this DOM-first line as the source for `xtend.epic13.visual-owner-artifact.v1`. The local gate `node scripts/run_xtend_tests.js epic13-visual-owner-artifact --json` normalizes artifact root, report path, screenshot template and viewports. Screenshot/pixel creation remains `optional-browser-driver-or-ci-artifact`.
84
+
85
+ ## RC0 Adoption Update
86
+
87
+ Since `WP-E12-15`, the [RC0 Adoption Guide](./rc0-adoption-guide.md) references this DOM-first snapshot path as RC0 baseline. Component authors treat `visual-snapshots`, `design-tokens` and `component-shell-theme-matrix` together as a local review chain; pixel baselines remain optional and must not block the local RC0 dry run.
@@ -0,0 +1,55 @@
1
+ # XTend API Types
2
+
3
+ - Contract: `xtend.type-exports.api-declarations.v1`
4
+ - Workpackage: `WP-TypeExports-03`
5
+ - Gate: `node scripts/run_xtend_tests.js type-exports-api --json`
6
+ - Report: `.xtend-test-results/xtend-type-exports-api-report.json`
7
+ - Declaration: `api.d.ts`
8
+
9
+ ## Purpose
10
+
11
+ `api.d.ts` describes the public core API from `api.js`: `initXTendAPI(manifest)`, the global namespace `window.XTend.*`, the legacy aliases and the event `xtend-api-ready`. The declaration is types-only; `api.js` remains unchanged at runtime.
12
+
13
+ ## Namespace
14
+
15
+ The central namespace type is `XTendNamespace`.
16
+
17
+ | API | Type |
18
+ | --- | --- |
19
+ | `window.XTend.compliance` | `XTendComplianceApi` |
20
+ | `window.XTend.theme` | `XTendThemeApi` |
21
+ | `window.XTend.toast` | `XTendToastApi` |
22
+ | `window.XTend.alert` | `XTendAlertApi` |
23
+ | `window.XTend.dialog` | `XTendDialogApi` |
24
+ | `window.XTend.modal` | `XTendModalApi` |
25
+
26
+ ## Legacy Aliases
27
+
28
+ `api.d.ts` continues to type the existing global convenience aliases:
29
+
30
+ - `window.XTheme`
31
+ - `window.XToast`
32
+ - `window.XAlert`
33
+ - `window.XDialog`
34
+ - `window.XModal`
35
+ - `window.showToast`
36
+ - `window.showAlert`
37
+ - `window.showDialog`
38
+ - `window.showModal`
39
+
40
+ ## Event
41
+
42
+ `WindowEventMap` contains `xtend-api-ready` with `XTendApiReadyDetail`. The payload reports whether toast, alert, dialog, modal and theme APIs are initialized.
43
+
44
+ ## Package Export
45
+
46
+ As of `WP-TypeExports-03`, the package export `./api` has the `types` condition `./api.d.ts`. `browser` and `default` continue to point to `./api.js`.
47
+
48
+ ## Drift Gate
49
+
50
+ The gate `type-exports-api` checks:
51
+
52
+ - `api.d.ts` exists and is included in the package.
53
+ - `./api` points to `./api.d.ts` through `types`.
54
+ - `initXTendAPI`, `window.XTend.*`, legacy aliases and `xtend-api-ready` are visible in runtime and declaration.
55
+ - `api.js` imports no declaration file.
@@ -0,0 +1,55 @@
1
+ # XTend Builder Types
2
+
3
+ Status: `completed`
4
+ Workpackage: `WP-TypeExports-06`
5
+ Schema: `xtend.type-exports.builder-declarations.v1`
6
+ Gate: `node scripts/run_xtend_tests.js type-exports-builder --json`
7
+
8
+ ## Scope
9
+
10
+ `WP-TypeExports-06` types the Builder, Scaffold and Component Lab program APIs without porting the CLI or generators to TypeScript.
11
+
12
+ The shared basis lives in `./xtend-builder/builder-public-types.d.ts`:
13
+
14
+ - `XtendBuilderComponentInput`
15
+ - `XtendBuilderComponentPlan`
16
+ - `XtendBuilderComponentFilesResult`
17
+ - `XtendBuilderWorkflow`
18
+ - `XtendBuilderComponentLabPlan`
19
+
20
+ ## Declaration Pack
21
+
22
+ The root and workflow APIs are stabilized through these facades:
23
+
24
+ - `./xtend-builder/scaffold.d.ts`
25
+ - `./xtend-builder/lib/cli.d.ts`
26
+ - `./xtend-builder/blueprints/component-blueprint.contract.d.ts`
27
+ - `./xtend-builder/generators/component-plan.d.ts`
28
+ - `./xtend-builder/generators/component-files.d.ts`
29
+ - `./xtend-builder/generators/registry.d.ts`
30
+ - `./xtend-builder/workflows/developer-workflow.d.ts`
31
+
32
+ Component Lab and preview consumers receive their own contracts:
33
+
34
+ - `./xtend-builder/preview/component-preview.d.ts`
35
+ - `./xtend-builder/preview/component-lab.d.ts`
36
+ - `./xtend-builder/preview/component-lab-ux-inspector.d.ts`
37
+
38
+ The already exported typing and UX contract modules are represented as narrow facades, including `component-shell-contract`, `component-styling-contract`, `component-network-contract`, `rmt-shell-authoring-contract`, `rmt-dsl-authoring-polish`, the form/feedback/navigation/overlay/layout UX contracts and `component-ux-performance-contract`.
39
+
40
+ ## Package Exports
41
+
42
+ The package exports `./builder`, `./builder/*` and the explicit builder subexports receive `types` conditions. Example:
43
+
44
+ ```json
45
+ "./builder": {
46
+ "types": "./xtend-builder/scaffold.d.ts",
47
+ "default": "./xtend-builder/scaffold.js"
48
+ }
49
+ ```
50
+
51
+ `./builder/*` remains a generic connection for repo-local builder modules and points to `./xtend-builder/*.d.ts`.
52
+
53
+ ## Boundary
54
+
55
+ The declarations remain `types-only-no-runtime-imports`. They import no builder runtime, components, RMT kernel or loader/API runtime. The local gate compares runtime exports, package `types` conditions, existing declaration files and the shared builder type base.
@@ -0,0 +1,44 @@
1
+ # XTend Catalog Types
2
+
3
+ - Contract: `xtend.type-exports.catalog-declarations.v1`
4
+ - Workpackage: `WP-TypeExports-07`
5
+ - Gate: `node scripts/run_xtend_tests.js type-exports-catalog --json`
6
+ - Report: `.xtend-test-results/xtend-type-exports-catalog-report.json`
7
+
8
+ ## Purpose
9
+
10
+ Catalog modules describe XTend gates, handoffs, release plans and SurfaceManager runtime scopes as machine-readable plan/report structures. `WP-TypeExports-07` introduces a shared declaration pattern so new catalogs do not need to type every property from scratch.
11
+
12
+ `./catalog/catalog-public-types.d.ts` defines the shared base types `XtendCatalogPlan`, `XtendCatalogReport`, `XtendCatalogGate`, `XtendCatalogFactory`, `XtendCatalogValidator` and `XtendCatalogDiagnostic`. The individual catalog facades export the runtime symbols of the respective `.js` module and bind functions such as `create*Plan`, `create*Report`, `create*Gate` and `validate*Plan` to these base types.
13
+
14
+ ## Package Surface
15
+
16
+ All public `./catalog/*` package exports now have their own `types` condition. Examples:
17
+
18
+ ```json
19
+ "./catalog/epic13-package-export-lock": {
20
+ "types": "./catalog/epic13-package-export-lock.d.ts",
21
+ "default": "./catalog/epic13-package-export-lock.js"
22
+ }
23
+ ```
24
+
25
+ The runtime target remains unchanged. The declarations import no runtime files and are intended as consumer facades.
26
+
27
+ ## Catalog Families
28
+
29
+ The gate classifies three catalog families that matter for XTend:
30
+
31
+ - SurfaceManager catalogs remain internal XTend UI support and document app-shell, surface, routing and runtime handoffs.
32
+ - Epic catalogs describe workpackage, gate and contract plans across multiple epics.
33
+ - Release catalogs bundle handoff, readiness, export-lock and migration decisions.
34
+
35
+ The SurfaceManager catalogs do not replace Fabric, the RMT kernel or a runtime layer. They remain declarative plans and reports that support UI surfaces.
36
+
37
+ ## Drift Gate
38
+
39
+ ```bash
40
+ node scripts/run_xtend_tests.js type-exports-catalog --json
41
+ npm run test:type-exports-catalog
42
+ ```
43
+
44
+ The gate verifies that package catalogs have their `types` conditions, that all catalog runtime exports appear in the `.d.ts` facades, that SurfaceManager/epic/release catalogs are classified and that runtime files receive no declaration imports.
@@ -0,0 +1,143 @@
1
+ # XTend-Fabric RMT Lane Mapping
2
+
3
+ - Status: production mapping contract starting with `ER-WP-13`
4
+ - Contract: `xtend.docs.xtend-fabric-rmt-lane-mapping.v1`
5
+ - Mapping Contract: `xtend.fabric.rmt-lane-mapping.v1`
6
+ - Runtime: `fabric/rmt-lane-mapping.js`
7
+ - Test: `tests/fabric/fabric_rmt_lane_mapping_suite.js`
8
+
9
+ ## Purpose
10
+
11
+ `fabric/rmt-lane-mapping.js` connects Fabric lanes with RMT schedule policies without building XTend into the RMT kernel.
12
+
13
+ Fabric describes UI work semantically: `user-blocking`, `a11y`, `visible`, `transition`, `idle`, `background`, `diagnostics`. RMT remains host-neutral and still sees only schedule records with `endpointName`, `scope`, `lane`, `priority`, `deadlineMs`, `preferIdle`, `coalesceKey` and `budgetClass`.
14
+
15
+ Since `WP-E13-09`, [RMT Production Readiness](./rmt-production-readiness.md) references this mapping under `xtend.epic13.rmt-production-readiness.v1` so RMT-first apps can ingest Fabric/Lane signals in a production-oriented way without violating the RMT kernel boundary.
16
+
17
+ ## Lane Mapping
18
+
19
+ | Fabric Lane | RMT Schedule Lane | Reason |
20
+ |-------------|-------------------|--------|
21
+ | `user-blocking` | `user-blocking` | input, navigation and focus are critical |
22
+ | `a11y` | `user-blocking` | screen-reader and focus signals are user-facing; RMT does not yet have a dedicated `a11y` lane |
23
+ | `visible` | `visible` | visible component work |
24
+ | `transition` | `transition` | route and UI transitions |
25
+ | `idle` | `idle` | non-visible hydration and follow-up |
26
+ | `background` | `background` | best-effort work |
27
+ | `diagnostics` | `diagnostics` | telemetry and snapshots |
28
+
29
+ `a11y` therefore remains a Fabric lane. The generated RMT schedule record carries the RMT lane `user-blocking` and preserves `metadata.fabricLane = "a11y"` so reporters and later adapters can see the original semantics.
30
+
31
+ ## API
32
+
33
+ ```js
34
+ const mapping = window.XTendFabricRmtLaneMapping.createFabricRmtLaneMapping();
35
+
36
+ const result = mapping.resolveFiber({
37
+ kind: 'component.hydrate',
38
+ lane: 'idle',
39
+ scope: 'x-alert#secondary',
40
+ componentRef: 'x-alert'
41
+ });
42
+ ```
43
+
44
+ Important functions:
45
+
46
+ | API | Purpose |
47
+ |-----|---------|
48
+ | `createFabricRmtLaneMapping(options)` | creates a mapping object with lane map and schedule records |
49
+ | `createRmtScheduleRecords(options)` | creates host-neutral RMT schedule records for Fabric lanes |
50
+ | `resolveRmtScheduleForFiber(fiber, options)` | resolves a fiber to a schedule record |
51
+ | `normalizeFabricLaneForRmt(lane)` | translates one Fabric lane into an RMT lane |
52
+
53
+ ## Example Schedule Records
54
+
55
+ ```json
56
+ {
57
+ "schema": "xtend.fabric.rmt-lane-schedule.v1",
58
+ "id": "component.idle.hydrate",
59
+ "endpointName": "xtendrmt.component.hydrate",
60
+ "scope": "xtend.fabric.idle",
61
+ "lane": "idle",
62
+ "priority": 35,
63
+ "deadlineMs": 500,
64
+ "preferIdle": true,
65
+ "coalesceKey": "xtend.fabric.idle",
66
+ "budgetClass": "background",
67
+ "metadata": {
68
+ "contract": "xtend.fabric.rmt-lane-mapping.v1",
69
+ "fabricLane": "idle",
70
+ "rmtLane": "idle"
71
+ }
72
+ }
73
+ ```
74
+
75
+ Since `ER-WP-20`, there is also `component.lazy.hydrate` for hydration deferred below the fold or under backpressure. The RMT lane remains `idle`; the difference is in `scheduleRef`, scope and coalescing.
76
+
77
+ ```json
78
+ {
79
+ "schema": "xtend.fabric.rmt-lane-schedule.v1",
80
+ "id": "a11y.user-blocking.announce",
81
+ "endpointName": "xtendrmt.a11y.announce",
82
+ "scope": "xtend.fabric.a11y",
83
+ "lane": "user-blocking",
84
+ "priority": 95,
85
+ "deadlineMs": 80,
86
+ "preferIdle": false,
87
+ "coalesceKey": "xtend.fabric.a11y.announce",
88
+ "budgetClass": "critical",
89
+ "metadata": {
90
+ "contract": "xtend.fabric.rmt-lane-mapping.v1",
91
+ "fabricLane": "a11y",
92
+ "rmtLane": "user-blocking",
93
+ "reason": "RMT schedules-domain has no dedicated a11y lane in xtend.rmt.schedules-domain.v1."
94
+ }
95
+ }
96
+ ```
97
+
98
+ ## Kernel Boundary
99
+
100
+ The mapping imports no XTendRMT kernel and parses no `.rmt` documents. It can already accept normalized schedule records from a host or test fixture and resolve `scheduleRef` or `endpointNameHint` against them.
101
+
102
+ Allowed:
103
+
104
+ - map Fabric fibers to RMT schedule records
105
+ - use generated schedule records as app/adapter hints
106
+ - reference existing `schedules[*]` records from normalized RMT documents
107
+ - preserve `metadata.fabricLane` for diagnostics and reporters
108
+
109
+ Not allowed:
110
+
111
+ - import the RMT runtime or kernel into Fabric
112
+ - force `a11y` as an RMT kernel lane
113
+ - execute XTend components in the RMT kernel
114
+ - duplicate RMT schema validation in Fabric
115
+
116
+ ## Adapter Ingestion
117
+
118
+ Starting with Epic 10 / `WP-E10-05`, the production `xtend.component` adapter uses the same semantics as runtime context. The contract is `xtend.component.fabric-lane-ingestion.v2`.
119
+
120
+ Precedence in the adapter:
121
+
122
+ 1. `rmt.schedule-record`
123
+ 2. `rmt.component-metadata`
124
+ 3. `fabric.runtime-override`
125
+ 4. `component.static-contract`
126
+ 5. `scaffold.blueprint-default`
127
+
128
+ The adapter does not import Fabric into the RMT kernel. During mounting and hydration it only resolves the Fabric context, sets `result.metadata.fabric` and marks DOM hosts with `data-xtend-fabric-lane`, `data-xtend-rmt-lane`, `data-xtend-fabric-fiber`, `data-xtend-fabric-source` and `data-rmt-endpoint`.
129
+
130
+ ## Gates
131
+
132
+ ```bash
133
+ node scripts/run_xtend_tests.js fabric-lane-mapping --json
134
+ node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json
135
+ node scripts/run_xtend_tests.js hydration-policy --json
136
+ npm run test:fabric-lanes
137
+ npm run test:rmt-component-fabric-ingestion
138
+ npm run test:hydration-policy
139
+ node scripts/run_xtend_tests.js references --json
140
+ npm test
141
+ ```
142
+
143
+ `ER-WP-20` builds on this and hardens lazy/idle/visible hydration policies with concrete `scheduleRef` decisions. Route render and XRouter navigation remain correlatable through `ER-WP-15`.