@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
|
@@ -51,7 +51,7 @@ Der Plan haelt die frueheren Boundary-Luecken nachvollziehbar, aber nicht mehr a
|
|
|
51
51
|
- 0 Manifest-Eintraege brauchen noch Suite-, Fixture- oder Type-Nacharbeit.
|
|
52
52
|
- `xstate` ist seit `WP-E13-05` als Runtime-Boundary geschlossen.
|
|
53
53
|
- `x-utils` ist seit `WP-E13-05` als Utility-Boundary geschlossen.
|
|
54
|
-
- Die
|
|
54
|
+
- Die 42 sichtbaren Runtime-/UI-Komponenten behalten explizite Performance-Profile; `xstate` und `x-utils` werden nicht kuenstlich zu visuellen Profiltraegern umgedeutet.
|
|
55
55
|
|
|
56
56
|
Damit ist klar, dass `ER-WP-35` priorisiert, aber die eigentliche Screenshot-/Pixel-Regression an CI und Release Readiness uebergibt.
|
|
57
57
|
|
package/docs/xtend-rmt-types.md
CHANGED
|
@@ -10,16 +10,17 @@
|
|
|
10
10
|
|
|
11
11
|
## Zweck
|
|
12
12
|
|
|
13
|
-
`WP-TypeExports-04` macht die XTendRMT Runtime, den Browser-Entry und die RMT-Language-/Tooling-Exports fuer TypeScript-Consumer importierbar.
|
|
13
|
+
`WP-TypeExports-04` macht die XTendRMT Runtime, den Browser-Entry und die RMT-Language-/Tooling-Exports fuer TypeScript-Consumer importierbar. `./rmt` und `./rmt/browser` zeigen per `types`-Condition auf `./xtendrmt/rmt-core.d.ts`, waehrend `./rmt/dom-descriptor-renderer`, `./rmt/component-capability-registry`, `./rmt/state-selector-runtime`, `./rmt/action-effect-runtime`, `./rmt/event-routing-runtime` und `./rmt/surface-resource-graph-runtime` eigene schmale Runtime-Declarations besitzen.
|
|
14
14
|
|
|
15
15
|
## Declaration Pack
|
|
16
16
|
|
|
17
17
|
| Bereich | Package Export | Declaration |
|
|
18
18
|
| --- | --- | --- |
|
|
19
19
|
| RMT Runtime | `./rmt`, `./rmt/browser` | `./xtendrmt/rmt-core.d.ts` |
|
|
20
|
+
| RMT App Platform Runtime | `./rmt/dom-descriptor-renderer`, `./rmt/component-capability-registry`, `./rmt/state-selector-runtime`, `./rmt/action-effect-runtime`, `./rmt/event-routing-runtime`, `./rmt/surface-resource-graph-runtime` | `./xtendrmt/rmt-dom-descriptor-renderer.d.ts`, `./xtendrmt/rmt-component-capability-registry.d.ts`, `./xtendrmt/rmt-state-selector-runtime.d.ts`, `./xtendrmt/rmt-action-effect-runtime.d.ts`, `./xtendrmt/rmt-event-routing-runtime.d.ts`, `./xtendrmt/rmt-surface-resource-graph-runtime.d.ts` |
|
|
20
21
|
| Source Model und Parser | `./rmt-language/source-model`, `./rmt-language/parser` | `tools/rmt-language/*.d.ts` |
|
|
21
22
|
| vNext Compiler und Contracts | `./rmt-language/vnext-*` | `tools/rmt-language/vnext-*.d.ts` |
|
|
22
|
-
| Tooling Services | `./rmt-language/diagnostics`, `./rmt-language/completions`, `./rmt-language/hover`, `./rmt-language/symbols`, `./rmt-language/definitions`, `./rmt-language/code-actions` | Service-Facades mit gemeinsamen RMT-Tooling-Typen |
|
|
23
|
+
| Tooling Services | `./rmt-language/diagnostics`, `./rmt-language/app-platform-tooling`, `./rmt-language/completions`, `./rmt-language/hover`, `./rmt-language/symbols`, `./rmt-language/definitions`, `./rmt-language/code-actions` | Service-Facades mit gemeinsamen RMT-Tooling-Typen |
|
|
23
24
|
| LSP, Linter, Editor | `./rmt-language-server`, `./rmt-linter/*`, `./rmt-editor/vscode` | LSP-/CLI-/Editor-Facades |
|
|
24
25
|
|
|
25
26
|
Der gemeinsame Typkern liegt in `tools/rmt-language/rmt-tooling-public-types.d.ts` und enthaelt unter anderem `RmtToolingDiagnostic`, `RmtTextEdit`, `RmtWorkspaceEdit`, `RmtLanguageServiceReport` und `RmtJsonRpcMessage`.
|
package/docs/xtendrmt-app-dsl.md
CHANGED
|
@@ -1,35 +1,48 @@
|
|
|
1
1
|
# XTendRMT App-DSL Reference
|
|
2
2
|
|
|
3
|
-
- Status: aktuell nach Epic 05 Abschluss
|
|
3
|
+
- Status: aktuell nach Epic 05 Abschluss, vNext-first aktualisiert
|
|
4
4
|
- Contract: `xtend.docs.xtendrmt-app-dsl.v1`
|
|
5
5
|
- Schema-Quelle: `xtendrmt/rmt.schema.json`
|
|
6
6
|
- Normalizer: `createRmtFormat().normalizeDocument(...)`
|
|
7
7
|
|
|
8
8
|
## Zweck
|
|
9
9
|
|
|
10
|
-
Die App-DSL beschreibt eine renderbare Anwendung als RMT-Dokument.
|
|
10
|
+
Die App-DSL beschreibt eine renderbare Anwendung als RMT-Dokument. Neue
|
|
11
|
+
Authoring-Arbeit nutzt RMT vNext; Legacy-/App-DSL-JSON ist weiterhin der
|
|
12
|
+
normalisierte Core-Output, Runtime Registry und Compatibility Surface. XTend UI,
|
|
13
|
+
XRouter, Vanilla JS oder andere Hosts werden ueber Adapter Records angebunden,
|
|
14
|
+
ohne dass der Kernel Host-Runtime importiert.
|
|
11
15
|
|
|
12
|
-
Seit `WP-E13-09` buendelt [RMT Production
|
|
16
|
+
Seit `WP-E13-09` buendelt [RMT Production
|
|
17
|
+
Readiness](./rmt-production-readiness.md) diese App-DSL unter
|
|
18
|
+
`xtend.epic13.rmt-production-readiness.v1` als RC1-Schnitt fuer Shell-first App
|
|
19
|
+
Shell, native Routes, Components, Fabric/Lanes, Lifecycle Telemetry,
|
|
20
|
+
Diagnostics und Artifact Parity.
|
|
13
21
|
|
|
14
|
-
## Minimales Dokument
|
|
22
|
+
## Minimales vNext-Dokument
|
|
15
23
|
|
|
16
|
-
```
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
```rmt
|
|
25
|
+
template app.shell {
|
|
26
|
+
state app.ready type boolean initial true
|
|
27
|
+
|
|
28
|
+
portal surface.root root "#app-root" layer surface
|
|
29
|
+
|
|
30
|
+
surface app.home kind page component x-section {
|
|
31
|
+
source state app.ready
|
|
32
|
+
portal surface.root
|
|
33
|
+
|
|
34
|
+
lane visible weight 80 {
|
|
35
|
+
hydrate app-shell from state app.ready
|
|
36
|
+
}
|
|
37
|
+
}
|
|
27
38
|
}
|
|
28
39
|
```
|
|
29
40
|
|
|
30
|
-
|
|
41
|
+
Der Compiler senkt diese Quelle in Core-Domains wie `adapters`, `components`,
|
|
42
|
+
`routes`, `schedules`, `surfaces` und `templates`. Diese Domains sind fuer
|
|
43
|
+
Runtime-Adapter stabil, aber nicht mehr die bevorzugte Schreiboberflaeche.
|
|
31
44
|
|
|
32
|
-
## Native Domains
|
|
45
|
+
## Native Domains als Compiler-Output
|
|
33
46
|
|
|
34
47
|
| Domain | Aufgabe |
|
|
35
48
|
|--------|---------|
|
|
@@ -37,95 +50,102 @@ Template-only-Dokumente bleiben gueltig. Neue App-DSL-Dokumente sollen operative
|
|
|
37
50
|
| `components` | fachliche Component Records, Host Adapter und Hydration-Hinweise |
|
|
38
51
|
| `routes` | Navigation, Route-Ziele, Query/Params und Schedule References |
|
|
39
52
|
| `schedules` | wiederverwendbare Scheduler Policies |
|
|
40
|
-
| `templates` |
|
|
53
|
+
| `templates` | `dom_descriptor`, Props, Slots, Bindings und Hydration Contracts |
|
|
54
|
+
| `surfaces` | SurfaceManager-, Window-, Panel- und Overlay-Handoffs |
|
|
41
55
|
|
|
42
|
-
`manifest.metadata` bleibt fuer Beschreibung, Handoff, Historie und Demo-Notizen
|
|
56
|
+
`manifest.metadata` bleibt fuer Beschreibung, Handoff, Historie und Demo-Notizen
|
|
57
|
+
gueltig. Neue operative Routes, Components und Schedules gehoeren in vNext-
|
|
58
|
+
Source und werden daraus in die Registry projiziert.
|
|
43
59
|
|
|
44
60
|
## Adapter Records
|
|
45
61
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"id": "xtend.xrouter",
|
|
49
|
-
"kind": "router_adapter",
|
|
50
|
-
"runtimeSurface": ["esm", "browser_classic"],
|
|
51
|
-
"providedCapabilities": ["routes", "navigation", "params", "query", "scheduleRefs"],
|
|
52
|
-
"kernelVisible": false
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Stabile Adapter-IDs:
|
|
62
|
+
Adapter werden in vNext implizit durch Surface-, Route- und Endpoint-Nutzung
|
|
63
|
+
sichtbar. Die Registry enthaelt danach stabile Adapter Records fuer Hosts:
|
|
57
64
|
|
|
58
65
|
- `xtend.xrouter`
|
|
59
66
|
- `xtend.component`
|
|
67
|
+
- `xtend.surface`
|
|
60
68
|
- `rmt.state-scheduler-diagnostics`
|
|
61
69
|
- `vanilla.component`
|
|
62
70
|
|
|
63
|
-
`kernelVisible: false` ist fuer host-spezifische Adapterdaten der Normalfall.
|
|
71
|
+
`kernelVisible: false` ist fuer host-spezifische Adapterdaten der Normalfall.
|
|
72
|
+
Der Kernel darf diese Records indizieren, aber keine Host-Runtime laden.
|
|
64
73
|
|
|
65
74
|
## Component Records
|
|
66
75
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"hydration": {
|
|
81
|
-
"mode": "runtime_render",
|
|
82
|
-
"ownershipMode": "managed_subtree"
|
|
76
|
+
Ein vNext-Surface beschreibt das fachliche Host-Element:
|
|
77
|
+
|
|
78
|
+
```rmt
|
|
79
|
+
template settings.components {
|
|
80
|
+
portal surface.root root "#settings-root" layer surface
|
|
81
|
+
|
|
82
|
+
surface settings.card kind card component x-card {
|
|
83
|
+
portal surface.root
|
|
84
|
+
|
|
85
|
+
lane visible weight 80 {
|
|
86
|
+
mount x-card
|
|
87
|
+
hydrate settings-card from endpoint xtendrmt.component.hydrate
|
|
88
|
+
}
|
|
83
89
|
}
|
|
84
90
|
}
|
|
85
91
|
```
|
|
86
92
|
|
|
87
|
-
Der Normalizer macht daraus Runtime-Registry-Eintraege, die ueber
|
|
93
|
+
Der Normalizer macht daraus Runtime-Registry-Eintraege, die ueber
|
|
94
|
+
`componentRegistry.byAdapter["xtend.component"]` und
|
|
95
|
+
`componentRegistry.byTag["x-card"]` konsumierbar sind.
|
|
88
96
|
|
|
89
97
|
## Route Records
|
|
90
98
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
"
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
Route-Metadaten bleiben deklarativ und koennen an Surfaces gekoppelt werden:
|
|
100
|
+
|
|
101
|
+
```rmt
|
|
102
|
+
template settings.routes {
|
|
103
|
+
state settings.tab type string initial "profile"
|
|
104
|
+
|
|
105
|
+
portal surface.root root "#app-root" layer surface
|
|
106
|
+
|
|
107
|
+
surface settings.page kind page component x-section {
|
|
108
|
+
source state settings.tab
|
|
109
|
+
portal surface.root
|
|
110
|
+
|
|
111
|
+
lane visible weight 80 {
|
|
112
|
+
hydrate route-view from endpoint xtendrmt.route.render
|
|
113
|
+
hydrate settings-shell from state settings.tab
|
|
106
114
|
}
|
|
107
115
|
}
|
|
108
116
|
}
|
|
109
117
|
```
|
|
110
118
|
|
|
111
|
-
Der Normalizer
|
|
119
|
+
Der Normalizer erzeugt daraus Route- und Schedule-Indizes fuer
|
|
120
|
+
`routeRegistry.byRouter["xtend.xrouter"]`, `routeRegistry.byId[...]` und
|
|
121
|
+
`routeRegistry.byPath[...]`. `title`, `documentTitle`, `titleTemplate`,
|
|
122
|
+
`metaDescription` und `metaKeywords` bleiben deklarative Route-Metadaten:
|
|
123
|
+
XRouter schreibt daraus `document.title` sowie `description`/`keywords`, ohne
|
|
124
|
+
dass RMT XTend oder XRouter importiert.
|
|
112
125
|
|
|
113
126
|
## Schedule Records
|
|
114
127
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
128
|
+
Schedules sind in vNext `lane`- und Lifecycle-Klauseln:
|
|
129
|
+
|
|
130
|
+
```rmt
|
|
131
|
+
template scheduler.page {
|
|
132
|
+
portal surface.root root "#app-root" layer surface
|
|
133
|
+
|
|
134
|
+
surface app.shell kind page component x-section {
|
|
135
|
+
portal surface.root
|
|
136
|
+
|
|
137
|
+
lane visible weight 80 {
|
|
138
|
+
hydrate route-shell from endpoint xtendrmt.route.render
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
lane idle weight 20 {
|
|
142
|
+
hydrate help-panel from endpoint xtendrmt.component.hydrate
|
|
143
|
+
}
|
|
144
|
+
}
|
|
125
145
|
}
|
|
126
146
|
```
|
|
127
147
|
|
|
128
|
-
Erprobte Endpoint-Namen:
|
|
148
|
+
Erprobte Endpoint-Namen bleiben:
|
|
129
149
|
|
|
130
150
|
- `xtendrmt.route.render`
|
|
131
151
|
- `xtendrmt.component.mount`
|
|
@@ -136,80 +156,116 @@ Erprobte Endpoint-Namen:
|
|
|
136
156
|
|
|
137
157
|
## Template Records und Trusted DOM
|
|
138
158
|
|
|
139
|
-
Neue
|
|
159
|
+
Neue Templates werden aus vNext-Surfaces und Slots in `dom_descriptor` Output
|
|
160
|
+
gesenkt:
|
|
161
|
+
|
|
162
|
+
```rmt
|
|
163
|
+
template settings.template {
|
|
164
|
+
portal surface.root root "#settings-root" layer surface
|
|
165
|
+
|
|
166
|
+
surface settings.shell kind page component x-card {
|
|
167
|
+
portal surface.root
|
|
140
168
|
|
|
141
|
-
|
|
142
|
-
{
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
169
|
+
lane visible weight 80 {
|
|
170
|
+
hydrate settings-card from endpoint xtendrmt.component.hydrate {
|
|
171
|
+
slot header hydrate settings-header
|
|
172
|
+
slot body hydrate settings-body
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
148
176
|
}
|
|
149
177
|
```
|
|
150
178
|
|
|
151
|
-
`html_fragment` bleibt kompatibel, braucht aber eine explizite
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
179
|
+
`html_fragment` bleibt kompatibel, braucht aber eine explizite
|
|
180
|
+
Trusted-DOM-Boundary:
|
|
181
|
+
|
|
182
|
+
```rmt
|
|
183
|
+
template settings.legacyHtml {
|
|
184
|
+
surface settings.legacy kind card component x-card {
|
|
185
|
+
lane visible weight 60 {
|
|
186
|
+
hydrate legacy-fragment from endpoint docs.parse {
|
|
187
|
+
trust boundary "xtend.security.sanitizing-boundary.v1"
|
|
188
|
+
sanitize html_fragment
|
|
189
|
+
}
|
|
190
|
+
}
|
|
162
191
|
}
|
|
163
192
|
}
|
|
164
193
|
```
|
|
165
194
|
|
|
166
|
-
Der Kernel darf solche Records normalisieren und schedulen. Sanitizing, Trusted
|
|
195
|
+
Der Kernel darf solche Records normalisieren und schedulen. Sanitizing, Trusted
|
|
196
|
+
DOM und konkrete DOM-Sinks bleiben Host-Adapter-Aufgabe. Siehe [Trusted DOM und
|
|
197
|
+
Sanitizing](./trusted-dom-sanitizing.md).
|
|
167
198
|
|
|
168
199
|
## Shell-first Host Apps
|
|
169
200
|
|
|
170
|
-
Die Docs-App nutzt diesen Pfad produktiv als Shell-first-Pilot.
|
|
201
|
+
Die Docs-App nutzt diesen Pfad produktiv als Shell-first-Pilot.
|
|
202
|
+
`docs/xtendrmt-parsedown-docs.rmt` beschreibt `docs.app.shell` als
|
|
203
|
+
`dom_descriptor`, `docs.header.search` als Header-Search-Slot-Template und
|
|
204
|
+
`docs.media.lazy` als future-ready Slot fuer XPlayer-Tutorials.
|
|
205
|
+
`docs/utils/pageloader.js` rendert zuerst die RMT-Shell und setzt
|
|
206
|
+
Parsedown-HTML anschliessend nur noch in den `data-rmt-slot="content"` Slot.
|
|
171
207
|
|
|
172
|
-
Wichtig: Auch in diesem Modus bleibt RMT framework-agnostisch. Parsedown,
|
|
208
|
+
Wichtig: Auch in diesem Modus bleibt RMT framework-agnostisch. Parsedown,
|
|
209
|
+
Rich-HTML-Sinks, XPlayer-Lazy-Loading und konkrete DOM-Events werden vom
|
|
210
|
+
Host-Adapter ausgefuehrt. RMT stellt Shell-Records, Slots, Schedules und
|
|
211
|
+
Diagnostics bereit.
|
|
173
212
|
|
|
174
213
|
## RMT-first XTend Apps
|
|
175
214
|
|
|
176
|
-
Ab Epic 10 ist das App-Authoring fuer vollstaendige XTend-Apps als Contract
|
|
215
|
+
Ab Epic 10 ist das App-Authoring fuer vollstaendige XTend-Apps als Contract
|
|
216
|
+
`xtend.rmt.first-class-app-authoring.v1` beschrieben. Das Ziel ist eine App,
|
|
217
|
+
deren Shell, Routes, Components, Templates, Events, Commands, Hydration
|
|
218
|
+
Policies, Fabric-Lanes und Diagnostics komplett in RMT stehen.
|
|
177
219
|
|
|
178
|
-
Der Referenzpfad liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`. Der
|
|
220
|
+
Der Referenzpfad liegt in `tests/fixtures/rmt-first-class-xtend-app.rmt`. Der
|
|
221
|
+
Gate ist:
|
|
179
222
|
|
|
180
223
|
```bash
|
|
181
224
|
node scripts/run_xtend_tests.js rmt-first-class-app --json
|
|
182
225
|
```
|
|
183
226
|
|
|
184
|
-
Der Contract bleibt bewusst host-neutral. RMT kennt `xtend.component`,
|
|
227
|
+
Der Contract bleibt bewusst host-neutral. RMT kennt `xtend.component`,
|
|
228
|
+
`xtend.xrouter` und `rmt.state-scheduler-diagnostics` als Adapter-Records,
|
|
229
|
+
importiert aber keine XTend-Komponenten und kein XRouter-Modul in den Kernel.
|
|
230
|
+
Details stehen in `development/XTend-RMT-First-Class-App-Authoring.md`.
|
|
185
231
|
|
|
186
|
-
Der kanonische Entwicklerguide fuer komplette XTend Apps liegt in [RMT-first
|
|
232
|
+
Der kanonische Entwicklerguide fuer komplette XTend Apps liegt in [RMT-first
|
|
233
|
+
XTend Apps](./rmt-first-xtend-apps.md). Der Epic-10-Abschluss und die
|
|
234
|
+
Release-Gates sind in [Epic 10 Release Handoff](./epic10-release-handoff.md)
|
|
235
|
+
dokumentiert.
|
|
187
236
|
|
|
188
237
|
## Component Fabric Context
|
|
189
238
|
|
|
190
|
-
XTend Components koennen Fabric-Hints
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
"
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
"telemetry": true
|
|
239
|
+
XTend Components koennen Fabric-Hints aus vNext-Lanes und Legacy-Metadata
|
|
240
|
+
erhalten:
|
|
241
|
+
|
|
242
|
+
```rmt
|
|
243
|
+
template pages.settings {
|
|
244
|
+
portal surface.root root "#app-root" layer surface
|
|
245
|
+
|
|
246
|
+
surface pages.settings kind page component x-form {
|
|
247
|
+
portal surface.root
|
|
248
|
+
|
|
249
|
+
lane idle weight 40 {
|
|
250
|
+
hydrate settings-form from endpoint xtendrmt.component.hydrate
|
|
203
251
|
}
|
|
204
252
|
}
|
|
205
253
|
}
|
|
206
254
|
```
|
|
207
255
|
|
|
208
|
-
Der produktive Adapter loest diese Daten ueber
|
|
256
|
+
Der produktive Adapter loest diese Daten ueber
|
|
257
|
+
`xtend.component.fabric-lane-ingestion.v2` auf. RMT Schedule Records haben
|
|
258
|
+
Vorrang vor Component Metadata, Runtime Overrides, Static Contracts und
|
|
259
|
+
Scaffold Defaults. Der Gate ist
|
|
260
|
+
`node scripts/run_xtend_tests.js rmt-component-fabric-ingestion --json`.
|
|
209
261
|
|
|
210
262
|
## Component Lifecycle Telemetry
|
|
211
263
|
|
|
212
|
-
Der Adapter erzeugt ab `xtend.component.lifecycle-telemetry.v1` Lifecycle
|
|
264
|
+
Der Adapter erzeugt ab `xtend.component.lifecycle-telemetry.v1` Lifecycle
|
|
265
|
+
Records fuer Component-Arbeit. RMT-Dokumente muessen dafuer keinen XTend-Code
|
|
266
|
+
importieren; sie liefern nur Component-, Route-, Schedule- und Fabric-Kontext.
|
|
267
|
+
Der Host kann `telemetryCollector`, `recordTelemetry` oder eine Fabric-Instanz
|
|
268
|
+
uebergeben.
|
|
213
269
|
|
|
214
270
|
```js
|
|
215
271
|
const records = [];
|
|
@@ -223,7 +279,11 @@ const snapshot = fabric.createTelemetrySnapshot({
|
|
|
223
279
|
});
|
|
224
280
|
```
|
|
225
281
|
|
|
226
|
-
`snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`,
|
|
282
|
+
`snapshot.componentTelemetry` aggregiert `mount`, `hydrate`, `render`, `update`,
|
|
283
|
+
`event`, `unmount` und `error` nach Operation, Component und Lane.
|
|
284
|
+
Component-Fehler, Deadline-Ueberschreitungen und explizite
|
|
285
|
+
`backpressureSignal` Metadata koennen Backpressure erzeugen. Der Gate ist
|
|
286
|
+
`node scripts/run_xtend_tests.js rmt-component-lifecycle-telemetry --json`.
|
|
227
287
|
|
|
228
288
|
Hosts koennen Fabric Snapshots direkt an die produktive RMT Bridge uebergeben:
|
|
229
289
|
|
|
@@ -233,10 +293,14 @@ bridge.recordTelemetrySnapshot(snapshot, {
|
|
|
233
293
|
});
|
|
234
294
|
```
|
|
235
295
|
|
|
236
|
-
Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und
|
|
296
|
+
Die Bridge spiegelt daraus `rmt.telemetry.lastSnapshot` und
|
|
297
|
+
`rmt.backpressure.*` und plant bei Bedarf den Diagnostics-Snapshot-Endpunkt.
|
|
237
298
|
|
|
238
299
|
## Runtime Registry
|
|
239
300
|
|
|
301
|
+
Die Registry ist die konsumierbare Grenze zwischen DSL und Adapter. Adapter
|
|
302
|
+
lesen Registry-Eintraege, nicht rohe Demo-Metadaten:
|
|
303
|
+
|
|
240
304
|
```js
|
|
241
305
|
const format = createRmtFormat();
|
|
242
306
|
const normalizedDocument = format.normalizeDocument(document);
|
|
@@ -246,11 +310,10 @@ const registry = format.createRuntimeRegistries(normalizedDocument, {
|
|
|
246
310
|
});
|
|
247
311
|
```
|
|
248
312
|
|
|
249
|
-
Die Registry ist die konsumierbare Grenze zwischen DSL und Adapter. Adapter lesen Registry-Eintraege, nicht rohe Demo-Metadaten.
|
|
250
|
-
|
|
251
313
|
## Diagnostics
|
|
252
314
|
|
|
253
|
-
Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu
|
|
315
|
+
Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu
|
|
316
|
+
erzwingen. Wichtige Gruppen:
|
|
254
317
|
|
|
255
318
|
- `rmt.dsl.reference.*` fuer fehlende oder ungueltige Referenzen
|
|
256
319
|
- `rmt.runtime.registry.*` fuer Registry-Konflikte oder fehlende Required-Refs
|
|
@@ -260,7 +323,9 @@ Der App-DSL-Normalizer erzeugt Diagnostics, statt Host-Ausfuehrung zu erzwingen.
|
|
|
260
323
|
|
|
261
324
|
## Review-Checkliste
|
|
262
325
|
|
|
263
|
-
-
|
|
326
|
+
- App-Shell-Beispiele sind `rmt` und vNext-first.
|
|
327
|
+
- Runtime-Registry-JSON ist als generierter Output oder Compatibility Surface
|
|
328
|
+
eingeordnet.
|
|
264
329
|
- Routes referenzieren Components und Schedules nur per ID.
|
|
265
330
|
- Components referenzieren Host Adapter nur per ID.
|
|
266
331
|
- Schedule Policies sind zentral und wiederverwendbar.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
template xtend.docs.php_ssr_shell {
|
|
2
|
+
state docs.shell.request type object preserve {
|
|
3
|
+
initial {
|
|
4
|
+
id "docs-shell"
|
|
5
|
+
locale "de"
|
|
6
|
+
slug "readme"
|
|
7
|
+
status "server-prehydrated"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
state docs.shell.capabilities type object preserve {
|
|
12
|
+
initial {
|
|
13
|
+
id "docs-shell-capabilities"
|
|
14
|
+
components 12
|
|
15
|
+
jsonlStreaming true
|
|
16
|
+
hydrationMode "server_prerender_hydrate"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
selector docs.shell.model from state docs.shell.request {
|
|
21
|
+
output DocsShellRequest
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
selector docs.shell.capabilityModel from state docs.shell.capabilities {
|
|
25
|
+
output DocsShellCapabilities
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
datasource docs.page.payload from endpoint "index.php?xtend-docs-page={slug}&locale={locale}" {
|
|
29
|
+
method GET
|
|
30
|
+
contract DocsParsedownPagePayload
|
|
31
|
+
result html
|
|
32
|
+
fallback fixture docs.page.initial
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
datasource docs.shell.ssr from endpoint "index.php?xtend-docs-rmt-ssr=shell&format=jsonl" {
|
|
36
|
+
method GET
|
|
37
|
+
contract DocsShellSsrFrames
|
|
38
|
+
result frames
|
|
39
|
+
fallback fixture docs.ssr.initial
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
action docs.route.navigate {
|
|
43
|
+
input path string
|
|
44
|
+
reduce state.docs.shell.request.status = "route-requested"
|
|
45
|
+
emit docs.route.requested with path input.path
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
action docs.search.submit {
|
|
49
|
+
input query string
|
|
50
|
+
reduce state.docs.shell.request.status = "search-requested"
|
|
51
|
+
emit docs.search.requested with query input.query
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
portal docs.shell.root root "body" layer surface
|
|
55
|
+
|
|
56
|
+
portal docs.overlay.root root "body" layer overlay z 1000 {
|
|
57
|
+
focus policy restore
|
|
58
|
+
pointer policy passthrough
|
|
59
|
+
scroll policy lock-when-modal
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
resource docs.shell.prehydration kind subscription owner surface.docs.root {
|
|
63
|
+
dispose on surface.destroy
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
surface docs.root kind shell component x-theme {
|
|
67
|
+
source selector docs.shell.model
|
|
68
|
+
key id
|
|
69
|
+
portal docs.shell.root
|
|
70
|
+
destroy releases resource docs.shell.prehydration
|
|
71
|
+
|
|
72
|
+
lane critical weight 100 {
|
|
73
|
+
mount docs-root-shell from endpoint xtendrmt.docs.php-ssr.shell
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
lane idle weight 20 {
|
|
77
|
+
hydrate docs-root-hydration from datasource docs.shell.ssr
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
surface docs.header kind header component x-header {
|
|
82
|
+
source selector docs.shell.model
|
|
83
|
+
key id
|
|
84
|
+
portal docs.shell.root
|
|
85
|
+
|
|
86
|
+
lane critical weight 96 {
|
|
87
|
+
mount docs-header from endpoint xtendrmt.docs.php-ssr.shell
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
on click "[data-docs-language-select]" -> action docs.route.navigate {
|
|
91
|
+
payload path from target.value
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
surface docs.hero kind hero component x-hero {
|
|
96
|
+
source selector docs.shell.model
|
|
97
|
+
key id
|
|
98
|
+
portal docs.shell.root
|
|
99
|
+
|
|
100
|
+
lane visible weight 86 {
|
|
101
|
+
mount docs-hero from endpoint xtendrmt.docs.php-ssr.shell
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
surface docs.router kind router component x-router {
|
|
106
|
+
source selector docs.shell.model
|
|
107
|
+
key id
|
|
108
|
+
portal docs.shell.root
|
|
109
|
+
|
|
110
|
+
lane visible weight 92 {
|
|
111
|
+
mount docs-router from endpoint xtendrmt.docs.php-ssr.shell
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
lane idle weight 24 {
|
|
115
|
+
prewarm docs-page-payload from datasource docs.page.payload
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
surface docs.page kind page component xtend-doc-page {
|
|
120
|
+
source selector docs.shell.model
|
|
121
|
+
key slug
|
|
122
|
+
portal docs.shell.root
|
|
123
|
+
|
|
124
|
+
lane visible weight 90 {
|
|
125
|
+
hydrate docs-page-shell from endpoint xtendrmt.docs.parsedown.parse
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
lane idle weight 18 {
|
|
129
|
+
prewarm docs-related-links from worker xtendrmt.docs.related.prepare
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
surface docs.sidebar kind panel component x-section {
|
|
134
|
+
source selector docs.shell.capabilityModel
|
|
135
|
+
key id
|
|
136
|
+
portal docs.shell.root
|
|
137
|
+
|
|
138
|
+
lane visible weight 60 {
|
|
139
|
+
hydrate docs-sidebar from endpoint xtendrmt.docs.php-ssr.shell
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
surface docs.footer kind footer component x-footer {
|
|
144
|
+
source selector docs.shell.model
|
|
145
|
+
key id
|
|
146
|
+
portal docs.shell.root
|
|
147
|
+
|
|
148
|
+
lane visible weight 54 {
|
|
149
|
+
mount docs-footer from endpoint xtendrmt.docs.php-ssr.shell
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
surface docs.diagnostics kind status component x-status {
|
|
154
|
+
source selector docs.shell.capabilityModel
|
|
155
|
+
key id
|
|
156
|
+
portal docs.overlay.root
|
|
157
|
+
|
|
158
|
+
lane diagnostics weight 12 {
|
|
159
|
+
stream docs-ssr-diagnostics from datasource docs.shell.ssr {
|
|
160
|
+
trust boundary "xtend.security.streaming-boundary.v1"
|
|
161
|
+
sanitize html
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|