universal-physics-tensor 0.45.1 → 0.46.0
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/README.md +28 -27
- package/dist/atlas/applicability.d.ts +108 -0
- package/dist/atlas/applicability.d.ts.map +1 -0
- package/dist/atlas/applicability.js +301 -0
- package/dist/atlas/applicability.js.map +1 -0
- package/dist/atlas/association.d.ts +92 -0
- package/dist/atlas/association.d.ts.map +1 -0
- package/dist/atlas/association.js +112 -0
- package/dist/atlas/association.js.map +1 -0
- package/dist/atlas/benchmark/backend-shapes.d.ts +47 -0
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -0
- package/dist/atlas/benchmark/backend-shapes.js +58 -0
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -0
- package/dist/atlas/benchmark/baselines.d.ts +64 -0
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -0
- package/dist/atlas/benchmark/baselines.js +112 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -0
- package/dist/atlas/benchmark/leakage.d.ts +56 -0
- package/dist/atlas/benchmark/leakage.d.ts.map +1 -0
- package/dist/atlas/benchmark/leakage.js +100 -0
- package/dist/atlas/benchmark/leakage.js.map +1 -0
- package/dist/atlas/benchmark/loader.d.ts +56 -0
- package/dist/atlas/benchmark/loader.d.ts.map +1 -0
- package/dist/atlas/benchmark/loader.js +104 -0
- package/dist/atlas/benchmark/loader.js.map +1 -0
- package/dist/atlas/benchmark/run-atlas.d.ts +72 -0
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -0
- package/dist/atlas/benchmark/run-atlas.js +210 -0
- package/dist/atlas/benchmark/run-atlas.js.map +1 -0
- package/dist/atlas/benchmark/stats.d.ts +90 -0
- package/dist/atlas/benchmark/stats.d.ts.map +1 -0
- package/dist/atlas/benchmark/stats.js +159 -0
- package/dist/atlas/benchmark/stats.js.map +1 -0
- package/dist/atlas/benchmark/study.d.ts +120 -0
- package/dist/atlas/benchmark/study.d.ts.map +1 -0
- package/dist/atlas/benchmark/study.js +192 -0
- package/dist/atlas/benchmark/study.js.map +1 -0
- package/dist/atlas/benchmark/types.d.ts +79 -0
- package/dist/atlas/benchmark/types.d.ts.map +1 -0
- package/dist/atlas/benchmark/types.js +46 -0
- package/dist/atlas/benchmark/types.js.map +1 -0
- package/dist/atlas/composition-table.d.ts +55 -0
- package/dist/atlas/composition-table.d.ts.map +1 -0
- package/dist/atlas/composition-table.js +133 -0
- package/dist/atlas/composition-table.js.map +1 -0
- package/dist/atlas/conventions.d.ts +63 -0
- package/dist/atlas/conventions.d.ts.map +1 -0
- package/dist/atlas/conventions.js +93 -0
- package/dist/atlas/conventions.js.map +1 -0
- package/dist/atlas/coverage.d.ts +93 -0
- package/dist/atlas/coverage.d.ts.map +1 -0
- package/dist/atlas/coverage.js +69 -0
- package/dist/atlas/coverage.js.map +1 -0
- package/dist/atlas/derivation.d.ts +137 -0
- package/dist/atlas/derivation.d.ts.map +1 -0
- package/dist/atlas/derivation.js +190 -0
- package/dist/atlas/derivation.js.map +1 -0
- package/dist/atlas/derive-evidence.d.ts +218 -0
- package/dist/atlas/derive-evidence.d.ts.map +1 -0
- package/dist/atlas/derive-evidence.js +225 -0
- package/dist/atlas/derive-evidence.js.map +1 -0
- package/dist/atlas/diffusion/bridges-closure.d.ts +63 -0
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -0
- package/dist/atlas/diffusion/bridges-closure.js +324 -0
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -0
- package/dist/atlas/diffusion/bridges.d.ts +36 -0
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -0
- package/dist/atlas/diffusion/bridges.js +226 -0
- package/dist/atlas/diffusion/bridges.js.map +1 -0
- package/dist/atlas/diffusion/dimensions.d.ts +21 -0
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -0
- package/dist/atlas/diffusion/dimensions.js +21 -0
- package/dist/atlas/diffusion/dimensions.js.map +1 -0
- package/dist/atlas/diffusion/index.d.ts +16 -0
- package/dist/atlas/diffusion/index.d.ts.map +1 -0
- package/dist/atlas/diffusion/index.js +23 -0
- package/dist/atlas/diffusion/index.js.map +1 -0
- package/dist/atlas/diffusion/models.d.ts +24 -0
- package/dist/atlas/diffusion/models.d.ts.map +1 -0
- package/dist/atlas/diffusion/models.js +139 -0
- package/dist/atlas/diffusion/models.js.map +1 -0
- package/dist/atlas/diffusion/numerics.d.ts +181 -0
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -0
- package/dist/atlas/diffusion/numerics.js +251 -0
- package/dist/atlas/diffusion/numerics.js.map +1 -0
- package/dist/atlas/error-algebra.d.ts +52 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -0
- package/dist/atlas/error-algebra.js +55 -0
- package/dist/atlas/error-algebra.js.map +1 -0
- package/dist/atlas/export.d.ts +48 -0
- package/dist/atlas/export.d.ts.map +1 -0
- package/dist/atlas/export.js +106 -0
- package/dist/atlas/export.js.map +1 -0
- package/dist/atlas/families.d.ts +14 -0
- package/dist/atlas/families.d.ts.map +1 -0
- package/dist/atlas/families.js +20 -0
- package/dist/atlas/families.js.map +1 -0
- package/dist/atlas/index.d.ts +90 -0
- package/dist/atlas/index.d.ts.map +1 -0
- package/dist/atlas/index.js +69 -0
- package/dist/atlas/index.js.map +1 -0
- package/dist/atlas/link-prediction.d.ts +71 -0
- package/dist/atlas/link-prediction.d.ts.map +1 -0
- package/dist/atlas/link-prediction.js +128 -0
- package/dist/atlas/link-prediction.js.map +1 -0
- package/dist/atlas/model.d.ts +70 -0
- package/dist/atlas/model.d.ts.map +1 -0
- package/dist/atlas/model.js +26 -0
- package/dist/atlas/model.js.map +1 -0
- package/dist/atlas/oscillators/bridges-coarse.d.ts +71 -0
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-coarse.js +146 -0
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -0
- package/dist/atlas/oscillators/bridges-exact.d.ts +70 -0
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-exact.js +227 -0
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts +118 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-limits.js +342 -0
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -0
- package/dist/atlas/oscillators/dimensions.d.ts +34 -0
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -0
- package/dist/atlas/oscillators/dimensions.js +34 -0
- package/dist/atlas/oscillators/dimensions.js.map +1 -0
- package/dist/atlas/oscillators/index.d.ts +38 -0
- package/dist/atlas/oscillators/index.d.ts.map +1 -0
- package/dist/atlas/oscillators/index.js +37 -0
- package/dist/atlas/oscillators/index.js.map +1 -0
- package/dist/atlas/oscillators/models.d.ts +25 -0
- package/dist/atlas/oscillators/models.d.ts.map +1 -0
- package/dist/atlas/oscillators/models.js +160 -0
- package/dist/atlas/oscillators/models.js.map +1 -0
- package/dist/atlas/oscillators/rejections.d.ts +21 -0
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -0
- package/dist/atlas/oscillators/rejections.js +54 -0
- package/dist/atlas/oscillators/rejections.js.map +1 -0
- package/dist/atlas/path-bound.d.ts +143 -0
- package/dist/atlas/path-bound.d.ts.map +1 -0
- package/dist/atlas/path-bound.js +268 -0
- package/dist/atlas/path-bound.js.map +1 -0
- package/dist/atlas/poster/associations.d.ts +66 -0
- package/dist/atlas/poster/associations.d.ts.map +1 -0
- package/dist/atlas/poster/associations.js +90 -0
- package/dist/atlas/poster/associations.js.map +1 -0
- package/dist/atlas/poster/derivations.d.ts +156 -0
- package/dist/atlas/poster/derivations.d.ts.map +1 -0
- package/dist/atlas/poster/derivations.js +430 -0
- package/dist/atlas/poster/derivations.js.map +1 -0
- package/dist/atlas/poster/statements.d.ts +198 -0
- package/dist/atlas/poster/statements.d.ts.map +1 -0
- package/dist/atlas/poster/statements.js +365 -0
- package/dist/atlas/poster/statements.js.map +1 -0
- package/dist/atlas/public.d.ts +26 -0
- package/dist/atlas/public.d.ts.map +1 -0
- package/dist/atlas/public.js +21 -0
- package/dist/atlas/public.js.map +1 -0
- package/dist/atlas/regime.d.ts +171 -0
- package/dist/atlas/regime.d.ts.map +1 -0
- package/dist/atlas/regime.js +309 -0
- package/dist/atlas/regime.js.map +1 -0
- package/dist/atlas/serialize.d.ts +50 -0
- package/dist/atlas/serialize.d.ts.map +1 -0
- package/dist/atlas/serialize.js +180 -0
- package/dist/atlas/serialize.js.map +1 -0
- package/dist/atlas/statement.d.ts +165 -0
- package/dist/atlas/statement.d.ts.map +1 -0
- package/dist/atlas/statement.js +176 -0
- package/dist/atlas/statement.js.map +1 -0
- package/dist/atlas/types.d.ts +308 -0
- package/dist/atlas/types.d.ts.map +1 -0
- package/dist/atlas/types.js +61 -0
- package/dist/atlas/types.js.map +1 -0
- package/dist/atlas/waves/bridges-closure.d.ts +39 -0
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -0
- package/dist/atlas/waves/bridges-closure.js +223 -0
- package/dist/atlas/waves/bridges-closure.js.map +1 -0
- package/dist/atlas/waves/bridges.d.ts +49 -0
- package/dist/atlas/waves/bridges.d.ts.map +1 -0
- package/dist/atlas/waves/bridges.js +265 -0
- package/dist/atlas/waves/bridges.js.map +1 -0
- package/dist/atlas/waves/index.d.ts +16 -0
- package/dist/atlas/waves/index.d.ts.map +1 -0
- package/dist/atlas/waves/index.js +23 -0
- package/dist/atlas/waves/index.js.map +1 -0
- package/dist/atlas/waves/models.d.ts +29 -0
- package/dist/atlas/waves/models.d.ts.map +1 -0
- package/dist/atlas/waves/models.js +127 -0
- package/dist/atlas/waves/models.js.map +1 -0
- package/dist/atlas/waves/numerics.d.ts +149 -0
- package/dist/atlas/waves/numerics.d.ts.map +1 -0
- package/dist/atlas/waves/numerics.js +218 -0
- package/dist/atlas/waves/numerics.js.map +1 -0
- package/dist/atlas/witness-artifact.d.ts +65 -0
- package/dist/atlas/witness-artifact.d.ts.map +1 -0
- package/dist/atlas/witness-artifact.js +78 -0
- package/dist/atlas/witness-artifact.js.map +1 -0
- package/dist/atlas/witness-numeric.d.ts +81 -0
- package/dist/atlas/witness-numeric.d.ts.map +1 -0
- package/dist/atlas/witness-numeric.js +105 -0
- package/dist/atlas/witness-numeric.js.map +1 -0
- package/dist/atlas/witness-result.d.ts +77 -0
- package/dist/atlas/witness-result.d.ts.map +1 -0
- package/dist/atlas/witness-result.js +39 -0
- package/dist/atlas/witness-result.js.map +1 -0
- package/dist/atlas/witness-specs.d.ts +110 -0
- package/dist/atlas/witness-specs.d.ts.map +1 -0
- package/dist/atlas/witness-specs.js +372 -0
- package/dist/atlas/witness-specs.js.map +1 -0
- package/dist/atlas/witness-symbolic.d.ts +79 -0
- package/dist/atlas/witness-symbolic.d.ts.map +1 -0
- package/dist/atlas/witness-symbolic.js +140 -0
- package/dist/atlas/witness-symbolic.js.map +1 -0
- package/dist/atlas/witnesses/quantum-support.d.ts +50 -0
- package/dist/atlas/witnesses/quantum-support.d.ts.map +1 -0
- package/dist/atlas/witnesses/quantum-support.js +48 -0
- package/dist/atlas/witnesses/quantum-support.js.map +1 -0
- package/dist/bridges/be11-decoherence-confrontation.js.map +1 -1
- package/dist/bridges/be21-kss-confrontation.js.map +1 -1
- package/dist/bridges/be23-planckian-confrontation.js.map +1 -1
- package/dist/bridges/be35-bootstrap-confrontation.js.map +1 -1
- package/dist/bridges/be36-gw170817-confrontation.js.map +1 -1
- package/dist/bridges/be37-cassini-confrontation.js.map +1 -1
- package/dist/bridges/be48-collapse-confrontation.js.map +1 -1
- package/dist/bridges/be51-lensing-confrontation.js.map +1 -1
- package/dist/bridges/be52-mercury-confrontation.js.map +1 -1
- package/dist/bridges/be55-quantum-hall-confrontation.js.map +1 -1
- package/dist/bridges/be56-casimir-confrontation.js.map +1 -1
- package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +1 -1
- package/dist/bridges/be59-ac-josephson-confrontation.js.map +1 -1
- package/dist/bridges/be60-fractional-qh-confrontation.js.map +1 -1
- package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +1 -1
- package/dist/bridges/be62-bcs-gap-confrontation.js.map +1 -1
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +1 -1
- package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +1 -1
- package/dist/bridges/be65-jeans-mass-confrontation.js.map +1 -1
- package/dist/bridges/bridge-equations.d.ts +2 -1
- package/dist/bridges/bridge-equations.d.ts.map +1 -1
- package/dist/bridges/bridge-equations.js +3 -2
- package/dist/bridges/bridge-equations.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/equations/_be-helpers.d.ts +2 -2
- package/dist/bridges/equations/_be-helpers.js +2 -2
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +88 -58
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +102 -62
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.d.ts +9 -8
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.js +9 -8
- package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
- package/dist/bridges/gravitational-lensing.d.ts +10 -0
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
- package/dist/bridges/gravitational-lensing.js.map +1 -1
- package/dist/bridges/index.d.ts +125 -7
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +483 -20
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/perihelion-precession.d.ts +10 -0
- package/dist/bridges/perihelion-precession.d.ts.map +1 -1
- package/dist/bridges/perihelion-precession.js.map +1 -1
- package/dist/bridges/rhs-registry.js +2 -2
- package/dist/canonical/canonical-equation.d.ts +15 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/_l1-build.d.ts +1 -1
- package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +23 -0
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +93 -0
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/residual.d.ts +28 -0
- package/dist/canonical/residual.d.ts.map +1 -0
- package/dist/canonical/residual.js +31 -0
- package/dist/canonical/residual.js.map +1 -0
- package/dist/cli/command.d.ts +8 -0
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +10 -0
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts +3 -0
- package/dist/cli/commands/atlas.d.ts.map +1 -0
- package/dist/cli/commands/atlas.js +158 -0
- package/dist/cli/commands/atlas.js.map +1 -0
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/coverage.js +3 -3
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +3 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +161 -27
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/path.d.ts +3 -0
- package/dist/cli/commands/path.d.ts.map +1 -0
- package/dist/cli/commands/path.js +145 -0
- package/dist/cli/commands/path.js.map +1 -0
- package/dist/cli/commands/recover.d.ts.map +1 -1
- package/dist/cli/commands/recover.js +25 -6
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +14 -0
- package/dist/cli/commands/regime.d.ts.map +1 -0
- package/dist/cli/commands/regime.js +189 -0
- package/dist/cli/commands/regime.js.map +1 -0
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +5 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +22 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output.d.ts +6 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +16 -0
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +18 -0
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +0 -0
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +2 -2
- package/dist/composition/canonical-graph.js +2 -2
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +80 -1
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +64 -0
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +29 -0
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/calibration.d.ts.map +1 -1
- package/dist/composition/edges/calibration.js +46 -0
- package/dist/composition/edges/calibration.js.map +1 -1
- package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
- package/dist/composition/edges/catalog-quantum.js +9 -0
- package/dist/composition/edges/catalog-quantum.js.map +1 -1
- package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
- package/dist/composition/edges/catalog-tranche.js +18 -0
- package/dist/composition/edges/catalog-tranche.js.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +13 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +25 -0
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz.d.ts +118 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +189 -6
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +4 -2
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +2 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/poster-source.d.ts +153 -0
- package/dist/composition/poster-source.d.ts.map +1 -0
- package/dist/composition/poster-source.js +183 -0
- package/dist/composition/poster-source.js.map +1 -0
- package/dist/composition/probe/backend-protocol.d.ts +34 -1
- package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
- package/dist/composition/probe/backend-protocol.js +9 -2
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.d.ts.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +2 -2
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +1 -1
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.d.ts +52 -2
- package/dist/composition/uncertainty.d.ts.map +1 -1
- package/dist/composition/uncertainty.js +38 -2
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/core/flux-rules.d.ts.map +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/dimensional/ast-types.d.ts +31 -1
- package/dist/dimensional/ast-types.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.d.ts +1 -1
- package/dist/dimensional/bridge-check.js +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/connection.d.ts +2 -0
- package/dist/dimensional/connection.d.ts.map +1 -1
- package/dist/dimensional/connection.js +2 -0
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +5 -3
- package/dist/dimensional/curvature-composite.d.ts.map +1 -1
- package/dist/dimensional/curvature-composite.js +1 -0
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.d.ts +2 -0
- package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
- package/dist/dimensional/curvature-invariants.js +2 -0
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/einstein-equation.d.ts +3 -3
- package/dist/dimensional/einstein-equation.js +3 -3
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/metric.d.ts +5 -2
- package/dist/dimensional/metric.d.ts.map +1 -1
- package/dist/dimensional/metric.js +5 -2
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +3 -2
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +23 -4
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +142 -1
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +51 -24
- package/dist/numerical/float64-engine.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula.d.ts.map +1 -1
- package/dist/numerical/formula.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +3 -3
- package/dist/numerical/gl4-integrator.js +3 -3
- package/dist/numerical/killing.d.ts +47 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js +41 -3
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.d.ts +2 -2
- package/dist/numerical/klein-gordon.js +2 -2
- package/dist/numerical/lowering.d.ts +2 -2
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +5 -3
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +15 -13
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +15 -13
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/weyl-lowering.d.ts.map +1 -1
- package/dist/numerical/weyl-lowering.js +90 -40
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/package.json +121 -104
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Phase 3 — the poster's typed edges.
|
|
3
|
+
*
|
|
4
|
+
* `ROADMAP.md` Phase 3 states FIFTEEN bridge lines. This module records all
|
|
5
|
+
* fifteen, each in the container its type demands, and {@link POSTER_LINES} is
|
|
6
|
+
* the table that makes "all fifteen, correctly typed" a checkable claim rather
|
|
7
|
+
* than a reading of the source.
|
|
8
|
+
*
|
|
9
|
+
* ## Three containers, because the lines are three different acts
|
|
10
|
+
*
|
|
11
|
+
* - **{@link POSTER_DERIVATIONS}** — a `Derivation` asserts `premises ⊢
|
|
12
|
+
* conclusion`. Most lines are this.
|
|
13
|
+
* - **`./associations.ts`** — `7 ↔ 16` is an **association for the historical
|
|
14
|
+
* link only**, and `3, 14 → *` is association only. An `Association` makes
|
|
15
|
+
* no composite claim and is not a graph edge (`../association.ts`), which is
|
|
16
|
+
* exactly the content of those two lines.
|
|
17
|
+
* - **{@link POSTER_CONSTRAINTS}** — `5, 16 → 8` *"constrain but do not
|
|
18
|
+
* determine"*. Neither of the other two containers can say that. A
|
|
19
|
+
* `Derivation` would assert that 5 and 16 YIELD 8, which is the claim the
|
|
20
|
+
* line explicitly denies; an `Association` would say only that the three
|
|
21
|
+
* resemble each other, which drops the constraint. **This third container is
|
|
22
|
+
* a correction to the S3.3 brief**, which allows only derivations and
|
|
23
|
+
* associations; recording `5, 16 → 8` as a derivation would have been the
|
|
24
|
+
* overclaim the sprint exists to prevent. The variational route the line
|
|
25
|
+
* names — Einstein–Hilbert — IS a derivation, and it is recorded as one.
|
|
26
|
+
*
|
|
27
|
+
* ## One derivation has no premises, and that is the honest form
|
|
28
|
+
*
|
|
29
|
+
* `d-4-commutator` records the line *"`4` derivation from the commutator and
|
|
30
|
+
* Cauchy–Schwarz, no time-dependent equation needed"*. Its two inputs are not
|
|
31
|
+
* poster entries, and they are not among the five hidden nodes `ROADMAP.md`
|
|
32
|
+
* names. Inventing `statement-canonical-commutator` to fill the premise slot
|
|
33
|
+
* would be the invention §5 of the design note forbids, so the inputs are
|
|
34
|
+
* recorded as `sideConditions` and the premise set is empty. The empty set
|
|
35
|
+
* does not assert that entry 4 follows from nothing — `sideConditions` carries
|
|
36
|
+
* what it follows from — and {@link validatePosterRelations} pins that this is
|
|
37
|
+
* the ONLY empty-premise record, so a second one cannot appear unnoticed.
|
|
38
|
+
*
|
|
39
|
+
* ## Witnesses
|
|
40
|
+
*
|
|
41
|
+
* `Derivation` has no `witnesses` field (`../derivation.ts` is Wave 1's and is
|
|
42
|
+
* not mine to widen), so {@link POSTER_WITNESSES} is a side table keyed by
|
|
43
|
+
* derivation id. The two Sprint 0 witnesses land where `ROADMAP.md` puts them:
|
|
44
|
+
* W4 (chirped Gaussian) on `13 ↔ 4`, W5 (Wick rotation) on `6 ↔ 13`.
|
|
45
|
+
*
|
|
46
|
+
* @module atlas/poster/derivations
|
|
47
|
+
*/
|
|
48
|
+
import { makeDerivation } from '../derivation.js';
|
|
49
|
+
import { POSTER_ASSOCIATIONS, ASSOCIATION_ONLY_PAIRS } from './associations.js';
|
|
50
|
+
import { POSTER_REGISTRY, posterId } from './statements.js';
|
|
51
|
+
const d = (id, relation, premises, conclusion, sideConditions) => makeDerivation({ id, relation, premises, conclusion, sideConditions }, POSTER_REGISTRY);
|
|
52
|
+
/**
|
|
53
|
+
* The poster's derivation hyperedges.
|
|
54
|
+
*
|
|
55
|
+
* Each `relation` is the type `ROADMAP.md` names for its line, and each
|
|
56
|
+
* `sideConditions` list carries that line's qualifications — including the
|
|
57
|
+
* ones that say what the edge does NOT give, because a qualification dropped
|
|
58
|
+
* here is a claim widened silently.
|
|
59
|
+
*
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export const POSTER_DERIVATIONS = [
|
|
63
|
+
// L1 — "10 → 9 restriction plus separate frame content in 9".
|
|
64
|
+
d('d-10-to-9', 'restriction', [posterId(10)], posterId(9), [
|
|
65
|
+
'restriction to net force zero',
|
|
66
|
+
"entry 9's inertial-frame content is SEPARATE and is not supplied by this restriction",
|
|
67
|
+
]),
|
|
68
|
+
// L2 — "11 → momentum conservation for isolated particle systems (converse
|
|
69
|
+
// fails; translation symmetry gives the field-inclusive version under action
|
|
70
|
+
// and boundary assumptions)". Two records: the line states two routes.
|
|
71
|
+
d('d-11-to-momentum', 'derivation', [posterId(11)], 'statement-momentum-conservation', [
|
|
72
|
+
'isolated particle system',
|
|
73
|
+
'the converse FAILS: momentum conservation does not give the third law',
|
|
74
|
+
'fails naively when fields carry momentum',
|
|
75
|
+
]),
|
|
76
|
+
d('d-noether-to-momentum-fields', 'derivation', ['statement-action-principle', 'statement-noether'], 'statement-momentum-conservation-fields', [
|
|
77
|
+
'spatial translation symmetry of a stated action',
|
|
78
|
+
'stated boundary conditions',
|
|
79
|
+
'this is the FIELD-INCLUSIVE version; it does not run through entry 11',
|
|
80
|
+
]),
|
|
81
|
+
// L3 — "1 ↔ energy conservation via Noether for autonomous models, which
|
|
82
|
+
// defines neither heat nor a global energy in curved spacetime".
|
|
83
|
+
d('d-1-energy-conservation', 'exact-equivalence', [posterId(1), 'statement-noether'], 'statement-energy-conservation', [
|
|
84
|
+
'autonomous model (no explicit time dependence)',
|
|
85
|
+
'it defines NEITHER heat NOR work',
|
|
86
|
+
'it gives NO global energy in curved spacetime',
|
|
87
|
+
]),
|
|
88
|
+
// L4 — "8 → 12 approximation (weak field, slow motion, near-stationary,
|
|
89
|
+
// negligible Λ) then restriction to a point source". Recorded as ONE
|
|
90
|
+
// approximation rather than two composed edges: the intermediate statement
|
|
91
|
+
// (the weak-field field equation) is neither a poster entry nor one of the
|
|
92
|
+
// five named hidden nodes, so a node for it would be invented. The two
|
|
93
|
+
// stages are stated, in order, in the side conditions.
|
|
94
|
+
d('d-8-to-12', 'approximation', [posterId(8)], posterId(12), [
|
|
95
|
+
'weak field',
|
|
96
|
+
'slow motion',
|
|
97
|
+
'near-stationary',
|
|
98
|
+
'negligible Λ',
|
|
99
|
+
'THEN restriction to a point source',
|
|
100
|
+
]),
|
|
101
|
+
// L5 — "16 → 5, 10 approximation in v/c, regular, needing E = γmc²,
|
|
102
|
+
// p = γmv, F = dp/dt". One conclusion per record: a `Derivation` has one.
|
|
103
|
+
d('d-16-to-5', 'approximation', [posterId(16)], posterId(5), [
|
|
104
|
+
'expansion in v/c',
|
|
105
|
+
'regular limit',
|
|
106
|
+
'needs E = γmc², p = γmv, F = dp/dt',
|
|
107
|
+
]),
|
|
108
|
+
d('d-16-to-10', 'approximation', [posterId(16)], posterId(10), [
|
|
109
|
+
'expansion in v/c',
|
|
110
|
+
'regular limit',
|
|
111
|
+
'needs E = γmc², p = γmv, F = dp/dt',
|
|
112
|
+
]),
|
|
113
|
+
// L6 (derivation half) — "the derivation route is a hyperedge {full Maxwell
|
|
114
|
+
// system, spacetime structure} → 16, never from 7 alone". The historical
|
|
115
|
+
// half of this line is an ASSOCIATION; see ./associations.ts.
|
|
116
|
+
d('d-maxwell-spacetime-to-16', 'derivation', ['statement-maxwell-system', 'statement-lorentz-group'], posterId(16), [
|
|
117
|
+
'the full Maxwell SYSTEM, never entry 7 alone',
|
|
118
|
+
"'spacetime structure' is recorded as statement-lorentz-group; " +
|
|
119
|
+
'ROADMAP.md names five hidden nodes and that is the one it can be',
|
|
120
|
+
]),
|
|
121
|
+
// L7 (the route that DOES determine 8) — "Einstein–Hilbert is a separate
|
|
122
|
+
// variational route". The constraint half is in POSTER_CONSTRAINTS.
|
|
123
|
+
d('d-einstein-hilbert-to-8', 'derivation', ['statement-action-principle'], posterId(8), [
|
|
124
|
+
'the Einstein–Hilbert action',
|
|
125
|
+
'variation with respect to the metric',
|
|
126
|
+
'this route is SEPARATE from the 5, 16 constraint',
|
|
127
|
+
]),
|
|
128
|
+
// L8 — "6 ↔ 15 linearity preserves superposition, Hilbert-space kinematics
|
|
129
|
+
// supplies it". Typed one way only: the reverse is not this edge, because
|
|
130
|
+
// superposition comes from the kinematics rather than from entry 6.
|
|
131
|
+
d('d-6-to-15', 'derivation', [posterId(6)], posterId(15), [
|
|
132
|
+
'linearity of the evolution equation preserves superposition',
|
|
133
|
+
'Hilbert-space KINEMATICS supplies superposition; entry 6 does not',
|
|
134
|
+
]),
|
|
135
|
+
// L9 — "4 derivation from the commutator and Cauchy–Schwarz, no
|
|
136
|
+
// time-dependent equation needed". Premise set deliberately EMPTY; see the
|
|
137
|
+
// module note.
|
|
138
|
+
d('d-4-commutator', 'derivation', [], posterId(4), [
|
|
139
|
+
'the canonical commutator [x, p] = iħ',
|
|
140
|
+
'the Cauchy–Schwarz inequality',
|
|
141
|
+
'NO time-dependent equation is needed; this route does not run through entry 6',
|
|
142
|
+
'the two inputs are neither poster entries nor named hidden nodes, so no premise ' +
|
|
143
|
+
'statement exists for them and none is invented',
|
|
144
|
+
]),
|
|
145
|
+
// L10 — "13 ↔ 4: a Gaussian *family* saturates the bound, a Gaussian
|
|
146
|
+
// density does not (Sprint 0 check 4)". Exact-equivalence because the
|
|
147
|
+
// saturation is an EQUALITY at α = 0, which W4 computes exactly.
|
|
148
|
+
d('d-13-4-saturation', 'exact-equivalence', [posterId(13)], posterId(4), [
|
|
149
|
+
'a Gaussian FAMILY (parameterized by its width) saturates σ_x σ_p = ħ/2',
|
|
150
|
+
'a Gaussian DENSITY does not: the chirped Gaussian is Gaussian in |ψ|² and ' +
|
|
151
|
+
'has σ_x σ_p = (ħ/2)√(1 + 16α²s⁴) > ħ/2 for α ≠ 0',
|
|
152
|
+
'σ > 0',
|
|
153
|
+
]),
|
|
154
|
+
// L11 — "6 ↔ 13 analytic continuation to the heat semigroup for
|
|
155
|
+
// self-adjoint, lower-bounded H, Gaussian kernel only when V = 0
|
|
156
|
+
// (Sprint 0 check 5)".
|
|
157
|
+
d('d-6-13-wick', 'analytic-continuation', [posterId(6)], posterId(13), [
|
|
158
|
+
'self-adjoint H',
|
|
159
|
+
'lower-bounded H',
|
|
160
|
+
'the kernel is GAUSSIAN only when V = 0',
|
|
161
|
+
]),
|
|
162
|
+
// L12 — "2 → 13 two routes (central limit, maximum entropy), neither from
|
|
163
|
+
// Boltzmann alone".
|
|
164
|
+
d('d-2-13-central-limit', 'derivation', [posterId(2), 'statement-central-limit-theorem'], posterId(13), [
|
|
165
|
+
'independent, identically distributed summands of finite variance',
|
|
166
|
+
'NOT from entry 2 alone: the theorem is the second premise',
|
|
167
|
+
'σ > 0',
|
|
168
|
+
]),
|
|
169
|
+
d('d-2-13-maximum-entropy', 'derivation', [posterId(2)], posterId(13), [
|
|
170
|
+
'maximum entropy subject to a fixed mean and variance',
|
|
171
|
+
'NOT from entry 2 alone: the constraint set is an added input, and it is not a ' +
|
|
172
|
+
'statement in this index',
|
|
173
|
+
'σ > 0',
|
|
174
|
+
]),
|
|
175
|
+
// L13 — "2 → 1 needs a microscopic energy model, an ensemble choice, and
|
|
176
|
+
// definitions of heat and work".
|
|
177
|
+
d('d-2-to-1', 'derivation', [posterId(2)], posterId(1), [
|
|
178
|
+
'a microscopic energy model',
|
|
179
|
+
'an ensemble choice',
|
|
180
|
+
'definitions of heat and work',
|
|
181
|
+
]),
|
|
182
|
+
// L14 — "6 → 10 Ehrenfest, exact for affine forces, approximate for
|
|
183
|
+
// localized packets, distinct from the singular ħ → 0 limit". Two records:
|
|
184
|
+
// one exact, one approximate. One record could carry only one relation
|
|
185
|
+
// type, and the line states both.
|
|
186
|
+
d('d-6-to-10-ehrenfest-exact', 'derivation', [posterId(6)], posterId(10), [
|
|
187
|
+
'affine forces (F linear in x), for which the Ehrenfest relation is EXACT',
|
|
188
|
+
'distinct from the singular ħ → 0 limit',
|
|
189
|
+
]),
|
|
190
|
+
d('d-6-to-10-ehrenfest-approx', 'approximation', [posterId(6)], posterId(10), [
|
|
191
|
+
'localized wave packets, for which the Ehrenfest relation is APPROXIMATE',
|
|
192
|
+
'distinct from the singular ħ → 0 limit',
|
|
193
|
+
]),
|
|
194
|
+
];
|
|
195
|
+
/**
|
|
196
|
+
* `5, 16 → 8` — the one line that asserts a constraint and denies a
|
|
197
|
+
* derivation. See the module note for why it gets its own container.
|
|
198
|
+
*
|
|
199
|
+
* @internal
|
|
200
|
+
*/
|
|
201
|
+
export const POSTER_CONSTRAINTS = [
|
|
202
|
+
{
|
|
203
|
+
id: 'c-5-16-constrain-8',
|
|
204
|
+
premises: [posterId(5), posterId(16)],
|
|
205
|
+
constrains: posterId(8),
|
|
206
|
+
note: 'entries 5 and 16 CONSTRAIN the field equations but do not determine them; ' +
|
|
207
|
+
'Einstein–Hilbert is a separate variational route',
|
|
208
|
+
alternativeRoute: 'd-einstein-hilbert-to-8',
|
|
209
|
+
},
|
|
210
|
+
];
|
|
211
|
+
/**
|
|
212
|
+
* The Sprint 0 witnesses, attached where `ROADMAP.md` Phase 3 puts them.
|
|
213
|
+
*
|
|
214
|
+
* A side table rather than a field, because `Derivation` is Wave 1's record
|
|
215
|
+
* and widening it is not this brief's scope.
|
|
216
|
+
*
|
|
217
|
+
* @internal
|
|
218
|
+
*/
|
|
219
|
+
export const POSTER_WITNESSES = {
|
|
220
|
+
'd-13-4-saturation': [
|
|
221
|
+
{ id: 'W4', kind: 'numeric', test: 'tests/atlas/quantum-support.test.ts' },
|
|
222
|
+
],
|
|
223
|
+
'd-6-13-wick': [
|
|
224
|
+
{
|
|
225
|
+
id: 'W5',
|
|
226
|
+
kind: 'numeric',
|
|
227
|
+
test: 'tests/atlas/quantum-support.test.ts',
|
|
228
|
+
tolerance: '1e-4 sup-norm ratio on the stated interval',
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* The fifteen lines, and where each one is recorded.
|
|
234
|
+
*
|
|
235
|
+
* The table is the deliverable "all fifteen, correctly typed" in checkable
|
|
236
|
+
* form: {@link validatePosterRelations} resolves every `records` id in every
|
|
237
|
+
* `containers` entry, so a line that lost its record, or a record that moved
|
|
238
|
+
* to the wrong container, is a failure rather than a reading.
|
|
239
|
+
*
|
|
240
|
+
* @internal
|
|
241
|
+
*/
|
|
242
|
+
export const POSTER_LINES = [
|
|
243
|
+
{
|
|
244
|
+
id: 'L1',
|
|
245
|
+
line: '10 → 9 restriction plus separate frame content in 9',
|
|
246
|
+
containers: ['derivation'],
|
|
247
|
+
records: ['d-10-to-9'],
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
id: 'L2',
|
|
251
|
+
line: '11 → momentum conservation for isolated particle systems (converse fails; ' +
|
|
252
|
+
'translation symmetry gives the field-inclusive version)',
|
|
253
|
+
containers: ['derivation'],
|
|
254
|
+
records: ['d-11-to-momentum', 'd-noether-to-momentum-fields'],
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
id: 'L3',
|
|
258
|
+
line: '1 ↔ energy conservation via Noether for autonomous models',
|
|
259
|
+
containers: ['derivation'],
|
|
260
|
+
records: ['d-1-energy-conservation'],
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
id: 'L4',
|
|
264
|
+
line: '8 → 12 approximation (weak field, slow motion, near-stationary, negligible Λ) ' +
|
|
265
|
+
'then restriction to a point source',
|
|
266
|
+
containers: ['derivation'],
|
|
267
|
+
records: ['d-8-to-12'],
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
id: 'L5',
|
|
271
|
+
line: '16 → 5, 10 approximation in v/c, regular, needing E = γmc², p = γmv, F = dp/dt',
|
|
272
|
+
containers: ['derivation'],
|
|
273
|
+
records: ['d-16-to-5', 'd-16-to-10'],
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: 'L6',
|
|
277
|
+
line: '7 ↔ 16 ASSOCIATION for the historical link only — the derivation route is the ' +
|
|
278
|
+
'hyperedge {full Maxwell system, spacetime structure} → 16, never from 7 alone',
|
|
279
|
+
containers: ['association', 'derivation'],
|
|
280
|
+
records: ['a-7-16-historical', 'd-maxwell-spacetime-to-16'],
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
id: 'L7',
|
|
284
|
+
line: '5, 16 → 8 constrain but do not determine (Einstein–Hilbert is a separate route)',
|
|
285
|
+
containers: ['constraint', 'derivation'],
|
|
286
|
+
records: ['c-5-16-constrain-8', 'd-einstein-hilbert-to-8'],
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
id: 'L8',
|
|
290
|
+
line: '6 ↔ 15 linearity preserves superposition, Hilbert-space kinematics supplies it',
|
|
291
|
+
containers: ['derivation'],
|
|
292
|
+
records: ['d-6-to-15'],
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
id: 'L9',
|
|
296
|
+
line: '4 derivation from the commutator and Cauchy–Schwarz, no time-dependent equation',
|
|
297
|
+
containers: ['derivation'],
|
|
298
|
+
records: ['d-4-commutator'],
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
id: 'L10',
|
|
302
|
+
line: '13 ↔ 4 a Gaussian family saturates the bound, a Gaussian density does not',
|
|
303
|
+
containers: ['derivation'],
|
|
304
|
+
records: ['d-13-4-saturation'],
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
id: 'L11',
|
|
308
|
+
line: '6 ↔ 13 analytic continuation to the heat semigroup for self-adjoint, lower-bounded H, ' +
|
|
309
|
+
'Gaussian kernel only when V = 0',
|
|
310
|
+
containers: ['derivation'],
|
|
311
|
+
records: ['d-6-13-wick'],
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
id: 'L12',
|
|
315
|
+
line: '2 → 13 two routes (central limit, maximum entropy), neither from Boltzmann alone',
|
|
316
|
+
containers: ['derivation'],
|
|
317
|
+
records: ['d-2-13-central-limit', 'd-2-13-maximum-entropy'],
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
id: 'L13',
|
|
321
|
+
line: '2 → 1 needs a microscopic energy model, an ensemble choice, and heat and work',
|
|
322
|
+
containers: ['derivation'],
|
|
323
|
+
records: ['d-2-to-1'],
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
id: 'L14',
|
|
327
|
+
line: '6 → 10 Ehrenfest, exact for affine forces, approximate for localized packets, ' +
|
|
328
|
+
'distinct from the singular ħ → 0 limit',
|
|
329
|
+
containers: ['derivation'],
|
|
330
|
+
records: ['d-6-to-10-ehrenfest-exact', 'd-6-to-10-ehrenfest-approx'],
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
id: 'L15',
|
|
334
|
+
line: '3, 14 → * association only',
|
|
335
|
+
containers: ['association'],
|
|
336
|
+
records: ['a-3-association-only', 'a-14-association-only'],
|
|
337
|
+
},
|
|
338
|
+
];
|
|
339
|
+
/** Is `id` recorded in `container`? */
|
|
340
|
+
function recordExists(container, id) {
|
|
341
|
+
if (container === 'derivation')
|
|
342
|
+
return POSTER_DERIVATIONS.some((x) => x.id === id);
|
|
343
|
+
if (container === 'constraint')
|
|
344
|
+
return POSTER_CONSTRAINTS.some((x) => x.id === id);
|
|
345
|
+
return POSTER_ASSOCIATIONS.some((x) => x.id === id);
|
|
346
|
+
}
|
|
347
|
+
/** The only derivation entitled to an empty premise set. See the module note. */
|
|
348
|
+
const EMPTY_PREMISE_DERIVATION = 'd-4-commutator';
|
|
349
|
+
/**
|
|
350
|
+
* Every defect this index can have that a type cannot catch.
|
|
351
|
+
*
|
|
352
|
+
* Six checks, and the third is the one the S3.3 brief singles out:
|
|
353
|
+
*
|
|
354
|
+
* 1. **Unknown statement.** Every premise and conclusion resolves in
|
|
355
|
+
* `POSTER_REGISTRY`.
|
|
356
|
+
* 2. **No context union.** A derivation whose premises do not pool states no
|
|
357
|
+
* claim; `makeDerivation` records that rather than throwing, so a record
|
|
358
|
+
* carrying a refusal would otherwise sit in the list looking like an edge.
|
|
359
|
+
* 3. **An association typed as a derivation.** `7 ↔ 16` and `3, 14 → *` are
|
|
360
|
+
* associations. If a derivation ever links either pair — in either
|
|
361
|
+
* direction — the distinction has been lost, and it is the distinction
|
|
362
|
+
* that carries the physics: the route to 16 runs from the full Maxwell
|
|
363
|
+
* system, *never from 7 alone*.
|
|
364
|
+
* 4. **Missing record / 5. wrong container.** Every id in
|
|
365
|
+
* {@link POSTER_LINES} exists, in one of the containers its line declares.
|
|
366
|
+
* 6. **Unexpected empty premises.** Exactly one record may have none.
|
|
367
|
+
*
|
|
368
|
+
* Returns problems rather than throwing, so a caller sees ALL of them at once
|
|
369
|
+
* — a thrown first defect hides the rest, and this list is checked as a whole.
|
|
370
|
+
*
|
|
371
|
+
* @internal
|
|
372
|
+
*/
|
|
373
|
+
export function validatePosterRelations() {
|
|
374
|
+
const problems = [];
|
|
375
|
+
for (const der of POSTER_DERIVATIONS) {
|
|
376
|
+
for (const sid of [...der.premises, der.conclusion]) {
|
|
377
|
+
if (!POSTER_REGISTRY.has(sid)) {
|
|
378
|
+
problems.push({
|
|
379
|
+
kind: 'unknown-statement',
|
|
380
|
+
detail: `derivation '${der.id}' references unknown statement '${sid}'`,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
if (der.contextUnion.kind === 'no-union') {
|
|
385
|
+
problems.push({
|
|
386
|
+
kind: 'no-context-union',
|
|
387
|
+
detail: `derivation '${der.id}' has no context union ` +
|
|
388
|
+
`(${der.contextUnion.reason}: ${der.contextUnion.detail}), so it states no claim`,
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
if (der.premises.length === 0 && der.id !== EMPTY_PREMISE_DERIVATION) {
|
|
392
|
+
problems.push({
|
|
393
|
+
kind: 'unexpected-empty-premises',
|
|
394
|
+
detail: `derivation '${der.id}' has no premises; only '${EMPTY_PREMISE_DERIVATION}' may, ` +
|
|
395
|
+
'and its two inputs are recorded in its side conditions',
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
for (const [a, b] of ASSOCIATION_ONLY_PAIRS) {
|
|
399
|
+
const touches = (der.premises.includes(a) && der.conclusion === b) ||
|
|
400
|
+
(der.premises.includes(b) && der.conclusion === a);
|
|
401
|
+
if (touches) {
|
|
402
|
+
problems.push({
|
|
403
|
+
kind: 'association-typed-as-derivation',
|
|
404
|
+
detail: `derivation '${der.id}' links '${a}' and '${b}', which ROADMAP.md Phase 3 ` +
|
|
405
|
+
'records as an ASSOCIATION only; a derivation here asserts a route the line denies',
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
for (const line of POSTER_LINES) {
|
|
411
|
+
for (const id of line.records) {
|
|
412
|
+
const where = line.containers.filter((c) => recordExists(c, id));
|
|
413
|
+
if (where.length === 0) {
|
|
414
|
+
const anywhere = ['derivation', 'association', 'constraint'].filter((c) => recordExists(c, id));
|
|
415
|
+
problems.push(anywhere.length > 0
|
|
416
|
+
? {
|
|
417
|
+
kind: 'wrong-container',
|
|
418
|
+
detail: `line ${line.id} declares '${id}' in ${line.containers.join('/')} ` +
|
|
419
|
+
`but it is recorded in ${anywhere.join('/')}`,
|
|
420
|
+
}
|
|
421
|
+
: {
|
|
422
|
+
kind: 'missing-record',
|
|
423
|
+
detail: `line ${line.id} declares '${id}', which is recorded nowhere`,
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return problems;
|
|
429
|
+
}
|
|
430
|
+
//# sourceMappingURL=derivations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derivations.js","sourceRoot":"","sources":["../../../src/atlas/poster/derivations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Phase 3 — the poster's sixteen entries, its five hidden supporting
|
|
3
|
+
* nodes, and the three conservation statements its edges conclude in.
|
|
4
|
+
*
|
|
5
|
+
* ## The one rule this module exists to obey
|
|
6
|
+
*
|
|
7
|
+
* **Blueprint v2's Appendix A is NOT in this repo.** `ROADMAP.md` Phase 3
|
|
8
|
+
* states the fifteen typed edge lines and the five hidden nodes in full, and
|
|
9
|
+
* it references the sixteen entries BY NUMBER in identifying context — but no
|
|
10
|
+
* file here maps number → name. Design note
|
|
11
|
+
* `docs/planning/Atlas-Phase-3-Design.md` §5 is explicit about what follows:
|
|
12
|
+
* *"Transcribe or derive each entry from a stated source; never invent one to
|
|
13
|
+
* fill a gap."*
|
|
14
|
+
*
|
|
15
|
+
* So every entry below carries an {@link Identification}, and it is a FIELD
|
|
16
|
+
* rather than a comment because a comment cannot be tested. Three values:
|
|
17
|
+
*
|
|
18
|
+
* - `'derived'` — the edge lines pin it. `10 → 9` restriction with *"separate
|
|
19
|
+
* frame content in 9"*, `11 → momentum conservation … converse fails … fails
|
|
20
|
+
* naively when fields carry momentum`: those three lines are Newton's
|
|
21
|
+
* second, first and third laws and nothing else.
|
|
22
|
+
* - `'partial'` — the lines pin a FAMILY but not the member. Entry 7 is a
|
|
23
|
+
* Maxwell equation (the line distinguishes it from *"the full Maxwell
|
|
24
|
+
* system"*, which is a hidden node — `never from 7 alone`), but which of the
|
|
25
|
+
* four it is, is not recoverable. Entry 5 is read here as `E = mc²`; see
|
|
26
|
+
* {@link POSTER_5_IDENTIFICATION_NOTE}.
|
|
27
|
+
* - `'unidentified'` — entries 3 and 14, which `ROADMAP.md` names exactly
|
|
28
|
+
* once, in `3, 14 → * association only`. Nothing there identifies them. They
|
|
29
|
+
* are recorded as placeholders WITH THEIR NUMBERS and no physics, because a
|
|
30
|
+
* plausible guess would be uncheckable, and an honest gap beats it.
|
|
31
|
+
*
|
|
32
|
+
* **The edges do not depend on any of this.** Every record in
|
|
33
|
+
* `./derivations.ts` and `./associations.ts` references entries by NUMBER, so
|
|
34
|
+
* a mis-identified NAME cannot corrupt an edge type. That separation is
|
|
35
|
+
* deliberate: the numbers come from a stated source, the names are an
|
|
36
|
+
* inference over it, and only one of them is load-bearing.
|
|
37
|
+
*
|
|
38
|
+
* ## `ast?` is absent everywhere here, on purpose
|
|
39
|
+
*
|
|
40
|
+
* `statement.ts` §1 already argues it: the hidden nodes are valuable because
|
|
41
|
+
* they are NAMED and LINKED, not evaluable, and requiring an `ast` would force
|
|
42
|
+
* a fabricated encoding. The same holds for the sixteen — this module records
|
|
43
|
+
* poster claims, not evaluable equations — so every statement here carries an
|
|
44
|
+
* honest `sourceExpression` and no `ast`, and {@link buildPosterRegistry}
|
|
45
|
+
* refuses one that carries an `ast` it cannot have earned.
|
|
46
|
+
*
|
|
47
|
+
* Pure: no I/O. Imports `../statement.js` and `../model.js` types only, so
|
|
48
|
+
* this module is a leaf under `src/atlas/` and closes no cycle.
|
|
49
|
+
*
|
|
50
|
+
* @module atlas/poster/statements
|
|
51
|
+
*/
|
|
52
|
+
import type { Statement, StatementId } from '../statement.js';
|
|
53
|
+
import type { ModelId } from '../model.js';
|
|
54
|
+
/**
|
|
55
|
+
* How firmly an entry's IDENTITY is pinned by a source in this repo.
|
|
56
|
+
*
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
export type Identification = 'derived' | 'partial' | 'unidentified';
|
|
60
|
+
/**
|
|
61
|
+
* The `ModelId` every poster statement carries.
|
|
62
|
+
*
|
|
63
|
+
* Phase 3 records a `Model` for the nine oscillator models and for nothing
|
|
64
|
+
* else. A poster entry has no state space, dynamics or parameter list in this
|
|
65
|
+
* repo, so every per-entry model id available here would be invented — and an
|
|
66
|
+
* invented `'model-newtonian-mechanics'` would read, to the next sprint,
|
|
67
|
+
* exactly like a model someone recorded.
|
|
68
|
+
*
|
|
69
|
+
* One shared sentinel instead, which says what is true: no model is recorded.
|
|
70
|
+
* `tests/atlas/poster-statements.test.ts` pins that no poster statement claims
|
|
71
|
+
* an oscillator model id.
|
|
72
|
+
*
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
export declare const POSTER_MODEL_UNRECORDED: ModelId;
|
|
76
|
+
/** What `3, 14 → *` puts in `sourceExpression`. Never a guess. @internal */
|
|
77
|
+
export declare const UNIDENTIFIED = "UNIDENTIFIED";
|
|
78
|
+
/**
|
|
79
|
+
* Why entry 5 is `'partial'` and not `'derived'`.
|
|
80
|
+
*
|
|
81
|
+
* Two edge lines constrain it and they pull in different directions.
|
|
82
|
+
* `16 → 5, 10` is an approximation in `v/c` *"needing `E = γmc²`, `p = γmv`,
|
|
83
|
+
* `F = dp/dt`"*, which reads as `E = mc²` reached from `E = γmc²`.
|
|
84
|
+
* `5, 16 → 8 constrain but do not determine` is, in the usual telling, the
|
|
85
|
+
* Newtonian-limit-plus-special-relativity constraint on the field equations,
|
|
86
|
+
* which would make 5 Newton's law of universal gravitation.
|
|
87
|
+
*
|
|
88
|
+
* It cannot be both, and `8 → 12` — approximation then *"restriction to a
|
|
89
|
+
* point source"* — already lands on universal gravitation at 12. Two entries
|
|
90
|
+
* cannot be the same law, so 5 is read as `E = mc²` here. The reading is
|
|
91
|
+
* RECORDED rather than asserted: the entry stays `'partial'`, and no edge
|
|
92
|
+
* depends on it, because every edge references 5 by number.
|
|
93
|
+
*
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
export declare const POSTER_5_IDENTIFICATION_NOTE: string;
|
|
97
|
+
/**
|
|
98
|
+
* One of the sixteen, with its number and how firmly its identity is pinned.
|
|
99
|
+
*
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
export interface PosterEntry {
|
|
103
|
+
/** 1–16, as every `ROADMAP.md` Phase 3 edge line references it. */
|
|
104
|
+
readonly number: number;
|
|
105
|
+
readonly statement: Statement;
|
|
106
|
+
readonly identification: Identification;
|
|
107
|
+
/** Required when `identification !== 'derived'`: what is unresolved, and why. */
|
|
108
|
+
readonly note?: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The sixteen poster entries, in poster order.
|
|
112
|
+
*
|
|
113
|
+
* Every `context.assumptions` is non-empty. Where `ROADMAP.md` states the
|
|
114
|
+
* qualification, it is used verbatim in substance: entry 11's *"fields carry
|
|
115
|
+
* no momentum"* (and the matching `excludes`, which is the one genuinely
|
|
116
|
+
* reachable context refusal in this data — see `./derivations.ts`), entry
|
|
117
|
+
* 13's `σ > 0`. Where it does not, the assumption is the standard statement
|
|
118
|
+
* of the entry's own validity and nothing more; none of them adds a claim.
|
|
119
|
+
*
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
export declare const POSTER_ENTRIES: readonly PosterEntry[];
|
|
123
|
+
/**
|
|
124
|
+
* The five hidden supporting nodes, named by `ROADMAP.md` Phase 3 and by no
|
|
125
|
+
* other source.
|
|
126
|
+
*
|
|
127
|
+
* They are the deliverable precisely as named — `docs/planning/Atlas-Phase-3-Design.md`
|
|
128
|
+
* §8 puts *"evaluating hidden supporting nodes"* explicitly out of scope — so
|
|
129
|
+
* each carries a prose `sourceExpression` and no `ast`.
|
|
130
|
+
*
|
|
131
|
+
* `statement-lorentz-group` is what the `7 ↔ 16` line calls *"spacetime
|
|
132
|
+
* structure"* in the hyperedge `{full Maxwell system, spacetime structure} →
|
|
133
|
+
* 16`. That identification is an inference: `ROADMAP.md` names exactly five
|
|
134
|
+
* hidden nodes and the Lorentz group is the only one of the five that can
|
|
135
|
+
* BE spacetime structure. It is recorded here rather than silently assumed,
|
|
136
|
+
* and `./derivations.ts` repeats it in the hyperedge's side conditions.
|
|
137
|
+
*
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
export declare const HIDDEN_NODES: readonly Statement[];
|
|
141
|
+
/**
|
|
142
|
+
* The statements the poster's edges CONCLUDE in that are neither a numbered
|
|
143
|
+
* entry nor a hidden node.
|
|
144
|
+
*
|
|
145
|
+
* All three are named by `ROADMAP.md` Phase 3: *"`11 → momentum
|
|
146
|
+
* conservation`"*, *"the field-inclusive version"*, *"`1 ↔ energy
|
|
147
|
+
* conservation`"*. Nothing here is added beyond those names.
|
|
148
|
+
*
|
|
149
|
+
* The two momentum statements are SEPARATE records because the line says the
|
|
150
|
+
* particle version *"fails naively when fields carry momentum"*. One record
|
|
151
|
+
* carrying both readings would erase exactly the distinction the line draws,
|
|
152
|
+
* and it is the distinction that makes entry 11's `excludes` bite.
|
|
153
|
+
*
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
export declare const SUPPORTING_STATEMENTS: readonly Statement[];
|
|
157
|
+
/** Every statement this poster index defines, in a stable order. @internal */
|
|
158
|
+
export declare const POSTER_ALL_STATEMENTS: readonly Statement[];
|
|
159
|
+
/** Thrown by {@link buildPosterRegistry}. @internal */
|
|
160
|
+
export declare class PosterStatementError extends Error {
|
|
161
|
+
constructor(message: string);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* The registry `makeDerivation` and `statementContextUnion` resolve against,
|
|
165
|
+
* built through four checks.
|
|
166
|
+
*
|
|
167
|
+
* The checks run HERE, at construction, rather than only in a test, because
|
|
168
|
+
* `./derivations.ts` builds its records against this registry at module load:
|
|
169
|
+
* a defect that reaches the registry reaches every derivation before any test
|
|
170
|
+
* has a chance to look.
|
|
171
|
+
*
|
|
172
|
+
* 1. **No duplicate id.** A later duplicate would silently replace an earlier
|
|
173
|
+
* statement in the map, and the derivation that consumed it would carry the
|
|
174
|
+
* wrong context with no symptom.
|
|
175
|
+
* 2. **Non-empty `assumptions`.** The S3.3 requirement, and the reason a
|
|
176
|
+
* context can refuse at all: an empty one pools with anything.
|
|
177
|
+
* 3. **No `ast`.** Nothing in this module is evaluable (see the module note);
|
|
178
|
+
* an `ast` here could only have been fabricated.
|
|
179
|
+
* 4. **A non-`'derived'` entry states its `note`.** An unidentified entry
|
|
180
|
+
* without its reason is indistinguishable from an oversight.
|
|
181
|
+
*
|
|
182
|
+
* The two arguments exist so a TEST can drive these four checks with a
|
|
183
|
+
* defective index through THIS code path rather than a copy of it. A test that
|
|
184
|
+
* reimplements a guard in order to break it proves only that the copy works,
|
|
185
|
+
* which is the vacuous-pass shape the design note names; the copy and the
|
|
186
|
+
* original then drift with nothing reporting it.
|
|
187
|
+
*
|
|
188
|
+
* @throws PosterStatementError on any of the four.
|
|
189
|
+
* @internal
|
|
190
|
+
*/
|
|
191
|
+
export declare function buildPosterRegistry(statements?: readonly Statement[], entries?: readonly PosterEntry[]): ReadonlyMap<StatementId, Statement>;
|
|
192
|
+
/** The built registry. @internal */
|
|
193
|
+
export declare const POSTER_REGISTRY: ReadonlyMap<StatementId, Statement>;
|
|
194
|
+
/** The entry with this number. @throws RangeError when there is none. @internal */
|
|
195
|
+
export declare function posterEntry(number: number): PosterEntry;
|
|
196
|
+
/** The statement id of entry `number` — `posterId(9) === 'poster-9'`. @internal */
|
|
197
|
+
export declare function posterId(number: number): StatementId;
|
|
198
|
+
//# sourceMappingURL=statements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../../src/atlas/poster/statements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,KAAK,EAAW,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAEpE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAmC,CAAC;AAE1E,4EAA4E;AAC5E,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,4BAA4B,QAGkD,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAiCD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAgJhD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,SAAS,EA2D5C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,SAAS,EAmCrD,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,SAAS,SAAS,EAIrD,CAAC;AAEF,uDAAuD;AACvD,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,GAAE,SAAS,SAAS,EAA0B,EACxD,OAAO,GAAE,SAAS,WAAW,EAAmB,GAC/C,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CA6BrC;AAED,oCAAoC;AACpC,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,WAAW,EAAE,SAAS,CAAyB,CAAC;AAE1F,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAMvD;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAEpD"}
|