@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
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# Epic 18 RMT App Platform und Media Manager Vendor Upstream
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.epic18.rmt-app-platform-vendor-upstream.v1`
|
|
4
|
+
- Status: `planned`
|
|
5
|
+
- Backlog: `development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md`
|
|
6
|
+
- Initial Workpackage: `development/WP-E18-01-Epic-18-Scope-Vendor-Baseline-und-App-Platform-Leitplanken-finalisieren.md`
|
|
7
|
+
- Source vendor snapshot: `@ccslabs/xtend@0.1.0-rc.1`
|
|
8
|
+
- Vendor source commit: `fab0e2d1281336d1b6813217e61ee2453ede09e7`
|
|
9
|
+
- Vendor package date: `2026-05-17`
|
|
10
|
+
- Source docs:
|
|
11
|
+
- `/home/konni/Dokumente/net.ccs.cloud/media-manager/docs/xtend-component-bugfixes.md`
|
|
12
|
+
- `/home/konni/Dokumente/net.ccs.cloud/media-manager/docs/vendor-build.md`
|
|
13
|
+
- `/home/konni/Dokumente/net.ccs.cloud/media-manager/docs/architecture.md`
|
|
14
|
+
- Target: XTend main branch, source components, tests, docs, RMT/App-Shell runtime and vendor build.
|
|
15
|
+
|
|
16
|
+
## Ziel
|
|
17
|
+
|
|
18
|
+
Epic 18 fuehrt die Media-Manager-Vendor-Fixes kontrolliert in XTend main
|
|
19
|
+
zurueck und nutzt die Media-Manager-Lessons-Learned als Proof-of-Need fuer eine
|
|
20
|
+
deutlich leistungsfaehigere RMT App Platform. Der kurzfristige Scope ist
|
|
21
|
+
Vendor-Paritaet fuer die abweichenden XTend-Komponenten. Der strategische Scope
|
|
22
|
+
ist generischer: Entwickler sollen App-Shells, Komponenten, State, Events,
|
|
23
|
+
Actions, DataSources, Resources, Overlays und dynamische Layouts nativ in
|
|
24
|
+
XTend/RMT modellieren koennen, ohne produktseitige `innerHTML`-Renderer,
|
|
25
|
+
manuelle Event-Delegation oder eigene Mini-Frameworks.
|
|
26
|
+
|
|
27
|
+
Der Media Manager ist dabei keine zu kopierende Produktvorlage. Seine Surfaces
|
|
28
|
+
und Records bleiben Beispielmaterial. Die Ziel-API sind flexible App-Platform-
|
|
29
|
+
Primitives, mit denen auch Admin-, Content-, Dashboard-, Editor- oder
|
|
30
|
+
Media-Apps gebaut werden koennen.
|
|
31
|
+
|
|
32
|
+
## Vendor-Paritaetsbefund
|
|
33
|
+
|
|
34
|
+
Der Vergleich von XTend main gegen
|
|
35
|
+
`/home/konni/Dokumente/net.ccs.cloud/media-manager/vendor/xtend` zeigt:
|
|
36
|
+
|
|
37
|
+
| Bereich | Befund |
|
|
38
|
+
|---------|--------|
|
|
39
|
+
| `components/` | 5 abweichende Dateien, 241 Insertions, 41 Deletions |
|
|
40
|
+
| `xtend-builder/` | keine fachliche Abweichung, nur lokale `.DS_Store` |
|
|
41
|
+
| `tools/` | keine fachliche Abweichung, nur lokale `.DS_Store` |
|
|
42
|
+
| `xtendrmt/` | keine fachliche Abweichung, nur lokale `.DS_Store` |
|
|
43
|
+
| `fabric/` | deckungsgleich |
|
|
44
|
+
| `a11y/` | deckungsgleich |
|
|
45
|
+
| `security/` | deckungsgleich |
|
|
46
|
+
| `design-tokens/` | deckungsgleich |
|
|
47
|
+
| `catalog/` | deckungsgleich |
|
|
48
|
+
| Top-Level Loader/API/CSS | deckungsgleich |
|
|
49
|
+
|
|
50
|
+
Die Bugfix-Welle darf deshalb eng geschnitten werden: keine ungezielte
|
|
51
|
+
Vendor-Kopie, sondern gezielte Uebernahme der fuenf Komponenten-Deltas plus
|
|
52
|
+
Tests, Dokumentation und Release-/Pack-Gates.
|
|
53
|
+
|
|
54
|
+
## P0 Bugfix-Welle
|
|
55
|
+
|
|
56
|
+
| Modul | Vendor-Delta | Upstream-Ziel |
|
|
57
|
+
|-------|--------------|---------------|
|
|
58
|
+
| `components/xtooltip.js` | Tooltip-Surface wird als `viewport-fixed-layer` statt als lokaler Anchor-Layer positioniert. Resize/Scroll planen per `requestAnimationFrame` eine Positionsaktualisierung. | Tooltips in Shells und Surfaces duerfen durch `overflow: hidden` nicht mehr clippen und keine Toolbar-Hoehe veraendern. |
|
|
59
|
+
| `components/xplayer.js` | Entfernt Module-Scope-`this.shadowRoot`, sichert `customElements.define`, fuehrt Host-/Player-Containment, `ResizeObserver`, langen Titel-Ellipsis, sichtbaren Volume-Overflow und kanonische Media-Events ein. | `x-player` bleibt in resizebaren Surfaces begrenzt, importiert fehlerfrei als ES-Modul und dispatcht `xplayer-play`/`xplayer-pause` aus nativen Media-Zustandswechseln. |
|
|
60
|
+
| `components/xsurfacewindow.js` | Content scrollt vertikal, horizontales Scrolling wird an der Surface-Grenze unterbunden. | Lange Inhalte erzeugen keine horizontalen Surface-Scrollbars. |
|
|
61
|
+
| `components/xsidepanel.js` | Content scrollt vertikal, horizontales Scrolling wird unterbunden; Collapse-Icon folgt `placement` und `collapsed`. | Side Panels behalten stabile Bounds und korrekt lesbare Collapse-Signale fuer links, rechts, inline und bottom. |
|
|
62
|
+
| `components/xsurfacemanager-controller.js` | `registerSurface` bewahrt bei Re-Register `bounds`, `previousBounds`, `minimized`, `maximized`, `pinned`, `collapsed`, `placement` und `mode`. | Dynamisch hinzukommende Surfaces duerfen Runtime-Bounds, Z-Order und Persistenzstatus bestehender Surfaces nicht zuruecksetzen. |
|
|
63
|
+
|
|
64
|
+
## P0 Akzeptanztests
|
|
65
|
+
|
|
66
|
+
- `x-tooltip` in einer Toolbar innerhalb eines resizebaren `x-surface-window`
|
|
67
|
+
oeffnen. Erwartet: Tooltip liegt ueber der Shell, wird nicht geclippt und
|
|
68
|
+
verursacht keinen Layout Shift.
|
|
69
|
+
- `x-player` als ES-Modul importieren und eine Instanz mounten. Erwartet: kein
|
|
70
|
+
Module-Scope-Fehler, `customElements.define` ist idempotent, native `title`
|
|
71
|
+
Attribute werden erst nach Shadow-DOM-Aufbau entfernt.
|
|
72
|
+
- `x-player` mit `width="100%" height="100%"` in einem resizebaren
|
|
73
|
+
`x-surface-window` testen. Erwartet: Host, `.player`, Media-Element,
|
|
74
|
+
Titelzeile, Controls und Volume-Slider bleiben innerhalb der Surface.
|
|
75
|
+
- `x-player` per Button, Keyboard und
|
|
76
|
+
`xstate.set("xplayer-state-<id>", { playing: true })` starten. Erwartet:
|
|
77
|
+
genau ein `xplayer-play` nach echtem Media-Start; `xplayer-pause` kommt aus
|
|
78
|
+
dem nativen `pause` Event.
|
|
79
|
+
- Lange ungebrochene Inhalte in `x-surface-window` und `x-side-panel` rendern.
|
|
80
|
+
Erwartet: keine horizontale Surface-Scrollbar; Inhalt muss selbst umbrechen,
|
|
81
|
+
truncaten oder clippen.
|
|
82
|
+
- Eine Surface verschieben/resizen, danach eine zweite Surface dynamisch in den
|
|
83
|
+
`x-surface-manager` slotten. Erwartet: die erste Surface behaelt Bounds,
|
|
84
|
+
Status, `active/zIndex`, Minimize/Maximize-Status und Side-Panel Attribute.
|
|
85
|
+
|
|
86
|
+
## Blind Spots aus dem Media Manager
|
|
87
|
+
|
|
88
|
+
Der Media Manager startet bereits Shell-first ueber einen RMT Host-Adapter, muss
|
|
89
|
+
aber seine eigentliche UI weiterhin imperativ in `media-manager-shell.js`
|
|
90
|
+
rendern. Epic 18 schliesst diese Luecke nicht durch eine 1:1-Portierung der
|
|
91
|
+
Media-Manager-Oberflaeche, sondern durch generische RMT-App-Platform-
|
|
92
|
+
Faehigkeiten.
|
|
93
|
+
|
|
94
|
+
### BS1 RMT Template Runtime
|
|
95
|
+
|
|
96
|
+
RMT muss normale UI ausdruecken koennen: Komponenten, Attribute, Textknoten,
|
|
97
|
+
konditionale Bereiche, keyed Listen, leere Zustaende, Slots, Tooltips, Icons und
|
|
98
|
+
Form Controls. Produkt-Code soll fuer normale App-UI keine HTML-Strings mehr
|
|
99
|
+
bauen muessen.
|
|
100
|
+
|
|
101
|
+
Akzeptanz: Listen, Detailbereiche, Toolbars, Feedback-Zonen und beliebige
|
|
102
|
+
Custom-Element-Kompositionen lassen sich als RMT Templates beschreiben und als
|
|
103
|
+
Render-Units ausfuehren.
|
|
104
|
+
|
|
105
|
+
### BS2 Sicherer DOM Descriptor Renderer
|
|
106
|
+
|
|
107
|
+
Der Compiler braucht DOM-Descriptoren oder erzeugte Renderfunktionen, die mit
|
|
108
|
+
`createElement`, `replaceChildren`, keyed Diffing und sicheren Attribut-Settern
|
|
109
|
+
arbeiten. Direkte HTML-Sinks bleiben eine explizite Trusted-HTML-Grenze des
|
|
110
|
+
Frameworks.
|
|
111
|
+
|
|
112
|
+
Akzeptanz: normale RMT Shell-Templates verwenden keine produktseitigen
|
|
113
|
+
`root.innerHTML`, `element.innerHTML` oder `template.innerHTML` Writes.
|
|
114
|
+
|
|
115
|
+
### BS3 Typed State und XState Bridge
|
|
116
|
+
|
|
117
|
+
App-State wie Collection, Filter, Sortierung, aktive Auswahl, Formwerte,
|
|
118
|
+
Panel-Zustaende oder dynamische Instanzen wird als RMT State Graph mit
|
|
119
|
+
Selectors, derived Values, Reducers und XState-Bindings modellierbar.
|
|
120
|
+
|
|
121
|
+
Akzeptanz: Selection-Aenderungen koennen Attribute/ARIA-Zustand inkrementell
|
|
122
|
+
synchronisieren, ohne Listen neu zu hydrieren oder Scroll/Fokus zu verlieren.
|
|
123
|
+
|
|
124
|
+
### BS4 Actions, Effects und Feedback
|
|
125
|
+
|
|
126
|
+
Async-Flows wie Daten laden, Reindex, Upload, Delete, Lazy Imports,
|
|
127
|
+
Navigation, Preview-Open oder externe Component-Commands laufen ueber
|
|
128
|
+
deklarative RMT Actions und Effects mit Loading-, Success-, Error- und
|
|
129
|
+
Feedback-Resultaten.
|
|
130
|
+
|
|
131
|
+
Akzeptanz: `x-toast` kann als RMT Feedback Surface vorgeladen und ueber
|
|
132
|
+
Action-Resultate gesteuert werden; Produktcode ruft keine ad-hoc Toast-Handler
|
|
133
|
+
fuer Standardfluesse mehr auf.
|
|
134
|
+
|
|
135
|
+
### BS5 DataSources und Contracts
|
|
136
|
+
|
|
137
|
+
RMT braucht DataSources fuer Fixture, REST, SSR und spaeter Electron/Node,
|
|
138
|
+
inklusive Schema-Validierung, Normalisierung und Pagination.
|
|
139
|
+
|
|
140
|
+
Akzeptanz: frei definierbare Record-Vertraege wirken in Template-, Selector-
|
|
141
|
+
und Action-Typen hinein; Backend-Endpunkte bleiben reine Daten-, Stream- und
|
|
142
|
+
Mutation-Adapter.
|
|
143
|
+
|
|
144
|
+
### BS6 Surface Graph Runtime
|
|
145
|
+
|
|
146
|
+
Dynamische Surface-Instanzen muessen frameworknativ als keyed Surface-Repeater
|
|
147
|
+
ausdrueckbar sein. Minimize, restore, close, destroy, focus, persistence,
|
|
148
|
+
bounds, placement und Layout-Modi gehoeren in den Surface Graph.
|
|
149
|
+
|
|
150
|
+
Akzeptanz: Entwickler koennen eigene Surface-Modelle aus beliebigen Records
|
|
151
|
+
erzeugen, ohne produktseitige Registry-Repaints oder Bounds-Recovery zu
|
|
152
|
+
schreiben.
|
|
153
|
+
|
|
154
|
+
### BS7 Island Diffing und Preserve-Regeln
|
|
155
|
+
|
|
156
|
+
Insular Hydration braucht strukturelle Patches. Auswahlwechsel duerfen Listen
|
|
157
|
+
nicht neu schreiben, Scroll/Fokus duerfen nicht verloren gehen und
|
|
158
|
+
Component-Shadow-DOM darf nicht unnoetig neu entstehen.
|
|
159
|
+
|
|
160
|
+
Akzeptanz: Hydration-Keys unterscheiden strukturelle Aenderungen von reinem
|
|
161
|
+
Selection-/State-Sync; Browser-Smokes pruefen Scroll- und Fokus-Erhalt.
|
|
162
|
+
|
|
163
|
+
### BS8 Event Routing
|
|
164
|
+
|
|
165
|
+
DOM-Events wie `click`, `change`, `input`, `drop`, `surface-closed`,
|
|
166
|
+
`xplayer-play` und `lightbox-closed` laufen ueber deklarative RMT Event Bindings
|
|
167
|
+
in Actions. Produktseitige `event.target.closest(...)`-Ketten sind nur noch
|
|
168
|
+
Host-Adapter-Fallback.
|
|
169
|
+
|
|
170
|
+
Akzeptanz: RMT Build-Diagnostics koennen Event-Quelle, Action-Ziel und Payload-
|
|
171
|
+
Contract sichtbar machen.
|
|
172
|
+
|
|
173
|
+
### BS9 Overlay- und Portal-Layer
|
|
174
|
+
|
|
175
|
+
`x-tooltip`, `x-toast`, `x-lightbox`, Popovers, Menus, Dialoge und andere
|
|
176
|
+
Overlays brauchen eine gemeinsame Portal-Schicht fuer Z-Index, Focus, Escape,
|
|
177
|
+
Pointer, Scroll und Clipping. Diese Schicht muss ueber RMT adressierbar sein.
|
|
178
|
+
|
|
179
|
+
Akzeptanz: Tooltip-Fix ist der erste Slice; weitere Overlays teilen danach
|
|
180
|
+
Portal-/Layer-Policy statt App-Shell-Workarounds.
|
|
181
|
+
|
|
182
|
+
### BS10 Resource Lifecycle Manager
|
|
183
|
+
|
|
184
|
+
Custom Elements, Object URLs, ResizeObserver, Idle Handles, Streams, Timers und
|
|
185
|
+
dynamische Imports brauchen deklarative Ownership. Destroy einer Surface oder
|
|
186
|
+
Render-Unit raeumt nur Ressourcen dieser Instanz auf.
|
|
187
|
+
|
|
188
|
+
Akzeptanz: Close zerstoert Surface-DOM und instanzgebundene Ressourcen;
|
|
189
|
+
Minimize erhaelt DOM, Shadow DOM und Runtime-State.
|
|
190
|
+
|
|
191
|
+
### BS11 SSR und Prehydration Contract
|
|
192
|
+
|
|
193
|
+
Backend-Adapter sollen initiale Records, Surface-Snapshots und optional
|
|
194
|
+
vorhydrierte Daten als RMT Data Payload liefern koennen. Der Client initialisiert
|
|
195
|
+
daraus denselben State Graph.
|
|
196
|
+
|
|
197
|
+
Akzeptanz: eine generische App-Platform-Fixture kann mit Fixture- oder
|
|
198
|
+
SSR-Payload starten, ohne doppelten produktseitigen Boot-State.
|
|
199
|
+
|
|
200
|
+
### BS12 Diagnostics und Gates
|
|
201
|
+
|
|
202
|
+
Der Build muss erkennen, wenn Produkt-Shells direkte `innerHTML`-Sinks, manuelle
|
|
203
|
+
Full-Root-Repaints oder nicht-keyed Listen einfuehren.
|
|
204
|
+
|
|
205
|
+
Akzeptanz: ein Gate markiert normale App-UI-`innerHTML`-Writes ausserhalb der
|
|
206
|
+
Trusted-DOM-Boundary als Regression.
|
|
207
|
+
|
|
208
|
+
## Workpackages
|
|
209
|
+
|
|
210
|
+
Die operative Reihenfolge liegt im Backlog
|
|
211
|
+
`development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md`.
|
|
212
|
+
Die Backlog-Linie ist bewusst zweigeteilt: zuerst konkrete Vendor-
|
|
213
|
+
Stabilisierung, danach RMT als generische App Platform.
|
|
214
|
+
|
|
215
|
+
| ID | Prioritaet | Status | Workstream | Titel |
|
|
216
|
+
|----|------------|--------|------------|-------|
|
|
217
|
+
| `WP-E18-01` | P0 | completed | WS0 | Epic-18-Scope, Vendor-Baseline und App-Platform-Leitplanken finalisieren |
|
|
218
|
+
| `WP-E18-02` | P0 | completed | WS1 | Vendor Component Bugfix Backport in main |
|
|
219
|
+
| `WP-E18-03` | P0 | completed | WS1 | Bugfix Contract- und Browser-Smokes bauen |
|
|
220
|
+
| `WP-E18-04` | P0 | completed | WS2 | RMT App Platform Authoring Model erweitern |
|
|
221
|
+
| `WP-E18-05` | P0 | completed | WS2 | sicheren DOM Descriptor Renderer und No-Manual-HTML-Gate bauen |
|
|
222
|
+
| `WP-E18-06` | P0 | completed | WS3 | Component-native Template Primitives fuer RMT implementieren |
|
|
223
|
+
| `WP-E18-07` | P0 | completed | WS4 | Typed State, Selectors und XState Bridge fuer Apps bauen |
|
|
224
|
+
| `WP-E18-08` | P1 | completed | WS5 | Actions, Effects, DataSources und Resource Runtime anbinden |
|
|
225
|
+
| `WP-E18-09` | P1 | completed | WS6 | deklaratives Event Routing und Component Interaction Contracts bauen |
|
|
226
|
+
| `WP-E18-10` | P1 | completed | WS7 | Surface-, Overlay-, Portal- und Resource-Graph generisch haerten |
|
|
227
|
+
| `WP-E18-11` | P1 | completed | WS8 | Scaffold, Linter, LSP und Diagnostics fuer RMT Apps erweitern |
|
|
228
|
+
| `WP-E18-12` | P1 | completed | WS9 | generische RMT App Platform Fixture bauen |
|
|
229
|
+
| `WP-E18-13` | P2 | completed | WS10 | Docs, Migration Guide, Vendor Rebuild und Release Handoff |
|
|
230
|
+
|
|
231
|
+
Naechste startbare Pakete:
|
|
232
|
+
|
|
233
|
+
- Kein internes Epic-18-Workpackage ist offen.
|
|
234
|
+
|
|
235
|
+
Abgeschlossener WP-E18-12 Fixture-Gate:
|
|
236
|
+
`node scripts/run_xtend_tests.js rmt-app-platform-fixture --json`.
|
|
237
|
+
|
|
238
|
+
Abgeschlossener WP-E18-11 Tooling-Gate:
|
|
239
|
+
`node scripts/run_xtend_tests.js rmt-app-platform-tooling --json`.
|
|
240
|
+
|
|
241
|
+
Abgeschlossener WP-E18-13 Handoff-Gate:
|
|
242
|
+
`node scripts/run_xtend_tests.js epic18-rmt-app-platform --json`.
|
|
243
|
+
|
|
244
|
+
Release-Handoff-Schema:
|
|
245
|
+
`xtend.epic18.rmt-app-platform-release-handoff.v1`.
|
|
246
|
+
|
|
247
|
+
`WP-E18-12` kopiert keine 1:1-Media-Manager-Surface-Struktur. Die Fixture
|
|
248
|
+
belegt mit `generic-catalog`, `admin-queue` und `content-board`, dass dieselben
|
|
249
|
+
RMT-Primitives flexibel verschiedene App-Domaenen tragen koennen.
|
|
250
|
+
|
|
251
|
+
## Modul-Upgrade-Matrix
|
|
252
|
+
|
|
253
|
+
| XTend-Modul | Upgrade in Epic 18 |
|
|
254
|
+
|-------------|--------------------|
|
|
255
|
+
| `components/` | P0 Backports fuer Tooltip, Player, Surface Window, Side Panel und Surface Controller. |
|
|
256
|
+
| `tests/components/` | Contract-Tests fuer Re-Register-Preserve, SidePanel Placement Icons und Component-Level Regressionen. |
|
|
257
|
+
| `tests/browser/` | Browser-nahe Fixtures fuer Tooltip-Clipping, Player-Resize, Volume-Hover, langen Titel, XState-Playback und Surface-Scrollbar-Grenzen. |
|
|
258
|
+
| `docs/components/` | User-facing Dokumentation der neuen Verhaltensgarantien und Akzeptanzbeispiele. |
|
|
259
|
+
| `docs/epic18-vendor-bugfixes.md` | Zentrale Bugfix-Doku fuer Tooltip, Player, Surface Window, Side Panel und SurfaceManager Controller. |
|
|
260
|
+
| `docs/rmt-app-platform-migration-guide.md` | Migration weg von externen HTML-Hosts hin zu DOM Descriptor, Actions, DataSources, Surfaces, Overlays und Resource Cleanup. |
|
|
261
|
+
| `docs/epic18-rmt-app-platform-release-handoff.md` | Epic-18-Handoff mit Gate-Matrix, GitHub Actions und Pack-/Export-Lock-Evidence. |
|
|
262
|
+
| `xtendrmt/` | App-Platform Authoring Model, Shell Render-Units, DOM Descriptor Renderer (`xtendrmt/rmt-dom-descriptor-renderer.js`), component-native Template Primitives, State Selector Runtime (`xtendrmt/rmt-state-selector-runtime.js`), Action Effect Runtime (`xtendrmt/rmt-action-effect-runtime.js`), Event Routing Runtime (`xtendrmt/rmt-event-routing-runtime.js`), Surface Resource Graph Runtime (`xtendrmt/rmt-surface-resource-graph-runtime.js`), DataSources, Events, Surfaces, Overlays, Portals und Resources; die WP12-Fixture verbindet diese Bausteine end-to-end. |
|
|
263
|
+
| `tools/rmt-language/` | Linter-, Diagnostics-, Completion- und Hover-Support fuer `state`, `derive`, `repeat`, `when`, `bind`, `effect`, `datasource`, `resource`, `portal`, `overlay`, Component Bindings und no-manual-shell Gates; `tools/rmt-language/app-platform-tooling.js` liefert Analyzer, Source Maps und Scaffold-Plan. |
|
|
264
|
+
| `fabric/` | Diagnostics, Lane-Mapping, Resource-Lifecycle- und Runtime-Signale fuer Render-Units, Component-Instanzen und Surface-Graphen. |
|
|
265
|
+
| `xtend-builder/` | Nutzung der Epic-17 Build-Pipeline fuer generische RMT-App-Artefakte, Fixture-Generierung, Browser-Smokes und Vendor-Rebuild; `rmt-app-platform` erzeugt Diagnostics, Source Maps und Build Reports. |
|
|
266
|
+
| `catalog/` | Epic-18 App-Platform-Authoring-, DOM-Descriptor-Renderer-, Component-Template-Primitives-, State-Selector-, Action-Effect-, Event-Routing-, Surface-Resource-Graph-Runtime-, App-Platform-Tooling-, App-Platform-Fixture- und Release-Handoff-Contracts fuer Runtime- und Tooling-Slices. |
|
|
267
|
+
| `package.json` | Neue Test-Scripts erst mit implementierten Suites aufnehmen; `test:rmt-app-platform-authoring`, `test:rmt-dom-descriptor-renderer`, `test:rmt-component-template-primitives`, `test:rmt-state-selector-runtime`, `test:rmt-action-effect-runtime`, `test:rmt-event-routing-runtime`, `test:rmt-surface-resource-graph-runtime`, `test:rmt-app-platform-tooling`, `test:rmt-app-platform-fixture` und `test:epic18-rmt-app-platform` sind verfuegbar. |
|
|
268
|
+
|
|
269
|
+
## Geplante Gate-Kette
|
|
270
|
+
|
|
271
|
+
Kurzfristig fuer die Bugfix-Welle:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
node scripts/run_xtend_tests.js components surface-controller surface-manager-browser overlay-interaction-ux layout-display-media-ux epic18-vendor-bugfix-smokes browser references --json
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Fuer den RMT/App-Shell-Slice:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
node scripts/run_xtend_tests.js rmt-app-platform-authoring rmt-dom-descriptor-renderer rmt-component-template-primitives rmt-state-selector-runtime rmt-action-effect-runtime rmt-event-routing-runtime rmt-surface-resource-graph-runtime rmt-app-platform-tooling rmt-app-platform-fixture rmt-vnext-compiler rmt-vnext-events rmt-vnext-surfaces rmt-vnext-security rmt-first-demo-app scaffold-rmt-build --json
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Fuer das Epic-Handoff:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
node scripts/run_xtend_tests.js epic18-rmt-app-platform --json
|
|
287
|
+
npm run test:pr:report
|
|
288
|
+
npm run test:release:full:report
|
|
289
|
+
npm run pack:dry-run
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Der Epic-18-Umbrella-Gate ist in `WP-E18-13` angelegt. Er prueft Docs,
|
|
293
|
+
Migration, GitHub-Gate-Handoff, Package-Metadaten und Pack-/Export-Lock-
|
|
294
|
+
Evidence.
|
|
295
|
+
|
|
296
|
+
## Definition of Done
|
|
297
|
+
|
|
298
|
+
- Alle fuenf Vendor-Komponenten-Deltas sind in main uebernommen oder bewusst
|
|
299
|
+
mit technischer Begruendung abgelehnt.
|
|
300
|
+
- Die Backports sind durch Component- und Browser-Smokes geschuetzt.
|
|
301
|
+
- Die Media-Manager-Lessons-Learned sind als generischer RMT-App-Platform-Scope
|
|
302
|
+
in konkrete Workpackages uebersetzt.
|
|
303
|
+
- RMT kann mindestens eine flexible App-Shell-Insel ohne produktseitigen
|
|
304
|
+
HTML-String-Renderer ausfuehren.
|
|
305
|
+
- Dynamische Surfaces, Component Bindings, Feedback, Lazy Resources,
|
|
306
|
+
DataSources, Event Routing und Resource Cleanup sind als repo-native,
|
|
307
|
+
domain-neutrale Fixture oder Demo nachweisbar.
|
|
308
|
+
- Vendor Build, Package Export Lock und Release-Handoff sind aktualisiert.
|
|
309
|
+
|
|
310
|
+
## Nicht-Ziele
|
|
311
|
+
|
|
312
|
+
- Keine ungepruefte Komplettkopie aus `vendor/xtend` nach main.
|
|
313
|
+
- Kein 1:1-Nachbau der Media-Manager-Surfaces als XTend-Default-App.
|
|
314
|
+
- Keine Uebernahme Media-Manager-spezifischer Theme- oder Shadow-DOM-
|
|
315
|
+
Monkeypatches als globale XTend Defaults.
|
|
316
|
+
- Kein Bruch der Boundary `no-rmt-kernel-import-of-xtend-types`.
|
|
317
|
+
- Kein produktiver Electron-/Node-Backend-Adapter im XTend Framework; Backend
|
|
318
|
+
bleibt Fixture- oder Host-Adapter-Verantwortung.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Epic 18 RMT App Platform Release Handoff
|
|
2
|
+
|
|
3
|
+
Schema: `xtend.epic18.rmt-app-platform-release-handoff.v1`
|
|
4
|
+
|
|
5
|
+
WP-E18-13 schliesst Epic 18 als release-nahen Handoff ab. Die Vendor-Bugfixes
|
|
6
|
+
sind dokumentiert, die RMT App Platform besitzt eine generische Fixture, und
|
|
7
|
+
die GitHub-Gates laufen ueber die bestehenden CI-Kommandos.
|
|
8
|
+
|
|
9
|
+
## Lokaler Gate
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
node scripts/run_xtend_tests.js epic18-rmt-app-platform --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Package Script:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm run test:epic18-rmt-app-platform
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Gate-Matrix
|
|
22
|
+
|
|
23
|
+
Bugfix-Linie:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
node scripts/run_xtend_tests.js components surface-controller surface-manager-browser overlay-interaction-ux layout-display-media-ux epic18-vendor-bugfix-smokes browser references --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
RMT-App-Platform-Linie:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node scripts/run_xtend_tests.js rmt-app-platform-authoring rmt-dom-descriptor-renderer rmt-component-template-primitives rmt-state-selector-runtime rmt-action-effect-runtime rmt-event-routing-runtime rmt-surface-resource-graph-runtime rmt-app-platform-tooling rmt-app-platform-fixture rmt-vnext-compiler rmt-vnext-events rmt-vnext-surfaces rmt-vnext-security rmt-first-demo-app scaffold-rmt-build --json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Export und Pack Evidence:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
node scripts/run_xtend_tests.js type-exports-rmt type-exports epic13-package-export-lock --json
|
|
39
|
+
npm run pack:dry-run
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
GitHub Actions:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm run test:pr:report
|
|
46
|
+
npm run test:release:full:report
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`.github/workflows/xtend-default-gates.yml` nutzt diese Kommandos fuer Pull
|
|
50
|
+
Requests, Pushes, manuelle Laeufe und Nightly Runs. `epic18-rmt-app-platform`
|
|
51
|
+
ist Teil des PR-Fast-Gates; der Full-Release-Gate laeuft weiterhin ueber alle
|
|
52
|
+
registrierten Suites.
|
|
53
|
+
|
|
54
|
+
## Release-Grenze
|
|
55
|
+
|
|
56
|
+
Der Handoff macht Epic 18 commit- und CI-ready, aber oeffnet keinen Publish-
|
|
57
|
+
Pfad. Public Publish bleibt an Release-Owner-Akzeptanz, Supply-Chain Evidence
|
|
58
|
+
und die vorhandene RC-/Release-Checkliste gebunden.
|
|
59
|
+
|
|
60
|
+
## Artefakte
|
|
61
|
+
|
|
62
|
+
- `docs/epic18-vendor-bugfixes.md`
|
|
63
|
+
- `docs/rmt-app-platform-migration-guide.md`
|
|
64
|
+
- `docs/rmt-app-platform-fixture.md`
|
|
65
|
+
- `catalog/epic18-rmt-app-platform-release-handoff.js`
|
|
66
|
+
- `tests/platform/epic18_rmt_app_platform_release_handoff_suite.js`
|
|
67
|
+
- `development/WP-E18-13-Docs-Migration-Guide-Vendor-Rebuild-und-Release-Handoff.md`
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Epic 18 Vendor Bugfixes
|
|
2
|
+
|
|
3
|
+
Diese Seite dokumentiert die Komponentenfixes, die aus der Media-Manager-
|
|
4
|
+
Vendor-Version in XTend main zurueckgefuehrt wurden. Sie ist bewusst kein
|
|
5
|
+
Produktleitfaden fuer eine konkrete App, sondern eine Bugfix- und
|
|
6
|
+
Kompatibilitaetsreferenz fuer XTend-Komponenten.
|
|
7
|
+
|
|
8
|
+
## Komponenten
|
|
9
|
+
|
|
10
|
+
| Komponente | Verhalten |
|
|
11
|
+
|------------|-----------|
|
|
12
|
+
| `x-tooltip` | Nutzt eine viewport-feste Overlay-Schicht, schreibt Positionswerte ueber `--xtooltip-left` und `--xtooltip-top` und bleibt nach Scroll- oder Container-Verschiebungen im sichtbaren Bereich. |
|
|
13
|
+
| `x-player` | Registriert Custom Events nur einmal, bleibt in Surface-Containern begrenzt und nutzt kanonische `xplayer-*` Events fuer Play, Pause, Fullscreen, PIP, Caption und Mute. |
|
|
14
|
+
| `x-surface-window` | Behaelt lange Titel, Scrollbars und Resize-Grenzen stabil, ohne die SurfaceManager-Registry neu zu zeichnen. |
|
|
15
|
+
| `x-side-panel` | Haelt Placement- und Icon-Controls stabil und kompatibel mit den SurfaceManager-Layout-Gates. |
|
|
16
|
+
| `x-surface-manager-controller` | Stellt generische Surface-Typen fuer Window, Side Panel, Modal, Dialog, Drawer, Popover und Tooltip bereit. |
|
|
17
|
+
|
|
18
|
+
## Gates
|
|
19
|
+
|
|
20
|
+
Der lokale Bugfix-Gate bleibt:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
node scripts/run_xtend_tests.js components surface-controller surface-manager-browser overlay-interaction-ux layout-display-media-ux epic18-vendor-bugfix-smokes browser references --json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Der Browser-nahe Smoke liegt in
|
|
27
|
+
`tests/browser/fixtures/epic18-vendor-bugfix-smoke.html`; der Contract-Gate in
|
|
28
|
+
`tests/components/epic18_vendor_bugfix_smoke_suite.js`.
|
|
29
|
+
|
|
30
|
+
## Handoff
|
|
31
|
+
|
|
32
|
+
Die Fixes sind Plattformverhalten. Sie duerfen nicht als Media-Manager-
|
|
33
|
+
Sonderpfade in XTend verbleiben. Neue Apps sollen die generischen Component-,
|
|
34
|
+
Surface-, Event- und RMT-App-Platform-Contracts verwenden.
|