@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,70 @@
|
|
|
1
|
+
# RMT vNext Enterprise MFE Handoff
|
|
2
|
+
|
|
3
|
+
Epic 16 schliesst RMT vNext fuer Enterprise-MFE-Authoring mit Remote Surfaces,
|
|
4
|
+
Surface Discoverability, Cross Surface Events, Security Policies, Versionierung
|
|
5
|
+
und Graceful Degradation ab.
|
|
6
|
+
|
|
7
|
+
## Contract
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
schema: "xtend.rmt.vnext-enterprise-release-handoff.v1"
|
|
11
|
+
reportSchema: "xtend.rmt.vnext-enterprise-release-handoff-report.v1"
|
|
12
|
+
gateMatrixSchema: "xtend.rmt.vnext-enterprise-release-gate-matrix.v1"
|
|
13
|
+
targetReadiness: "rmt-vnext-enterprise-mfe-ready"
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Release Assets
|
|
17
|
+
|
|
18
|
+
- Authoring Guide: `docs/rmt-vnext-remote-surfaces.md`
|
|
19
|
+
- Registry Reference: `docs/rmt-vnext-surface-registry-enterprise.md`
|
|
20
|
+
- Event Protocol Reference: `docs/rmt-vnext-cross-surface-events.md`
|
|
21
|
+
- Operational Handoff: `docs/rmt-vnext-enterprise-mfe-handoff.md`
|
|
22
|
+
- Demo Source: `xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt`
|
|
23
|
+
- Core Output: `xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json`
|
|
24
|
+
- Browser Smoke: `tests/browser/fixtures/rmt-vnext-enterprise-mfe-smoke.html`
|
|
25
|
+
- Fixture Matrix: `tests/rmt-language/fixtures/vnext-enterprise-mfe-fixture-matrix.json`
|
|
26
|
+
|
|
27
|
+
## Release Gate Matrix
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
node scripts/run_xtend_tests.js rmt-vnext-remote-manifest --json
|
|
31
|
+
node scripts/run_xtend_tests.js rmt-vnext-enterprise-registry --json
|
|
32
|
+
node scripts/run_xtend_tests.js rmt-vnext-degradation --json
|
|
33
|
+
node scripts/run_xtend_tests.js rmt-vnext-remote-security --json
|
|
34
|
+
node scripts/run_xtend_tests.js rmt-vnext-cross-surface-events --json
|
|
35
|
+
node scripts/run_xtend_tests.js rmt-vnext-event-governance --json
|
|
36
|
+
node scripts/run_xtend_tests.js rmt-vnext-remote-compiler --json
|
|
37
|
+
node scripts/run_xtend_tests.js rmt-vnext-remote-tooling --json
|
|
38
|
+
node scripts/run_xtend_tests.js rmt-vnext-remote-compatibility --json
|
|
39
|
+
node scripts/run_xtend_tests.js rmt-vnext-enterprise-fixtures --json
|
|
40
|
+
node scripts/run_xtend_tests.js rmt-vnext-enterprise-release --json
|
|
41
|
+
node scripts/run_xtend_tests.js references --json
|
|
42
|
+
node scripts/run_xtend_tests.js browser --json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Operational Notes
|
|
46
|
+
|
|
47
|
+
- Remote Surfaces bleiben Contract-Artefakte. Ein produktiver Runtime Loader ist
|
|
48
|
+
Folgearbeit im Host- oder Runtime-Adapter-Pfad.
|
|
49
|
+
- `surface.registry` macht Ownership, aktive Versionen und Shell Bindings
|
|
50
|
+
sichtbar, ersetzt aber keinen SurfaceManager.
|
|
51
|
+
- Cross Surface Events benoetigen typisierte Payloads, klare Owner und explizite
|
|
52
|
+
Richtung.
|
|
53
|
+
- Graceful Degradation ist verpflichtend. Systeme ohne Fallback- oder
|
|
54
|
+
Blockierungsmodell gelten nicht als Enterprise-ready.
|
|
55
|
+
- Migration aus Legacy-Surface-Fakten bleibt `report-only` per Default; Preview
|
|
56
|
+
ist opt-in und wird ueber `xtend.rmt.vnext-remote-surface-migration.v1`
|
|
57
|
+
beschrieben.
|
|
58
|
+
|
|
59
|
+
## Accepted Residuals
|
|
60
|
+
|
|
61
|
+
- Kein produktiver Remote Runtime Loader im RMT-Kernel.
|
|
62
|
+
- Keine echte Netzwerk-Integration in lokalen Language-Layer-Gates.
|
|
63
|
+
- Keine implizite globale Event-Bus-Semantik.
|
|
64
|
+
- Kein Public-Runtime-Claim fuer Hosts, die den Contract noch nicht umsetzen.
|
|
65
|
+
|
|
66
|
+
Der lokale Abschluss-Gate ist:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node scripts/run_xtend_tests.js rmt-vnext-enterprise-release --json
|
|
70
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# RMT vNext Fabric Bridge Evidence
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext.fabric-bridge-evidence.v1`
|
|
4
|
+
- Workpackage: `RMT-VNEXT-PRIM-05`
|
|
5
|
+
- Status: `completed`
|
|
6
|
+
- Quelle: Media-Manager-Downstream-Transfer, `2026-05-19`
|
|
7
|
+
|
|
8
|
+
## Ziel
|
|
9
|
+
|
|
10
|
+
`RMT-VNEXT-PRIM-05` beweist, dass vNext-authorierte Primitives den Fabric-
|
|
11
|
+
Runtime-Raum erreichen, ohne Fabric- oder XTend-Host-Imports in den RMT-Kernel
|
|
12
|
+
zu ziehen.
|
|
13
|
+
|
|
14
|
+
Das Gate ist absichtlich als eigene Scheibe neben dem Source-to-Sea-Gate
|
|
15
|
+
verfuegbar. Source-to-Sea prueft den gesamten Objekt-Lifecycle bis Browser;
|
|
16
|
+
dieses Gate prueft die Fabric-Bruecke selbst:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
vNext source
|
|
20
|
+
-> PRIM-04 kernel schedule/fiber
|
|
21
|
+
-> Fabric/RMT lane mapping
|
|
22
|
+
-> xtend.fabric.fiber.v1
|
|
23
|
+
-> xtend.fabric.telemetry-snapshot.v1
|
|
24
|
+
-> host adapter telemetry
|
|
25
|
+
-> route/component fiber instrumentation
|
|
26
|
+
-> browser-visible Fabric markers
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Evidence
|
|
30
|
+
|
|
31
|
+
Die Evidence wird von `createRmtVNextFabricBridgeEvidence(...)` erzeugt und
|
|
32
|
+
ueber `createRmtVNextSourceToSeaEvidence(...)` in den Fullstack-Report
|
|
33
|
+
eingebettet.
|
|
34
|
+
|
|
35
|
+
Der PRIM-05-Contract umfasst:
|
|
36
|
+
|
|
37
|
+
- `xtend.fabric.rmt-lane-mapping.v1` fuer die Uebersetzung von RMT-Lanes in
|
|
38
|
+
Fabric-Schedules;
|
|
39
|
+
- eine primaere `xtend.fabric.fiber.v1` aus dem PRIM-04 Kernel-Fiber;
|
|
40
|
+
- eine Lane-Matrix fuer `user-blocking`, `transition`, `idle`, `background`
|
|
41
|
+
und `diagnostics`;
|
|
42
|
+
- `xtend.component.lifecycle-telemetry.v1` aus dem XTend Component Host-
|
|
43
|
+
Adapter;
|
|
44
|
+
- `component.mount`, `component.hydrate`, `route.navigate` und `route.render`
|
|
45
|
+
aus den produktiven Fabric-Fiber-Instrumentations;
|
|
46
|
+
- einen `xtend.fabric.telemetry-snapshot.v1`, der alle erwarteten Schedule Refs
|
|
47
|
+
enthaelt;
|
|
48
|
+
- Browser-Marker fuer Fabric Lane, Fabric Fiber, Fabric Schedule und Host-
|
|
49
|
+
Adapter-Telemetrie.
|
|
50
|
+
|
|
51
|
+
## Gate-Regeln
|
|
52
|
+
|
|
53
|
+
Das Gate schlaegt fehl, wenn:
|
|
54
|
+
|
|
55
|
+
- die Fabric/RMT-Lane-Aufloesung kein Mapping liefert;
|
|
56
|
+
- die primaere Fabric-Fiber nicht abgeschlossen ist;
|
|
57
|
+
- Kernel-Schedule, Kernel-Fiber und Source-Pointer nicht in Fiber-Metadaten
|
|
58
|
+
erhalten bleiben;
|
|
59
|
+
- eine der Matrix-Lanes fehlt oder keinen Telemetry-Schedule schreibt;
|
|
60
|
+
- Host-Adapter-Telemetrie nicht im Fabric-Snapshot erscheint;
|
|
61
|
+
- Route- oder Component-Fiber nicht aus den produktiven Instrumentations
|
|
62
|
+
stammen;
|
|
63
|
+
- Browser-Marker fuer Lane, Fiber, Schedule oder Host-Telemetrie fehlen;
|
|
64
|
+
- der RMT-Kernel Host- oder Fabric-Imports enthaelt.
|
|
65
|
+
|
|
66
|
+
## Lokale Gates
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node --check tools/rmt-language/vnext-source-to-sea.js
|
|
70
|
+
node --check tests/rmt-language/rmt_vnext_fabric_bridge_suite.js
|
|
71
|
+
node scripts/run_xtend_tests.js rmt-vnext-fabric-bridge --json
|
|
72
|
+
node scripts/run_xtend_tests.js rmt-vnext-source-to-sea --json
|
|
73
|
+
npm run test:rmt-vnext-primitives:report
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Handoff
|
|
77
|
+
|
|
78
|
+
`RMT-VNEXT-PRIM-05` ist abgeschlossen, sobald dieses Gate gruen ist.
|
|
79
|
+
`RMT-VNEXT-PRIM-06` fuehrt Source-to-Sea als optionale Browser-Evidence weiter:
|
|
80
|
+
Browser-Execution kann lokal oder per manuellem CI-Dispatch laufen und die
|
|
81
|
+
Browser-Execution-Evidence als Release-Artefakt schreiben.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# RMT vNext Migration Notes
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext-release-handoff.v1`
|
|
4
|
+
- Compatibility Contract: `xtend.rmt.vnext-compatibility-matrix.v1`
|
|
5
|
+
- Migration Report: `xtend.rmt.vnext-migration-report.v1`
|
|
6
|
+
- Gate: `node scripts/run_xtend_tests.js rmt-vnext-compatibility --json`
|
|
7
|
+
|
|
8
|
+
RMT vNext ist additiv. Bestehende JSON-nahe `.rmt` und `.rmt.json` Dokumente bleiben parse- und normalisierbar. Neue Authoring-Dateien sollten die vNext-Syntax verwenden und nach `xtend.rmt.core-format.vnext.v1` kompilieren.
|
|
9
|
+
|
|
10
|
+
## Migrationsmodus
|
|
11
|
+
|
|
12
|
+
Der Standardmodus ist `report-only`. Er erzeugt einen Migrationsreport, prueft den Legacy-Roundtrip und zeigt Boundary-Warnungen, schreibt aber keine Datei automatisch um.
|
|
13
|
+
|
|
14
|
+
`preview` ist opt-in und erzeugt zusaetzlich einen vNext Authoring-Draft.
|
|
15
|
+
|
|
16
|
+
```js
|
|
17
|
+
const {
|
|
18
|
+
createMigrationReport
|
|
19
|
+
} = require('./tools/rmt-language/vnext-compatibility');
|
|
20
|
+
|
|
21
|
+
const report = createMigrationReport({
|
|
22
|
+
text: source,
|
|
23
|
+
filePath: 'app.rmt'
|
|
24
|
+
}, {
|
|
25
|
+
migrationMode: 'preview'
|
|
26
|
+
});
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Kompatible Warnungen
|
|
30
|
+
|
|
31
|
+
Diese Warnungen blockieren Migration nicht:
|
|
32
|
+
|
|
33
|
+
- `rmt.document.extension.fallback-used`
|
|
34
|
+
- `rmt.vnext.migration.opt_in_required`
|
|
35
|
+
- `rmt.vnext.migration.lossy_domain`
|
|
36
|
+
|
|
37
|
+
`lossy_domain` bedeutet: Die Legacy-Domaene ist fachlich kompatibel, aber nicht automatisch source-stabil in vNext Authoring uebersetzbar. Beispiele sind Adapter-Contracts, komplexe Templates oder Router-Metadaten.
|
|
38
|
+
|
|
39
|
+
## Harte Fehler
|
|
40
|
+
|
|
41
|
+
Diese Faelle blockieren den betroffenen Eintrag:
|
|
42
|
+
|
|
43
|
+
- Legacy JSON kann nicht geparst werden.
|
|
44
|
+
- Legacy JSON kann nicht normalisiert werden.
|
|
45
|
+
- vNext Source kompiliert nicht.
|
|
46
|
+
- Der semantische Legacy-Roundtrip ist nicht stabil.
|
|
47
|
+
|
|
48
|
+
## Empfohlene Migration
|
|
49
|
+
|
|
50
|
+
1. `rmt-vnext-compatibility` gegen bestehende Fixtures ausfuehren.
|
|
51
|
+
2. Reports mit `migrationMode: "report-only"` lesen und Boundary-Warnungen triagieren.
|
|
52
|
+
3. Fuer einzelne Dateien `preview` erzeugen.
|
|
53
|
+
4. Den Preview-Draft manuell pruefen und auf vNext-Authoring-Konventionen bringen.
|
|
54
|
+
5. Parser, Compiler, Regression und Release-Gate ausfuehren.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
node scripts/run_xtend_tests.js rmt-vnext-compatibility rmt-vnext-regression rmt-vnext-release --json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Handoff
|
|
61
|
+
|
|
62
|
+
Dieses Epic liefert Syntax, Compiler, Tooling, Compatibility, Regression und Release-Handoff. Produktive Runtime-Adapter fuer vNext Core und ein Formatter/Writer gehoeren in Folge-Epics.
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# RMT vNext Primitive Authoring Tooling
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext.primitive-authoring-tooling.v1`
|
|
4
|
+
- Workpackage: `RMT-VNEXT-PRIM-07`
|
|
5
|
+
- Status: `completed`
|
|
6
|
+
- Quelle: Media-Manager-Downstream-Transfer, `2026-05-19`
|
|
7
|
+
|
|
8
|
+
## Ziel
|
|
9
|
+
|
|
10
|
+
`RMT-VNEXT-PRIM-07` macht die neue Primitive-Syntax in der Developer
|
|
11
|
+
Experience sichtbar. App-Autoren sollen State, Selectors, Actions, Events,
|
|
12
|
+
Surfaces, Portals, Overlays und Resources nicht in Legacy-JSON suchen muessen:
|
|
13
|
+
Completions, Hover, Document Symbols und Snippets fuehren direkt durch RMT
|
|
14
|
+
vNext.
|
|
15
|
+
|
|
16
|
+
## Tooling Surface
|
|
17
|
+
|
|
18
|
+
Die erste PRIM-07-Scheibe erweitert `tools/rmt-language/vnext-tooling.js`.
|
|
19
|
+
Das Modul indexiert nun auch Primitive-Domains aus PRIM-04:
|
|
20
|
+
|
|
21
|
+
- `states`
|
|
22
|
+
- `selectors`
|
|
23
|
+
- `actions`
|
|
24
|
+
- `effects`
|
|
25
|
+
- `portals`
|
|
26
|
+
- `overlays`
|
|
27
|
+
- `resources`
|
|
28
|
+
|
|
29
|
+
Bestehende Domains wie `surfaces`, `events` und `dataSources` bleiben erhalten
|
|
30
|
+
und werden fuer Primitive-Records angereichert.
|
|
31
|
+
|
|
32
|
+
## Completions
|
|
33
|
+
|
|
34
|
+
Neue Completion-Kontexte:
|
|
35
|
+
|
|
36
|
+
| Context | Zweck |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| `vnext-primitive-keywords` | top-level Primitive-Keywords wie `state`, `selector`, `action`, `surface`, `resource` |
|
|
39
|
+
| `vnext-primitive-state-clauses` | `type`, `preserve`, `initial` |
|
|
40
|
+
| `vnext-primitive-selector-clauses` | `from state`, `where`, `find`, `sort by`, `output` |
|
|
41
|
+
| `vnext-primitive-action-clauses` | `input`, `reduce`, `effect fetch datasource`, `on success`, `on error`, `emit` |
|
|
42
|
+
| `vnext-primitive-surface-clauses` | `source selector`, `repeat from selector`, `key`, `portal`, `bounds`, `lane visible`, Event- und Lifecycle-Klauseln |
|
|
43
|
+
| `vnext-primitive-resource-kinds` | `object-url`, `stream`, `observer`, `timer`, `lazy-import` |
|
|
44
|
+
| `vnext-primitive-overlay-kinds` | `tooltip`, `toast`, `popover`, `lightbox`, `menu`, `dialog` |
|
|
45
|
+
|
|
46
|
+
Wenn ein Pointer in einer Primitive-Domain liegt, waehlt das Tooling den
|
|
47
|
+
passenden Kontext automatisch.
|
|
48
|
+
|
|
49
|
+
### Cursor-nahe Completion
|
|
50
|
+
|
|
51
|
+
Die zweite PRIM-07-Scheibe macht Completion ohne expliziten
|
|
52
|
+
`xtend.context` nutzbar. `getRmtVNextToolingCompletions(...)` akzeptiert nun
|
|
53
|
+
eine LSP-Position, loest daraus wenn moeglich den Source-Map-Pointer auf und
|
|
54
|
+
wertet die aktuelle Zeile sowie das Teilwort vor dem Cursor aus.
|
|
55
|
+
|
|
56
|
+
Abgedeckte Authoring-Faelle:
|
|
57
|
+
|
|
58
|
+
- `state ... {` liefert direkt State-Klauseln wie `initial`.
|
|
59
|
+
- `resource ... kind ` liefert Resource-Kinds wie `lazy-import`.
|
|
60
|
+
- Teilwoerter in Action-Bloecken, z. B. `red`, priorisieren Action-Klauseln
|
|
61
|
+
wie `reduce`.
|
|
62
|
+
|
|
63
|
+
Der Language Server reicht `textDocument/completion.position` an das vNext-
|
|
64
|
+
Tooling weiter. Damit bekommen Editoren Primitive-Completions auch dann, wenn
|
|
65
|
+
sie keine XTend-spezifischen Zusatzparameter setzen.
|
|
66
|
+
|
|
67
|
+
## Hover
|
|
68
|
+
|
|
69
|
+
Hover nutzt die PRIM-04-Core-Records und Source Maps. Beispiele:
|
|
70
|
+
|
|
71
|
+
- `State: media.records`
|
|
72
|
+
- `Action: media.select`
|
|
73
|
+
- `Resource: lightbox.import`
|
|
74
|
+
|
|
75
|
+
Die Hover-Ausgabe enthaelt weiterhin Core Pointer, damit Editor, Compiler und
|
|
76
|
+
Runtime-Evidence dieselbe Primitive-ID nachvollziehen koennen.
|
|
77
|
+
|
|
78
|
+
## Document Symbols
|
|
79
|
+
|
|
80
|
+
Document Symbols enthalten nun Primitive-Namespaces:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
states
|
|
84
|
+
selectors
|
|
85
|
+
actions
|
|
86
|
+
portals
|
|
87
|
+
overlays
|
|
88
|
+
resources
|
|
89
|
+
surfaces
|
|
90
|
+
events
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Damit kann ein Editor eine granulare App Shell aus der Outline heraus
|
|
94
|
+
navigieren, ohne Legacy-Records zu oeffnen.
|
|
95
|
+
|
|
96
|
+
## Code Actions
|
|
97
|
+
|
|
98
|
+
Die dritte PRIM-07-Scheibe liefert sichere Quick-Fixes fuer Primitive-
|
|
99
|
+
Diagnosen aus `getRmtVNextToolingCodeActions(...)` und ueber
|
|
100
|
+
`textDocument/codeAction` im Language Server.
|
|
101
|
+
|
|
102
|
+
Unterstuetzte erste Reparaturen:
|
|
103
|
+
|
|
104
|
+
- `rmt.vnext.primitive.owner-missing`: ergaenzt `owner surface.<id>` an einer
|
|
105
|
+
Resource-Deklaration, wenn eine Surface im Dokument vorhanden ist.
|
|
106
|
+
- `rmt.vnext.primitive.unkeyed-repeat`: ergaenzt `key instance.id` nach einer
|
|
107
|
+
`repeat from selector`-Klausel.
|
|
108
|
+
- `rmt.vnext.primitive.payload-contract-missing`: ergaenzt einen
|
|
109
|
+
Payload-Contract fuer Event-Bindings oder `emit`-Statements.
|
|
110
|
+
|
|
111
|
+
Die naechste Scheibe erweitert diese Reparaturen um die haeufigsten
|
|
112
|
+
Authoring-Luecken:
|
|
113
|
+
|
|
114
|
+
- `rmt.vnext.primitive.initial-missing`: ergaenzt einen sicheren initial-Wert
|
|
115
|
+
oder einen kleinen `initial {}`-Block.
|
|
116
|
+
- `rmt.vnext.primitive.resource-kind-missing`: ergaenzt `kind object-url` als
|
|
117
|
+
konservativen Resource-Default.
|
|
118
|
+
- `rmt.vnext.primitive.unknown-reference` fuer Selector-Referenzen: erzeugt
|
|
119
|
+
einen source-erhaltenden Selector-Stub aus dem ersten vorhandenen State.
|
|
120
|
+
- `rmt.vnext.primitive.unknown-reference` fuer Portal-Referenzen: erzeugt einen
|
|
121
|
+
Portal-Stub mit stabilem `root` und `layer surface`.
|
|
122
|
+
|
|
123
|
+
Die Action-Authoring-Scheibe ergaenzt ausserdem:
|
|
124
|
+
|
|
125
|
+
- `rmt.vnext.primitive.action-reducer-missing`: ergaenzt ein
|
|
126
|
+
`reduce state.<id> = input.<name>`-Ziel vor dem Action-Ende.
|
|
127
|
+
- `rmt.vnext.primitive.effect-source-missing`: ergaenzt
|
|
128
|
+
`datasource <id>` an einem `effect fetch`.
|
|
129
|
+
- `rmt.vnext.primitive.kernel-boundary`: erzeugt bewusst keinen Textedit,
|
|
130
|
+
sondern ein Command-Action-Handoff, damit Kernel-/Fabric-Imports in einen
|
|
131
|
+
Host-Adapter ausgelagert werden.
|
|
132
|
+
|
|
133
|
+
Die Actions sind absichtlich source-erhaltende Textedits. Sie reparieren die
|
|
134
|
+
naheliegende Authoring-Luecke und lassen weitergehende semantische Probleme
|
|
135
|
+
sichtbar, statt ganze Primitive-Bloecke synthetisch umzuschreiben.
|
|
136
|
+
|
|
137
|
+
### Code-Action-Previews und Fix-All
|
|
138
|
+
|
|
139
|
+
Die naechste PRIM-07-Scheibe macht die Quick-Fixes editorfreundlicher:
|
|
140
|
+
|
|
141
|
+
- Jede Code Action traegt eine `xtend.rmt.vnext.primitive-code-action-preview.v1`
|
|
142
|
+
Preview mit betroffenen URIs, Edit-Anzahl, erstem veraenderten Source-Line-
|
|
143
|
+
Ausschnitt und Vorher-/Nachher-Zeilen.
|
|
144
|
+
- Sichere Textedit-Actions werden zusaetzlich in
|
|
145
|
+
`source.fixAll.rmt.vnext.primitives` zusammengefasst.
|
|
146
|
+
- Das Fix-All bleibt auf Actions mit `safe: true` und `edit` begrenzt.
|
|
147
|
+
Manuelle Command-Handoffs wie `kernel-boundary` werden nicht automatisch
|
|
148
|
+
angewendet.
|
|
149
|
+
- Der Language Server gibt die Preview im `CodeAction.data.preview`-Feld
|
|
150
|
+
weiter, damit Editoren eine Reparatur anzeigen koennen, bevor sie den
|
|
151
|
+
WorkspaceEdit anwenden.
|
|
152
|
+
|
|
153
|
+
### Command-Handoff
|
|
154
|
+
|
|
155
|
+
Manuelle Boundary-Faelle bekommen jetzt ebenfalls eine stabile Editor-
|
|
156
|
+
Erfahrung:
|
|
157
|
+
|
|
158
|
+
- Der Language Server meldet `executeCommandProvider.commands` mit
|
|
159
|
+
`xtend.rmt.vnext.extractKernelImport`.
|
|
160
|
+
- `workspace/executeCommand` erzeugt fuer diesen Command ein
|
|
161
|
+
`xtend.rmt.vnext.primitive-command-handoff.v1` Ergebnis.
|
|
162
|
+
- Das Ergebnis bleibt `safe: false`, `edit: null` und `status:
|
|
163
|
+
"manual_handoff"`, weil Kernel-/Fabric-Imports nicht automatisch in RMT
|
|
164
|
+
vNext-Source geschrieben werden duerfen.
|
|
165
|
+
- Der Handoff benennt die Boundary
|
|
166
|
+
`no-kernel-fabric-imports-in-vnext-source` und fuehrt den Zielort
|
|
167
|
+
`xtend-rmt-host-adapter`, damit Editoren einen klaren manuellen Apply-Pfad
|
|
168
|
+
anzeigen koennen.
|
|
169
|
+
|
|
170
|
+
### VS Code Bridge Apply Experience
|
|
171
|
+
|
|
172
|
+
Die VS-Code-Bridge bietet nun eine erste sichtbare Authoring-Erfahrung fuer
|
|
173
|
+
die drei Apply-Pfade:
|
|
174
|
+
|
|
175
|
+
- `XTendRMT: Show vNext Primitive Apply Experience` rendert einen
|
|
176
|
+
`xtend.rmt.editor.vscode-primitive-authoring-experience.v1` Report im
|
|
177
|
+
Output Channel.
|
|
178
|
+
- `XTendRMT: Show vNext Primitive Code Action Preview` zeigt den Preview-
|
|
179
|
+
Ausschnitt einer einzelnen Code Action.
|
|
180
|
+
- `XTendRMT: Show vNext Primitive Command Handoff` zeigt manuelle Boundary-
|
|
181
|
+
Handoffs ohne WorkspaceEdit.
|
|
182
|
+
|
|
183
|
+
Die Bridge bleibt bewusst duenn: sie klassifiziert bereits vom Language Server
|
|
184
|
+
gelieferte Actions in `workspace-edit`, `fix-all` und `manual-command` und
|
|
185
|
+
macht diese Pfade sichtbar. Der LSP bleibt die Source of Truth fuer Diagnose,
|
|
186
|
+
Preview und Command-Handoff.
|
|
187
|
+
|
|
188
|
+
### Aktive VS-Code-Dokument-Integration
|
|
189
|
+
|
|
190
|
+
Die abschliessende PRIM-07-Scheibe verbindet die Bridge mit dem aktiven
|
|
191
|
+
`.rmt`-Dokument:
|
|
192
|
+
|
|
193
|
+
- `createActiveDocumentPrimitiveAuthoringExperience(...)` liest das aktive
|
|
194
|
+
Dokument, startet den lokalen RMT Language Server in-process und ruft
|
|
195
|
+
`textDocument/codeAction` gegen echte LSP-Diagnosen ab.
|
|
196
|
+
- `XTendRMT: Show vNext Primitive Apply Experience` kann ohne uebergebenen
|
|
197
|
+
Report direkt aus dem aktiven Dokument eine QuickPick-Auswahl fuer Preview,
|
|
198
|
+
Fix-All und manuelle Handoffs aufbauen.
|
|
199
|
+
- `applyPrimitiveAuthoringWorkspaceEdit(...)` wendet nur sichere
|
|
200
|
+
WorkspaceEdits an. `kernel-boundary`-Actions bleiben blockiert, weil sie
|
|
201
|
+
`edit: null` tragen und in einen Host-Adapter ueberfuehrt werden muessen.
|
|
202
|
+
- `XTendRMT: Apply Safe vNext Primitive Fix-All` wendet ausschliesslich
|
|
203
|
+
`source.fixAll.rmt.vnext.primitives` an. Wenn kein sicherer Fix-All
|
|
204
|
+
verfuegbar ist, rendert die Bridge den aktuellen Apply-Report statt blind
|
|
205
|
+
einzelne Edits auszufuehren.
|
|
206
|
+
|
|
207
|
+
Damit ist PRIM-07 nicht mehr nur ein LSP-/Dokumentationspaket: Die
|
|
208
|
+
Editor-Bruecke kann vNext-Primitive-Reparaturen aus echtem Source-Kontext
|
|
209
|
+
auswaehlen, previewen und sicher anwenden, waehrend Boundary-Handoffs sichtbar
|
|
210
|
+
und manuell bleiben.
|
|
211
|
+
|
|
212
|
+
## Snippet
|
|
213
|
+
|
|
214
|
+
Neues Snippet:
|
|
215
|
+
|
|
216
|
+
```text
|
|
217
|
+
RMT vNext Primitive Shell
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Prefix:
|
|
221
|
+
|
|
222
|
+
```text
|
|
223
|
+
rmt-vnext-primitive-shell
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Das Snippet erzeugt eine kleine App Shell mit State, Selector, Action, Portal,
|
|
227
|
+
Surface, sichtbarer Lane und Event-Payload-Contract.
|
|
228
|
+
|
|
229
|
+
## Lokale Gates
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
node --check tools/rmt-language/vnext-tooling.js
|
|
233
|
+
node --check tests/rmt-language/rmt_vnext_tooling_suite.js
|
|
234
|
+
node -e "const suite=require('./tests/rmt-language/rmt_vnext_tooling_suite'); const result=suite.runRmtVNextToolingSuite({rootDir:process.cwd()}); process.exit(result.ok ? 0 : 1);"
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Der globale Runner fuehrt `rmt-vnext-tooling` und `rmt-editor-packaging` als
|
|
238
|
+
Release-Gates aus. Die VS-Code-Bridge wird ueber
|
|
239
|
+
`node scripts/run_xtend_tests.js rmt-editor-packaging --json` gegen aktive
|
|
240
|
+
Dokument-CodeActions, Safe-Fix-All und blockierte Kernel-Boundary-Handoffs
|
|
241
|
+
geprueft.
|
|
242
|
+
|
|
243
|
+
## Naechster Handoff
|
|
244
|
+
|
|
245
|
+
`RMT-VNEXT-PRIM-07` ist abgeschlossen. Weitere Editor-Arbeit kann auf dieser
|
|
246
|
+
Bridge aufsetzen, etwa echte LanguageClient-Verpackung oder UI-spezifische
|
|
247
|
+
Preview-Panels; der vNext-Primitive-Authoring-Pfad selbst ist release-gated.
|