@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,119 @@
|
|
|
1
|
+
# RMT vNext Primitive Migration
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext.primitive-migration-preview.v1`
|
|
4
|
+
- Workpackage: `RMT-VNEXT-PRIM-08`
|
|
5
|
+
- Status: `in_progress`
|
|
6
|
+
- Source fixture: `tests/fixtures/rmt-app-platform-tooling.rmt`
|
|
7
|
+
- Local gate: `node scripts/run_xtend_tests.js rmt-vnext-compatibility --json`
|
|
8
|
+
|
|
9
|
+
## Ziel
|
|
10
|
+
|
|
11
|
+
`RMT-VNEXT-PRIM-08` schiebt Legacy- und App-Platform-JSON-Authoring in den
|
|
12
|
+
Hintergrund. Bestehende App-Platform-Primitive-Records bleiben als
|
|
13
|
+
Compiler-Target und Compatibility-Evidence erhalten, aber die primaere
|
|
14
|
+
Authoring-Flaeche ist RMT vNext.
|
|
15
|
+
|
|
16
|
+
Der Migrationspfad erzeugt deshalb keinen neuen Legacy-Arbeitsmodus. Er erzeugt
|
|
17
|
+
einen vNext-Preview-Draft aus vorhandenen App-Platform-Records und kompiliert
|
|
18
|
+
diesen Draft direkt wieder durch den vNext-Compiler. Erst wenn dieser Draft
|
|
19
|
+
State, DataSources, Actions, Events, Portals, Overlays, Resources, Surfaces,
|
|
20
|
+
Lanes und Kernel-Records absenken kann, gilt die Migration als kompatibel.
|
|
21
|
+
|
|
22
|
+
## Preview- und Apply-Plan-Vertrag
|
|
23
|
+
|
|
24
|
+
Die API `createAppPlatformPrimitiveMigrationPreview(...)` erkennt
|
|
25
|
+
App-Platform-JSON-Dokumente mit Primitive-Domains wie `state`, `dataSources`,
|
|
26
|
+
`actions`, `events`, `portals`, `overlays`, `resources` und `surfaces`.
|
|
27
|
+
|
|
28
|
+
Der Preview-Report enthaelt:
|
|
29
|
+
|
|
30
|
+
- `schema: "xtend.rmt.vnext.primitive-migration-preview.v1"`
|
|
31
|
+
- `workpackage: "RMT-VNEXT-PRIM-08"`
|
|
32
|
+
- `languageMode: "legacy-app-platform-json"`
|
|
33
|
+
- `vNextAuthoring.role: "default"`
|
|
34
|
+
- `legacyAuthoring.role: "compiler-target"`
|
|
35
|
+
- `legacyAuthoring.backgrounded: true`
|
|
36
|
+
- `authoringDraft` mit vNext-Primitive-Syntax
|
|
37
|
+
- `authoringDraftCompileStatus: "compiled"`
|
|
38
|
+
- `projection.appPlatform` und `projection.kernelRecords`
|
|
39
|
+
- `domainMapping` fuer die erkannten Primitive-Familien
|
|
40
|
+
|
|
41
|
+
Report-only-Mode schreibt keine Quelle um. Er meldet stattdessen
|
|
42
|
+
`rmt.vnext.migration.opt_in_required` und
|
|
43
|
+
`rmt.vnext.primitive_migration.preview_available`. Preview-Mode ist bewusst
|
|
44
|
+
opt-in, damit vorhandene downstream Fixtures nicht still migriert werden.
|
|
45
|
+
|
|
46
|
+
Die API `createAppPlatformPrimitiveMigrationApplyPlan(...)` baut darauf auf
|
|
47
|
+
und erzeugt einen deterministischen Apply-Plan:
|
|
48
|
+
|
|
49
|
+
- `schema: "xtend.rmt.vnext.primitive-migration-apply-plan.v1"`
|
|
50
|
+
- `status: "apply-plan-ready"`, wenn der vNext-Draft kompiliert und eine
|
|
51
|
+
Projektion erzeugt werden kann
|
|
52
|
+
- `status: "blocked"`, wenn JSON-Parsing oder vNext-Kompilation fehlschlagen
|
|
53
|
+
- `targetPath` als Zielpfad-Hinweis, standardmaessig
|
|
54
|
+
`<quelle>.vnext.rmt`
|
|
55
|
+
- `automaticWrite: false`
|
|
56
|
+
- `writePolicy: "manual-apply-only"`
|
|
57
|
+
|
|
58
|
+
Der Apply-Plan fuehrt keinen Datei-Write aus. Er ist ein pruefbarer Handoff
|
|
59
|
+
fuer Agenten, CLIs oder Editoren, die den vNext-Draft nach Review in einen
|
|
60
|
+
neuen Authoring-Pfad uebernehmen wollen. Legacy/App-Platform-JSON bleibt dabei
|
|
61
|
+
Mirror und Compiler-Target, nicht die Benutzeroberflaeche.
|
|
62
|
+
|
|
63
|
+
## Authoring-Draft
|
|
64
|
+
|
|
65
|
+
Das App-Platform-Fixture wird in eine vNext-Shell dieser Form ueberfuehrt:
|
|
66
|
+
|
|
67
|
+
```rmt
|
|
68
|
+
template epic18.app-platform-tooling.fixture {
|
|
69
|
+
state items type collection initial []
|
|
70
|
+
|
|
71
|
+
datasource items from fixture records.generic-items {
|
|
72
|
+
contract "domain.record.generic-item.v1[]"
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
action load-items {
|
|
76
|
+
effect fetch datasource items
|
|
77
|
+
reduce state.items = result.records
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
portal app root "#app-root" layer surface
|
|
81
|
+
|
|
82
|
+
surface workspace kind window component workspace {
|
|
83
|
+
repeat from datasource items
|
|
84
|
+
portal app
|
|
85
|
+
|
|
86
|
+
lane visible weight 70 {
|
|
87
|
+
hydrate workspace from datasource items
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
on open-detail target ref.row -> action open-detail {
|
|
91
|
+
payload id from detail.id
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Die Preview normalisiert bekannte App-Platform-Prefixes fuer vNext-Authoring:
|
|
98
|
+
`state.items` wird zu `state items`, `datasource.items` zu
|
|
99
|
+
`datasource items`, `surface.workspace` zu `surface workspace` und
|
|
100
|
+
`action.open-detail` zu `action open-detail`. Runtime- und Kernel-Records
|
|
101
|
+
bleiben ueber die Compiler-Projektion korrelierbar.
|
|
102
|
+
|
|
103
|
+
## Gate-Erwartung
|
|
104
|
+
|
|
105
|
+
Das Compatibility-Gate prueft fuer PRIM-08:
|
|
106
|
+
|
|
107
|
+
- App-Platform-Primitive-JSON wird als `legacy-app-platform-json` erkannt.
|
|
108
|
+
- Report-only-Mode verlangt explizites Preview-Opt-in.
|
|
109
|
+
- Preview-Mode erzeugt einen vNext-Draft und kompiliert ihn.
|
|
110
|
+
- Apply-Plan-Mode erzeugt denselben Draft, einen Zielpfad-Hinweis und eine
|
|
111
|
+
blockierende Compile-/Parse-Pruefung, ohne Dateien zu schreiben.
|
|
112
|
+
- Die Projektion enthaelt App-Platform- und Kernel-Records.
|
|
113
|
+
- Legacy wird als `compiler-target` markiert, nicht als Authoring-Pfad.
|
|
114
|
+
- Die Compatibility-Matrix akzeptiert App-Platform-Preview und native vNext-
|
|
115
|
+
Quelle gemeinsam.
|
|
116
|
+
|
|
117
|
+
Damit wird die Upgrade-Regel testbar: Legacy ist weiterhin beweisbar
|
|
118
|
+
kompatibel, aber die Developer Experience fuer neue App-Shell-Arbeit liegt in
|
|
119
|
+
vNext.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# RMT vNext Primitive Parser AST
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext-primitive-parser-ast.v1`
|
|
4
|
+
- Workpackage: `RMT-VNEXT-PRIM-02`
|
|
5
|
+
- Status: `completed`
|
|
6
|
+
- Parent backlog: [RMT vNext Primitive Compiler Backlog](./rmt-vnext-primitives-compiler-backlog.md)
|
|
7
|
+
- Grammar contract: [RMT vNext Primitive Grammar Design](./rmt-vnext-primitive-grammar-design.md)
|
|
8
|
+
- Parser module: `tools/rmt-language/vnext-parser.js`
|
|
9
|
+
- Parser suite: `tests/rmt-language/rmt_vnext_parser_suite.js`
|
|
10
|
+
- Fixture: `tests/rmt-language/fixtures/vnext-primitives-grammar-design.rmt`
|
|
11
|
+
|
|
12
|
+
## Ziel
|
|
13
|
+
|
|
14
|
+
PRIM-02 erweitert den bestehenden vNext-Parser so, dass die in PRIM-01
|
|
15
|
+
definierte Primitive-Syntax als echte AST-Nodes sichtbar wird. Der Slice bleibt
|
|
16
|
+
abwaertskompatibel mit der bisherigen `template/surface/lane`-Syntax.
|
|
17
|
+
|
|
18
|
+
Compiler-Lowering und Kernel-Ingestion bleiben Folgearbeit in
|
|
19
|
+
`RMT-VNEXT-PRIM-04`. Die erste App-Graph-Semantik ist in
|
|
20
|
+
`RMT-VNEXT-PRIM-03` gestartet.
|
|
21
|
+
|
|
22
|
+
## Implementierter Parser-Umfang
|
|
23
|
+
|
|
24
|
+
Der Parser akzeptiert jetzt die Design-Fixture
|
|
25
|
+
`vnext-primitives-grammar-design.rmt` ohne Syntaxdiagnosen und erzeugt
|
|
26
|
+
initiale AST-Nodes fuer:
|
|
27
|
+
|
|
28
|
+
| Primitive | AST Nodes |
|
|
29
|
+
|-----------|-----------|
|
|
30
|
+
| State | `RmtStateDeclaration`, `RmtInitialBlock`, `RmtInitialValueEntry`, `RmtPrimitiveValue`, `RmtTypeReference` |
|
|
31
|
+
| Selector | `RmtSelectorDeclaration`, `RmtSelectorWhereClause`, `RmtSelectorFindClause`, `RmtSelectorSortClause`, `RmtSelectorOutputClause` |
|
|
32
|
+
| DataSource | `RmtDataSourceDeclaration`, `RmtPrimitiveSourceReference`, `RmtDataSourceMethodClause`, `RmtDataSourceContractClause`, `RmtDataSourceResultClause`, `RmtDataSourceFallbackClause` |
|
|
33
|
+
| Action | `RmtActionDeclaration`, `RmtActionInputClause`, `RmtActionStatusClause`, `RmtEffectStatement`, `RmtReducerStatement`, `RmtEmitStatement`, `RmtActionResultHandler` |
|
|
34
|
+
| Portal | `RmtPortalDeclaration`, `RmtPrimitiveAttribute`, `RmtPortalPolicyClause` |
|
|
35
|
+
| Overlay | `RmtOverlayDeclaration`, `RmtOverlayPolicyClause` |
|
|
36
|
+
| Resource | `RmtResourceDeclaration`, `RmtResourceImportClause`, `RmtResourceSourceClause`, `RmtResourceDisposeClause` |
|
|
37
|
+
| Surface | erweiterte `RmtSurfaceDeclaration`, `RmtSurfaceHeaderClause`, `RmtSurfaceSourceClause`, `RmtSurfaceRepeatClause`, `RmtSurfaceKeyClause`, `RmtSurfacePortalClause`, `RmtSurfaceBoundsClause`, `RmtSurfacePreserveClause`, `RmtSurfaceDestroyClause` |
|
|
38
|
+
| Event | erweiterte `RmtEventBinding`, `RmtEventSelector`, `RmtEventPayloadBlock`, `RmtEventPayloadMapping`, `RmtEventOptionClause` |
|
|
39
|
+
|
|
40
|
+
## Parser-Grenzen
|
|
41
|
+
|
|
42
|
+
- Selector-Ausdruecke wie `contains(record.name, state.media.filters.query)`
|
|
43
|
+
werden in PRIM-02 als deklarative Raw-Clause mit Source Range erhalten.
|
|
44
|
+
Die semantische Operator-AST folgt in PRIM-03.
|
|
45
|
+
- Action-Result-Handler wie `on success -> reduce ...` erhalten den Effekttext
|
|
46
|
+
und die Source Range. Typisierte Effect-Nodes folgen in PRIM-03/04.
|
|
47
|
+
- Der Compiler ignoriert unbekannte Template-Body-Nodes weiterhin, damit
|
|
48
|
+
bestehende vNext-Core-Builds stabil bleiben. Primitive-Lowering ist PRIM-04.
|
|
49
|
+
- Der RMT-Kernel wird in PRIM-02 nicht ingestiert. Das Source-to-Sea-Gate ist
|
|
50
|
+
PRIM-06.
|
|
51
|
+
|
|
52
|
+
## Verifikation
|
|
53
|
+
|
|
54
|
+
Direkte lokale Checks:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
node --check tools/rmt-language/vnext-parser.js
|
|
58
|
+
node --check tests/rmt-language/rmt_vnext_parser_suite.js
|
|
59
|
+
node -e "const { runRmtVNextParserSuite } = require('./tests/rmt-language/rmt_vnext_parser_suite'); const result = runRmtVNextParserSuite(); process.exit(result.ok ? 0 : 1)"
|
|
60
|
+
node -e "const { runRmtVNextCompilerSuite } = require('./tests/rmt-language/rmt_vnext_compiler_suite'); const result = runRmtVNextCompilerSuite(); process.exit(result.ok ? 0 : 1)"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Der globale Runner `node scripts/run_xtend_tests.js rmt-vnext-parser --json`
|
|
64
|
+
ist aktuell durch bestehende Merge-Conflict-Marker in
|
|
65
|
+
`tests/references/reference_path_suite.js` blockiert, weil der Runner diese
|
|
66
|
+
Suite beim Start importiert.
|
|
67
|
+
|
|
68
|
+
## Handoff
|
|
69
|
+
|
|
70
|
+
- `RMT-VNEXT-PRIM-03`: [RMT vNext Primitive Semantic Graph](./rmt-vnext-primitive-semantic-graph.md)
|
|
71
|
+
baut Indexe, Referenzen und Pre-Runtime-Diagnostics fuer die Primitive-AST-
|
|
72
|
+
Nodes auf.
|
|
73
|
+
- `RMT-VNEXT-PRIM-04`: Primitive-AST und Semantic Graph in Core-/App-Platform-
|
|
74
|
+
Records absenken.
|
|
75
|
+
- Language Server nachziehen: completions, hover, symbols und code actions fuer
|
|
76
|
+
die neuen Node-Typen.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# RMT vNext Primitive Semantic Graph
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext.primitive-semantic-graph.v1`
|
|
4
|
+
- Workpackage: `RMT-VNEXT-PRIM-03`
|
|
5
|
+
- Status: `completed`
|
|
6
|
+
- Quelle: Media-Manager-Downstream-Transfer, `2026-05-19`
|
|
7
|
+
|
|
8
|
+
## Ziel
|
|
9
|
+
|
|
10
|
+
`RMT-VNEXT-PRIM-03` macht vNext-Primitives vor der Runtime semantisch
|
|
11
|
+
sichtbar. Der Parser liefert typisierte AST-Knoten; der neue Graph baut daraus
|
|
12
|
+
Indexe, Referenzen, Diagnostics und Completion-Hints fuer die App-Platform-
|
|
13
|
+
Primitives.
|
|
14
|
+
|
|
15
|
+
Die API ist additiv:
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
const {
|
|
19
|
+
buildRmtVNextPrimitiveSemanticGraph
|
|
20
|
+
} = require('./tools/rmt-language/semantic-graph');
|
|
21
|
+
|
|
22
|
+
const graph = buildRmtVNextPrimitiveSemanticGraph({ text, filePath });
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Der bestehende `buildSemanticGraph(...)` fuer Legacy/Core-RMT bleibt stabil.
|
|
26
|
+
Der vNext-Primitive-Graph ist der neue Handoff zwischen Parser und spaeterem
|
|
27
|
+
Lowering in Kernel Records.
|
|
28
|
+
|
|
29
|
+
## Index-Domains
|
|
30
|
+
|
|
31
|
+
Der Graph erzeugt eigene Domains fuer:
|
|
32
|
+
|
|
33
|
+
- `states`
|
|
34
|
+
- `selectors`
|
|
35
|
+
- `dataSources`
|
|
36
|
+
- `actions`
|
|
37
|
+
- `surfaces`
|
|
38
|
+
- `portals`
|
|
39
|
+
- `overlays`
|
|
40
|
+
- `resources`
|
|
41
|
+
- `events`
|
|
42
|
+
|
|
43
|
+
Jede Domain stellt `records`, `byId`, `ids` und Duplicate-Diagnostics bereit.
|
|
44
|
+
Zusaetzlich liefert `catalogHints` direkt nutzbare IDs fuer Completions und
|
|
45
|
+
Docs.
|
|
46
|
+
|
|
47
|
+
## Referenzmodell
|
|
48
|
+
|
|
49
|
+
PRIM-03 prueft die wichtigsten vNext-Primitive-Kanten:
|
|
50
|
+
|
|
51
|
+
- Selector -> State
|
|
52
|
+
- Action Effect -> DataSource
|
|
53
|
+
- Reducer -> State
|
|
54
|
+
- Surface Source/Repeat/Lifecycle -> Selector oder State
|
|
55
|
+
- Surface -> Portal
|
|
56
|
+
- Overlay -> Portal
|
|
57
|
+
- Resource -> Owner Surface/Overlay
|
|
58
|
+
- Resource Source -> Selector/State/Resource
|
|
59
|
+
- Surface Destroy -> Resource
|
|
60
|
+
- Event -> Action
|
|
61
|
+
|
|
62
|
+
Die Referenzen sind analog zum bestehenden Semantic Graph aufgebaut:
|
|
63
|
+
|
|
64
|
+
- `references.records`
|
|
65
|
+
- `references.bySourcePointer`
|
|
66
|
+
- `references.byTargetId`
|
|
67
|
+
- `references.unresolved`
|
|
68
|
+
|
|
69
|
+
Damit bleibt der spaetere Language-Server-Pfad fuer Go-to-Definition,
|
|
70
|
+
References und Completion konsistent.
|
|
71
|
+
|
|
72
|
+
## Diagnostics
|
|
73
|
+
|
|
74
|
+
PRIM-03 fuehrt diese vNext-Primitive-Diagnostics ein:
|
|
75
|
+
|
|
76
|
+
| Code | Bedeutung |
|
|
77
|
+
|------|-----------|
|
|
78
|
+
| `rmt.vnext.primitive.duplicate-id` | Ein Primitive ist in derselben Domain mehrfach definiert. |
|
|
79
|
+
| `rmt.vnext.primitive.unknown-reference` | Eine Primitive-Referenz kann nicht aufgeloest werden. |
|
|
80
|
+
| `rmt.vnext.primitive.owner-missing` | Eine Resource besitzt keinen Surface- oder Overlay-Owner. |
|
|
81
|
+
| `rmt.vnext.primitive.unkeyed-repeat` | Ein Surface-Repeater besitzt keine `key`-Klausel. |
|
|
82
|
+
| `rmt.vnext.primitive.payload-contract-missing` | Event oder Emit fuehrt zu Runtime-Payload ohne Contract. |
|
|
83
|
+
| `rmt.vnext.primitive.initial-missing` | Ein State besitzt keinen initialen Wert. |
|
|
84
|
+
| `rmt.vnext.primitive.resource-kind-missing` | Eine Resource besitzt keinen `kind`. |
|
|
85
|
+
| `rmt.vnext.primitive.action-reducer-missing` | Eine Action besitzt Input, Status oder Effect, aber kein Reducer-Ziel. |
|
|
86
|
+
| `rmt.vnext.primitive.effect-source-missing` | Ein `effect fetch` besitzt keine DataSource-, Selector- oder Resource-Quelle. |
|
|
87
|
+
| `rmt.vnext.primitive.unsafe-html` | Unsicheres HTML wird ohne Trust Boundary sichtbar. |
|
|
88
|
+
| `rmt.vnext.primitive.kernel-boundary` | Primitive-Import verletzt Kernel-/Fabric-Grenzen. |
|
|
89
|
+
|
|
90
|
+
Die negative Fixture
|
|
91
|
+
`tests/rmt-language/fixtures/vnext-primitives-semantic-invalid.rmt` beweist
|
|
92
|
+
Cross-Reference-, Ownership-, Event-Payload-, Repeater- und Kernel-Boundary-
|
|
93
|
+
Fehler als Pre-Runtime-Diagnostics.
|
|
94
|
+
|
|
95
|
+
## Evidence
|
|
96
|
+
|
|
97
|
+
Die Semantic-Graph-Suite prueft beide Richtungen:
|
|
98
|
+
|
|
99
|
+
- `tests/rmt-language/fixtures/vnext-primitives-grammar-design.rmt` muss als
|
|
100
|
+
positiver vNext-Primitive-Graph ohne Error-Diagnostics indexieren.
|
|
101
|
+
- `tests/rmt-language/fixtures/vnext-primitives-semantic-invalid.rmt` muss die
|
|
102
|
+
erwarteten PRIM-03-Diagnostics liefern.
|
|
103
|
+
|
|
104
|
+
Gezielte lokale Gates:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
node --check tools/rmt-language/semantic-graph.js
|
|
108
|
+
node --check tests/rmt-language/rmt_semantic_graph_suite.js
|
|
109
|
+
node -e "const suite=require('./tests/rmt-language/rmt_semantic_graph_suite'); const result=suite.runRmtSemanticGraphSuite({rootDir:process.cwd()}); process.exit(result.ok ? 0 : 1);"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Naechster Handoff
|
|
113
|
+
|
|
114
|
+
`RMT-VNEXT-PRIM-04` nutzt den neuen Graph als Lowering-Input. Der Compiler
|
|
115
|
+
stoppt Primitive-Quellen mit Semantic-Errors vor dem Core-Output und erzeugt
|
|
116
|
+
fuer valide Quellen deterministische Kernel-/App-Platform-Records.
|
|
117
|
+
|
|
118
|
+
Handoff: [RMT vNext Primitive Lowering](./rmt-vnext-primitive-lowering.md)
|