@ccslabs/xtend 0.1.0-rc.1

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 (664) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/LICENSE +201 -0
  3. package/README.md +184 -0
  4. package/a11y/motion-contrast-policy.d.ts +32 -0
  5. package/a11y/motion-contrast-policy.js +261 -0
  6. package/a11y/runtime-a11y-contract.d.ts +44 -0
  7. package/a11y/runtime-a11y-contract.js +385 -0
  8. package/a11y/screenreader-signals.d.ts +32 -0
  9. package/a11y/screenreader-signals.js +372 -0
  10. package/api.d.ts +168 -0
  11. package/api.js +864 -0
  12. package/catalog/catalog-public-types.d.ts +66 -0
  13. package/catalog/component-catalog-coverage.d.ts +20 -0
  14. package/catalog/component-catalog-coverage.js +377 -0
  15. package/catalog/component-long-tail-migration.d.ts +18 -0
  16. package/catalog/component-long-tail-migration.js +305 -0
  17. package/catalog/component-regression-priority.d.ts +20 -0
  18. package/catalog/component-regression-priority.js +305 -0
  19. package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
  20. package/catalog/enterprise-component-flex-release-handoff.js +437 -0
  21. package/catalog/enterprise-component-style-audit.d.ts +22 -0
  22. package/catalog/enterprise-component-style-audit.js +353 -0
  23. package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
  24. package/catalog/enterprise-form-control-theme-a11y.js +220 -0
  25. package/catalog/enterprise-icon-control-audit.d.ts +21 -0
  26. package/catalog/enterprise-icon-control-audit.js +258 -0
  27. package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
  28. package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
  29. package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
  30. package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
  31. package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
  32. package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
  33. package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
  34. package/catalog/enterprise-third-party-authoring-guide.js +310 -0
  35. package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
  36. package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
  37. package/catalog/epic10-existing-component-metadata.d.ts +25 -0
  38. package/catalog/epic10-existing-component-metadata.js +534 -0
  39. package/catalog/epic10-p0-component-wave.d.ts +28 -0
  40. package/catalog/epic10-p0-component-wave.js +688 -0
  41. package/catalog/epic10-platform-gates.d.ts +31 -0
  42. package/catalog/epic10-platform-gates.js +425 -0
  43. package/catalog/epic10-release-handoff.d.ts +30 -0
  44. package/catalog/epic10-release-handoff.js +195 -0
  45. package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
  46. package/catalog/epic11-enterprise-ux-handoff.js +403 -0
  47. package/catalog/epic12-docs-adoption.d.ts +29 -0
  48. package/catalog/epic12-docs-adoption.js +183 -0
  49. package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
  50. package/catalog/epic12-rc0-gate-matrix.js +439 -0
  51. package/catalog/epic12-rc0-handoff.d.ts +30 -0
  52. package/catalog/epic12-rc0-handoff.js +385 -0
  53. package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
  54. package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
  55. package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
  56. package/catalog/epic13-conditional-network-evidence.js +280 -0
  57. package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
  58. package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
  59. package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
  60. package/catalog/epic13-hydration-performance-closure.js +234 -0
  61. package/catalog/epic13-known-residual-triage.d.ts +32 -0
  62. package/catalog/epic13-known-residual-triage.js +339 -0
  63. package/catalog/epic13-package-export-lock.d.ts +41 -0
  64. package/catalog/epic13-package-export-lock.js +604 -0
  65. package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
  66. package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
  67. package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
  68. package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
  69. package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
  70. package/catalog/epic13-rc1-migration-notes.js +271 -0
  71. package/catalog/epic13-rc1-readiness.d.ts +33 -0
  72. package/catalog/epic13-rc1-readiness.js +487 -0
  73. package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
  74. package/catalog/epic13-release-owner-acceptance.js +354 -0
  75. package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
  76. package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
  77. package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
  78. package/catalog/epic13-rmt-production-readiness.js +314 -0
  79. package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
  80. package/catalog/epic13-trusted-dom-boundary.js +230 -0
  81. package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
  82. package/catalog/epic13-visual-owner-artifact.js +233 -0
  83. package/catalog/epic14-lsp-handoff.d.ts +28 -0
  84. package/catalog/epic14-lsp-handoff.js +312 -0
  85. package/catalog/epic14-rmt-tooling.d.ts +33 -0
  86. package/catalog/epic14-rmt-tooling.js +282 -0
  87. package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
  88. package/catalog/surface-manager-adapter-runtime.js +203 -0
  89. package/catalog/surface-manager-browser-lab.d.ts +39 -0
  90. package/catalog/surface-manager-browser-lab.js +225 -0
  91. package/catalog/surface-manager-controller.d.ts +43 -0
  92. package/catalog/surface-manager-controller.js +290 -0
  93. package/catalog/surface-manager-layout-engines.d.ts +32 -0
  94. package/catalog/surface-manager-layout-engines.js +161 -0
  95. package/catalog/surface-manager-lazy-loading.d.ts +35 -0
  96. package/catalog/surface-manager-lazy-loading.js +173 -0
  97. package/catalog/surface-manager-materialization.d.ts +37 -0
  98. package/catalog/surface-manager-materialization.js +202 -0
  99. package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
  100. package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
  101. package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
  102. package/catalog/surface-manager-overlay-bridge.js +247 -0
  103. package/catalog/surface-manager-persistence.d.ts +37 -0
  104. package/catalog/surface-manager-persistence.js +178 -0
  105. package/catalog/surface-manager-quality-gates.d.ts +48 -0
  106. package/catalog/surface-manager-quality-gates.js +324 -0
  107. package/catalog/surface-manager-release-handoff.d.ts +47 -0
  108. package/catalog/surface-manager-release-handoff.js +274 -0
  109. package/catalog/surface-manager-remote-policy.d.ts +34 -0
  110. package/catalog/surface-manager-remote-policy.js +199 -0
  111. package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
  112. package/catalog/surface-manager-rmt-authoring.js +368 -0
  113. package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
  114. package/catalog/surface-manager-route-lifecycle.js +162 -0
  115. package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
  116. package/catalog/surface-manager-runtime-release-handoff.js +245 -0
  117. package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
  118. package/catalog/surface-manager-side-panel-runtime.js +307 -0
  119. package/catalog/surface-manager-stack-policy.d.ts +32 -0
  120. package/catalog/surface-manager-stack-policy.js +169 -0
  121. package/catalog/surface-manager-window-runtime.d.ts +45 -0
  122. package/catalog/surface-manager-window-runtime.js +285 -0
  123. package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
  124. package/catalog/surface-manager-workbench-fixture.js +315 -0
  125. package/catalog/type-exports-api.js +236 -0
  126. package/catalog/type-exports-builder.js +405 -0
  127. package/catalog/type-exports-catalog.js +394 -0
  128. package/catalog/type-exports-loader.js +266 -0
  129. package/catalog/type-exports-policy.js +461 -0
  130. package/catalog/type-exports-rmt.js +407 -0
  131. package/catalog/type-exports-vendor.js +365 -0
  132. package/catalog/type-exports.js +574 -0
  133. package/components/icon-packs/core.js +154 -0
  134. package/components/icon-packs/lucide.js +136 -0
  135. package/components/manifest.json +44 -0
  136. package/components/prism.d.ts +73 -0
  137. package/components/prism.js +300 -0
  138. package/components/turndown.d.ts +34 -0
  139. package/components/turndown.js +107 -0
  140. package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
  141. package/components/x-rmt-lifecycle-demo-build.js +1175 -0
  142. package/components/x-rmt-lifecycle-demo.d.ts +83 -0
  143. package/components/x-rmt-lifecycle-demo.js +1175 -0
  144. package/components/xalert.d.ts +42 -0
  145. package/components/xalert.js +538 -0
  146. package/components/xbutton.d.ts +127 -0
  147. package/components/xbutton.js +612 -0
  148. package/components/xcalendar.d.ts +39 -0
  149. package/components/xcalendar.js +338 -0
  150. package/components/xcards.d.ts +34 -0
  151. package/components/xcards.js +253 -0
  152. package/components/xcheckbox.d.ts +48 -0
  153. package/components/xcheckbox.js +448 -0
  154. package/components/xcode.d.ts +35 -0
  155. package/components/xcode.js +370 -0
  156. package/components/xdialog.d.ts +48 -0
  157. package/components/xdialog.js +763 -0
  158. package/components/xdrawer.d.ts +61 -0
  159. package/components/xdrawer.js +654 -0
  160. package/components/xfooter.d.ts +41 -0
  161. package/components/xfooter.js +351 -0
  162. package/components/xform.d.ts +43 -0
  163. package/components/xform.js +456 -0
  164. package/components/xheader.d.ts +68 -0
  165. package/components/xheader.js +1253 -0
  166. package/components/xhero.d.ts +42 -0
  167. package/components/xhero.js +475 -0
  168. package/components/xicon.d.ts +146 -0
  169. package/components/xicon.js +688 -0
  170. package/components/xinput.d.ts +37 -0
  171. package/components/xinput.js +444 -0
  172. package/components/xlightbox.d.ts +48 -0
  173. package/components/xlightbox.js +571 -0
  174. package/components/xlink.d.ts +63 -0
  175. package/components/xlink.js +565 -0
  176. package/components/xmasonry.d.ts +35 -0
  177. package/components/xmasonry.js +666 -0
  178. package/components/xmenu.d.ts +118 -0
  179. package/components/xmenu.js +1005 -0
  180. package/components/xmodal.d.ts +64 -0
  181. package/components/xmodal.js +831 -0
  182. package/components/xplayer.d.ts +57 -0
  183. package/components/xplayer.js +1748 -0
  184. package/components/xpopover.d.ts +54 -0
  185. package/components/xpopover.js +466 -0
  186. package/components/xprogress.d.ts +40 -0
  187. package/components/xprogress.js +345 -0
  188. package/components/xradio.d.ts +50 -0
  189. package/components/xradio.js +474 -0
  190. package/components/xrouter.d.ts +244 -0
  191. package/components/xrouter.js +1841 -0
  192. package/components/xsection.d.ts +34 -0
  193. package/components/xsection.js +253 -0
  194. package/components/xselect.d.ts +46 -0
  195. package/components/xselect.js +463 -0
  196. package/components/xsidepanel.d.ts +56 -0
  197. package/components/xsidepanel.js +728 -0
  198. package/components/xspinner.d.ts +38 -0
  199. package/components/xspinner.js +388 -0
  200. package/components/xstate.d.ts +137 -0
  201. package/components/xstate.js +493 -0
  202. package/components/xstatus.d.ts +41 -0
  203. package/components/xstatus.js +381 -0
  204. package/components/xsummary.d.ts +43 -0
  205. package/components/xsummary.js +293 -0
  206. package/components/xsurfacemanager-controller.d.ts +130 -0
  207. package/components/xsurfacemanager-controller.js +699 -0
  208. package/components/xsurfacemanager.d.ts +452 -0
  209. package/components/xsurfacemanager.js +3775 -0
  210. package/components/xsurfaceoverlay-bridge.d.ts +43 -0
  211. package/components/xsurfaceoverlay-bridge.js +238 -0
  212. package/components/xsurfacewindow.d.ts +50 -0
  213. package/components/xsurfacewindow.js +576 -0
  214. package/components/xtabs.d.ts +73 -0
  215. package/components/xtabs.js +611 -0
  216. package/components/xtend-public-types.d.ts +208 -0
  217. package/components/xtextarea.d.ts +46 -0
  218. package/components/xtextarea.js +451 -0
  219. package/components/xtheme.d.ts +253 -0
  220. package/components/xtheme.js +1438 -0
  221. package/components/xtoast.d.ts +39 -0
  222. package/components/xtoast.js +389 -0
  223. package/components/xtooltip.d.ts +53 -0
  224. package/components/xtooltip.js +432 -0
  225. package/components/xtype.d.ts +42 -0
  226. package/components/xtype.js +244 -0
  227. package/components/xutils.d.ts +164 -0
  228. package/components/xutils.js +496 -0
  229. package/components/xwriter.d.ts +67 -0
  230. package/components/xwriter.js +854 -0
  231. package/design-tokens/themes/enterprise-light.json +40 -0
  232. package/design-tokens/themes/xtend-signature.json +126 -0
  233. package/design-tokens/xtend-design-tokens.d.ts +95 -0
  234. package/design-tokens/xtend-design-tokens.js +395 -0
  235. package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
  236. package/design-tokens/xtheme-token-alias-layer.js +423 -0
  237. package/docs/.htaccess +51 -0
  238. package/docs/README.md +340 -0
  239. package/docs/XTend-ADR.md +221 -0
  240. package/docs/a11y-keyboard-smokes.md +62 -0
  241. package/docs/about.md +18 -0
  242. package/docs/api.md +157 -0
  243. package/docs/best-practices.md +76 -0
  244. package/docs/component-catalog-coverage.md +58 -0
  245. package/docs/component-lab.md +103 -0
  246. package/docs/component-long-tail-migration.md +41 -0
  247. package/docs/component-platform.md +159 -0
  248. package/docs/component-ux-app-authoring.md +130 -0
  249. package/docs/component-ux-authoring.md +96 -0
  250. package/docs/component-ux-gates.md +45 -0
  251. package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
  252. package/docs/components/xalert.md +81 -0
  253. package/docs/components/xbutton.md +103 -0
  254. package/docs/components/xcalendar.md +82 -0
  255. package/docs/components/xcards.md +128 -0
  256. package/docs/components/xcheckbox.md +102 -0
  257. package/docs/components/xcode.md +126 -0
  258. package/docs/components/xdialog.md +92 -0
  259. package/docs/components/xdrawer.md +84 -0
  260. package/docs/components/xfooter.md +126 -0
  261. package/docs/components/xform.md +128 -0
  262. package/docs/components/xheader.md +308 -0
  263. package/docs/components/xhero.md +142 -0
  264. package/docs/components/xicon.md +125 -0
  265. package/docs/components/xinput.md +129 -0
  266. package/docs/components/xlightbox.md +98 -0
  267. package/docs/components/xlink.md +109 -0
  268. package/docs/components/xmasonry.md +124 -0
  269. package/docs/components/xmenu.md +158 -0
  270. package/docs/components/xmodal.md +82 -0
  271. package/docs/components/xplayer.md +104 -0
  272. package/docs/components/xpopover.md +67 -0
  273. package/docs/components/xprogress.md +56 -0
  274. package/docs/components/xradio.md +103 -0
  275. package/docs/components/xrouter.md +260 -0
  276. package/docs/components/xsection.md +125 -0
  277. package/docs/components/xselect.md +105 -0
  278. package/docs/components/xsidepanel.md +30 -0
  279. package/docs/components/xspinner.md +102 -0
  280. package/docs/components/xstate.md +148 -0
  281. package/docs/components/xstatus.md +55 -0
  282. package/docs/components/xsummary.md +78 -0
  283. package/docs/components/xsurfacemanager.md +27 -0
  284. package/docs/components/xsurfacewindow.md +21 -0
  285. package/docs/components/xtabs.md +160 -0
  286. package/docs/components/xtextarea.md +98 -0
  287. package/docs/components/xtheme.md +167 -0
  288. package/docs/components/xtoast.md +62 -0
  289. package/docs/components/xtooltip.md +66 -0
  290. package/docs/components/xtype.md +82 -0
  291. package/docs/components/xutils.md +144 -0
  292. package/docs/components/xwriter.md +94 -0
  293. package/docs/components.md +117 -0
  294. package/docs/conditional-network-evidence-ci.md +38 -0
  295. package/docs/conditional-network-evidence.md +50 -0
  296. package/docs/core-migration-guide.md +110 -0
  297. package/docs/design-tokens.md +116 -0
  298. package/docs/docs-rmt-production-hardening.md +31 -0
  299. package/docs/enterprise-adoption.md +411 -0
  300. package/docs/enterprise-component-flex-release-handoff.md +129 -0
  301. package/docs/epic10-platform-gates.md +62 -0
  302. package/docs/epic10-release-handoff.md +81 -0
  303. package/docs/epic11-enterprise-ux-handoff.md +70 -0
  304. package/docs/epic12-rc0-handoff.md +61 -0
  305. package/docs/existing-component-metadata.md +67 -0
  306. package/docs/hydration-performance-closure.md +34 -0
  307. package/docs/hydration-policies.md +71 -0
  308. package/docs/index.php +1625 -0
  309. package/docs/known-residual-triage.md +22 -0
  310. package/docs/manifest-import-policy.md +79 -0
  311. package/docs/manifest.md +106 -0
  312. package/docs/menu.json +1190 -0
  313. package/docs/motion-contrast.md +67 -0
  314. package/docs/package-export-lock.md +44 -0
  315. package/docs/performance-measurements.md +106 -0
  316. package/docs/performance-regression.md +89 -0
  317. package/docs/performance.md +94 -0
  318. package/docs/previews/README.md +17 -0
  319. package/docs/prod-browser-csp-smokes.md +40 -0
  320. package/docs/public-component-types.md +79 -0
  321. package/docs/quick-start-guide.md +152 -0
  322. package/docs/rc0-adoption-guide.md +102 -0
  323. package/docs/rc0-gate-matrix.md +58 -0
  324. package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
  325. package/docs/rc1-migration-notes.md +69 -0
  326. package/docs/rc1-readiness.md +46 -0
  327. package/docs/release-owner-acceptance.md +56 -0
  328. package/docs/release-report-pack-dry-run-evidence.md +39 -0
  329. package/docs/rmt-dsl-authoring-polish.md +122 -0
  330. package/docs/rmt-first-demo-app.md +77 -0
  331. package/docs/rmt-first-xtend-apps.md +105 -0
  332. package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  333. package/docs/rmt-kernel-security-hardening-migration.md +50 -0
  334. package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
  335. package/docs/rmt-language-server.md +177 -0
  336. package/docs/rmt-lifecycle-demo.md +25 -0
  337. package/docs/rmt-linter.md +140 -0
  338. package/docs/rmt-production-readiness.md +63 -0
  339. package/docs/rmt-tooling-release-gates.md +77 -0
  340. package/docs/rmt-vnext-authoring.md +60 -0
  341. package/docs/rmt-vnext-cross-surface-events.md +68 -0
  342. package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  343. package/docs/rmt-vnext-migration-notes.md +62 -0
  344. package/docs/rmt-vnext-release-handoff.md +69 -0
  345. package/docs/rmt-vnext-remote-surfaces.md +90 -0
  346. package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
  347. package/docs/screenreader-signals.md +56 -0
  348. package/docs/supply-chain-gates.md +100 -0
  349. package/docs/surface-manager-authoring-guide.md +94 -0
  350. package/docs/surface-manager-browser-lab.md +45 -0
  351. package/docs/surface-manager-component-lab.md +43 -0
  352. package/docs/surface-manager-controller.md +66 -0
  353. package/docs/surface-manager-layout-engines.md +32 -0
  354. package/docs/surface-manager-lazy-hydration.md +63 -0
  355. package/docs/surface-manager-migration-guide.md +94 -0
  356. package/docs/surface-manager-native-rmt-surfaces.md +38 -0
  357. package/docs/surface-manager-overlay-bridge.md +53 -0
  358. package/docs/surface-manager-persistence.md +30 -0
  359. package/docs/surface-manager-quality-gates.md +51 -0
  360. package/docs/surface-manager-release-handoff.md +68 -0
  361. package/docs/surface-manager-remote-policy.md +54 -0
  362. package/docs/surface-manager-rmt-authoring.md +86 -0
  363. package/docs/surface-manager-route-lifecycle.md +59 -0
  364. package/docs/surface-manager-runtime-release-handoff.md +69 -0
  365. package/docs/surface-manager-side-panel-runtime.md +36 -0
  366. package/docs/surface-manager-stack-policy.md +39 -0
  367. package/docs/surface-manager-window-runtime.md +47 -0
  368. package/docs/surface-manager-workbench-fixture.md +43 -0
  369. package/docs/third-party-design-authoring.md +406 -0
  370. package/docs/trusted-dom-boundary-browser-proof.md +32 -0
  371. package/docs/trusted-dom-sanitizing.md +110 -0
  372. package/docs/type-exports.md +61 -0
  373. package/docs/typescript-components.md +63 -0
  374. package/docs/utils/fabric-runtime.js +650 -0
  375. package/docs/utils/pageloader.js +2823 -0
  376. package/docs/utils/parsedown.php +298 -0
  377. package/docs/visual-browser-regression.md +83 -0
  378. package/docs/visual-owner-artifacts.md +46 -0
  379. package/docs/visual-snapshot-automation.md +87 -0
  380. package/docs/xtend-api-types.md +55 -0
  381. package/docs/xtend-builder-types.md +55 -0
  382. package/docs/xtend-catalog-types.md +44 -0
  383. package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
  384. package/docs/xtend-fabric.md +474 -0
  385. package/docs/xtend-loader-types.md +58 -0
  386. package/docs/xtend-loader.md +265 -0
  387. package/docs/xtend-policy-types.md +38 -0
  388. package/docs/xtend-rmt-types.md +39 -0
  389. package/docs/xtend-vendor-types.md +36 -0
  390. package/docs/xtendrmt-app-dsl.md +269 -0
  391. package/docs/xtendrmt-migration-guide.md +235 -0
  392. package/docs/xtendrmt-native-authoring.md +337 -0
  393. package/docs/xtendrmt-overview.md +89 -0
  394. package/docs/xtendrmt-parsedown-docs.rmt +956 -0
  395. package/docs/xtendrmt-parsedown-scheduling.md +301 -0
  396. package/docs/xtendrmt-runtime-bridge.md +155 -0
  397. package/fabric/hydration-policy.d.ts +27 -0
  398. package/fabric/hydration-policy.js +306 -0
  399. package/fabric/package.json +58 -0
  400. package/fabric/rmt-lane-mapping.d.ts +47 -0
  401. package/fabric/rmt-lane-mapping.js +504 -0
  402. package/fabric/xtend-fabric.d.ts +81 -0
  403. package/fabric/xtend-fabric.js +2669 -0
  404. package/fabric/xtend-policy-public-types.d.ts +135 -0
  405. package/package.json +8225 -0
  406. package/security/README.md +54 -0
  407. package/security/manifest-import-policy.d.ts +43 -0
  408. package/security/manifest-import-policy.js +260 -0
  409. package/security/supply-chain-gate-policy.d.ts +45 -0
  410. package/security/supply-chain-gate-policy.js +249 -0
  411. package/security/trusted-dom-policy.d.ts +36 -0
  412. package/security/trusted-dom-policy.js +316 -0
  413. package/tools/package.json +77 -0
  414. package/tools/rmt-editor/vscode/README.md +33 -0
  415. package/tools/rmt-editor/vscode/extension.d.ts +9 -0
  416. package/tools/rmt-editor/vscode/extension.js +55 -0
  417. package/tools/rmt-editor/vscode/language-configuration.json +28 -0
  418. package/tools/rmt-editor/vscode/package.json +83 -0
  419. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
  420. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
  421. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  422. package/tools/rmt-language/code-actions.d.ts +15 -0
  423. package/tools/rmt-language/code-actions.js +566 -0
  424. package/tools/rmt-language/completions.d.ts +22 -0
  425. package/tools/rmt-language/completions.js +475 -0
  426. package/tools/rmt-language/definitions.d.ts +13 -0
  427. package/tools/rmt-language/definitions.js +212 -0
  428. package/tools/rmt-language/diagnostics.d.ts +23 -0
  429. package/tools/rmt-language/diagnostics.js +486 -0
  430. package/tools/rmt-language/format-adapter.d.ts +16 -0
  431. package/tools/rmt-language/format-adapter.js +270 -0
  432. package/tools/rmt-language/hover.d.ts +12 -0
  433. package/tools/rmt-language/hover.js +326 -0
  434. package/tools/rmt-language/kernel-escalation.d.ts +122 -0
  435. package/tools/rmt-language/kernel-escalation.js +427 -0
  436. package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
  437. package/tools/rmt-language/kernel-panic-monitor.js +674 -0
  438. package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
  439. package/tools/rmt-language/kernel-policy-parity.js +629 -0
  440. package/tools/rmt-language/kernel-recovery.d.ts +173 -0
  441. package/tools/rmt-language/kernel-recovery.js +666 -0
  442. package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
  443. package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
  444. package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
  445. package/tools/rmt-language/kernel-security-regression.js +465 -0
  446. package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
  447. package/tools/rmt-language/kernel-trust-authority.js +549 -0
  448. package/tools/rmt-language/parser.d.ts +14 -0
  449. package/tools/rmt-language/parser.js +111 -0
  450. package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
  451. package/tools/rmt-language/rules/boundary-policy.js +81 -0
  452. package/tools/rmt-language/rules/document-policy.js +65 -0
  453. package/tools/rmt-language/rules/index.js +29 -0
  454. package/tools/rmt-language/rules/route-policy.js +81 -0
  455. package/tools/rmt-language/rules/scheduler-policy.js +66 -0
  456. package/tools/rmt-language/rules/template-policy.js +130 -0
  457. package/tools/rmt-language/semantic-graph.d.ts +18 -0
  458. package/tools/rmt-language/semantic-graph.js +827 -0
  459. package/tools/rmt-language/snippets/README.md +17 -0
  460. package/tools/rmt-language/snippets/index.d.ts +17 -0
  461. package/tools/rmt-language/snippets/index.js +417 -0
  462. package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
  463. package/tools/rmt-language/source-model.d.ts +14 -0
  464. package/tools/rmt-language/source-model.js +731 -0
  465. package/tools/rmt-language/symbols.d.ts +13 -0
  466. package/tools/rmt-language/symbols.js +183 -0
  467. package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
  468. package/tools/rmt-language/vnext-compatibility.js +675 -0
  469. package/tools/rmt-language/vnext-compiler.d.ts +17 -0
  470. package/tools/rmt-language/vnext-compiler.js +716 -0
  471. package/tools/rmt-language/vnext-composition.d.ts +30 -0
  472. package/tools/rmt-language/vnext-composition.js +595 -0
  473. package/tools/rmt-language/vnext-conditions.d.ts +25 -0
  474. package/tools/rmt-language/vnext-conditions.js +474 -0
  475. package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
  476. package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
  477. package/tools/rmt-language/vnext-degradation.d.ts +23 -0
  478. package/tools/rmt-language/vnext-degradation.js +428 -0
  479. package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
  480. package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
  481. package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
  482. package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
  483. package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
  484. package/tools/rmt-language/vnext-enterprise-release.js +472 -0
  485. package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
  486. package/tools/rmt-language/vnext-event-governance.js +488 -0
  487. package/tools/rmt-language/vnext-events.d.ts +44 -0
  488. package/tools/rmt-language/vnext-events.js +680 -0
  489. package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
  490. package/tools/rmt-language/vnext-import-resolver.js +642 -0
  491. package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
  492. package/tools/rmt-language/vnext-lifecycle.js +404 -0
  493. package/tools/rmt-language/vnext-parser.d.ts +21 -0
  494. package/tools/rmt-language/vnext-parser.js +1391 -0
  495. package/tools/rmt-language/vnext-regression.d.ts +25 -0
  496. package/tools/rmt-language/vnext-regression.js +394 -0
  497. package/tools/rmt-language/vnext-release.d.ts +29 -0
  498. package/tools/rmt-language/vnext-release.js +293 -0
  499. package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
  500. package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
  501. package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
  502. package/tools/rmt-language/vnext-remote-compiler.js +520 -0
  503. package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
  504. package/tools/rmt-language/vnext-remote-manifest.js +538 -0
  505. package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
  506. package/tools/rmt-language/vnext-remote-security.js +380 -0
  507. package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
  508. package/tools/rmt-language/vnext-remote-tooling.js +805 -0
  509. package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
  510. package/tools/rmt-language/vnext-scheduler.js +469 -0
  511. package/tools/rmt-language/vnext-security.d.ts +28 -0
  512. package/tools/rmt-language/vnext-security.js +597 -0
  513. package/tools/rmt-language/vnext-streaming.d.ts +28 -0
  514. package/tools/rmt-language/vnext-streaming.js +593 -0
  515. package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
  516. package/tools/rmt-language/vnext-surfaces.js +406 -0
  517. package/tools/rmt-language/vnext-tooling.d.ts +25 -0
  518. package/tools/rmt-language/vnext-tooling.js +728 -0
  519. package/tools/rmt-language-server/protocol.d.ts +22 -0
  520. package/tools/rmt-language-server/protocol.js +352 -0
  521. package/tools/rmt-language-server/server.d.ts +15 -0
  522. package/tools/rmt-language-server/server.js +622 -0
  523. package/tools/rmt-linter/cli.d.ts +14 -0
  524. package/tools/rmt-linter/cli.js +450 -0
  525. package/tools/rmt-linter/reporter.d.ts +16 -0
  526. package/tools/rmt-linter/reporter.js +472 -0
  527. package/xtend-builder/README.md +83 -0
  528. package/xtend-builder/a11y/README.md +42 -0
  529. package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
  530. package/xtend-builder/a11y/component-a11y-profile.js +314 -0
  531. package/xtend-builder/blueprints/README.md +105 -0
  532. package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
  533. package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
  534. package/xtend-builder/builder-public-types.d.ts +234 -0
  535. package/xtend-builder/extensions/README.md +26 -0
  536. package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
  537. package/xtend-builder/extensions/component-extension-points.js +277 -0
  538. package/xtend-builder/generators/README.md +149 -0
  539. package/xtend-builder/generators/component-files.d.ts +5 -0
  540. package/xtend-builder/generators/component-files.js +769 -0
  541. package/xtend-builder/generators/component-plan.d.ts +4 -0
  542. package/xtend-builder/generators/component-plan.js +104 -0
  543. package/xtend-builder/generators/registry.d.ts +6 -0
  544. package/xtend-builder/generators/registry.js +118 -0
  545. package/xtend-builder/generators/rmt-build.js +738 -0
  546. package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
  547. package/xtend-builder/lib/cli.d.ts +9 -0
  548. package/xtend-builder/lib/cli.js +543 -0
  549. package/xtend-builder/lib/layout.d.ts +6 -0
  550. package/xtend-builder/lib/layout.js +153 -0
  551. package/xtend-builder/lib/package-resolver.js +25 -0
  552. package/xtend-builder/package.json +90 -0
  553. package/xtend-builder/performance/README.md +31 -0
  554. package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
  555. package/xtend-builder/performance/component-performance-profile.js +347 -0
  556. package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
  557. package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
  558. package/xtend-builder/preview/README.md +61 -0
  559. package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
  560. package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
  561. package/xtend-builder/preview/component-lab.d.ts +14 -0
  562. package/xtend-builder/preview/component-lab.js +278 -0
  563. package/xtend-builder/preview/component-preview.d.ts +5 -0
  564. package/xtend-builder/preview/component-preview.js +160 -0
  565. package/xtend-builder/scaffold.config.d.ts +4 -0
  566. package/xtend-builder/scaffold.config.js +2056 -0
  567. package/xtend-builder/scaffold.d.ts +3 -0
  568. package/xtend-builder/scaffold.js +11 -0
  569. package/xtend-builder/templates/README.md +33 -0
  570. package/xtend-builder/templates/component/a11y.template.ts +11 -0
  571. package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
  572. package/xtend-builder/templates/component/component-suite.template.js +108 -0
  573. package/xtend-builder/templates/component/contract.template.ts +10 -0
  574. package/xtend-builder/templates/component/demo-plan.template.md +73 -0
  575. package/xtend-builder/templates/component/docs.template.md +301 -0
  576. package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
  577. package/xtend-builder/templates/component/fixture.template.html +37 -0
  578. package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
  579. package/xtend-builder/templates/component/performance.template.ts +13 -0
  580. package/xtend-builder/templates/component/rmt.template.ts +12 -0
  581. package/xtend-builder/templates/component/source.template.d.ts +2 -0
  582. package/xtend-builder/templates/component/source.template.js +137 -0
  583. package/xtend-builder/templates/component/source.template.ts +110 -0
  584. package/xtend-builder/templates/component/types.template.d.ts +423 -0
  585. package/xtend-builder/templates/loader.d.ts +4 -0
  586. package/xtend-builder/templates/loader.js +51 -0
  587. package/xtend-builder/templates/registry.d.ts +6 -0
  588. package/xtend-builder/templates/registry.js +119 -0
  589. package/xtend-builder/typing/README.md +130 -0
  590. package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
  591. package/xtend-builder/typing/component-contract-v2.js +248 -0
  592. package/xtend-builder/typing/component-network-contract.d.ts +22 -0
  593. package/xtend-builder/typing/component-network-contract.js +478 -0
  594. package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
  595. package/xtend-builder/typing/component-shell-contract.js +312 -0
  596. package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
  597. package/xtend-builder/typing/component-styling-contract.js +301 -0
  598. package/xtend-builder/typing/component-types.d.ts +10 -0
  599. package/xtend-builder/typing/component-types.js +551 -0
  600. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
  601. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
  602. package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
  603. package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
  604. package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
  605. package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
  606. package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
  607. package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
  608. package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
  609. package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
  610. package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
  611. package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
  612. package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
  613. package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
  614. package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
  615. package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
  616. package/xtend-builder/utils/README.md +8 -0
  617. package/xtend-builder/utils/naming.d.ts +7 -0
  618. package/xtend-builder/utils/naming.js +36 -0
  619. package/xtend-builder/utils/validation.d.ts +5 -0
  620. package/xtend-builder/utils/validation.js +95 -0
  621. package/xtend-builder/wiring/README.md +46 -0
  622. package/xtend-builder/wiring/features.d.ts +5 -0
  623. package/xtend-builder/wiring/features.js +165 -0
  624. package/xtend-builder/wiring/hydration.d.ts +4 -0
  625. package/xtend-builder/wiring/hydration.js +44 -0
  626. package/xtend-builder/wiring/manifest.d.ts +5 -0
  627. package/xtend-builder/wiring/manifest.js +48 -0
  628. package/xtend-builder/workflows/README.md +47 -0
  629. package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
  630. package/xtend-builder/workflows/developer-workflow.js +125 -0
  631. package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
  632. package/xtend-builder/writing/manifest-patcher.js +391 -0
  633. package/xtend-builder/writing/write-plan.d.ts +148 -0
  634. package/xtend-builder/writing/write-plan.js +646 -0
  635. package/xtend-dev.d.ts +23 -0
  636. package/xtend-dev.js +4 -0
  637. package/xtend-loader.d.ts +201 -0
  638. package/xtend-loader.js +1704 -0
  639. package/xtend.css +402 -0
  640. package/xtendrmt/package.json +64 -0
  641. package/xtendrmt/rmt-core.d.ts +4452 -0
  642. package/xtendrmt/rmt-core.esm.js +25793 -0
  643. package/xtendrmt/rmt-first-demo-app.js +265 -0
  644. package/xtendrmt/rmt-first-demo-app.rmt +737 -0
  645. package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
  646. package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
  647. package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
  648. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
  649. package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
  650. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
  651. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
  652. package/xtendrmt/rmt-manifest.json +548 -0
  653. package/xtendrmt/rmt-runtime.browser.js +26183 -0
  654. package/xtendrmt/rmt-runtime.esm.js +26214 -0
  655. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
  656. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
  657. package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
  658. package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
  659. package/xtendrmt/rmt.schema.json +3145 -0
  660. package/xtendrmt/surface-workbench.js +316 -0
  661. package/xtendrmt/surface-workbench.rmt +762 -0
  662. package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
  663. package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
  664. package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
