@ccslabs/xtend 0.1.0-rc.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +4 -0
- package/catalog/component-catalog-coverage.js +2 -0
- package/catalog/epic13-package-export-lock.js +11 -1
- package/catalog/epic13-rmt-production-readiness.js +0 -1
- package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
- package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
- package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
- package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
- package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
- package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
- package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
- package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
- package/catalog/epic18-rmt-component-template-primitives.js +240 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
- package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
- package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
- package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
- package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
- package/catalog/surface-manager-controller.js +5 -1
- package/catalog/surface-manager-materialization.js +7 -1
- package/catalog/surface-manager-overlay-bridge.js +41 -6
- package/catalog/surface-manager-workbench-fixture.js +1 -1
- package/catalog/surface-type-capability-matrix.d.ts +61 -0
- package/catalog/surface-type-capability-matrix.js +183 -0
- package/catalog/type-exports-rmt.js +37 -1
- package/catalog/type-exports.js +3 -3
- package/components/icon-packs/lucide.js +4 -0
- package/components/manifest.json +2 -0
- package/components/prism-rmt.d.ts +34 -0
- package/components/prism-rmt.js +130 -0
- package/components/xcards.js +15 -0
- package/components/xcode.d.ts +36 -1
- package/components/xcode.js +215 -20
- package/components/xfooter.js +17 -0
- package/components/xheader.js +14 -0
- package/components/xhero.js +16 -1
- package/components/xlink.js +97 -14
- package/components/xmasonry.js +15 -0
- package/components/xplayer.d.ts +44 -2
- package/components/xplayer.js +242 -15
- package/components/xrouter.js +27 -2
- package/components/xsection.js +15 -0
- package/components/xsidepanel.js +10 -2
- package/components/xsurfacemanager-controller.d.ts +2 -1
- package/components/xsurfacemanager-controller.js +27 -3
- package/components/xsurfacemanager.d.ts +2 -0
- package/components/xsurfacemanager.js +20 -8
- package/components/xsurfaceoverlay-bridge.d.ts +20 -5
- package/components/xsurfaceoverlay-bridge.js +114 -18
- package/components/xsurfaceportal.d.ts +29 -0
- package/components/xsurfaceportal.js +122 -0
- package/components/xsurfaceregion.d.ts +50 -0
- package/components/xsurfaceregion.js +285 -0
- package/components/xsurfacewindow.js +2 -1
- package/components/xtooltip.js +89 -23
- package/docs/README.md +222 -298
- package/docs/changelog.md +107 -0
- package/docs/component-catalog-coverage.md +9 -9
- package/docs/component-platform.md +19 -1
- package/docs/component-ux-app-authoring.md +56 -63
- package/docs/components/xcode.md +83 -53
- package/docs/components/xsurfaceportal.md +32 -0
- package/docs/components/xsurfaceregion.md +37 -0
- package/docs/components.md +105 -69
- package/docs/de/README.md +264 -0
- package/docs/de/XTend-ADR.md +221 -0
- package/docs/de/a11y-keyboard-smokes.md +62 -0
- package/docs/de/about.md +18 -0
- package/docs/de/api.md +157 -0
- package/docs/de/best-practices.md +76 -0
- package/docs/de/changelog.md +107 -0
- package/docs/de/component-catalog-coverage.md +58 -0
- package/docs/de/component-lab.md +103 -0
- package/docs/de/component-long-tail-migration.md +41 -0
- package/docs/de/component-platform.md +177 -0
- package/docs/de/component-ux-app-authoring.md +123 -0
- package/docs/de/component-ux-authoring.md +96 -0
- package/docs/de/component-ux-gates.md +45 -0
- package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/de/components/xalert.md +81 -0
- package/docs/de/components/xbutton.md +103 -0
- package/docs/de/components/xcalendar.md +82 -0
- package/docs/de/components/xcards.md +128 -0
- package/docs/de/components/xcheckbox.md +102 -0
- package/docs/de/components/xcode.md +156 -0
- package/docs/de/components/xdialog.md +92 -0
- package/docs/de/components/xdrawer.md +84 -0
- package/docs/de/components/xfooter.md +126 -0
- package/docs/de/components/xform.md +128 -0
- package/docs/de/components/xheader.md +308 -0
- package/docs/de/components/xhero.md +142 -0
- package/docs/de/components/xicon.md +125 -0
- package/docs/de/components/xinput.md +129 -0
- package/docs/de/components/xlightbox.md +98 -0
- package/docs/de/components/xlink.md +109 -0
- package/docs/de/components/xmasonry.md +124 -0
- package/docs/de/components/xmenu.md +158 -0
- package/docs/de/components/xmodal.md +82 -0
- package/docs/de/components/xplayer.md +104 -0
- package/docs/de/components/xpopover.md +67 -0
- package/docs/de/components/xprogress.md +56 -0
- package/docs/de/components/xradio.md +103 -0
- package/docs/de/components/xrouter.md +260 -0
- package/docs/de/components/xsection.md +125 -0
- package/docs/de/components/xselect.md +105 -0
- package/docs/de/components/xsidepanel.md +30 -0
- package/docs/de/components/xspinner.md +102 -0
- package/docs/de/components/xstate.md +148 -0
- package/docs/de/components/xstatus.md +55 -0
- package/docs/de/components/xsummary.md +78 -0
- package/docs/de/components/xsurfacemanager.md +27 -0
- package/docs/de/components/xsurfacewindow.md +21 -0
- package/docs/de/components/xtabs.md +160 -0
- package/docs/de/components/xtextarea.md +98 -0
- package/docs/de/components/xtheme.md +167 -0
- package/docs/de/components/xtoast.md +62 -0
- package/docs/de/components/xtooltip.md +66 -0
- package/docs/de/components/xtype.md +82 -0
- package/docs/de/components/xutils.md +144 -0
- package/docs/de/components/xwriter.md +94 -0
- package/docs/de/components.md +153 -0
- package/docs/de/conditional-network-evidence-ci.md +38 -0
- package/docs/de/conditional-network-evidence.md +50 -0
- package/docs/de/core-migration-guide.md +110 -0
- package/docs/de/design-tokens.md +116 -0
- package/docs/de/docs-rmt-production-hardening.md +31 -0
- package/docs/de/enterprise-adoption.md +413 -0
- package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/de/epic10-platform-gates.md +62 -0
- package/docs/de/epic10-release-handoff.md +81 -0
- package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/de/epic12-rc0-handoff.md +61 -0
- package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/de/epic18-vendor-bugfixes.md +34 -0
- package/docs/de/existing-component-metadata.md +67 -0
- package/docs/de/hydration-performance-closure.md +34 -0
- package/docs/de/hydration-policies.md +71 -0
- package/docs/de/known-residual-triage.md +22 -0
- package/docs/de/manifest-import-policy.md +79 -0
- package/docs/de/manifest.md +112 -0
- package/docs/de/motion-contrast.md +67 -0
- package/docs/de/package-export-lock.md +44 -0
- package/docs/de/performance-measurements.md +106 -0
- package/docs/de/performance-regression.md +89 -0
- package/docs/de/performance.md +94 -0
- package/docs/de/previews/README.md +17 -0
- package/docs/de/prod-browser-csp-smokes.md +40 -0
- package/docs/de/public-component-types.md +79 -0
- package/docs/de/quick-start-guide.md +220 -0
- package/docs/de/rc0-adoption-guide.md +102 -0
- package/docs/de/rc0-gate-matrix.md +58 -0
- package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/de/rc1-migration-notes.md +69 -0
- package/docs/de/rc1-readiness.md +46 -0
- package/docs/de/release-owner-acceptance.md +56 -0
- package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/de/rmt-action-effect-runtime.md +81 -0
- package/docs/de/rmt-app-platform-authoring.md +54 -0
- package/docs/de/rmt-app-platform-fixture.md +46 -0
- package/docs/de/rmt-app-platform-migration-guide.md +88 -0
- package/docs/de/rmt-app-platform-tooling.md +79 -0
- package/docs/de/rmt-component-template-primitives.md +57 -0
- package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/de/rmt-dsl-authoring-polish.md +145 -0
- package/docs/de/rmt-event-routing-runtime.md +81 -0
- package/docs/de/rmt-first-demo-app.md +77 -0
- package/docs/de/rmt-first-xtend-apps.md +129 -0
- package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/de/rmt-language-server.md +234 -0
- package/docs/de/rmt-lifecycle-demo.md +24 -0
- package/docs/de/rmt-linter.md +140 -0
- package/docs/de/rmt-node-ssr-adapter.md +100 -0
- package/docs/de/rmt-php-ssr-adapter.md +120 -0
- package/docs/de/rmt-production-readiness.md +63 -0
- package/docs/de/rmt-state-selector-runtime.md +47 -0
- package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/de/rmt-tooling-release-gates.md +77 -0
- package/docs/de/rmt-vnext-authoring.md +170 -0
- package/docs/de/rmt-vnext-component-primitives.md +188 -0
- package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/de/rmt-vnext-migration-notes.md +62 -0
- package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/de/rmt-vnext-primitive-migration.md +119 -0
- package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
- package/docs/de/rmt-vnext-release-handoff.md +83 -0
- package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
- package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/de/screenreader-signals.md +56 -0
- package/docs/de/supply-chain-gates.md +100 -0
- package/docs/de/surface-manager-authoring-guide.md +94 -0
- package/docs/de/surface-manager-browser-lab.md +45 -0
- package/docs/de/surface-manager-component-lab.md +43 -0
- package/docs/de/surface-manager-controller.md +66 -0
- package/docs/de/surface-manager-layout-engines.md +32 -0
- package/docs/de/surface-manager-lazy-hydration.md +63 -0
- package/docs/de/surface-manager-migration-guide.md +122 -0
- package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/de/surface-manager-overlay-bridge.md +53 -0
- package/docs/de/surface-manager-persistence.md +30 -0
- package/docs/de/surface-manager-quality-gates.md +51 -0
- package/docs/de/surface-manager-release-handoff.md +68 -0
- package/docs/de/surface-manager-remote-policy.md +54 -0
- package/docs/de/surface-manager-rmt-authoring.md +102 -0
- package/docs/de/surface-manager-route-lifecycle.md +59 -0
- package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/de/surface-manager-side-panel-runtime.md +36 -0
- package/docs/de/surface-manager-stack-policy.md +39 -0
- package/docs/de/surface-manager-window-runtime.md +47 -0
- package/docs/de/surface-manager-workbench-fixture.md +43 -0
- package/docs/de/third-party-design-authoring.md +406 -0
- package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/de/trusted-dom-sanitizing.md +110 -0
- package/docs/de/type-exports.md +61 -0
- package/docs/de/typescript-components.md +63 -0
- package/docs/de/visual-browser-regression.md +83 -0
- package/docs/de/visual-owner-artifacts.md +46 -0
- package/docs/de/visual-snapshot-automation.md +87 -0
- package/docs/de/xtend-api-types.md +55 -0
- package/docs/de/xtend-builder-types.md +55 -0
- package/docs/de/xtend-catalog-types.md +44 -0
- package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/de/xtend-fabric.md +474 -0
- package/docs/de/xtend-loader-types.md +58 -0
- package/docs/de/xtend-loader.md +265 -0
- package/docs/de/xtend-policy-types.md +38 -0
- package/docs/de/xtend-rmt-types.md +40 -0
- package/docs/de/xtend-vendor-types.md +36 -0
- package/docs/de/xtendrmt-app-dsl.md +334 -0
- package/docs/de/xtendrmt-migration-guide.md +266 -0
- package/docs/de/xtendrmt-native-authoring.md +333 -0
- package/docs/de/xtendrmt-overview.md +109 -0
- package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/de/xtendrmt-runtime-bridge.md +155 -0
- package/docs/en/README.md +163 -0
- package/docs/en/XTend-ADR.md +221 -0
- package/docs/en/a11y-keyboard-smokes.md +68 -0
- package/docs/en/about.md +25 -0
- package/docs/en/api.md +171 -0
- package/docs/en/best-practices.md +125 -0
- package/docs/en/changelog.md +104 -0
- package/docs/en/component-catalog-coverage.md +104 -0
- package/docs/en/component-lab.md +103 -0
- package/docs/en/component-long-tail-migration.md +41 -0
- package/docs/en/component-platform.md +243 -0
- package/docs/en/component-ux-app-authoring.md +118 -0
- package/docs/en/component-ux-authoring.md +96 -0
- package/docs/en/component-ux-gates.md +45 -0
- package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
- package/docs/en/components/xalert.md +94 -0
- package/docs/en/components/xbutton.md +118 -0
- package/docs/en/components/xcalendar.md +95 -0
- package/docs/en/components/xcards.md +139 -0
- package/docs/en/components/xcheckbox.md +118 -0
- package/docs/en/components/xcode.md +153 -0
- package/docs/en/components/xdialog.md +108 -0
- package/docs/en/components/xdrawer.md +110 -0
- package/docs/en/components/xfooter.md +138 -0
- package/docs/en/components/xform.md +147 -0
- package/docs/en/components/xheader.md +308 -0
- package/docs/en/components/xhero.md +157 -0
- package/docs/en/components/xicon.md +149 -0
- package/docs/en/components/xinput.md +147 -0
- package/docs/en/components/xlightbox.md +113 -0
- package/docs/en/components/xlink.md +130 -0
- package/docs/en/components/xmasonry.md +136 -0
- package/docs/en/components/xmenu.md +185 -0
- package/docs/en/components/xmodal.md +102 -0
- package/docs/en/components/xplayer.md +114 -0
- package/docs/en/components/xpopover.md +87 -0
- package/docs/en/components/xprogress.md +73 -0
- package/docs/en/components/xradio.md +119 -0
- package/docs/en/components/xrouter.md +260 -0
- package/docs/en/components/xsection.md +136 -0
- package/docs/en/components/xselect.md +122 -0
- package/docs/en/components/xsidepanel.md +48 -0
- package/docs/en/components/xspinner.md +118 -0
- package/docs/en/components/xstate.md +163 -0
- package/docs/en/components/xstatus.md +71 -0
- package/docs/en/components/xsummary.md +90 -0
- package/docs/en/components/xsurfacemanager.md +42 -0
- package/docs/en/components/xsurfacewindow.md +31 -0
- package/docs/en/components/xtabs.md +187 -0
- package/docs/en/components/xtextarea.md +115 -0
- package/docs/en/components/xtheme.md +203 -0
- package/docs/en/components/xtoast.md +78 -0
- package/docs/en/components/xtooltip.md +85 -0
- package/docs/en/components/xtype.md +91 -0
- package/docs/en/components/xutils.md +161 -0
- package/docs/en/components/xwriter.md +106 -0
- package/docs/en/components.md +151 -0
- package/docs/en/conditional-network-evidence-ci.md +38 -0
- package/docs/en/conditional-network-evidence.md +50 -0
- package/docs/en/core-migration-guide.md +110 -0
- package/docs/en/design-tokens.md +137 -0
- package/docs/en/docs-rmt-production-hardening.md +31 -0
- package/docs/en/enterprise-adoption.md +413 -0
- package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/en/epic10-platform-gates.md +62 -0
- package/docs/en/epic10-release-handoff.md +81 -0
- package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/en/epic12-rc0-handoff.md +61 -0
- package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
- package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
- package/docs/en/epic18-vendor-bugfixes.md +29 -0
- package/docs/en/existing-component-metadata.md +67 -0
- package/docs/en/hydration-performance-closure.md +34 -0
- package/docs/en/hydration-policies.md +75 -0
- package/docs/en/known-residual-triage.md +22 -0
- package/docs/en/manifest-import-policy.md +81 -0
- package/docs/en/manifest.md +135 -0
- package/docs/en/motion-contrast.md +67 -0
- package/docs/en/package-export-lock.md +44 -0
- package/docs/en/performance-measurements.md +106 -0
- package/docs/en/performance-regression.md +89 -0
- package/docs/en/performance.md +132 -0
- package/docs/en/previews/README.md +17 -0
- package/docs/en/prod-browser-csp-smokes.md +40 -0
- package/docs/en/public-component-types.md +79 -0
- package/docs/en/quick-start-guide.md +189 -0
- package/docs/en/rc0-adoption-guide.md +102 -0
- package/docs/en/rc0-gate-matrix.md +58 -0
- package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/en/rc1-migration-notes.md +69 -0
- package/docs/en/rc1-readiness.md +46 -0
- package/docs/en/release-owner-acceptance.md +56 -0
- package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/en/rmt-action-effect-runtime.md +101 -0
- package/docs/en/rmt-app-platform-authoring.md +47 -0
- package/docs/en/rmt-app-platform-fixture.md +35 -0
- package/docs/en/rmt-app-platform-migration-guide.md +75 -0
- package/docs/en/rmt-app-platform-tooling.md +58 -0
- package/docs/en/rmt-component-template-primitives.md +49 -0
- package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
- package/docs/en/rmt-dsl-authoring-polish.md +143 -0
- package/docs/en/rmt-event-routing-runtime.md +98 -0
- package/docs/en/rmt-first-demo-app.md +87 -0
- package/docs/en/rmt-first-xtend-apps.md +127 -0
- package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
- package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
- package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
- package/docs/en/rmt-language-server.md +243 -0
- package/docs/en/rmt-lifecycle-demo.md +23 -0
- package/docs/en/rmt-linter.md +146 -0
- package/docs/en/rmt-node-ssr-adapter.md +99 -0
- package/docs/en/rmt-php-ssr-adapter.md +118 -0
- package/docs/en/rmt-production-readiness.md +63 -0
- package/docs/en/rmt-state-selector-runtime.md +34 -0
- package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
- package/docs/en/rmt-tooling-release-gates.md +77 -0
- package/docs/en/rmt-vnext-authoring.md +102 -0
- package/docs/en/rmt-vnext-component-primitives.md +185 -0
- package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
- package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
- package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
- package/docs/en/rmt-vnext-migration-notes.md +62 -0
- package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
- package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
- package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
- package/docs/en/rmt-vnext-primitive-migration.md +93 -0
- package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
- package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
- package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
- package/docs/en/rmt-vnext-release-handoff.md +83 -0
- package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
- package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
- package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
- package/docs/en/screenreader-signals.md +56 -0
- package/docs/en/supply-chain-gates.md +106 -0
- package/docs/en/surface-manager-authoring-guide.md +94 -0
- package/docs/en/surface-manager-browser-lab.md +45 -0
- package/docs/en/surface-manager-component-lab.md +43 -0
- package/docs/en/surface-manager-controller.md +66 -0
- package/docs/en/surface-manager-layout-engines.md +32 -0
- package/docs/en/surface-manager-lazy-hydration.md +63 -0
- package/docs/en/surface-manager-migration-guide.md +113 -0
- package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/en/surface-manager-overlay-bridge.md +53 -0
- package/docs/en/surface-manager-persistence.md +30 -0
- package/docs/en/surface-manager-quality-gates.md +51 -0
- package/docs/en/surface-manager-release-handoff.md +68 -0
- package/docs/en/surface-manager-remote-policy.md +54 -0
- package/docs/en/surface-manager-rmt-authoring.md +89 -0
- package/docs/en/surface-manager-route-lifecycle.md +59 -0
- package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/en/surface-manager-side-panel-runtime.md +36 -0
- package/docs/en/surface-manager-stack-policy.md +39 -0
- package/docs/en/surface-manager-window-runtime.md +47 -0
- package/docs/en/surface-manager-workbench-fixture.md +43 -0
- package/docs/en/third-party-design-authoring.md +406 -0
- package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/en/trusted-dom-sanitizing.md +124 -0
- package/docs/en/type-exports.md +61 -0
- package/docs/en/typescript-components.md +63 -0
- package/docs/en/visual-browser-regression.md +83 -0
- package/docs/en/visual-owner-artifacts.md +46 -0
- package/docs/en/visual-snapshot-automation.md +87 -0
- package/docs/en/xtend-api-types.md +55 -0
- package/docs/en/xtend-builder-types.md +55 -0
- package/docs/en/xtend-catalog-types.md +44 -0
- package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/en/xtend-fabric.md +474 -0
- package/docs/en/xtend-loader-types.md +58 -0
- package/docs/en/xtend-loader.md +265 -0
- package/docs/en/xtend-policy-types.md +38 -0
- package/docs/en/xtend-rmt-types.md +40 -0
- package/docs/en/xtend-vendor-types.md +36 -0
- package/docs/en/xtendrmt-app-dsl.md +331 -0
- package/docs/en/xtendrmt-migration-guide.md +256 -0
- package/docs/en/xtendrmt-native-authoring.md +336 -0
- package/docs/en/xtendrmt-overview.md +63 -0
- package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/en/xtendrmt-runtime-bridge.md +155 -0
- package/docs/enterprise-adoption.md +4 -2
- package/docs/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/epic18-vendor-bugfixes.md +34 -0
- package/docs/index.php +1056 -109
- package/docs/manifest.md +8 -2
- package/docs/menu.json +986 -133
- package/docs/package-export-lock.md +2 -2
- package/docs/public-component-types.md +2 -2
- package/docs/quick-start-guide.md +126 -58
- package/docs/rmt-action-effect-runtime.md +101 -0
- package/docs/rmt-app-platform-authoring.md +54 -0
- package/docs/rmt-app-platform-fixture.md +46 -0
- package/docs/rmt-app-platform-migration-guide.md +88 -0
- package/docs/rmt-app-platform-tooling.md +79 -0
- package/docs/rmt-component-template-primitives.md +57 -0
- package/docs/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/rmt-dsl-authoring-polish.md +67 -44
- package/docs/rmt-event-routing-runtime.md +98 -0
- package/docs/rmt-first-demo-app.md +2 -2
- package/docs/rmt-first-xtend-apps.md +70 -46
- package/docs/rmt-language-server.md +61 -4
- package/docs/rmt-lifecycle-demo.md +1 -2
- package/docs/rmt-node-ssr-adapter.md +144 -0
- package/docs/rmt-php-ssr-adapter.md +158 -0
- package/docs/rmt-state-selector-runtime.md +47 -0
- package/docs/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/rmt-vnext-authoring.md +128 -18
- package/docs/rmt-vnext-component-primitives.md +188 -0
- package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/rmt-vnext-primitive-migration.md +119 -0
- package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
- package/docs/rmt-vnext-release-handoff.md +14 -0
- package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
- package/docs/surface-manager-migration-guide.md +34 -6
- package/docs/surface-manager-overlay-bridge.md +9 -4
- package/docs/surface-manager-rmt-authoring.md +50 -34
- package/docs/surface-manager-workbench-fixture.md +1 -2
- package/docs/third-party-design-authoring.md +1 -1
- package/docs/type-exports.md +3 -3
- package/docs/utils/pageloader.js +811 -62
- package/docs/visual-browser-regression.md +1 -1
- package/docs/xtend-rmt-types.md +3 -2
- package/docs/xtendrmt-app-dsl.md +187 -122
- package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
- package/docs/xtendrmt-migration-guide.md +48 -17
- package/docs/xtendrmt-native-authoring.md +213 -217
- package/docs/xtendrmt-overview.md +81 -61
- package/docs/xtendrmt-parsedown-scheduling.md +23 -8
- package/fabric/package.json +1 -1
- package/package.json +684 -21
- package/tools/package.json +5 -1
- package/tools/rmt-editor/vscode/README.md +72 -5
- package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
- package/tools/rmt-editor/vscode/extension.d.ts +33 -0
- package/tools/rmt-editor/vscode/extension.js +1816 -7
- package/tools/rmt-editor/vscode/language-configuration.json +2 -1
- package/tools/rmt-editor/vscode/package.json +193 -2
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
- package/tools/rmt-editor/vscode/templates/launch.json +70 -0
- package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
- package/tools/rmt-language/app-platform-tooling.js +677 -0
- package/tools/rmt-language/completions.d.ts +5 -0
- package/tools/rmt-language/completions.js +185 -3
- package/tools/rmt-language/diagnostics.js +54 -0
- package/tools/rmt-language/hover.js +36 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
- package/tools/rmt-language/rules/app-platform-policy.js +39 -0
- package/tools/rmt-language/rules/index.js +5 -1
- package/tools/rmt-language/semantic-graph.d.ts +6 -0
- package/tools/rmt-language/semantic-graph.js +928 -0
- package/tools/rmt-language/snippets/index.js +44 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
- package/tools/rmt-language/vnext-compatibility.js +642 -0
- package/tools/rmt-language/vnext-compiler.d.ts +5 -0
- package/tools/rmt-language/vnext-compiler.js +863 -17
- package/tools/rmt-language/vnext-parser.js +725 -9
- package/tools/rmt-language/vnext-release.d.ts +1 -0
- package/tools/rmt-language/vnext-release.js +20 -0
- package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
- package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
- package/tools/rmt-language/vnext-surfaces.js +111 -52
- package/tools/rmt-language/vnext-tooling.d.ts +19 -1
- package/tools/rmt-language/vnext-tooling.js +1247 -5
- package/tools/rmt-language-server/protocol.js +3 -0
- package/tools/rmt-language-server/server.d.ts +2 -0
- package/tools/rmt-language-server/server.js +176 -22
- package/tools/rmt-linter/cli.d.ts +2 -0
- package/tools/rmt-linter/cli.js +62 -0
- package/xtend-builder/generators/registry.js +11 -0
- package/xtend-builder/generators/rmt-app-platform.js +239 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
- package/xtend-builder/lib/cli.js +38 -0
- package/xtend-builder/package.json +3 -3
- package/xtend-builder/scaffold.config.js +29 -2
- package/xtend.css +49 -2
- package/xtendrmt/package.json +49 -1
- package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
- package/xtendrmt/rmt-action-effect-runtime.js +494 -0
- package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
- package/xtendrmt/rmt-component-capability-registry.js +636 -0
- package/xtendrmt/rmt-core.d.ts +6 -0
- package/xtendrmt/rmt-core.esm.js +32 -6
- package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
- package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
- package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
- package/xtendrmt/rmt-event-routing-runtime.js +666 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
- package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
- package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
- package/xtendrmt/rmt-native-shell-runtime.js +309 -0
- package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
- package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
- package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
- package/xtendrmt/rmt-runtime.browser.js +32 -6
- package/xtendrmt/rmt-runtime.esm.js +32 -6
- package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
- package/xtendrmt/rmt-state-selector-runtime.js +866 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
- package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
|
@@ -9,7 +9,12 @@
|
|
|
9
9
|
|
|
10
10
|
## Zweck
|
|
11
11
|
|
|
12
|
-
Dieser Guide beschreibt die Migration von fruehen XTendRMT-Metadatenpfaden zu
|
|
12
|
+
Dieser Guide beschreibt die Migration von fruehen XTendRMT-Metadatenpfaden zu
|
|
13
|
+
nativen RMT Top-Level-Domains und weiter zu RMT vNext. Die Migration ist
|
|
14
|
+
additiv und opt-in: bestehende XTend-, React-, Vue-, Vanilla-JS- und
|
|
15
|
+
Custom-Apps duerfen weiterlaufen, waehrend neue App-Shells in RMT vNext
|
|
16
|
+
geschrieben werden. `adapters`, `components`, `routes`, `schedules` und
|
|
17
|
+
`templates` bleiben Runtime Registry, Compiler-Output und Compatibility Mirror.
|
|
13
18
|
|
|
14
19
|
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
20
|
|
|
@@ -19,14 +24,40 @@ Neue Dokumente sollen diese Quellen nutzen:
|
|
|
19
24
|
|
|
20
25
|
| Bereich | Zielquelle |
|
|
21
26
|
|---------|------------|
|
|
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
|
+
| Host Adapter | vNext Surface-/Endpoint-Nutzung, Output: `adapters` |
|
|
28
|
+
| XTend Components | `surface ... component x-*`, Output: `components` mit `adapter: "xtend.component"` |
|
|
29
|
+
| XRouter Routes | vNext Shell-/Route-Surface, Output: `routes` mit `router: "xtend.xrouter"` |
|
|
30
|
+
| Scheduler Policies | `lane` und Lifecycle-Operationen, Output: `schedules` |
|
|
31
|
+
| Markup oder Fragmente | `surface`, `slot`, `trust boundary`, Output: `templates` |
|
|
27
32
|
| Beschreibung, Handoff, Historie | `manifest.metadata` |
|
|
28
33
|
|
|
29
|
-
`manifest.metadata` bleibt fuer Produktbeschreibung, Handoff-Notizen,
|
|
34
|
+
`manifest.metadata` bleibt fuer Produktbeschreibung, Handoff-Notizen,
|
|
35
|
+
Demo-Historie und bewusst historische Pilotdaten gueltig. Operative Routes,
|
|
36
|
+
Components und Schedules sollen dort nicht neu entstehen.
|
|
37
|
+
Template-only-Dokumente bleiben kompatibel.
|
|
38
|
+
|
|
39
|
+
## vNext-Zielbild
|
|
40
|
+
|
|
41
|
+
```rmt
|
|
42
|
+
template settings.migration {
|
|
43
|
+
state settings.tab type string initial "profile"
|
|
44
|
+
|
|
45
|
+
portal surface.root root "#settings-root" layer surface
|
|
46
|
+
|
|
47
|
+
surface settings.card kind card component x-card {
|
|
48
|
+
source state settings.tab
|
|
49
|
+
portal surface.root
|
|
50
|
+
|
|
51
|
+
lane visible weight 80 {
|
|
52
|
+
hydrate settings-card from state settings.tab
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Die JSON-Beispiele in den folgenden Schritten sind bewusst als Legacy Input
|
|
59
|
+
oder Runtime-Registry-Output markiert. Sie zeigen Migrationsevidence, nicht die
|
|
60
|
+
neue Schreibform.
|
|
30
61
|
|
|
31
62
|
## Migrationsmatrix
|
|
32
63
|
|
|
@@ -41,7 +72,7 @@ Neue Dokumente sollen diese Quellen nutzen:
|
|
|
41
72
|
| manuelle Scheduler-/State-Bruecke | durch `createRmtStateSchedulerDiagnosticsBridge` ersetzen |
|
|
42
73
|
| nicht-XTend Host | eigenen Adapter wie `vanilla.component` deklarieren |
|
|
43
74
|
|
|
44
|
-
## Schritt 1: Adapter explizit machen
|
|
75
|
+
## Schritt 1: Adapter im Registry-Output explizit machen
|
|
45
76
|
|
|
46
77
|
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
78
|
|
|
@@ -57,9 +88,9 @@ Alte Demo-Metadaten enthalten oft implizites Wissen wie "diese Route nutzt XRout
|
|
|
57
88
|
|
|
58
89
|
`kernelVisible: false` ist fuer host-spezifische Adapterdaten Pflicht. Es bedeutet: Der Kernel darf den Record validieren und indizieren, aber keine XTend-Laufzeit importieren.
|
|
59
90
|
|
|
60
|
-
## Schritt 2: Components aus Metadaten heben
|
|
91
|
+
## Schritt 2: Components aus Legacy-Metadaten heben
|
|
61
92
|
|
|
62
|
-
Vorher:
|
|
93
|
+
Vorher: Legacy `manifest.metadata`
|
|
63
94
|
|
|
64
95
|
```json
|
|
65
96
|
{
|
|
@@ -76,7 +107,7 @@ Vorher:
|
|
|
76
107
|
}
|
|
77
108
|
```
|
|
78
109
|
|
|
79
|
-
Nachher:
|
|
110
|
+
Nachher: Compatibility-/Registry-Output
|
|
80
111
|
|
|
81
112
|
```json
|
|
82
113
|
{
|
|
@@ -94,9 +125,9 @@ Nachher:
|
|
|
94
125
|
|
|
95
126
|
Damit kann `createRmtFormat().createRuntimeRegistries(...)` die Component ueber `componentRegistry.byAdapter["xtend.component"]` bereitstellen.
|
|
96
127
|
|
|
97
|
-
## Schritt 3: Routes aus Metadaten heben
|
|
128
|
+
## Schritt 3: Routes aus Legacy-Metadaten heben
|
|
98
129
|
|
|
99
|
-
Vorher:
|
|
130
|
+
Vorher: Legacy `manifest.metadata`
|
|
100
131
|
|
|
101
132
|
```json
|
|
102
133
|
{
|
|
@@ -113,7 +144,7 @@ Vorher:
|
|
|
113
144
|
}
|
|
114
145
|
```
|
|
115
146
|
|
|
116
|
-
Nachher:
|
|
147
|
+
Nachher: Compatibility-/Registry-Output
|
|
117
148
|
|
|
118
149
|
```json
|
|
119
150
|
{
|
|
@@ -181,10 +212,10 @@ Wenn Speziallogik weiterhin notwendig ist, gehoert sie in einen Adapter oder in
|
|
|
181
212
|
|
|
182
213
|
`xtendrmt/xtendrmt-bestcase-demo.rmt` ist die produktive Authoring-Referenz fuer RMT vNext:
|
|
183
214
|
|
|
184
|
-
- die `.rmt` Datei nutzt `template`, `surface`, `lane`, Lifecycle-Operationen, Slots
|
|
215
|
+
- die `.rmt` Datei nutzt `template`, `surface`, `lane`, Lifecycle-Operationen, Slots, Event-Actions, State, Selectors, Actions, DataSources, Portals, Overlays, Resources und Remote Surfaces statt JSON
|
|
185
216
|
- `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
|
|
187
|
-
- `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und `
|
|
217
|
+
- die Browser-Demo projiziert vNext-Core zur Laufzeit auf `adapters`, `components`, `routes`, `schedules`, Component Capability Registry, Player Contract und Resource Ownership
|
|
218
|
+
- `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter`, `createRmtStateSchedulerDiagnosticsBridge` und `createRmtComponentCapabilityRegistry` bleiben die produktiven Adapterpfade
|
|
188
219
|
- `nativeDemoMigration` wird in der Runtime-Projektion als Handoff-Metadatum erhalten
|
|
189
220
|
|
|
190
221
|
`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.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# XTendRMT Native Authoring Guide
|
|
2
2
|
|
|
3
|
-
- Status: produktiv nach Epic 05 Abschluss
|
|
3
|
+
- Status: produktiv nach Epic 05 Abschluss, vNext-first aktualisiert
|
|
4
4
|
- Contract: `xtend.rmt.native-authoring-guide.v1`
|
|
5
5
|
- Mindestgates:
|
|
6
6
|
- `node scripts/run_xtend_tests.js rmt-compatibility --json`
|
|
@@ -9,221 +9,193 @@
|
|
|
9
9
|
|
|
10
10
|
## Zweck
|
|
11
11
|
|
|
12
|
-
Dieser Guide beschreibt das produktive Authoring-Modell fuer native `.rmt`
|
|
12
|
+
Dieser Guide beschreibt das produktive Authoring-Modell fuer native `.rmt`
|
|
13
|
+
Dokumente mit XTend UI und XRouter. Der empfohlene Weg fuer neue Apps ist RMT
|
|
14
|
+
vNext: App Shell, Surfaces, Routes, State, Events, Hydration und Fabric-Lanes
|
|
15
|
+
stehen in einer lesbaren RMT-Quelle. Legacy- und App-DSL-JSON bleiben
|
|
16
|
+
Compatibility Layer, Runtime Registry und Compiler-Target, aber nicht der
|
|
17
|
+
normale Autorenpfad.
|
|
13
18
|
|
|
14
|
-
`.rmt` ist der kanonische Dateityp. Server sollten ihn als
|
|
19
|
+
`.rmt` ist der kanonische Dateityp. Server sollten ihn als
|
|
20
|
+
`application/vnd.xtendrmt.rmt+json` oder kompatibel als Text ausliefern; der
|
|
21
|
+
Runtime-Loader liest RMT-Dokumente als Text und parst sie ueber
|
|
22
|
+
`createRmtFormat().parseDocument(...)`. JSON-Endungen bleiben nur fuer
|
|
23
|
+
Edge-Case-Hosts ohne native MIME-Unterstuetzung vorgesehen.
|
|
15
24
|
|
|
16
|
-
Fuer einen kompakten Produktueberblick siehe [XTendRMT Developer
|
|
25
|
+
Fuer einen kompakten Produktueberblick siehe [XTendRMT Developer
|
|
26
|
+
Overview](./xtendrmt-overview.md). Die referenzartige DSL-Beschreibung liegt in
|
|
27
|
+
[XTendRMT App-DSL Reference](./xtendrmt-app-dsl.md); Runtime-Factories und
|
|
28
|
+
Bridge-Verkabelung liegen in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
|
|
17
29
|
|
|
18
30
|
Die Produktgrenze bleibt:
|
|
19
31
|
|
|
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
|
-
-
|
|
32
|
+
- XTend UI ist das UI-Builder- und Web-Component-Produkt.
|
|
33
|
+
- XTendRMT ist Scheduler, Runtime Kernel und Templating Engine.
|
|
34
|
+
- XRouter ist der erste produktive Router Adapter.
|
|
35
|
+
- XTend Components sind First-Class RMT Components ueber `xtend.component`.
|
|
36
|
+
- Nicht-XTend Hosts bleiben ueber eigene Adapter gleichberechtigt.
|
|
37
|
+
- Der RMT Kernel importiert keine XTend-, XRouter-, DOM- oder Browser-Typen.
|
|
25
38
|
|
|
26
|
-
Ab `WP-E13-09` ist [RMT Production Readiness](./rmt-production-readiness.md)
|
|
39
|
+
Ab `WP-E13-09` ist [RMT Production Readiness](./rmt-production-readiness.md)
|
|
40
|
+
der RC1-Schnitt fuer diesen Pfad. Der Contract
|
|
41
|
+
`xtend.epic13.rmt-production-readiness.v1` wird lokal ueber
|
|
42
|
+
`node scripts/run_xtend_tests.js epic13-rmt-production-readiness --json`
|
|
43
|
+
geprueft und buendelt die bestehenden RMT-, Component-, Fabric- und
|
|
44
|
+
Telemetry-Gates.
|
|
27
45
|
|
|
28
46
|
Ab Epic 14 ist der native Authoring-Pfad auch toolgestuetzt:
|
|
29
47
|
|
|
30
|
-
- [RMT Linter und AI-Agent Repair Report](./rmt-linter.md) beschreibt
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
```
|
|
48
|
+
- [RMT Linter und AI-Agent Repair Report](./rmt-linter.md) beschreibt
|
|
49
|
+
`xt rmt lint`, JSON-Reports, `--fail-on` und `--agent`.
|
|
50
|
+
- [RMT Language Server und Editor Setup](./rmt-language-server.md) beschreibt
|
|
51
|
+
LSP, Snippets und Editor-Anbindung fuer VS Code, JetBrains, Neovim und Helix.
|
|
52
|
+
- `node scripts/run_xtend_tests.js rmt-language-regression --json` prueft
|
|
53
|
+
valide, defekte, Legacy- und groessere RMT-Dokumente ueber Parser, Linter,
|
|
54
|
+
CLI, LSP und Agent-Report hinweg.
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
## Minimaler vNext-Aufbau
|
|
54
57
|
|
|
55
|
-
|
|
58
|
+
Neue App-Shells starten mit einer vNext-Quelle:
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
```rmt
|
|
61
|
+
template settings.app {
|
|
62
|
+
state settings.tab type string initial "profile"
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"kind": "router_adapter",
|
|
63
|
-
"runtimeSurface": ["esm", "browser_classic"],
|
|
64
|
-
"providedCapabilities": ["routes", "navigation", "params", "query", "scheduleRefs"],
|
|
65
|
-
"kernelVisible": false
|
|
66
|
-
}
|
|
67
|
-
```
|
|
64
|
+
selector settings.view from state settings.tab {
|
|
65
|
+
output SettingsView
|
|
66
|
+
}
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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"
|
|
68
|
+
action settings.save {
|
|
69
|
+
input tab string
|
|
70
|
+
reduce state.settings.tab = input.tab
|
|
71
|
+
emit settings.saved with action settings.save
|
|
97
72
|
}
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
73
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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"
|
|
74
|
+
portal surface.root root "#app-root" layer surface
|
|
75
|
+
|
|
76
|
+
surface settings.card kind page component x-card {
|
|
77
|
+
source selector settings.view
|
|
78
|
+
portal surface.root
|
|
79
|
+
|
|
80
|
+
lane visible weight 80 {
|
|
81
|
+
mount x-card
|
|
82
|
+
hydrate settings-card from selector settings.view
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
on submit target settings-form -> action settings.save {
|
|
86
|
+
payload tab from target.dataset.tab
|
|
87
|
+
}
|
|
124
88
|
}
|
|
125
89
|
}
|
|
126
90
|
```
|
|
127
91
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
```
|
|
92
|
+
Der Compiler erzeugt daraus Core- und Kernel-Records fuer `adapters`,
|
|
93
|
+
`components`, `routes`, `schedules`, `surfaces` und `templates`. Diese Records
|
|
94
|
+
sind Runtime-Registry und Mirror; App-Autoren arbeiten in vNext.
|
|
95
|
+
|
|
96
|
+
## Adapter und Host-Grenze
|
|
97
|
+
|
|
98
|
+
Adapter beschreiben Host-Faehigkeiten. Sie sind Daten im RMT Dokument, keine
|
|
99
|
+
Kernel-Imports. Der aktuelle Produktpfad kennt diese stabilen Adapter-IDs:
|
|
100
|
+
|
|
101
|
+
- `xtend.xrouter` fuer native XRouter Routes.
|
|
102
|
+
- `xtend.component` fuer XTend Custom Elements.
|
|
103
|
+
- `xtend.surface` fuer SurfaceManager-, SidePanel- und Overlay-Handoffs.
|
|
104
|
+
- `rmt.state-scheduler-diagnostics` fuer Adapter Results, Scheduler Endpoints
|
|
105
|
+
und Diagnostics.
|
|
106
|
+
- `vanilla.component` als Beispiel fuer einen nicht-XTend Component Host.
|
|
153
107
|
|
|
154
|
-
|
|
108
|
+
`kernelVisible: false` bleibt fuer host-spezifische Adapterdaten der Normalfall.
|
|
109
|
+
Der Kernel darf Records normalisieren, indizieren und schedulen, aber keine
|
|
110
|
+
Host-Runtime laden.
|
|
155
111
|
|
|
156
|
-
|
|
157
|
-
- `component.visible.mount` -> `xtendrmt.component.mount`
|
|
158
|
-
- `component.idle.hydrate` -> `xtendrmt.component.hydrate`
|
|
159
|
-
- `vanilla.visible.mount` -> `xtendrmt.vanilla.mount`
|
|
112
|
+
## Components, Routes und Schedules in vNext
|
|
160
113
|
|
|
161
|
-
|
|
114
|
+
Components werden ueber `surface ... component ...` sichtbar. Route- und
|
|
115
|
+
Schedule-Informationen bleiben in der RMT-Quelle deklarativ und werden vom Host
|
|
116
|
+
ueber Adapter ausgefuehrt:
|
|
162
117
|
|
|
163
|
-
|
|
118
|
+
```rmt
|
|
119
|
+
template settings.routes {
|
|
120
|
+
portal surface.root root "#app-root" layer surface
|
|
164
121
|
|
|
165
|
-
|
|
122
|
+
surface settings.page kind page component x-section {
|
|
123
|
+
portal surface.root
|
|
166
124
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
"schedule": "surface.user-blocking.open",
|
|
177
|
-
"stateKey": "xtend.surface.inspector.state"
|
|
125
|
+
lane visible weight 80 {
|
|
126
|
+
hydrate settings-shell from endpoint xtendrmt.route.render
|
|
127
|
+
hydrate settings-form from endpoint xtendrmt.component.hydrate
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
lane idle weight 20 {
|
|
131
|
+
hydrate settings-help from endpoint xtendrmt.component.hydrate
|
|
132
|
+
}
|
|
133
|
+
}
|
|
178
134
|
}
|
|
179
135
|
```
|
|
180
136
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
137
|
+
Der Normalizer macht daraus Runtime-Registry-Eintraege, die Adapter ueber
|
|
138
|
+
`componentRegistry.byAdapter["xtend.component"]`, `componentRegistry.byTag[...]`
|
|
139
|
+
und Route-/Schedule-Indizes konsumieren. XRouter-Mapping, `registerRoutes`,
|
|
140
|
+
Custom-Element-Registration, DOM-Erzeugung und Hydration bleiben Host-Aufgabe.
|
|
141
|
+
|
|
142
|
+
## Surfaces und Templates
|
|
143
|
+
|
|
144
|
+
Komplexe App-Shells werden in vNext als Surfaces und Portals beschrieben:
|
|
145
|
+
|
|
146
|
+
```rmt
|
|
147
|
+
template workbench.app {
|
|
148
|
+
state workbench.selection type object initial null
|
|
149
|
+
|
|
150
|
+
portal surface.root root "#workbench-root" layer surface
|
|
151
|
+
|
|
152
|
+
surface workbench.manager kind workspace component x-surface-manager {
|
|
153
|
+
portal surface.root
|
|
154
|
+
|
|
155
|
+
lane visible weight 90 {
|
|
156
|
+
hydrate surface-manager from endpoint xtendrmt.component.mount
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
surface workbench.inspector kind window component x-surface-window {
|
|
161
|
+
source state workbench.selection
|
|
162
|
+
portal surface.root
|
|
163
|
+
|
|
164
|
+
lane user-blocking weight 95 {
|
|
165
|
+
hydrate inspector-window from state workbench.selection
|
|
208
166
|
}
|
|
209
167
|
}
|
|
210
168
|
}
|
|
211
169
|
```
|
|
212
170
|
|
|
213
|
-
|
|
171
|
+
Das Lowering kann daraus weiterhin `dom_descriptor` Template Records und
|
|
172
|
+
native `surfaces` Records erzeugen. `html_fragment` bleibt kompatibel, ist aber
|
|
173
|
+
DOM-untrusted und braucht `xtend.security.sanitizing-boundary.v1`. Der Kernel
|
|
174
|
+
sanitized kein HTML; Host Adapter besitzen den Trusted-DOM-Sink. Siehe
|
|
175
|
+
[Trusted DOM und Sanitizing](./trusted-dom-sanitizing.md).
|
|
214
176
|
|
|
215
|
-
|
|
177
|
+
Der abgeschlossene Surface-Authoring-Pfad liegt in [SurfaceManager Authoring
|
|
178
|
+
Guide](./surface-manager-authoring-guide.md) (`docs/surface-manager-authoring-guide.md`).
|
|
216
179
|
|
|
217
180
|
## Runtime-Verkabelung
|
|
218
181
|
|
|
219
|
-
Der produktive Browser-/ESM-Pfad
|
|
182
|
+
Der produktive Browser-/ESM-Pfad bleibt stabil:
|
|
220
183
|
|
|
221
184
|
1. `createRmtFormat().normalizeDocument(document)`
|
|
222
185
|
2. `createRmtFormat().createRuntimeRegistries(normalizedDocument)`
|
|
223
186
|
3. `createRmtXRouterAdapter(...).registerRoutes(registry)`
|
|
224
|
-
4. `createRmtXtendComponentAdapter(...).mountComponent(...)` und
|
|
187
|
+
4. `createRmtXtendComponentAdapter(...).mountComponent(...)` und
|
|
188
|
+
`hydrateComponent(...)`
|
|
225
189
|
|
|
226
|
-
Adapter Results koennen anschliessend ueber
|
|
190
|
+
Adapter Results koennen anschliessend ueber
|
|
191
|
+
`createRmtStateSchedulerDiagnosticsBridge(...).recordAdapterResult(...)` an
|
|
192
|
+
`xstate`, Scheduler und Diagnostics Hub gespiegelt werden.
|
|
193
|
+
|
|
194
|
+
Die stabilen Factory-Namen fuer Adapterdokumentation und Tooling bleiben
|
|
195
|
+
`createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und
|
|
196
|
+
`createRmtStateSchedulerDiagnosticsBridge`. Die Standard-Policies bleiben
|
|
197
|
+
`route.visible.render` fuer sichtbares Routing und `component.idle.hydrate`
|
|
198
|
+
fuer nachgelagerte Component-Hydration.
|
|
227
199
|
|
|
228
200
|
## Authoring Tooling
|
|
229
201
|
|
|
@@ -241,26 +213,19 @@ Die IDE-Anbindung startet denselben Sprachkern ueber:
|
|
|
241
213
|
node tools/rmt-language-server/server.js
|
|
242
214
|
```
|
|
243
215
|
|
|
244
|
-
Wichtig: Linter, LSP, Code Actions und Agent Report teilen sich den gleichen
|
|
245
|
-
|
|
246
|
-
|
|
216
|
+
Wichtig: Linter, LSP, Code Actions und Agent Report teilen sich den gleichen
|
|
217
|
+
Diagnosekern. Editor-Packages und AI-Agenten sollen keine eigenen RMT-Regeln
|
|
218
|
+
implementieren.
|
|
247
219
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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`.
|
|
220
|
+
Neue App-Shells koennen ueber den Snippet-Prefix `rmt-app` gestartet werden.
|
|
221
|
+
Weitere Prefixes sind `rmt-component`, `rmt-route`, `rmt-schedule`,
|
|
222
|
+
`rmt-template-dom`, `rmt-template-html` und `rmt-vnext-primitive-shell`.
|
|
260
223
|
|
|
261
224
|
## Fabric/Lane-Ingestion im Component Adapter
|
|
262
225
|
|
|
263
|
-
Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2`
|
|
226
|
+
Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2`
|
|
227
|
+
Fabric- und Lane-Hints direkt beim Mounting und bei Hydration aus. Die
|
|
228
|
+
Precedence bleibt:
|
|
264
229
|
|
|
265
230
|
1. `rmt.schedule-record`
|
|
266
231
|
2. `rmt.component-metadata`
|
|
@@ -268,7 +233,12 @@ Der XTend Component Adapter wertet ab `xtend.component.fabric-lane-ingestion.v2`
|
|
|
268
233
|
4. `component.static-contract`
|
|
269
234
|
5. `scaffold.blueprint-default`
|
|
270
235
|
|
|
271
|
-
|
|
236
|
+
In vNext kommt die bevorzugte Quelle aus `lane`- und Lifecycle-Klauseln. Der
|
|
237
|
+
Adapter stellt dafuer `resolveFabricContext(componentRef, operation, model,
|
|
238
|
+
options)` bereit. `mountComponent(...)` und `hydrateComponent(...)` spiegeln
|
|
239
|
+
den Context in `result.metadata.fabric` und setzen DOM-Attribute fuer Lane,
|
|
240
|
+
RMT-Lane, Fiber, Source und Endpoint. Konflikte erzeugen
|
|
241
|
+
`rmt.xtend.component.fabric_lane.conflict`.
|
|
272
242
|
|
|
273
243
|
Der lokale Gate ist:
|
|
274
244
|
|
|
@@ -278,38 +248,64 @@ node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json
|
|
|
278
248
|
|
|
279
249
|
## Component Lifecycle Telemetry
|
|
280
250
|
|
|
281
|
-
Ab `xtend.component.lifecycle-telemetry.v1` erzeugt derselbe Adapter
|
|
251
|
+
Ab `xtend.component.lifecycle-telemetry.v1` erzeugt derselbe Adapter
|
|
252
|
+
standardisierte Component Lifecycle Telemetry. RMT-Dokumente muessen dafuer
|
|
253
|
+
keinen XTend-Code importieren; sie liefern nur Component-, Route-, Schedule-
|
|
254
|
+
und Fabric-Kontext. Der Host kann `telemetryCollector`, `recordTelemetry` oder
|
|
255
|
+
eine Fabric-Instanz uebergeben.
|
|
256
|
+
|
|
257
|
+
```js
|
|
258
|
+
const records = [];
|
|
259
|
+
adapter.mountComponent(root, 'pages.settings', model, {
|
|
260
|
+
mapping,
|
|
261
|
+
telemetryCollector: records
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
const snapshot = fabric.createTelemetrySnapshot({
|
|
265
|
+
componentTelemetry: records
|
|
266
|
+
});
|
|
267
|
+
```
|
|
282
268
|
|
|
283
|
-
|
|
269
|
+
`snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`,
|
|
270
|
+
`event`, `unmount` und `error` nach Operation, Component und Lane. Component-
|
|
271
|
+
Fehler, Deadline-Ueberschreitungen und explizite `backpressureSignal` Metadata
|
|
272
|
+
koennen Backpressure erzeugen. Der Gate ist
|
|
273
|
+
`node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json`.
|
|
284
274
|
|
|
285
|
-
|
|
286
|
-
node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json
|
|
287
|
-
```
|
|
275
|
+
Hosts koennen Fabric Snapshots direkt an die produktive RMT Bridge uebergeben:
|
|
288
276
|
|
|
289
|
-
|
|
277
|
+
```js
|
|
278
|
+
bridge.recordTelemetrySnapshot(snapshot, {
|
|
279
|
+
scheduleRef: "diagnostics.snapshot"
|
|
280
|
+
});
|
|
281
|
+
```
|
|
290
282
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
- `xtendrmt/rmt-runtime.browser.js`
|
|
294
|
-
- `xtendrmt/rmt-core.d.ts`
|
|
295
|
-
- `xtendrmt/rmt.schema.json`
|
|
296
|
-
- `xtendrmt/rmt-manifest.json`
|
|
283
|
+
Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und
|
|
284
|
+
`rmt.backpressure.*` und plant bei Bedarf den Diagnostics-Snapshot-Endpunkt.
|
|
297
285
|
|
|
298
286
|
## Multi-Host-Regel
|
|
299
287
|
|
|
300
|
-
Native RMT Components duerfen nicht implizit XTend bedeuten. Ein nicht-XTend
|
|
288
|
+
Native RMT Components duerfen nicht implizit XTend bedeuten. Ein nicht-XTend
|
|
289
|
+
Host nutzt denselben vNext-Aufbau mit eigener Adapter-ID und eigener
|
|
290
|
+
Host-Ausfuehrung:
|
|
291
|
+
|
|
292
|
+
```rmt
|
|
293
|
+
template vanilla.app {
|
|
294
|
+
portal surface.root root "#vanilla-root" layer surface
|
|
295
|
+
|
|
296
|
+
surface vanilla.panel kind card component vanilla-panel {
|
|
297
|
+
portal surface.root
|
|
301
298
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
"adapter": "vanilla.component",
|
|
307
|
-
"tag": "vanilla-panel",
|
|
308
|
-
"schedule": "vanilla.visible.mount"
|
|
299
|
+
lane visible weight 60 {
|
|
300
|
+
hydrate vanilla-panel from endpoint xtendrmt.vanilla.mount
|
|
301
|
+
}
|
|
302
|
+
}
|
|
309
303
|
}
|
|
310
304
|
```
|
|
311
305
|
|
|
312
|
-
Der Browser-Smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` prueft
|
|
306
|
+
Der Browser-Smoke `tests/browser/fixtures/rmt-xrouter-xtend-smoke.html` prueft
|
|
307
|
+
genau diesen Pfad. Damit ist Framework-Agnostik nicht nur Architekturziel,
|
|
308
|
+
sondern Regression.
|
|
313
309
|
|
|
314
310
|
## Kernel Boundary
|
|
315
311
|
|
|
@@ -322,16 +318,16 @@ Der RMT Kernel darf nicht importieren oder voraussetzen:
|
|
|
322
318
|
- `xstate`
|
|
323
319
|
- Browser DOM APIs
|
|
324
320
|
|
|
325
|
-
Der Kernel darf normalisieren, indizieren, validieren und Schedule Policies
|
|
321
|
+
Der Kernel darf normalisieren, indizieren, validieren und Schedule Policies
|
|
322
|
+
beschreiben. Host-Ausfuehrung bleibt Adapterarbeit.
|
|
326
323
|
|
|
327
324
|
## Review-Checkliste
|
|
328
325
|
|
|
329
326
|
Vor einem neuen nativen `.rmt` Dokument pruefen:
|
|
330
327
|
|
|
331
|
-
-
|
|
332
|
-
-
|
|
333
|
-
-
|
|
334
|
-
-
|
|
335
|
-
- bleiben XTend-spezifische Daten `kernelVisible: false`?
|
|
328
|
+
- beschreibt die Quelle App Shell, Surfaces, Lanes und Events in RMT vNext?
|
|
329
|
+
- sind Legacy-/App-DSL-JSON nur noch Compiler-Output, Mirror oder Migration?
|
|
330
|
+
- bleiben XTend-spezifische Daten ausserhalb des Kernels?
|
|
331
|
+
- referenzieren Lifecycle-Operationen stabile Endpoints und Adaptergrenzen?
|
|
336
332
|
- existiert fuer nicht-XTend Hosts ein eigener Adapter statt XTend-Fallback?
|
|
337
333
|
- laufen `rmt-compatibility`, `browser` und `references` Gates?
|