@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,235 @@
1
+ # XTendRMT Native Migration Guide
2
+
3
+ - Status: produktiv nach Epic 05 Abschluss
4
+ - Contract: `xtend.rmt.native-migration-guide.v1`
5
+ - Mindestgates:
6
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json`
7
+ - `node scripts/run_xtend_tests.js references --json`
8
+ - `npm test`
9
+
10
+ ## Zweck
11
+
12
+ Dieser Guide beschreibt die Migration von fruehen XTendRMT-Metadatenpfaden zu nativen RMT Top-Level-Domains. Die Migration ist additiv und opt-in: bestehende XTend-, React-, Vue-, Vanilla-JS- und Custom-Apps duerfen weiterlaufen, waehrend neue RMT App-DSL-Dokumente direkt `adapters`, `components`, `routes` und `schedules` verwenden.
13
+
14
+ Der aktuelle Produktueberblick liegt in [XTendRMT Developer Overview](./xtendrmt-overview.md). Die App-DSL-Details stehen in [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md), die produktive Adapter-/Bridge-Verkabelung in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
15
+
16
+ ## Zielzustand
17
+
18
+ Neue Dokumente sollen diese Quellen nutzen:
19
+
20
+ | Bereich | Zielquelle |
21
+ |---------|------------|
22
+ | Host Adapter | `adapters` |
23
+ | XTend Components | `components` mit `adapter: "xtend.component"` |
24
+ | XRouter Routes | `routes` mit `router: "xtend.xrouter"` |
25
+ | Scheduler Policies | `schedules` |
26
+ | Markup oder Fragmente | `templates` |
27
+ | Beschreibung, Handoff, Historie | `manifest.metadata` |
28
+
29
+ `manifest.metadata` bleibt fuer Produktbeschreibung, Handoff-Notizen, Demo-Historie und bewusst historische Pilotdaten gueltig. Operative Routes, Components und Schedules sollen dort nicht neu entstehen. Template-only-Dokumente bleiben kompatibel.
30
+
31
+ ## Migrationsmatrix
32
+
33
+ | Ausgangslage | Migration |
34
+ |--------------|-----------|
35
+ | Template-only `.rmt` Dokument | bleibt gueltig; nur bei App-DSL-Bedarf native Domains ergaenzen |
36
+ | `manifest.metadata.routes` | nach `routes` verschieben |
37
+ | `manifest.metadata.components` | nach `components` verschieben |
38
+ | `manifest.metadata.schedules` | nach `schedules` verschieben |
39
+ | XRouter-spezifische Demo-Initialisierung | durch `createRmtXRouterAdapter` ersetzen |
40
+ | XTend-spezifische Demo-Mount-Logik | durch `createRmtXtendComponentAdapter` ersetzen |
41
+ | manuelle Scheduler-/State-Bruecke | durch `createRmtStateSchedulerDiagnosticsBridge` ersetzen |
42
+ | nicht-XTend Host | eigenen Adapter wie `vanilla.component` deklarieren |
43
+
44
+ ## Schritt 1: Adapter explizit machen
45
+
46
+ Alte Demo-Metadaten enthalten oft implizites Wissen wie "diese Route nutzt XRouter" oder "diese Component ist XTend". Der erste Migrationsschritt ist ein expliziter Adapter-Record.
47
+
48
+ ```json
49
+ {
50
+ "id": "xtend.component",
51
+ "kind": "component_adapter",
52
+ "runtimeSurface": ["esm", "browser_classic"],
53
+ "providedCapabilities": ["components", "customElements", "hydration", "scheduleRefs"],
54
+ "kernelVisible": false
55
+ }
56
+ ```
57
+
58
+ `kernelVisible: false` ist fuer host-spezifische Adapterdaten Pflicht. Es bedeutet: Der Kernel darf den Record validieren und indizieren, aber keine XTend-Laufzeit importieren.
59
+
60
+ ## Schritt 2: Components aus Metadaten heben
61
+
62
+ Vorher:
63
+
64
+ ```json
65
+ {
66
+ "manifest": {
67
+ "metadata": {
68
+ "components": [
69
+ {
70
+ "id": "settings.card",
71
+ "tag": "x-card"
72
+ }
73
+ ]
74
+ }
75
+ }
76
+ }
77
+ ```
78
+
79
+ Nachher:
80
+
81
+ ```json
82
+ {
83
+ "components": [
84
+ {
85
+ "id": "settings.card",
86
+ "kind": "custom_element",
87
+ "adapter": "xtend.component",
88
+ "tag": "x-card",
89
+ "schedule": "component.idle.hydrate"
90
+ }
91
+ ]
92
+ }
93
+ ```
94
+
95
+ Damit kann `createRmtFormat().createRuntimeRegistries(...)` die Component ueber `componentRegistry.byAdapter["xtend.component"]` bereitstellen.
96
+
97
+ ## Schritt 3: Routes aus Metadaten heben
98
+
99
+ Vorher:
100
+
101
+ ```json
102
+ {
103
+ "manifest": {
104
+ "metadata": {
105
+ "routes": [
106
+ {
107
+ "path": "/settings",
108
+ "component": "settings.card"
109
+ }
110
+ ]
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ Nachher:
117
+
118
+ ```json
119
+ {
120
+ "routes": [
121
+ {
122
+ "id": "settings",
123
+ "path": "/settings",
124
+ "router": "xtend.xrouter",
125
+ "component": "settings.card",
126
+ "template": "settings.shell",
127
+ "schedule": "route.visible.render"
128
+ }
129
+ ]
130
+ }
131
+ ```
132
+
133
+ Damit kann `createRmtXRouterAdapter` die Route ueber `routeRegistry.byRouter["xtend.xrouter"]` mappen und mit `registerRoutes` an XRouter uebergeben.
134
+
135
+ ## Schritt 4: Schedules zentralisieren
136
+
137
+ Vorher lagen Endpoint-Hints oft in Route-, Component- oder Template-Metadaten. Nach der Migration steht die Policy zentral in `schedules`.
138
+
139
+ ```json
140
+ {
141
+ "schedules": [
142
+ {
143
+ "id": "route.visible.render",
144
+ "endpointName": "xtendrmt.route.render",
145
+ "lane": "visible",
146
+ "priority": 80,
147
+ "preferIdle": false
148
+ },
149
+ {
150
+ "id": "component.idle.hydrate",
151
+ "endpointName": "xtendrmt.component.hydrate",
152
+ "lane": "idle",
153
+ "priority": 40,
154
+ "preferIdle": true
155
+ }
156
+ ]
157
+ }
158
+ ```
159
+
160
+ Routes und Components referenzieren nur noch `schedule`. Die Ausfuehrung laeuft ueber `createRmtStateSchedulerDiagnosticsBridge`.
161
+
162
+ ## Schritt 5: Demo-Brueckenlogik entfernen
163
+
164
+ Dauerhafte Demo-Brueckenlogik soll nicht mehr neue Produktlogik tragen. Ein migrierter Host-Start nutzt die produktiven Factories:
165
+
166
+ ```js
167
+ const format = createRmtFormat();
168
+ const normalizedDocument = format.normalizeDocument(document);
169
+ const registry = format.createRuntimeRegistries(normalizedDocument);
170
+
171
+ const routes = createRmtXRouterAdapter({ routerElement }).registerRoutes(registry);
172
+ const components = createRmtXtendComponentAdapter({ document, manifest }).mapComponents(registry);
173
+ const bridge = createRmtStateSchedulerDiagnosticsBridge({ schedules: normalizedDocument.schedules });
174
+
175
+ bridge.recordAdapterResult(routes, { scheduleRef: 'route.visible.render' });
176
+ ```
177
+
178
+ Wenn Speziallogik weiterhin notwendig ist, gehoert sie in einen Adapter oder in upstream RMT Source, nicht in eine Demo-Datei.
179
+
180
+ ## Bestcase-Referenz
181
+
182
+ `xtendrmt/xtendrmt-bestcase-demo.rmt` ist die produktive Authoring-Referenz fuer RMT vNext:
183
+
184
+ - die `.rmt` Datei nutzt `template`, `surface`, `lane`, Lifecycle-Operationen, Slots und Event-Actions statt JSON
185
+ - `xtendrmt/xtendrmt-bestcase-demo.core.json` ist der byte-stabile vNext-Core-Output
186
+ - die Browser-Demo projiziert vNext-Core zur Laufzeit auf `adapters`, `components`, `routes` und `schedules`
187
+ - `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und `createRmtStateSchedulerDiagnosticsBridge` bleiben die produktiven Adapterpfade
188
+ - `nativeDemoMigration` wird in der Runtime-Projektion als Handoff-Metadatum erhalten
189
+
190
+ `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` ist die browsernahe Regression fuer den migrierten Pfad. Sie prueft zusaetzlich `vanilla.component`, damit der Zielzustand framework-agnostisch bleibt.
191
+
192
+ Fuer die offizielle Docs-App gilt: Parsedown bleibt der aktive Markdown-Parser, aber die sichtbare App Shell wird Shell-first aus `docs.app.shell` im RMT-Dokument gerendert. Der RMT-Scheduling- und Shell-Pfad fuer Parsedown, Search und future-ready Media-Slots ist ueber [XTendRMT Parsedown Scheduling Pilot](./xtendrmt-parsedown-scheduling.md) dokumentiert und bleibt host-neutral.
193
+
194
+ ## SurfaceManager Migration
195
+
196
+ Ab `WP-SM-09` besitzt der SurfaceManager einen eigenen Migrationsguide: [SurfaceManager Migration Guide](./surface-manager-migration-guide.md) (`docs/surface-manager-migration-guide.md`).
197
+
198
+ Der Surface-Pfad ist additiv:
199
+
200
+ - bestehende `components[*].metadata.surface` Records bleiben gueltig
201
+ - native `surfaces[*]` Records werden fuer komplexe App Shells bevorzugt
202
+ - Dual Records halten `id`, `type`, `manager`, `component`, `route`, `schedule` und `stateKey` synchron
203
+ - `xtend.surface` bleibt `surface_adapter` Handoff, bis eine produktive Adapter Runtime implementiert wird
204
+
205
+ ## Was nicht migriert werden muss
206
+
207
+ Nicht jede Datei braucht sofort native Domains.
208
+
209
+ Nicht migrieren:
210
+
211
+ - reine Template-only-Dokumente ohne Routing- oder Component-Bedarf
212
+ - historische Demos mit `manual-legacy` Status
213
+ - Metadaten, die nur Produktbeschreibung oder Handoff-Notizen enthalten
214
+ - React-, Vue-, Vanilla- oder Custom-Hosts, die RMT noch nicht als Scheduler nutzen
215
+
216
+ Migrieren:
217
+
218
+ - neue `.rmt` App-DSL-Dokumente
219
+ - Demo-Code mit operativer Route-/Component-Bridge
220
+ - produktive Route- oder Component-Flows
221
+ - Host-Pfade, die Scheduler Endpoint Policies brauchen
222
+
223
+ ## Review-Checkliste
224
+
225
+ Vor Abschluss einer Migration pruefen:
226
+
227
+ - `manifest.metadata.routes -> routes` wurde umgesetzt
228
+ - `manifest.metadata.components -> components` wurde umgesetzt
229
+ - `manifest.metadata.schedules -> schedules` wurde umgesetzt
230
+ - `xtend.xrouter` und `xtend.component` sind Adapter-Records, nicht Kernelwissen
231
+ - `route.visible.render` und `component.idle.hydrate` sind zentrale Policies
232
+ - `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und `createRmtStateSchedulerDiagnosticsBridge` ersetzen Demo-Brueckenlogik
233
+ - Template-only-Kompatibilitaet bleibt erhalten
234
+ - React, Vue, Vanilla JS und Custom Hosts werden nicht zur XTend-Migration gezwungen
235
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json` und `node scripts/run_xtend_tests.js references --json` laufen
@@ -0,0 +1,337 @@
1
+ # XTendRMT Native Authoring Guide
2
+
3
+ - Status: produktiv nach Epic 05 Abschluss
4
+ - Contract: `xtend.rmt.native-authoring-guide.v1`
5
+ - Mindestgates:
6
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json`
7
+ - `node scripts/run_xtend_tests.js browser --json`
8
+ - `node scripts/run_xtend_tests.js references --json`
9
+
10
+ ## Zweck
11
+
12
+ Dieser Guide beschreibt das produktive Authoring-Modell fuer native `.rmt` Dokumente mit XTend UI und XRouter. Ziel ist, dass Menschen und AI-Agenten native RMT Routes, XTend Components, Adapter und Schedules schreiben koennen, ohne XTend oder XRouter in den RMT Kernel einzubetten.
13
+
14
+ `.rmt` ist der kanonische Dateityp. Server sollten ihn als `application/vnd.xtendrmt.rmt+json` oder kompatibel als Text ausliefern; der Runtime-Loader liest RMT-Dokumente als Text und parst sie ueber `createRmtFormat().parseDocument(...)`. JSON-Endungen bleiben nur fuer Edge-Case-Hosts ohne native MIME-Unterstuetzung vorgesehen.
15
+
16
+ Fuer einen kompakten Produktueberblick siehe [XTendRMT Developer Overview](./xtendrmt-overview.md). Die referenzartige DSL-Beschreibung liegt in [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md); Runtime-Factories und Bridge-Verkabelung liegen in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
17
+
18
+ Die Produktgrenze bleibt:
19
+
20
+ - XTend UI ist das UI-Builder- und Web-Component-Produkt
21
+ - XTendRMT ist Scheduler, Runtime Kernel und Templating Engine
22
+ - XRouter ist der erste produktive Router Adapter
23
+ - XTend Components sind First-Class RMT Components ueber `xtend.component`
24
+ - nicht-XTend Hosts bleiben ueber eigene Adapter gleichberechtigt
25
+
26
+ Ab `WP-E13-09` ist [RMT Production Readiness](./rmt-production-readiness.md) der RC1-Schnitt fuer diesen Pfad. Der Contract `xtend.epic13.rmt-production-readiness.v1` wird lokal ueber `node scripts/run_xtend_tests.js epic13-rmt-production-readiness --json` geprueft und buendelt die bestehenden RMT-, Component-, Fabric- und Telemetry-Gates.
27
+
28
+ Ab Epic 14 ist der native Authoring-Pfad auch toolgestuetzt:
29
+
30
+ - [RMT Linter und AI-Agent Repair Report](./rmt-linter.md) beschreibt `xt rmt lint`, JSON-Reports, `--fail-on` und `--agent`.
31
+ - [RMT Language Server und Editor Setup](./rmt-language-server.md) beschreibt LSP, Snippets und Editor-Anbindung fuer VS Code, JetBrains, Neovim und Helix.
32
+ - `node scripts/run_xtend_tests.js rmt-language-regression --json` prueft valide, defekte, Legacy- und groessere RMT-Dokumente ueber Parser, Linter, CLI, LSP und Agent-Report hinweg.
33
+
34
+ ## Minimaler Dokumentaufbau
35
+
36
+ Neue App-DSL-Dokumente nutzen native Top-Level-Domains:
37
+
38
+ ```json
39
+ {
40
+ "kind": "rmt_document",
41
+ "version": "1.0",
42
+ "documentId": "app.shell",
43
+ "namespace": "app",
44
+ "adapters": [],
45
+ "components": [],
46
+ "routes": [],
47
+ "schedules": [],
48
+ "surfaces": [],
49
+ "templates": []
50
+ }
51
+ ```
52
+
53
+ Bestehende Template-only-Dokumente bleiben gueltig. Neue Routing- und Component-Arbeit soll jedoch nicht mehr in `manifest.metadata` versteckt werden.
54
+
55
+ ## Adapter
56
+
57
+ Adapter beschreiben Host-Faehigkeiten. Sie sind Daten im RMT Dokument, keine Kernel-Imports.
58
+
59
+ ```json
60
+ {
61
+ "id": "xtend.xrouter",
62
+ "kind": "router_adapter",
63
+ "runtimeSurface": ["esm", "browser_classic"],
64
+ "providedCapabilities": ["routes", "navigation", "params", "query", "scheduleRefs"],
65
+ "kernelVisible": false
66
+ }
67
+ ```
68
+
69
+ Stabile Adapter-IDs fuer den aktuellen Produktpfad:
70
+
71
+ - `xtend.xrouter` fuer native XRouter Routes
72
+ - `xtend.component` fuer XTend Custom Elements
73
+ - `xtend.surface` fuer native Surface Records als WindowManager-, SidePanel- und Overlay-Handoff
74
+ - `rmt.state-scheduler-diagnostics` fuer Adapter Results, Scheduler Endpoints und Diagnostics
75
+ - `vanilla.component` als Beispiel fuer einen nicht-XTend Component Host
76
+
77
+ ## Components
78
+
79
+ Eine Component beschreibt das fachliche Host-Element. XTend-spezifische Arbeit bleibt Adapteraufgabe.
80
+
81
+ ```json
82
+ {
83
+ "id": "settings.card",
84
+ "kind": "custom_element",
85
+ "adapter": "xtend.component",
86
+ "tag": "x-card",
87
+ "schedule": "component.idle.hydrate",
88
+ "props": {
89
+ "label": "Settings"
90
+ },
91
+ "attributes": {
92
+ "data-host": "xtend"
93
+ },
94
+ "hydration": {
95
+ "mode": "runtime_render",
96
+ "ownershipMode": "managed_subtree"
97
+ }
98
+ }
99
+ ```
100
+
101
+ Authoring-Regeln:
102
+
103
+ - `id` ist stabil und route-freundlich.
104
+ - `adapter` referenziert einen Record aus `adapters`.
105
+ - `tag` ist bei Custom Elements erforderlich.
106
+ - `props`, `attributes` und `slots` bleiben explizit.
107
+ - `schedule` referenziert eine Policy aus `schedules`.
108
+ - Manifest Lookup, Custom-Element-Registration, DOM-Erzeugung und Hydration gehoeren zu `createRmtXtendComponentAdapter`.
109
+
110
+ ## Routes
111
+
112
+ Eine Route beschreibt Navigation, nicht DOM-Aufbau.
113
+
114
+ ```json
115
+ {
116
+ "id": "settings",
117
+ "path": "/settings",
118
+ "router": "xtend.xrouter",
119
+ "component": "settings.card",
120
+ "template": "settings.shell",
121
+ "schedule": "route.visible.render",
122
+ "query": {
123
+ "tab": "profile"
124
+ }
125
+ }
126
+ ```
127
+
128
+ Authoring-Regeln:
129
+
130
+ - `router` referenziert den Router Adapter.
131
+ - `component` referenziert einen nativen Component Record.
132
+ - `template` bleibt optional, aber empfohlen fuer renderbare Shells.
133
+ - `schedule` steuert Route-Aktivierung ueber eine zentrale Policy.
134
+ - Parameter, Query und Metadata bleiben generisch.
135
+ - XRouter-Mapping, `registerRoutes` und Navigation gehoeren zu `createRmtXRouterAdapter`.
136
+
137
+ ## Schedules
138
+
139
+ Schedules sind zentrale Policies. Routes und Components referenzieren sie nur.
140
+
141
+ ```json
142
+ {
143
+ "id": "component.idle.hydrate",
144
+ "endpointName": "xtendrmt.component.hydrate",
145
+ "scope": "app.component.hydrate",
146
+ "lane": "idle",
147
+ "priority": 40,
148
+ "deadlineMs": 420,
149
+ "preferIdle": true,
150
+ "budgetClass": "background"
151
+ }
152
+ ```
153
+
154
+ Erprobte Policies aus Demo und Browser-Smoke:
155
+
156
+ - `route.visible.render` -> `xtendrmt.route.render`
157
+ - `component.visible.mount` -> `xtendrmt.component.mount`
158
+ - `component.idle.hydrate` -> `xtendrmt.component.hydrate`
159
+ - `vanilla.visible.mount` -> `xtendrmt.vanilla.mount`
160
+
161
+ Die Ausfuehrung und Spiegelung von Scheduler-Ergebnissen gehoert zu `createRmtStateSchedulerDiagnosticsBridge`.
162
+
163
+ ## Surfaces
164
+
165
+ Ab `WP-SM-08` koennen komplexe App-Shell-Oberflaechen native `surfaces` Records fuehren:
166
+
167
+ ```json
168
+ {
169
+ "id": "surface.inspector",
170
+ "schema": "xtend.surface.record.v1",
171
+ "type": "window",
172
+ "adapter": "xtend.surface",
173
+ "manager": "workbench.manager",
174
+ "component": "workbench.inspector",
175
+ "route": "workbench",
176
+ "schedule": "surface.user-blocking.open",
177
+ "stateKey": "xtend.surface.inspector.state"
178
+ }
179
+ ```
180
+
181
+ Authoring-Regeln:
182
+
183
+ - `manager` und `component` referenzieren native Component Records.
184
+ - `route` und `schedule` binden Surface-Sichtbarkeit an App- und Scheduler-Kontext.
185
+ - `components[*].metadata.surface` bleibt als Migrationsquelle gueltig.
186
+ - `xtend.surface` ist in `WP-SM-08` ein Adapter-Handoff, keine produktive Kernel-Runtime.
187
+ - Details liegen in [SurfaceManager Native RMT Surfaces](./surface-manager-native-rmt-surfaces.md).
188
+ - Der abgeschlossene Surface-Authoring-Pfad liegt in [SurfaceManager Authoring Guide](./surface-manager-authoring-guide.md) (`docs/surface-manager-authoring-guide.md`) und beschreibt `component-metadata-mvp`, `dual-record-handoff` und `native-surfaces-preferred`.
189
+
190
+ ## Templates
191
+
192
+ Templates bleiben Teil von RMT. Fuer XTend UI sollen sie Host-Daten referenzieren statt versteckte Component-Logik zu enthalten.
193
+
194
+ ```json
195
+ {
196
+ "id": "settings.shell",
197
+ "mode": "html_fragment",
198
+ "markup": "<x-card></x-card>",
199
+ "security": {
200
+ "markupClass": "htmlFragment",
201
+ "trustBoundary": "xtend.security.sanitizing-boundary.v1",
202
+ "sink": "trustedDomBoundary"
203
+ },
204
+ "hydration": {
205
+ "mode": "runtime_render",
206
+ "metadata": {
207
+ "endpointHint": "xtendrmt.component.hydrate"
208
+ }
209
+ }
210
+ }
211
+ ```
212
+
213
+ Wenn eine Component eine Route vollstaendig abdeckt, bleibt `template` optional. Wenn Slots oder Shell-Markup benoetigt werden, sollte der Template Record stabil referenziert werden.
214
+
215
+ Security-Regel ab `ER-WP-29`: `dom_descriptor` ist der bevorzugte Modus fuer neue Templates. `html_fragment` bleibt moeglich, ist aber DOM-untrusted und braucht `xtend.security.sanitizing-boundary.v1`. Der RMT Kernel sanitized kein HTML; Host Adapter besitzen den Trusted-DOM-Sink. Siehe [Trusted DOM und Sanitizing](./trusted-dom-sanitizing.md).
216
+
217
+ ## Runtime-Verkabelung
218
+
219
+ Der produktive Browser-/ESM-Pfad besteht aus vier Schritten:
220
+
221
+ 1. `createRmtFormat().normalizeDocument(document)`
222
+ 2. `createRmtFormat().createRuntimeRegistries(normalizedDocument)`
223
+ 3. `createRmtXRouterAdapter(...).registerRoutes(registry)`
224
+ 4. `createRmtXtendComponentAdapter(...).mountComponent(...)` und `hydrateComponent(...)`
225
+
226
+ Adapter Results koennen anschliessend ueber `createRmtStateSchedulerDiagnosticsBridge(...).recordAdapterResult(...)` an `xstate`, Scheduler und Diagnostics Hub gespiegelt werden.
227
+
228
+ ## Authoring Tooling
229
+
230
+ Empfohlener lokaler Ablauf:
231
+
232
+ ```bash
233
+ xt rmt lint app.rmt
234
+ xt rmt lint app.rmt --json
235
+ xt rmt lint app.rmt --agent
236
+ ```
237
+
238
+ Die IDE-Anbindung startet denselben Sprachkern ueber:
239
+
240
+ ```bash
241
+ node tools/rmt-language-server/server.js
242
+ ```
243
+
244
+ Wichtig: Linter, LSP, Code Actions und Agent Report teilen sich den gleichen Diagnosekern. Editor-Packages und AI-Agenten sollen keine eigenen RMT-Regeln implementieren.
245
+
246
+ Neue App-Shells koennen ueber den Snippet-Prefix `rmt-app` gestartet werden. Weitere Prefixes sind `rmt-component`, `rmt-route`, `rmt-schedule`, `rmt-template-dom` und `rmt-template-html`.
247
+
248
+ ## Epic-10-App-Authoring
249
+
250
+ Fuer vollstaendige XTend-Apps gilt ab Epic 10 der Contract `xtend.rmt.first-class-app-authoring.v1`. Er erweitert den nativen Authoring-Pfad von einzelnen Routes und Components auf komplette Shell-first Apps:
251
+
252
+ - App Shell als `dom_descriptor`
253
+ - `xtend.component`, `xtend.xrouter` und `rmt.state-scheduler-diagnostics` als Pflichtadapter
254
+ - Component Records mit Props, Attributes, Slots, Events, Fabric- und A11y-Metadaten
255
+ - Route Records mit Component-, Template- und Schedule-Referenzen
256
+ - zentrale Schedule Policies fuer Shell, Route Render, Component Mount, Hydration, User Input, Lazy Media und Diagnostics
257
+ - Kernel Boundary `no-rmt-kernel-import-of-xtend-types`
258
+
259
+ Das Referenz-Fixture liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`; der lokale Gate ist `node scripts/run_xtend_tests.js rmt-first-class-app --json`.
260
+
261
+ ## Fabric/Lane-Ingestion im Component Adapter
262
+
263
+ Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2` Fabric- und Lane-Hints direkt beim Mounting und bei Hydration aus. Die Precedence ist:
264
+
265
+ 1. `rmt.schedule-record`
266
+ 2. `rmt.component-metadata`
267
+ 3. `fabric.runtime-override`
268
+ 4. `component.static-contract`
269
+ 5. `scaffold.blueprint-default`
270
+
271
+ Der Adapter stellt dafuer `resolveFabricContext(componentRef, operation, model, options)` bereit. `mountComponent(...)` und `hydrateComponent(...)` spiegeln den Context in `result.metadata.fabric` und setzen DOM-Attribute fuer Lane, RMT-Lane, Fiber, Source und Endpoint. Konflikte erzeugen `rmt.xtend.component.fabric_lane.conflict`.
272
+
273
+ Der lokale Gate ist:
274
+
275
+ ```bash
276
+ node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json
277
+ ```
278
+
279
+ ## Component Lifecycle Telemetry
280
+
281
+ Ab `xtend.component.lifecycle-telemetry.v1` erzeugt derselbe Adapter standardisierte Component Lifecycle Telemetry. `mountComponent(...)` und `hydrateComponent(...)` schreiben `result.metadata.telemetry`; die Event Bridge erzeugt `event` Records; fuer Render, Update, Unmount und Error steht `recordComponentTelemetry(record, options)` bereit.
282
+
283
+ Fabric kann diese Records ueber `createTelemetrySnapshot({ componentTelemetry })` unter `snapshot.componentTelemetry` aggregieren. Component-Fehler, Deadline-Ueberschreitungen und explizite `backpressureSignal` Metadata fliessen in die Backpressure-Sektion ein.
284
+
285
+ ```bash
286
+ node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json
287
+ ```
288
+
289
+ Aktuelle Artefakte:
290
+
291
+ - `xtendrmt/rmt-core.esm.js`
292
+ - `xtendrmt/rmt-runtime.esm.js`
293
+ - `xtendrmt/rmt-runtime.browser.js`
294
+ - `xtendrmt/rmt-core.d.ts`
295
+ - `xtendrmt/rmt.schema.json`
296
+ - `xtendrmt/rmt-manifest.json`
297
+
298
+ ## Multi-Host-Regel
299
+
300
+ Native RMT Components duerfen nicht implizit XTend bedeuten. Ein nicht-XTend Host nutzt denselben Component-Record-Aufbau mit eigener Adapter-ID:
301
+
302
+ ```json
303
+ {
304
+ "id": "vanilla-panel",
305
+ "kind": "custom_element",
306
+ "adapter": "vanilla.component",
307
+ "tag": "vanilla-panel",
308
+ "schedule": "vanilla.visible.mount"
309
+ }
310
+ ```
311
+
312
+ Der Browser-Smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` prueft genau diesen Pfad. Damit ist Framework-Agnostik nicht nur Architekturziel, sondern Regression.
313
+
314
+ ## Kernel Boundary
315
+
316
+ Der RMT Kernel darf nicht importieren oder voraussetzen:
317
+
318
+ - `x-router`
319
+ - konkrete `x-*` Komponenten
320
+ - XTend Manifest-Strukturen
321
+ - `window.XTend`
322
+ - `xstate`
323
+ - Browser DOM APIs
324
+
325
+ Der Kernel darf normalisieren, indizieren, validieren und Schedule Policies beschreiben. Host-Ausfuehrung bleibt Adapterarbeit.
326
+
327
+ ## Review-Checkliste
328
+
329
+ Vor einem neuen nativen `.rmt` Dokument pruefen:
330
+
331
+ - sind `adapters`, `components`, `routes` und `schedules` Top-Level-Domains?
332
+ - referenzieren Routes nur Component IDs und keine DOM-Details?
333
+ - referenzieren Components nur Adapter IDs und keine Kernel-Sonderfaelle?
334
+ - sind Schedule Policies zentral und wiederverwendbar?
335
+ - bleiben XTend-spezifische Daten `kernelVisible: false`?
336
+ - existiert fuer nicht-XTend Hosts ein eigener Adapter statt XTend-Fallback?
337
+ - laufen `rmt-compatibility`, `browser` und `references` Gates?
@@ -0,0 +1,89 @@
1
+ # XTendRMT Developer Overview
2
+
3
+ - Status: aktuell nach Epic 05 Abschluss
4
+ - Contract: `xtend.docs.xtendrmt-overview.v1`
5
+ - Produktversion: `XTendRMT 0.2.0`
6
+ - Kernartefakte:
7
+ - `xtendrmt/rmt-core.esm.js`
8
+ - `xtendrmt/rmt-runtime.esm.js`
9
+ - `xtendrmt/rmt-runtime.browser.js`
10
+ - `xtendrmt/rmt-core.d.ts`
11
+ - `xtendrmt/rmt.schema.json`
12
+ - `xtendrmt/rmt-manifest.json`
13
+
14
+ ## Zielbild
15
+
16
+ XTendRMT verbindet zwei Produkte, ohne ihre Grenzen zu verwischen:
17
+
18
+ | Produkt | Rolle |
19
+ |---------|-------|
20
+ | XTend UI | UI Builder und Web-Component-System |
21
+ | XTendRMT | Scheduler, Runtime Kernel und Templating Engine |
22
+
23
+ XTend ist First-Class Host fuer RMT, aber keine Pflichtabhaengigkeit des RMT Kernels. RMT kann XTend Components, XRouter Routes und Scheduler Policies beschreiben und ausfuehren lassen, ohne XTend, XRouter, DOM oder `xstate` in den Kernel einzubetten.
24
+
25
+ ## Aktueller Implementierungsstand
26
+
27
+ Epic 05 ist abgeschlossen. Der produktive Pfad besteht aus:
28
+
29
+ - nativen `.rmt` Top-Level-Domains: `adapters`, `components`, `routes`, `schedules`, `templates`
30
+ - Runtime Registry fuer Route- und Component-Indizes
31
+ - XRouter Adapter `createRmtXRouterAdapter`
32
+ - XTend Component Adapter `createRmtXtendComponentAdapter`
33
+ - State-/Scheduler-/Diagnostics Bridge `createRmtStateSchedulerDiagnosticsBridge`
34
+ - ESM- und Browser-Bundles mit Artefakt-Paritaetsgate
35
+ - Browser-Smoke fuer RMT/XRouter/XTend/Vanilla
36
+
37
+ Die wichtigsten Regressionen liegen in:
38
+
39
+ - `tests/fixtures/rmt-app-dsl.native-bridge.rmt`
40
+ - `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html`
41
+ - `xtendrmt/xtendrmt-bestcase-demo.rmt`
42
+ - `xtendrmt-bestcase.html`
43
+
44
+ ## Architekturgrenze
45
+
46
+ RMT darf:
47
+
48
+ - `.rmt` Dokumente normalisieren
49
+ - DSL-Domains indizieren
50
+ - Adapter Records validieren
51
+ - Scheduler Policies beschreiben
52
+ - Diagnostics und Reference Graphs erzeugen
53
+
54
+ RMT darf nicht:
55
+
56
+ - `components/xrouter.js` importieren
57
+ - XTend Components importieren
58
+ - `window.XTend` voraussetzen
59
+ - `xstate` direkt schreiben
60
+ - DOM-Mounting im Kernel ausfuehren
61
+ - React, Vue, Vanilla oder Custom Hosts auf XTend migrieren
62
+
63
+ Host-Arbeit gehoert in Adapter. Das ist der Kern der First-Class-Citizen-Strategie: XTend bekommt hochwertige Adapter, aber der Kernel bleibt framework-agnostisch.
64
+
65
+ ## Offizielle Entwicklerdokumente
66
+
67
+ | Thema | Dokument |
68
+ |-------|----------|
69
+ | Native Authoring | [XTendRMT Native Authoring Guide](./xtendrmt-native-authoring.md) |
70
+ | Native App-DSL Referenz | [XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md) |
71
+ | Runtime Bridge und Adapter | [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md) |
72
+ | Migration aus alten Metadatenpfaden | [XTendRMT Native Migration Guide](./xtendrmt-migration-guide.md) |
73
+ | Docs-App / Parsedown Scheduling | [XTendRMT Parsedown Scheduling Pilot](./xtendrmt-parsedown-scheduling.md) |
74
+
75
+ ## Empfohlener lokaler Gate
76
+
77
+ ```bash
78
+ node scripts/run_xtend_tests.js references --json
79
+ node scripts/run_xtend_tests.js rmt-compatibility --json
80
+ node scripts/run_xtend_tests.js browser --json
81
+ node scripts/verify_xtendrmt_artifact_parity.js --json
82
+ npm test
83
+ ```
84
+
85
+ `references` prueft die offizielle Entwicklerdokumentation, `rmt-compatibility` prueft DSL, Adapter, Bridge und Artefakt-Paritaet, `browser` prueft den browsernahen Multi-Host-Pfad.
86
+
87
+ ## Entwicklungsregel
88
+
89
+ Neue RMT-nahe Arbeit soll zuerst klaeren, ob sie Kernel-, DSL-, Adapter-, Host- oder Dokumentationsverantwortung ist. Wenn XTend-spezifisches Verhalten benoetigt wird, entsteht ein Adapter- oder Host-Contract, kein Kernel-Sonderfall.