@@ -0,0 +1,301 @@
1
+ # XTendRMT Parsedown Scheduling Pilot
2
+
3
+ - Status: aktiver Docs-App-Pilot ab `ER-WP-40`, Shell-first-Refactor aktiv
4
+ - Contract: `xtend.docs.parsedown-rmt-scheduling.v1`
5
+ - Pilot Contract: `xtend.docs.parsedown-rmt-pilot.v1`
6
+ - Production-Hardening Contract: `xtend.epic13.docs-rmt-production-hardening.v1`
7
+ - Pilot-Dokument: `docs/xtendrmt-parsedown-docs.rmt`
8
+ - Aktuelle Runtime: `docs/index.php` + `docs/utils/parsedown.php` + `docs/utils/pageloader.js`
9
+
10
+ ## Zweck
11
+
12
+ Die offizielle XTend Dokumentation ist selbst eine XTend-App. Markdown-Dateien im `docs` Ordner werden serverseitig ueber Parsedown nach HTML gewandelt und clientseitig ueber XRouter als SPA angezeigt. Der Host spiegelt nur noch die initial benoetigte HTML-Seite in `window.xtendDocsPages`; weitere Parsedown-Payloads werden pro Route ueber `window.xtendDocsPageEndpoint` nachgeladen.
13
+
14
+ Der aktuelle Stand ist Shell-first: Die sichtbare Page-Shell wird nicht mehr rein imperativ im PageLoader gebaut, sondern aus `docs.app.shell` im RMT-Pilot-Dokument als `dom_descriptor` gerendert. Parsedown bleibt Host-Adapter und fuellt nur noch den Content-Slot. Damit kann die Docs-App spaeter neben Markdown auch Rich-HTML- oder XPlayer-Tutorial-Inhalte als RMT-geplante Slots nachladen; der maschinenlesbare Content-Kind dafuer ist `xplayerTutorial`. Parsedown und XTend werden dabei nicht in den RMT Kernel eingebettet.
15
+
16
+ ## ER-WP-40 Pilot-Artefakte
17
+
18
+ | Artefakt | Rolle |
19
+ |----------|-------|
20
+ | `docs/xtendrmt-parsedown-docs.rmt` | RMT-Pilot-Dokument fuer Shell-first-Templates, Docs-Routen, Parsedown-Templates, Schedules, Rich-Content-Slots und Host-Adapter |
21
+ | `docs/index.php` | aktiver Parser-Host, setzt `Parsedown::setSafeMode(true)` und spiegelt `window.xtendDocsRmtDocument`, `window.xtendDocsRmtPilot` sowie `window.xtendDocsPagesMeta` |
22
+ | `docs/utils/pageloader.js` | rendert `docs.app.shell` und `docs.header.search` aus RMT-`dom_descriptor`-Templates, markiert Content-Slots mit `data-rmt-template`, `data-rmt-parse-schedule`, `data-rmt-trust-boundary` und `xtend.docs.parsedown-rmt-render.v1` |
23
+ | `tests/rmt/docs_rmt_pilot_suite.js` | Gate fuer RMT-Normalisierung, Runtime-Registry, Trusted-DOM-Boundary und Docs-App-Anschluss |
24
+ | `package.json` | Metadaten unter `xtend.docsRmtPilot` und Script `npm run test:docs-rmt-pilot` |
25
+
26
+ Der Pilot ist bewusst host-neutral: `docs/index.php` bleibt Parser-Host, waehrend RMT die Shell, Search-UI, Schedules und zukuenftige Content-Slots beschreibt. Der PageLoader ist dadurch ein Host-Adapter fuer RMT-Descriptoren.
27
+
28
+ Ab `WP-E13-10` besitzt derselbe Pfad zusaetzlich die Production-Hardening-Schicht `xtend.epic13.docs-rmt-production-hardening.v1`. Sie stabilisiert `docs.slot.content`, `docs.slot.rich-content`, `docs.slot.media` und `docs.slot.diagnostics`, sodass Parsedown-HTML, Rich HTML ueber `docs.rich-content.prepare`, XPlayer-Tutorials ueber `docs.media.lazy` und Diagnostics getrennt scheduled werden koennen. Der Gate lautet `node scripts/run_xtend_tests.js epic13-docs-rmt-production-hardening --json`.
29
+
30
+ Ab der Skeleton-Haertung nutzt der Pilot den nativen `xtend.loader.skeleton-loader.v1` und die `xtend.loader.style-registry.v1`: Die Loader-Registry deckt undefinierte XTend Custom Elements mit deklarativen Skeletons oder verstecktem Light DOM ab, XRouter zeigt pro Route einen Skeleton-Fallback waehrend Import und Hydration, und `xtend-doc-page` setzt denselben Loader fuer den Parsedown-Content-Slot ein. Dadurch bleibt die App Shell sichtbar und stabil, waehrend der schwere HTML-Commit erst nach dem ersten Paint erfolgt. `xtend.css` bleibt als Standard-Dateiname fuer Host-Theming optional nutzbar, ist fuer diesen FOUC-Schutz aber keine harte Voraussetzung mehr.
31
+
32
+ ## Aktueller Docs-App-Fluss
33
+
34
+ 1. `docs/index.php` findet alle `.md` Dateien rekursiv.
35
+ 2. `docs/utils/parsedown.php` wandelt nur die initiale oder per Route angefragte Markdown-Datei in HTML.
36
+ 3. `window.xtendDocsPagesMeta` enthaelt die SEO-, Schedule- und RMT-Metadaten nach Slug; `window.xtendDocsPages` enthaelt nur vorhandene HTML-Payloads.
37
+ 4. `<x-router mode="hash" skeleton="article">` routet auf `xtend-doc-page`, lazy-laedt dessen Modul und hydriert den Route-Subtree ueber den Loader.
38
+ 5. `docs/utils/pageloader.js` liest `window.xtendDocsRmtDocument` und rendert `docs.app.shell` Shell-first.
39
+ 6. Der `data-rmt-slot="content"` Slot zeigt einen nativen SkeletonLoader, bis Parsedown-HTML nach dem ersten Paint sanitisiert und eingesetzt wurde.
40
+ 7. `docs.header.search` liefert die Header-Suche als RMT-Descriptor fuer den `search` Slot von `x-header`.
41
+ 8. `docs/menu.json` definiert die sichtbare Navigationshierarchie; `pageloader.js` gruppiert und priorisiert sie fuer die Drawer-Navigation.
42
+
43
+ Seit dem Document-Title-Rewrite werden pro Markdown-Datei zusaetzlich RMT Route Records erzeugt und in `window.xtendDocsRmtDocument.routes` gespiegelt. `docs/index.php` extrahiert den ersten H1 als `title`, erzeugt `documentTitle`, `titleTemplate`, `metaDescription` und `metaKeywords` und rendert daraus die sichtbaren `<x-route>` Attribute `title`, `document-title`, `title-template`, `meta-description` und `meta-keywords`. XRouter fuehrt anschliessend das eigentliche Schreiben von `document.title` und der SEO-Metatags aus. Damit bleibt der Use Case RMT-deklarativ, waehrend die Browser-Seiteneffekte im XRouter Adapter liegen.
44
+
45
+ Dieser Fluss bleibt ein Host-Fluss. RMT liefert die Shell- und Schedule-Records; DOM-Sinks, Parsedown und konkrete Event-Bindings bleiben im Docs Host Adapter.
46
+
47
+ Der Host Adapter normalisiert nach dem Sanitizing zusaetzlich Inline-Code aus Parsedown SafeMode. SafeMode escaped Backtick-Inhalte wie `` `<x-code>` `` in einzelnen Faellen doppelt (`&amp;lt;...&amp;gt;`). `pageloader.js` decodiert solche Entities ausschliesslich innerhalb von `<code>`-Nodes und schreibt sie als `textContent` zurueck. Dadurch bleibt die Trusted-DOM-Boundary intakt, waehrend Komponenten- und API-Namen in der Dokumentation lesbar bleiben.
48
+
49
+ ## Navigationshierarchie
50
+
51
+ Die Docs-Navigation nutzt seit dem Hierarchie-Hardening pro Artikel stabile Metadaten:
52
+
53
+ - `id`: kanonische Artikel-ID, z.B. `docs.components.xcode`
54
+ - `group`: sichtbarer Navigationsbereich wie `core`, `components`, `rmt` oder `release`
55
+ - `parent`: optionaler Parent-Slug fuer Deep-Dive-Zweige
56
+ - `tier`: Einordnung wie `basic`, `deep-dive`, `component-reference` oder `release-deep-dive`
57
+ - `rank`: PageRank-artiger Sichtbarkeitswert, bei dem hohe Werte zuerst und direkt sichtbar erscheinen
58
+
59
+ Damit sieht der User zuerst Grundlagen wie Startseite, Manifest, API, Komponentenuebersicht oder XTendRMT Overview. Spezifische Artikel werden kaskadierend unter dem jeweiligen Einstiegspunkt als Deep Dive angeboten.
60
+
61
+ ## RMT-Zielbild
62
+
63
+ Parsedown wird als eigener Host Adapter beschrieben:
64
+
65
+ ```json
66
+ {
67
+ "id": "docs.parsedown",
68
+ "kind": "template_adapter",
69
+ "runtimeSurface": ["server", "browser_classic"],
70
+ "providedCapabilities": ["markdown", "htmlFragments", "slugIndex", "scheduleRefs"],
71
+ "kernelVisible": false
72
+ }
73
+ ```
74
+
75
+ Die Docs-App bleibt XTend UI:
76
+
77
+ ```json
78
+ {
79
+ "id": "docs.page",
80
+ "kind": "custom_element",
81
+ "adapter": "xtend.component",
82
+ "tag": "xtend-doc-page",
83
+ "schedule": "docs.page.hydrate"
84
+ }
85
+ ```
86
+
87
+ Die Shell selbst ist ein RMT-Template:
88
+
89
+ ```json
90
+ {
91
+ "id": "docs.app.shell",
92
+ "mode": "dom_descriptor",
93
+ "schedule": "docs.shell.render",
94
+ "nodes": [
95
+ {
96
+ "tag": "x-section",
97
+ "attributes": {
98
+ "data-rmt-shell": "docs.app.shell",
99
+ "data-rmt-shell-mode": "shell-first"
100
+ }
101
+ }
102
+ ]
103
+ }
104
+ ```
105
+
106
+ Parsedown-Arbeit wird als Schedule Policy geplant:
107
+
108
+ ```json
109
+ {
110
+ "id": "docs.markdown.parse",
111
+ "endpointName": "xtendrmt.docs.parsedown.parse",
112
+ "scope": "docs.markdown",
113
+ "lane": "background",
114
+ "priority": 35,
115
+ "preferIdle": true,
116
+ "budgetClass": "background"
117
+ }
118
+ ```
119
+
120
+ ## Pilot-Dokument
121
+
122
+ Das produktive Pilot-Dokument liegt unter `docs/xtendrmt-parsedown-docs.rmt`. Es enthaelt drei reale Docs-Routen:
123
+
124
+ - `/readme`
125
+ - `/enterprise-adoption`
126
+ - `/xtendrmt-parsedown-scheduling`
127
+
128
+ Die gekuerzte Struktur:
129
+
130
+ ```json
131
+ {
132
+ "kind": "rmt_document",
133
+ "version": "1.0",
134
+ "documentId": "docs.xtend.developer-center",
135
+ "namespace": "docs",
136
+ "adapters": [
137
+ {
138
+ "id": "docs.parsedown",
139
+ "kind": "template_adapter",
140
+ "runtimeSurface": ["server"],
141
+ "providedCapabilities": ["markdown", "htmlFragments", "slugIndex", "scheduleRefs"],
142
+ "kernelVisible": false
143
+ },
144
+ {
145
+ "id": "xtend.xrouter",
146
+ "kind": "router_adapter",
147
+ "runtimeSurface": ["browser_classic"],
148
+ "providedCapabilities": ["routes", "navigation", "scheduleRefs"],
149
+ "kernelVisible": false
150
+ },
151
+ {
152
+ "id": "xtend.component",
153
+ "kind": "component_adapter",
154
+ "runtimeSurface": ["browser_classic"],
155
+ "providedCapabilities": ["components", "customElements", "hydration", "scheduleRefs"],
156
+ "kernelVisible": false
157
+ }
158
+ ],
159
+ "components": [
160
+ {
161
+ "id": "docs.page",
162
+ "kind": "custom_element",
163
+ "adapter": "xtend.component",
164
+ "tag": "xtend-doc-page",
165
+ "schedule": "docs.page.hydrate"
166
+ },
167
+ {
168
+ "id": "docs.shell",
169
+ "kind": "template_component",
170
+ "adapter": "docs.rich-content",
171
+ "tag": "x-section",
172
+ "schedule": "docs.shell.render"
173
+ },
174
+ {
175
+ "id": "docs.media.player",
176
+ "kind": "custom_element",
177
+ "adapter": "xtend.component",
178
+ "tag": "x-player",
179
+ "schedule": "docs.media.lazy"
180
+ }
181
+ ],
182
+ "routes": [
183
+ {
184
+ "id": "docs.readme",
185
+ "path": "/readme",
186
+ "router": "xtend.xrouter",
187
+ "component": "docs.page",
188
+ "title": "XTend Developer Documentation",
189
+ "documentTitle": "XTend Developer Documentation | XTend Dokumentation",
190
+ "titleTemplate": "{{title}} | XTend Dokumentation",
191
+ "metaDescription": "Developer Documentation fuer XTend UI und XTendRMT.",
192
+ "template": "docs.readme.markdown",
193
+ "schedule": "docs.route.render"
194
+ }
195
+ ],
196
+ "schedules": [
197
+ {
198
+ "id": "docs.shell.render",
199
+ "endpointName": "xtendrmt.shell.render",
200
+ "scope": "docs.shell",
201
+ "lane": "visible",
202
+ "priority": 90
203
+ },
204
+ {
205
+ "id": "docs.markdown.parse",
206
+ "endpointName": "xtendrmt.docs.parsedown.parse",
207
+ "scope": "docs.markdown",
208
+ "lane": "background",
209
+ "priority": 35,
210
+ "preferIdle": true
211
+ },
212
+ {
213
+ "id": "docs.route.render",
214
+ "endpointName": "xtendrmt.route.render",
215
+ "scope": "docs.route.render",
216
+ "lane": "visible",
217
+ "priority": 80
218
+ },
219
+ {
220
+ "id": "docs.page.hydrate",
221
+ "endpointName": "xtendrmt.component.hydrate",
222
+ "scope": "docs.page.hydrate",
223
+ "lane": "idle",
224
+ "priority": 40,
225
+ "preferIdle": true
226
+ },
227
+ {
228
+ "id": "docs.media.lazy",
229
+ "endpointName": "xtendrmt.docs.media.lazy",
230
+ "scope": "docs.media",
231
+ "lane": "idle",
232
+ "preferIdle": true
233
+ }
234
+ ],
235
+ "templates": [
236
+ {
237
+ "id": "docs.readme.markdown",
238
+ "mode": "html_fragment",
239
+ "source": "docs/README.md",
240
+ "adapter": "docs.parsedown",
241
+ "security": {
242
+ "markupClass": "parsedownHtml",
243
+ "trustBoundary": "xtend.security.sanitizing-boundary.v1",
244
+ "sink": "trustedDomBoundary"
245
+ },
246
+ "hydration": {
247
+ "mode": "hydrate_prerendered",
248
+ "metadata": {
249
+ "endpointHint": "xtendrmt.docs.parsedown.parse"
250
+ }
251
+ }
252
+ }
253
+ ]
254
+ }
255
+ ```
256
+
257
+ ## Verantwortungsgrenzen
258
+
259
+ | Verantwortung | Ort |
260
+ |----------------|-----|
261
+ | Markdown lesen | Docs-App oder Docs Host Adapter |
262
+ | Parsedown ausfuehren | `docs.parsedown` Adapter |
263
+ | HTML-Fragmente bereitstellen | Docs-App Host Boundary mit `xtend.security.sanitizing-boundary.v1` |
264
+ | Shell-first-App-Shell rendern | `docs.app.shell` ueber Docs Host Adapter |
265
+ | Header-Suche rendern | `docs.header.search` ueber Docs Host Adapter |
266
+ | Rich HTML und Tutorial-Videos vorbereiten | `docs.rich-content` und `docs.media.lazy` |
267
+ | Routen registrieren | `createRmtXRouterAdapter` |
268
+ | Seite hydrieren | `createRmtXtendComponentAdapter` |
269
+ | Scheduling und Diagnostics spiegeln | `createRmtStateSchedulerDiagnosticsBridge` |
270
+
271
+ Der RMT Kernel bekommt nur Records, Policies und Diagnostics. Er parst kein Markdown, ruft kein PHP auf und sanitized kein HTML. Parsedown-Ausgabe gilt trotz `Parsedown::setSafeMode(true)` als `parsedownHtml` und muss ueber die Trusted-DOM-Policy aus [Trusted DOM und Sanitizing](./trusted-dom-sanitizing.md) laufen.
272
+
273
+ ## Umgesetzte Pilot-Schritte
274
+
275
+ | Schritt | Status |
276
+ |---------|--------|
277
+ | Docs-App-Fluss auf Shell-first-RMT-Shell umstellen | `done` |
278
+ | `.rmt` Pilot fuer Docs-Routen und Parsedown-Schedules anlegen | `done` |
279
+ | `docs.parsedown` Adapter als Host-Schicht beschreiben | `done` |
280
+ | `docs.app.shell` als produktive RMT-App-Shell rendern | `done` |
281
+ | `docs.header.search` als RMT-Header-Suchtemplate rendern | `done` |
282
+ | Rich-Content- und `x-player`-Slots als future-ready RMT-Schedules vorbereiten | `done` |
283
+ | `xtend.security.sanitizing-boundary.v1` fuer Parsedown HTML im Host Adapter nachweisen | `done` |
284
+ | `createRmtFormat().normalizeDocument(...)` und `createRuntimeRegistries(...)` fuer Docs-Routes nutzen | `done` |
285
+ | Docs-App mit per-page RMT-Metadaten ausstatten | `done` |
286
+ | Parsedown-Parse-Jobs ueber `xtendrmt.docs.parsedown.parse` schedulbar machen | `done` |
287
+ | Reference- und RMT-Pilot-Gates erweitern | `done` |
288
+
289
+ Noch nicht Teil des Pilots: Produktive XRouter-Routen werden nicht aus dem RMT-Dokument registriert. Das bleibt ein spaeterer Runtime-Ausbau. Ebenfalls noch nicht aktiv: Rich-HTML- und XPlayer-Inhalte werden nur als Slots und Schedules vorbereitet, aber noch nicht mit externen Tutorial-Payloads befuellt.
290
+
291
+ ## Mindestgates
292
+
293
+ ```bash
294
+ php -l docs/index.php
295
+ node scripts/run_xtend_tests.js docs-rmt-pilot --json
296
+ node scripts/run_xtend_tests.js references --json
297
+ node scripts/run_xtend_tests.js browser --json
298
+ node scripts/run_xtend_tests.js rmt-compatibility --json
299
+ ```
300
+
301
+ Der Pilot ist Shell-first, aber weiterhin framework-agnostisch. Solange kein produktiver `docs.parsedown` Runtime-Adapter die PHP-Seite ersetzt, bleibt `docs/index.php` der aktive Parser-Host.
@@ -0,0 +1,155 @@
1
+ # XTendRMT Runtime Bridge
2
+
3
+ - Status: aktuell nach Epic 05 Abschluss
4
+ - Contract: `xtend.docs.xtendrmt-runtime-bridge.v1`
5
+ - Kerncontracts:
6
+ - `xtend.rmt.xrouter-adapter.v1`
7
+ - `xtend.rmt.xtend-component-adapter.v1`
8
+ - `xtend.rmt.state-scheduler-diagnostics-bridge.v1`
9
+ - `xtend.rmt.artifact-parity.v1`
10
+
11
+ ## Zweck
12
+
13
+ Die Runtime Bridge verbindet normalisierte RMT App-DSL-Daten mit echten Host-Laufzeiten. Sie ist bewusst adapterbasiert:
14
+
15
+ - RMT normalisiert und indiziert.
16
+ - XRouter registriert und navigiert Routes.
17
+ - XTend Components mounten und hydrieren UI.
18
+ - Die Bridge spiegelt Adapter Results, Scheduler Endpoints und Diagnostics.
19
+
20
+ Der RMT Kernel bleibt dadurch host-neutral.
21
+
22
+ ## Artefakte und Entry Points
23
+
24
+ | Artefakt | Nutzung |
25
+ |----------|---------|
26
+ | `xtendrmt/rmt-core.esm.js` | ESM-Core, Tests und Build-Referenz |
27
+ | `xtendrmt/rmt-runtime.esm.js` | ESM-Runtime mit produktiven Factories |
28
+ | `xtendrmt/rmt-runtime.browser.js` | Browser-Classic-Bundle, installiert `window.xtend.rmt` |
29
+ | `xtendrmt/rmt-core.d.ts` | TypeScript-Contract fuer oeffentliche Factories |
30
+ | `xtendrmt/rmt-manifest.json` | Produktmanifest und Artefakt-Paritaetscontract |
31
+
32
+ Das Browser-Bundle stellt zusaetzlich `window.AppModules` bereit. Die produktive Classic Surface wird unter `window.xtend.rmt` installiert.
33
+
34
+ ## ESM-Verwendung
35
+
36
+ ```js
37
+ import {
38
+ createRmtFormat,
39
+ createRmtXRouterAdapter,
40
+ createRmtXtendComponentAdapter,
41
+ createRmtStateSchedulerDiagnosticsBridge
42
+ } from './xtendrmt/rmt-runtime.esm.js';
43
+
44
+ const format = createRmtFormat();
45
+ const normalizedDocument = format.normalizeDocument(rmtDocument);
46
+ const registry = format.createRuntimeRegistries(normalizedDocument);
47
+ ```
48
+
49
+ ## Browser-Classic-Verwendung
50
+
51
+ ```html
52
+ <script src="/xtendrmt/rmt-runtime.browser.js"></script>
53
+ <script type="module">
54
+ const appModules = window.AppModules;
55
+ const format = appModules.createRmtFormat();
56
+ const normalizedDocument = format.normalizeDocument(window.appRmtDocument);
57
+ </script>
58
+ ```
59
+
60
+ Der Browser-Smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` nutzt diesen Pfad.
61
+
62
+ ## XRouter Adapter
63
+
64
+ ```js
65
+ const routeAdapter = createRmtXRouterAdapter({
66
+ routerElement: document.querySelector('x-router'),
67
+ xstate: window.xstate
68
+ });
69
+
70
+ const routeResult = routeAdapter.registerRoutes(registry);
71
+ routeAdapter.navigate({ routeId: 'settings' }, {
72
+ mapping: routeResult.handle.mapping
73
+ });
74
+ ```
75
+
76
+ Der Adapter konsumiert `routeRegistry.byRouter["xtend.xrouter"]` und erzeugt XRouter-kompatible Route Records. RMT-Informationen bleiben als `data-rmt-*` Attribute und Route-Details sichtbar.
77
+
78
+ ## XTend Component Adapter
79
+
80
+ ```js
81
+ const componentAdapter = createRmtXtendComponentAdapter({
82
+ document,
83
+ customElements,
84
+ manifest: {
85
+ 'x-card': '/components/xcards.js'
86
+ }
87
+ });
88
+
89
+ const mapping = componentAdapter.mapComponents(registry);
90
+ componentAdapter.registerComponent(mapping);
91
+ componentAdapter.mountComponent(rootElement, 'settings.card', {
92
+ label: 'Settings'
93
+ });
94
+ componentAdapter.hydrateComponent(rootElement, 'settings.card');
95
+ ```
96
+
97
+ Der Adapter ist fuer Manifest Lookup, Custom-Element-Registration, DOM-Erzeugung, Props, Attribute, Slots, Events und Hydration verantwortlich.
98
+
99
+ ## State-/Scheduler-/Diagnostics Bridge
100
+
101
+ ```js
102
+ const bridge = createRmtStateSchedulerDiagnosticsBridge({
103
+ xstate: window.xstate,
104
+ scheduler: performanceRuntime,
105
+ diagnosticsHub
106
+ });
107
+
108
+ const stateBridge = bridge.createStateBridge();
109
+ stateBridge.set('rmt.demo.ready', true);
110
+
111
+ bridge.recordAdapterResult(routeResult, {
112
+ scheduleRef: 'route.visible.render'
113
+ });
114
+
115
+ bridge.recordTelemetrySnapshot(fabricSnapshot, {
116
+ scheduleRef: 'diagnostics.snapshot',
117
+ runInline: true
118
+ });
119
+
120
+ bridge.scheduleEndpoint(
121
+ 'xtendrmt.component.hydrate',
122
+ 'app.component.hydrate',
123
+ () => ({ ok: true }),
124
+ { runInline: true }
125
+ );
126
+ ```
127
+
128
+ Die Bridge schreibt u.a.:
129
+
130
+ - `rmt.bridge.ready`
131
+ - `rmt.telemetry.lastSnapshot`
132
+ - `rmt.backpressure.lastSignal`
133
+ - `rmt.backpressure.profile`
134
+ - `rmt.scheduler.lastEndpoint`
135
+ - `rmt.adapter.lastResult`
136
+ - `rmt.diagnostics.last`
137
+ - `rmt.route.<id>.lastResult`
138
+ - `rmt.component.<id>.lastResult`
139
+
140
+ Wenn kein externes `xstate` existiert, faellt die Bridge auf einen in-memory State Handle zurueck und meldet einen degradierten, aber nutzbaren Zustand.
141
+
142
+ ## Multi-Host-Regel
143
+
144
+ Nicht-XTend Hosts nutzen denselben RMT-Fluss mit eigener Adapter-ID. Die Browser-Smoke-Fixture verwendet `vanilla.component` und `xtendrmt.vanilla.mount`, um sicherzustellen, dass XTend First-Class Host ist, aber kein Kernel-Zwang entsteht.
145
+
146
+ ## Artefakt-Paritaet
147
+
148
+ Nach Aenderungen an Runtime, Schema, Manifest oder Typen muss der Paritaetsgate laufen:
149
+
150
+ ```bash
151
+ node scripts/verify_xtendrmt_artifact_parity.js --json
152
+ node scripts/run_xtend_tests.js rmt-compatibility --json
153
+ ```
154
+
155
+ Der Gate verhindert Drift zwischen Schema, Manifest, Typdefinitionen, ESM-Bundles und Browser-Bundle.
@@ -0,0 +1,27 @@
1
+ export * from './xtend-policy-public-types';
2
+ import type {
3
+ XtendFabricFiberInput,
4
+ XtendHydrationDecision,
5
+ XtendPolicyConstant,
6
+ XtendPolicyFunction,
7
+ XtendPolicyOptions,
8
+ XtendRmtScheduleRecord
9
+ } from './xtend-policy-public-types';
10
+
11
+ export interface XtendHydrationPolicyController {
12
+ schema: string;
13
+ componentRef: string;
14
+ resolve(options?: XtendPolicyOptions): XtendHydrationDecision;
15
+ createFiberInput(options?: XtendPolicyOptions): XtendFabricFiberInput;
16
+ hydrate(instrumentation: { hydrate(task: unknown, fiberInput: XtendFabricFiberInput): unknown }, task: unknown, options?: XtendPolicyOptions): unknown;
17
+ }
18
+
19
+ export declare const CONTRACTS: XtendPolicyConstant<Record<string, string>>;
20
+ export declare const BROWSER_NAMESPACE: XtendPolicyConstant<string>;
21
+ export declare const HYDRATION_POLICIES: XtendPolicyConstant<Record<string, unknown>>;
22
+ export declare const HYDRATION_POLICY_IDS: XtendPolicyConstant<string[]>;
23
+ export declare const NON_BLOCKING_LANES: XtendPolicyConstant<string[]>;
24
+ export declare function resolveHydrationPolicy(options?: XtendPolicyOptions): XtendHydrationDecision;
25
+ export declare function createHydrationFiberInput(componentRef?: string, options?: XtendPolicyOptions): XtendFabricFiberInput;
26
+ export declare function createHydrationPolicyController(componentRef?: string, controllerOptions?: XtendPolicyOptions): XtendHydrationPolicyController;
27
+ export declare const createHydrationScheduleRecords: XtendPolicyFunction<XtendRmtScheduleRecord[]>;