universal-physics-tensor 0.5.1 → 0.7.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.
Files changed (378) hide show
  1. package/README.md +66 -105
  2. package/dist/bridges/catalog-adapter.d.ts +116 -0
  3. package/dist/bridges/catalog-adapter.d.ts.map +1 -0
  4. package/dist/bridges/catalog-adapter.js +302 -0
  5. package/dist/bridges/catalog-adapter.js.map +1 -0
  6. package/dist/bridges/equations/_be-helpers.d.ts +145 -0
  7. package/dist/bridges/equations/_be-helpers.d.ts.map +1 -0
  8. package/dist/bridges/equations/_be-helpers.js +179 -0
  9. package/dist/bridges/equations/_be-helpers.js.map +1 -0
  10. package/dist/bridges/equations/be-11-decoherence-master.d.ts +1 -2
  11. package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +1 -1
  12. package/dist/bridges/equations/be-11-decoherence-master.js +9 -20
  13. package/dist/bridges/equations/be-11-decoherence-master.js.map +1 -1
  14. package/dist/bridges/equations/be-12-coherence-length.d.ts +7 -1
  15. package/dist/bridges/equations/be-12-coherence-length.d.ts.map +1 -1
  16. package/dist/bridges/equations/be-12-coherence-length.js +8 -16
  17. package/dist/bridges/equations/be-12-coherence-length.js.map +1 -1
  18. package/dist/bridges/equations/be-13-einstein-trace.d.ts +51 -3
  19. package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
  20. package/dist/bridges/equations/be-13-einstein-trace.js +74 -17
  21. package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
  22. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +10 -4
  23. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +1 -1
  24. package/dist/bridges/equations/be-14-ryu-takayanagi.js +6 -17
  25. package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +1 -1
  26. package/dist/bridges/equations/be-15-emergence.d.ts +7 -1
  27. package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -1
  28. package/dist/bridges/equations/be-15-emergence.js +12 -22
  29. package/dist/bridges/equations/be-15-emergence.js.map +1 -1
  30. package/dist/bridges/equations/be-16-landauer.d.ts +7 -1
  31. package/dist/bridges/equations/be-16-landauer.d.ts.map +1 -1
  32. package/dist/bridges/equations/be-16-landauer.js +5 -13
  33. package/dist/bridges/equations/be-16-landauer.js.map +1 -1
  34. package/dist/bridges/equations/be-17-einstein-cartan.d.ts +26 -13
  35. package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +1 -1
  36. package/dist/bridges/equations/be-17-einstein-cartan.js +28 -31
  37. package/dist/bridges/equations/be-17-einstein-cartan.js.map +1 -1
  38. package/dist/bridges/equations/be-18-higgs-mass.d.ts +7 -1
  39. package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +1 -1
  40. package/dist/bridges/equations/be-18-higgs-mass.js +5 -16
  41. package/dist/bridges/equations/be-18-higgs-mass.js.map +1 -1
  42. package/dist/bridges/equations/be-19-quantum-bounce.d.ts +38 -3
  43. package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -1
  44. package/dist/bridges/equations/be-19-quantum-bounce.js +69 -20
  45. package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -1
  46. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +20 -1
  47. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  48. package/dist/bridges/equations/be-20-vacuum-energy.js +36 -15
  49. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  50. package/dist/bridges/equations/be-21-kss-bound.d.ts +2 -0
  51. package/dist/bridges/equations/be-21-kss-bound.d.ts.map +1 -1
  52. package/dist/bridges/equations/be-21-kss-bound.js +4 -10
  53. package/dist/bridges/equations/be-21-kss-bound.js.map +1 -1
  54. package/dist/bridges/equations/be-22-topological-entanglement.d.ts +6 -9
  55. package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +1 -1
  56. package/dist/bridges/equations/be-22-topological-entanglement.js +9 -21
  57. package/dist/bridges/equations/be-22-topological-entanglement.js.map +1 -1
  58. package/dist/bridges/equations/be-23-syk-planckian.d.ts +7 -1
  59. package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +1 -1
  60. package/dist/bridges/equations/be-23-syk-planckian.js +11 -25
  61. package/dist/bridges/equations/be-23-syk-planckian.js.map +1 -1
  62. package/dist/bridges/equations/be-24-foerster-fret.d.ts +7 -1
  63. package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +1 -1
  64. package/dist/bridges/equations/be-24-foerster-fret.js +8 -16
  65. package/dist/bridges/equations/be-24-foerster-fret.js.map +1 -1
  66. package/dist/bridges/equations/be-25-iit-phi.d.ts +7 -1
  67. package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -1
  68. package/dist/bridges/equations/be-25-iit-phi.js +12 -16
  69. package/dist/bridges/equations/be-25-iit-phi.js.map +1 -1
  70. package/dist/bridges/equations/be-25-orch-or.d.ts +6 -3
  71. package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -1
  72. package/dist/bridges/equations/be-25-orch-or.js +8 -17
  73. package/dist/bridges/equations/be-25-orch-or.js.map +1 -1
  74. package/dist/bridges/equations/be-26-dna-tunneling.d.ts +6 -3
  75. package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +1 -1
  76. package/dist/bridges/equations/be-26-dna-tunneling.js +11 -26
  77. package/dist/bridges/equations/be-26-dna-tunneling.js.map +1 -1
  78. package/dist/bridges/equations/be-27-effective-temperature.d.ts +7 -1
  79. package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +1 -1
  80. package/dist/bridges/equations/be-27-effective-temperature.js +8 -16
  81. package/dist/bridges/equations/be-27-effective-temperature.js.map +1 -1
  82. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +7 -1
  83. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +1 -1
  84. package/dist/bridges/equations/be-28-onsager-entropy-production.js +9 -13
  85. package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +1 -1
  86. package/dist/bridges/equations/be-29-jarzynski.d.ts +7 -1
  87. package/dist/bridges/equations/be-29-jarzynski.d.ts.map +1 -1
  88. package/dist/bridges/equations/be-29-jarzynski.js +8 -13
  89. package/dist/bridges/equations/be-29-jarzynski.js.map +1 -1
  90. package/dist/bridges/equations/be-30-flm-first-law.d.ts +11 -2
  91. package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +1 -1
  92. package/dist/bridges/equations/be-30-flm-first-law.js +10 -21
  93. package/dist/bridges/equations/be-30-flm-first-law.js.map +1 -1
  94. package/dist/bridges/equations/be-31-causal-set-bd.d.ts +7 -1
  95. package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +1 -1
  96. package/dist/bridges/equations/be-31-causal-set-bd.js +11 -25
  97. package/dist/bridges/equations/be-31-causal-set-bd.js.map +1 -1
  98. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +6 -9
  99. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +1 -1
  100. package/dist/bridges/equations/be-32-quantum-reference-frame.js +8 -18
  101. package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +1 -1
  102. package/dist/bridges/equations/be-33-hertz-millis.d.ts +53 -28
  103. package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +1 -1
  104. package/dist/bridges/equations/be-33-hertz-millis.js +55 -51
  105. package/dist/bridges/equations/be-33-hertz-millis.js.map +1 -1
  106. package/dist/bridges/equations/be-34-kibble-zurek.d.ts +6 -3
  107. package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +1 -1
  108. package/dist/bridges/equations/be-34-kibble-zurek.js +15 -26
  109. package/dist/bridges/equations/be-34-kibble-zurek.js.map +1 -1
  110. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +6 -9
  111. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
  112. package/dist/bridges/equations/be-35-conformal-bootstrap.js +9 -21
  113. package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
  114. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +7 -1
  115. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -1
  116. package/dist/bridges/equations/be-36-gw-speed-bound.js +5 -13
  117. package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -1
  118. package/dist/bridges/equations/be-37-shapiro-delay.d.ts +4 -2
  119. package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -1
  120. package/dist/bridges/equations/be-37-shapiro-delay.js +15 -28
  121. package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -1
  122. package/dist/bridges/equations/be-38-mond.d.ts +7 -1
  123. package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
  124. package/dist/bridges/equations/be-38-mond.js +9 -19
  125. package/dist/bridges/equations/be-38-mond.js.map +1 -1
  126. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +66 -2
  127. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +1 -1
  128. package/dist/bridges/equations/be-39-asymptotic-safety.js +128 -20
  129. package/dist/bridges/equations/be-39-asymptotic-safety.js.map +1 -1
  130. package/dist/bridges/equations/be-40-composite-higgs.d.ts +7 -1
  131. package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -1
  132. package/dist/bridges/equations/be-40-composite-higgs.js +10 -22
  133. package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -1
  134. package/dist/bridges/equations/be-41-swampland.d.ts +6 -3
  135. package/dist/bridges/equations/be-41-swampland.d.ts.map +1 -1
  136. package/dist/bridges/equations/be-41-swampland.js +11 -23
  137. package/dist/bridges/equations/be-41-swampland.js.map +1 -1
  138. package/dist/bridges/equations/be-42-hawking-temperature.d.ts +2 -0
  139. package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
  140. package/dist/bridges/equations/be-42-hawking-temperature.js +5 -13
  141. package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
  142. package/dist/bridges/equations/be-43-er-epr.d.ts +7 -1
  143. package/dist/bridges/equations/be-43-er-epr.d.ts.map +1 -1
  144. package/dist/bridges/equations/be-43-er-epr.js +5 -13
  145. package/dist/bridges/equations/be-43-er-epr.js.map +1 -1
  146. package/dist/bridges/equations/be-44-soft-hair.d.ts +7 -1
  147. package/dist/bridges/equations/be-44-soft-hair.d.ts.map +1 -1
  148. package/dist/bridges/equations/be-44-soft-hair.js +5 -13
  149. package/dist/bridges/equations/be-44-soft-hair.js.map +1 -1
  150. package/dist/bridges/equations/be-45-tcc.d.ts +7 -1
  151. package/dist/bridges/equations/be-45-tcc.d.ts.map +1 -1
  152. package/dist/bridges/equations/be-45-tcc.js +10 -22
  153. package/dist/bridges/equations/be-45-tcc.js.map +1 -1
  154. package/dist/bridges/equations/be-46-multiverse-measure.d.ts +7 -1
  155. package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +1 -1
  156. package/dist/bridges/equations/be-46-multiverse-measure.js +9 -19
  157. package/dist/bridges/equations/be-46-multiverse-measure.js.map +1 -1
  158. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +7 -1
  159. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +1 -1
  160. package/dist/bridges/equations/be-47-bbn-dark-sector.js +14 -16
  161. package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +1 -1
  162. package/dist/bridges/equations/be-48-grw-localization.d.ts +7 -1
  163. package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
  164. package/dist/bridges/equations/be-48-grw-localization.js +15 -20
  165. package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
  166. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +7 -1
  167. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +1 -1
  168. package/dist/bridges/equations/be-49-quantum-darwinism.js +10 -22
  169. package/dist/bridges/equations/be-49-quantum-darwinism.js.map +1 -1
  170. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +42 -12
  171. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -1
  172. package/dist/bridges/equations/be-50-wheeler-feynman.js +84 -20
  173. package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -1
  174. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +158 -0
  175. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -0
  176. package/dist/bridges/equations/be-53-yang-mills-beta.js +175 -0
  177. package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -0
  178. package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts +117 -0
  179. package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts.map +1 -0
  180. package/dist/bridges/equations/be-54-randall-sundrum-brane.js +213 -0
  181. package/dist/bridges/equations/be-54-randall-sundrum-brane.js.map +1 -0
  182. package/dist/bridges/index.d.ts +40 -1
  183. package/dist/bridges/index.d.ts.map +1 -1
  184. package/dist/bridges/index.js +130 -48
  185. package/dist/bridges/index.js.map +1 -1
  186. package/dist/bridges/perihelion-precession-labeled.d.ts +46 -0
  187. package/dist/bridges/perihelion-precession-labeled.d.ts.map +1 -0
  188. package/dist/bridges/perihelion-precession-labeled.js +54 -0
  189. package/dist/bridges/perihelion-precession-labeled.js.map +1 -0
  190. package/dist/core/axes-registry.d.ts +67 -0
  191. package/dist/core/axes-registry.d.ts.map +1 -0
  192. package/dist/core/axes-registry.js +75 -0
  193. package/dist/core/axes-registry.js.map +1 -0
  194. package/dist/core/cell.d.ts +176 -0
  195. package/dist/core/cell.d.ts.map +1 -0
  196. package/dist/core/cell.js +166 -0
  197. package/dist/core/cell.js.map +1 -0
  198. package/dist/core/flux-rules.d.ts +176 -0
  199. package/dist/core/flux-rules.d.ts.map +1 -0
  200. package/dist/core/flux-rules.js +329 -0
  201. package/dist/core/flux-rules.js.map +1 -0
  202. package/dist/core/labeled-tensor.d.ts +143 -0
  203. package/dist/core/labeled-tensor.d.ts.map +1 -0
  204. package/dist/core/labeled-tensor.js +275 -0
  205. package/dist/core/labeled-tensor.js.map +1 -0
  206. package/dist/core/regime-registry.d.ts +169 -0
  207. package/dist/core/regime-registry.d.ts.map +1 -0
  208. package/dist/core/regime-registry.js +174 -0
  209. package/dist/core/regime-registry.js.map +1 -0
  210. package/dist/core/regime-rule-install.d.ts +26 -0
  211. package/dist/core/regime-rule-install.d.ts.map +1 -0
  212. package/dist/core/regime-rule-install.js +90 -0
  213. package/dist/core/regime-rule-install.js.map +1 -0
  214. package/dist/core/regimes-builtins.d.ts +22 -0
  215. package/dist/core/regimes-builtins.d.ts.map +1 -0
  216. package/dist/core/regimes-builtins.js +96 -0
  217. package/dist/core/regimes-builtins.js.map +1 -0
  218. package/dist/core/tensor.d.ts +112 -0
  219. package/dist/core/tensor.d.ts.map +1 -1
  220. package/dist/core/tensor.js +366 -0
  221. package/dist/core/tensor.js.map +1 -1
  222. package/dist/core/types.d.ts +7 -2
  223. package/dist/core/types.d.ts.map +1 -1
  224. package/dist/core/types.js.map +1 -1
  225. package/dist/core/universal-index.d.ts +97 -0
  226. package/dist/core/universal-index.d.ts.map +1 -0
  227. package/dist/core/universal-index.js +70 -0
  228. package/dist/core/universal-index.js.map +1 -0
  229. package/dist/diff/bridge-gradient.d.ts +94 -0
  230. package/dist/diff/bridge-gradient.d.ts.map +1 -0
  231. package/dist/diff/bridge-gradient.js +83 -0
  232. package/dist/diff/bridge-gradient.js.map +1 -0
  233. package/dist/diff/bridge-specs.d.ts +68 -0
  234. package/dist/diff/bridge-specs.d.ts.map +1 -0
  235. package/dist/diff/bridge-specs.js +96 -0
  236. package/dist/diff/bridge-specs.js.map +1 -0
  237. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  238. package/dist/dimensional/bridge-check.js +8 -0
  239. package/dist/dimensional/bridge-check.js.map +1 -1
  240. package/dist/dimensional/connection-validators.d.ts +12 -5
  241. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  242. package/dist/dimensional/connection-validators.js.map +1 -1
  243. package/dist/dimensional/curvature-composite.d.ts +90 -0
  244. package/dist/dimensional/curvature-composite.d.ts.map +1 -0
  245. package/dist/dimensional/curvature-composite.js +57 -0
  246. package/dist/dimensional/curvature-composite.js.map +1 -0
  247. package/dist/dimensional/curvature-invariants.d.ts +90 -0
  248. package/dist/dimensional/curvature-invariants.d.ts.map +1 -0
  249. package/dist/dimensional/curvature-invariants.js +64 -0
  250. package/dist/dimensional/curvature-invariants.js.map +1 -0
  251. package/dist/dimensional/curvature.d.ts +46 -30
  252. package/dist/dimensional/curvature.d.ts.map +1 -1
  253. package/dist/dimensional/curvature.js.map +1 -1
  254. package/dist/dimensional/einstein-equation.d.ts +126 -0
  255. package/dist/dimensional/einstein-equation.d.ts.map +1 -0
  256. package/dist/dimensional/einstein-equation.js +122 -0
  257. package/dist/dimensional/einstein-equation.js.map +1 -0
  258. package/dist/dimensional/field-equation-helpers.d.ts +82 -0
  259. package/dist/dimensional/field-equation-helpers.d.ts.map +1 -0
  260. package/dist/dimensional/field-equation-helpers.js +123 -0
  261. package/dist/dimensional/field-equation-helpers.js.map +1 -0
  262. package/dist/dimensional/friedmann-equation.d.ts +148 -0
  263. package/dist/dimensional/friedmann-equation.d.ts.map +1 -0
  264. package/dist/dimensional/friedmann-equation.js +150 -0
  265. package/dist/dimensional/friedmann-equation.js.map +1 -0
  266. package/dist/dimensional/gauge-field.d.ts +182 -0
  267. package/dist/dimensional/gauge-field.d.ts.map +1 -0
  268. package/dist/dimensional/gauge-field.js +134 -0
  269. package/dist/dimensional/gauge-field.js.map +1 -0
  270. package/dist/dimensional/killing-validators.d.ts +94 -0
  271. package/dist/dimensional/killing-validators.d.ts.map +1 -0
  272. package/dist/dimensional/killing-validators.js +66 -0
  273. package/dist/dimensional/killing-validators.js.map +1 -0
  274. package/dist/dimensional/klein-gordon-equation.d.ts +113 -0
  275. package/dist/dimensional/klein-gordon-equation.d.ts.map +1 -0
  276. package/dist/dimensional/klein-gordon-equation.js +98 -0
  277. package/dist/dimensional/klein-gordon-equation.js.map +1 -0
  278. package/dist/dimensional/rg-flow.d.ts +156 -0
  279. package/dist/dimensional/rg-flow.d.ts.map +1 -0
  280. package/dist/dimensional/rg-flow.js +150 -0
  281. package/dist/dimensional/rg-flow.js.map +1 -0
  282. package/dist/dimensional/stress-energy-validators.d.ts +74 -0
  283. package/dist/dimensional/stress-energy-validators.d.ts.map +1 -0
  284. package/dist/dimensional/stress-energy-validators.js +47 -0
  285. package/dist/dimensional/stress-energy-validators.js.map +1 -0
  286. package/dist/dimensional/tensor-trace.d.ts +128 -0
  287. package/dist/dimensional/tensor-trace.d.ts.map +1 -0
  288. package/dist/dimensional/tensor-trace.js +95 -0
  289. package/dist/dimensional/tensor-trace.js.map +1 -0
  290. package/dist/dimensional/tensor.d.ts +6 -8
  291. package/dist/dimensional/tensor.d.ts.map +1 -1
  292. package/dist/dimensional/tensor.js +3 -1
  293. package/dist/dimensional/tensor.js.map +1 -1
  294. package/dist/dimensional/validator-registry.d.ts +90 -0
  295. package/dist/dimensional/validator-registry.d.ts.map +1 -0
  296. package/dist/dimensional/validator-registry.js +131 -0
  297. package/dist/dimensional/validator-registry.js.map +1 -0
  298. package/dist/dimensional/validator.d.ts +12 -2
  299. package/dist/dimensional/validator.d.ts.map +1 -1
  300. package/dist/dimensional/validator.js +60 -75
  301. package/dist/dimensional/validator.js.map +1 -1
  302. package/dist/dimensional/weyl-validators.d.ts +84 -0
  303. package/dist/dimensional/weyl-validators.d.ts.map +1 -0
  304. package/dist/dimensional/weyl-validators.js +84 -0
  305. package/dist/dimensional/weyl-validators.js.map +1 -0
  306. package/dist/index.d.ts +37 -0
  307. package/dist/index.d.ts.map +1 -1
  308. package/dist/index.js +41 -0
  309. package/dist/index.js.map +1 -1
  310. package/dist/numerical/be37-covariant-eikonal.d.ts +19 -0
  311. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
  312. package/dist/numerical/be37-covariant-eikonal.js +29 -9
  313. package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
  314. package/dist/numerical/christoffel-flat.d.ts +49 -0
  315. package/dist/numerical/christoffel-flat.d.ts.map +1 -0
  316. package/dist/numerical/christoffel-flat.js +86 -0
  317. package/dist/numerical/christoffel-flat.js.map +1 -0
  318. package/dist/numerical/curvature-lowering-helpers.d.ts +49 -57
  319. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  320. package/dist/numerical/curvature-lowering-helpers.js +109 -4
  321. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  322. package/dist/numerical/derivative-lowering.d.ts +67 -0
  323. package/dist/numerical/derivative-lowering.d.ts.map +1 -0
  324. package/dist/numerical/derivative-lowering.js +243 -0
  325. package/dist/numerical/derivative-lowering.js.map +1 -0
  326. package/dist/numerical/einstein-equation.d.ts +106 -0
  327. package/dist/numerical/einstein-equation.d.ts.map +1 -0
  328. package/dist/numerical/einstein-equation.js +172 -0
  329. package/dist/numerical/einstein-equation.js.map +1 -0
  330. package/dist/numerical/geodesic-integrator.d.ts +7 -4
  331. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  332. package/dist/numerical/geodesic-integrator.js +5 -1
  333. package/dist/numerical/geodesic-integrator.js.map +1 -1
  334. package/dist/numerical/gl4-integrator.d.ts +4 -2
  335. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  336. package/dist/numerical/gl4-integrator.js +24 -8
  337. package/dist/numerical/gl4-integrator.js.map +1 -1
  338. package/dist/numerical/killing.d.ts +157 -0
  339. package/dist/numerical/killing.d.ts.map +1 -0
  340. package/dist/numerical/killing.js +242 -0
  341. package/dist/numerical/killing.js.map +1 -0
  342. package/dist/numerical/kretschmann.d.ts +62 -0
  343. package/dist/numerical/kretschmann.d.ts.map +1 -0
  344. package/dist/numerical/kretschmann.js +88 -0
  345. package/dist/numerical/kretschmann.js.map +1 -0
  346. package/dist/numerical/lowering-utils.d.ts +47 -0
  347. package/dist/numerical/lowering-utils.d.ts.map +1 -0
  348. package/dist/numerical/lowering-utils.js +64 -0
  349. package/dist/numerical/lowering-utils.js.map +1 -0
  350. package/dist/numerical/lowering.d.ts +1 -29
  351. package/dist/numerical/lowering.d.ts.map +1 -1
  352. package/dist/numerical/lowering.js +219 -415
  353. package/dist/numerical/lowering.js.map +1 -1
  354. package/dist/numerical/null-ic.d.ts +40 -0
  355. package/dist/numerical/null-ic.d.ts.map +1 -0
  356. package/dist/numerical/null-ic.js +50 -0
  357. package/dist/numerical/null-ic.js.map +1 -0
  358. package/dist/numerical/null-ray-integrator.d.ts +3 -2
  359. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  360. package/dist/numerical/painleve-gullstrand-metric.d.ts +74 -0
  361. package/dist/numerical/painleve-gullstrand-metric.d.ts.map +1 -0
  362. package/dist/numerical/painleve-gullstrand-metric.js +121 -0
  363. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -0
  364. package/dist/numerical/pderiv.d.ts +17 -9
  365. package/dist/numerical/pderiv.d.ts.map +1 -1
  366. package/dist/numerical/pderiv.js +6 -3
  367. package/dist/numerical/pderiv.js.map +1 -1
  368. package/dist/numerical/perihelion-finder.d.ts +30 -0
  369. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  370. package/dist/numerical/perihelion-finder.js +30 -0
  371. package/dist/numerical/perihelion-finder.js.map +1 -1
  372. package/dist/numerical/tensor-engine.d.ts +2 -2
  373. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  374. package/dist/numerical/weyl-lowering.d.ts +60 -0
  375. package/dist/numerical/weyl-lowering.d.ts.map +1 -0
  376. package/dist/numerical/weyl-lowering.js +111 -0
  377. package/dist/numerical/weyl-lowering.js.map +1 -0
  378. package/package.json +9 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-adapter.js","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Shared helpers for the 43 BE-NN bridge-equation modules in
3
+ * `src/bridges/equations/`. Three behaviour-preserving extractions
4
+ * (v0.7.1 Phase 3 — simplifiers S-1, S-2, S-3):
5
+ *
6
+ * - `validateFiniteInputs(input, fieldSpecs, evaluatorName)` —
7
+ * replaces the per-evaluator `Number.isFinite(x) || x <= 0`
8
+ * boilerplate. ~150 input guards collapse to a single
9
+ * declarative call per evaluator.
10
+ *
11
+ * - `validateBEDimensions(lhs, rhs, equationLabel)` — replaces
12
+ * the per-bridge `validateBE##Dimensions()` wrapper body
13
+ * (`validateEquation` + 2× `validate` + result-shape build).
14
+ *
15
+ * - `sym(name, dim)` — replaces the file-local
16
+ * `const sym = (name, dim) => ({ kind: 'symbol', name, dim })`
17
+ * factory literally duplicated in all 43 BE-NN modules.
18
+ *
19
+ * Mirrors the structure + JSDoc style of `field-equation-helpers.ts`
20
+ * (the Phase-0 sibling that did the same job for the field-equation
21
+ * predicate AST nodes). Underscore-prefix on the filename signals
22
+ * "shared by siblings inside this directory; not part of the
23
+ * public surface" — same convention as `tests/bridges/_helpers.ts`.
24
+ *
25
+ * @module bridges/equations/_be-helpers
26
+ */
27
+ import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
28
+ import type { Dimension } from '../../dimensional/types.js';
29
+ /**
30
+ * Declarative spec for a single field of an evaluator's `input` record.
31
+ *
32
+ * The default behaviour (no `min`/`max`) only verifies finiteness
33
+ * (`Number.isFinite`). The bound predicates compose with `Number.isFinite`
34
+ * so the resulting error always reads "finite ⟨adj⟩ number" — drop-in
35
+ * compatible with the existing BE-NN per-evaluator message format
36
+ * `"<evaluator>: <field> must be a finite <adjective> number, got <v>"`.
37
+ *
38
+ * The intentional simplicity: no closed-form domain constraints (e.g.,
39
+ * `R_near ≤ R_far`). Anything beyond per-field range checks stays inline
40
+ * in the evaluator (honesty policy — see commit message).
41
+ *
42
+ * @internal
43
+ */
44
+ export interface FieldSpec {
45
+ /** Field name on the `input` record (e.g., `'M_kg'`). */
46
+ readonly name: string;
47
+ /** Inclusive lower bound (default `-Infinity`). */
48
+ readonly min?: number;
49
+ /** Inclusive upper bound (default `Infinity`). */
50
+ readonly max?: number;
51
+ /** Strict `>` instead of `≥` at the lower bound. */
52
+ readonly excludeMin?: boolean;
53
+ /** Strict `<` instead of `≤` at the upper bound. */
54
+ readonly excludeMax?: boolean;
55
+ /** Explicit override — when `min === 0` and you want to permit zero. */
56
+ readonly allowZero?: boolean;
57
+ /**
58
+ * Optional domain-specific noun phrase (e.g., 'probability', 'angle').
59
+ * When set, replaces the auto-generated "in range [a, b]" prose:
60
+ * "<evaluator>: <field> must be a finite <description> number, got <v>"
61
+ *
62
+ * v0.7.1 Phase 4 Task 4.4 — Eve E4 fix. Restores the pre-extraction
63
+ * BE-25-iit-phi "probability" domain noun without reverting the
64
+ * helper-based migration.
65
+ *
66
+ * @internal
67
+ */
68
+ readonly description?: string;
69
+ }
70
+ /**
71
+ * Validate every field of `input` named by `fieldSpecs`. Throws a
72
+ * `RangeError` on the first violation with a message that contains
73
+ * the keywords (`"finite"`, plus `"positive"` / `"non-negative"` /
74
+ * `"in range"`) the existing per-BE-NN tests pattern-match against.
75
+ *
76
+ * The error message format matches the pre-extraction convention:
77
+ *
78
+ * `<evaluatorName>: <fieldName> must be a finite <range> number, got <value>`
79
+ *
80
+ * Sample existing prose this preserves:
81
+ *
82
+ * `evaluateShapiroDelay: M_kg must be a finite positive number, got -1`
83
+ * `evaluateLandauerEnergy: temperature_K must be a finite non-negative number, got -1`
84
+ * `evaluateQuantumBounce: Lambda_Tinv2 must be finite, got NaN`
85
+ *
86
+ * @param input - The evaluator's input record.
87
+ * @param fieldSpecs - The per-field range specs to enforce.
88
+ * @param evaluatorName - The calling function's name (e.g.,
89
+ * `'evaluateShapiroDelay'`), used as the error-message prefix.
90
+ *
91
+ * @internal
92
+ */
93
+ export declare function validateFiniteInputs<T extends object>(input: T, fieldSpecs: ReadonlyArray<FieldSpec>, evaluatorName: string): void;
94
+ /**
95
+ * Run `validateEquation(lhs, rhs)` + `validate(lhs)` + `validate(rhs)`
96
+ * and pack the result into the canonical `DimensionValidationReport`
97
+ * shape used by every BE-NN's `validate*Dimensions()` wrapper.
98
+ *
99
+ * The `equationLabel` parameter is currently unused at the message
100
+ * level (the existing wrappers don't surface labels in the report;
101
+ * the report is consumed by the dimensional-signature-catalog round-
102
+ * trip test which only reads `lhsDim` / `rhsDim`). It's accepted so
103
+ * future error-context enrichment can attach the label without a
104
+ * signature break.
105
+ *
106
+ * @param lhs - The bridge's encoded LHS AST.
107
+ * @param rhs - The bridge's encoded RHS AST.
108
+ * @param equationLabel - Human label (e.g., `'BE37'`); reserved for
109
+ * future error-message use.
110
+ *
111
+ * @internal
112
+ */
113
+ export declare function validateBEDimensions(lhs: ExprNode, rhs: ExprNode, _equationLabel: string): DimensionValidationReport;
114
+ /**
115
+ * Build a `kind: 'symbol'` AST node with the given name and dimension.
116
+ *
117
+ * Direct replacement for the file-local factory duplicated in all 43
118
+ * BE-NN modules:
119
+ *
120
+ * ```ts
121
+ * const sym = (name: string, dim: Dimension): ExprNode =>
122
+ * ({ kind: 'symbol', name, dim });
123
+ * ```
124
+ *
125
+ * **Bug-sensitivity note** (v0.7.1 Phase 3 risk surface): a subtle
126
+ * regression here — wrong `kind` discriminator, missing field, type
127
+ * coercion — affects every BE module silently. Behaviour-preserving
128
+ * extraction must produce a node that is `===`-structurally-equal
129
+ * to the pre-extraction literal:
130
+ *
131
+ * - `kind` is literally the string `'symbol'`
132
+ * - `name` is the caller's string, unmodified (no trim, no
133
+ * case-fold, no whitespace check — the existing factory accepts
134
+ * any string including `''`, `'-1'`, `'8pi'`, `'α'`)
135
+ * - `dim` is the caller's `Dimension`, by reference (no clone, no
136
+ * freeze — matches the existing factory's behaviour)
137
+ * - the returned node is a fresh object on every call (no memo)
138
+ *
139
+ * @param name - Symbol label. Any string (including the empty string).
140
+ * @param dim - The SI dimension of the symbol.
141
+ *
142
+ * @internal
143
+ */
144
+ export declare function sym(name: string, dim: Dimension): ExprNode;
145
+ //# sourceMappingURL=_be-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_be-helpers.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/_be-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAM5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAwCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,EACpC,aAAa,EAAE,MAAM,GACpB,IAAI,CAgCN;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,QAAQ,EACb,cAAc,EAAE,MAAM,GACrB,yBAAyB,CAS3B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,QAAQ,CAE1D"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Shared helpers for the 43 BE-NN bridge-equation modules in
3
+ * `src/bridges/equations/`. Three behaviour-preserving extractions
4
+ * (v0.7.1 Phase 3 — simplifiers S-1, S-2, S-3):
5
+ *
6
+ * - `validateFiniteInputs(input, fieldSpecs, evaluatorName)` —
7
+ * replaces the per-evaluator `Number.isFinite(x) || x <= 0`
8
+ * boilerplate. ~150 input guards collapse to a single
9
+ * declarative call per evaluator.
10
+ *
11
+ * - `validateBEDimensions(lhs, rhs, equationLabel)` — replaces
12
+ * the per-bridge `validateBE##Dimensions()` wrapper body
13
+ * (`validateEquation` + 2× `validate` + result-shape build).
14
+ *
15
+ * - `sym(name, dim)` — replaces the file-local
16
+ * `const sym = (name, dim) => ({ kind: 'symbol', name, dim })`
17
+ * factory literally duplicated in all 43 BE-NN modules.
18
+ *
19
+ * Mirrors the structure + JSDoc style of `field-equation-helpers.ts`
20
+ * (the Phase-0 sibling that did the same job for the field-equation
21
+ * predicate AST nodes). Underscore-prefix on the filename signals
22
+ * "shared by siblings inside this directory; not part of the
23
+ * public surface" — same convention as `tests/bridges/_helpers.ts`.
24
+ *
25
+ * @module bridges/equations/_be-helpers
26
+ */
27
+ import { validate, validateEquation } from '../../dimensional/validator.js';
28
+ /**
29
+ * Compose the adjective phrase that appears in the error message,
30
+ * picked to match the existing per-BE-NN prose conventions:
31
+ *
32
+ * - `min=0, excludeMin=true` → "positive" (i.e., `> 0`)
33
+ * - `min=0` → "non-negative" (i.e., `≥ 0`)
34
+ * - bounded but not a 0-pin → "in range [a, b]" (closed/open as set)
35
+ * - unbounded → "" (just "finite")
36
+ */
37
+ function describeRange(spec) {
38
+ // Caller-supplied domain noun (e.g., 'probability') takes priority
39
+ // over the auto-generated range prose. Yields:
40
+ // "<evaluator>: <field> must be a finite <description> number, got <v>"
41
+ // E.g., for BE-25 IIT p_cond / p_marg:
42
+ // "evaluateIntrinsicInformation: p_cond must be a finite probability number, got -0.1"
43
+ if (spec.description !== undefined)
44
+ return `${spec.description} `;
45
+ const hasMin = spec.min !== undefined;
46
+ const hasMax = spec.max !== undefined;
47
+ const lowOpen = !!spec.excludeMin;
48
+ const highOpen = !!spec.excludeMax;
49
+ // The two ubiquitous zero-pinned shapes — keep these phrasings exactly
50
+ // as the existing 42 BE-NN evaluators emit them.
51
+ if (hasMin && !hasMax && spec.min === 0 && !spec.allowZero) {
52
+ if (lowOpen)
53
+ return 'positive '; // "finite positive number"
54
+ return 'non-negative '; // "finite non-negative number"
55
+ }
56
+ if (!hasMin && !hasMax)
57
+ return ''; // "finite number"
58
+ const lo = hasMin ? spec.min : -Infinity;
59
+ const hi = hasMax ? spec.max : Infinity;
60
+ const lb = lowOpen ? '(' : '[';
61
+ const rb = highOpen ? ')' : ']';
62
+ return `in range ${lb}${lo}, ${hi}${rb} `;
63
+ }
64
+ /**
65
+ * Validate every field of `input` named by `fieldSpecs`. Throws a
66
+ * `RangeError` on the first violation with a message that contains
67
+ * the keywords (`"finite"`, plus `"positive"` / `"non-negative"` /
68
+ * `"in range"`) the existing per-BE-NN tests pattern-match against.
69
+ *
70
+ * The error message format matches the pre-extraction convention:
71
+ *
72
+ * `<evaluatorName>: <fieldName> must be a finite <range> number, got <value>`
73
+ *
74
+ * Sample existing prose this preserves:
75
+ *
76
+ * `evaluateShapiroDelay: M_kg must be a finite positive number, got -1`
77
+ * `evaluateLandauerEnergy: temperature_K must be a finite non-negative number, got -1`
78
+ * `evaluateQuantumBounce: Lambda_Tinv2 must be finite, got NaN`
79
+ *
80
+ * @param input - The evaluator's input record.
81
+ * @param fieldSpecs - The per-field range specs to enforce.
82
+ * @param evaluatorName - The calling function's name (e.g.,
83
+ * `'evaluateShapiroDelay'`), used as the error-message prefix.
84
+ *
85
+ * @internal
86
+ */
87
+ export function validateFiniteInputs(input, fieldSpecs, evaluatorName) {
88
+ for (const spec of fieldSpecs) {
89
+ const raw = input[spec.name];
90
+ const value = raw;
91
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
92
+ const range = describeRange(spec);
93
+ throw new RangeError(`${evaluatorName}: ${spec.name} must be a finite ${range}number, got ${String(value)}`);
94
+ }
95
+ if (spec.min !== undefined) {
96
+ const violatesMin = spec.excludeMin ? value <= spec.min : value < spec.min;
97
+ if (violatesMin) {
98
+ const range = describeRange(spec);
99
+ throw new RangeError(`${evaluatorName}: ${spec.name} must be a finite ${range}number, got ${value}`);
100
+ }
101
+ }
102
+ if (spec.max !== undefined) {
103
+ const violatesMax = spec.excludeMax ? value >= spec.max : value > spec.max;
104
+ if (violatesMax) {
105
+ const range = describeRange(spec);
106
+ throw new RangeError(`${evaluatorName}: ${spec.name} must be a finite ${range}number, got ${value}`);
107
+ }
108
+ }
109
+ }
110
+ }
111
+ // ---------------------------------------------------------------------------
112
+ // Helper 2 — Per-bridge dimensional self-check (S-2)
113
+ // ---------------------------------------------------------------------------
114
+ /**
115
+ * Run `validateEquation(lhs, rhs)` + `validate(lhs)` + `validate(rhs)`
116
+ * and pack the result into the canonical `DimensionValidationReport`
117
+ * shape used by every BE-NN's `validate*Dimensions()` wrapper.
118
+ *
119
+ * The `equationLabel` parameter is currently unused at the message
120
+ * level (the existing wrappers don't surface labels in the report;
121
+ * the report is consumed by the dimensional-signature-catalog round-
122
+ * trip test which only reads `lhsDim` / `rhsDim`). It's accepted so
123
+ * future error-context enrichment can attach the label without a
124
+ * signature break.
125
+ *
126
+ * @param lhs - The bridge's encoded LHS AST.
127
+ * @param rhs - The bridge's encoded RHS AST.
128
+ * @param equationLabel - Human label (e.g., `'BE37'`); reserved for
129
+ * future error-message use.
130
+ *
131
+ * @internal
132
+ */
133
+ export function validateBEDimensions(lhs, rhs, _equationLabel) {
134
+ const eq = validateEquation(lhs, rhs);
135
+ const lhsR = validate(lhs);
136
+ const rhsR = validate(rhs);
137
+ return {
138
+ ok: eq.ok,
139
+ lhsDim: lhsR.inferredDimension,
140
+ rhsDim: rhsR.inferredDimension,
141
+ };
142
+ }
143
+ // ---------------------------------------------------------------------------
144
+ // Helper 3 — Symbol-node factory (S-3) [bug-sensitive]
145
+ // ---------------------------------------------------------------------------
146
+ /**
147
+ * Build a `kind: 'symbol'` AST node with the given name and dimension.
148
+ *
149
+ * Direct replacement for the file-local factory duplicated in all 43
150
+ * BE-NN modules:
151
+ *
152
+ * ```ts
153
+ * const sym = (name: string, dim: Dimension): ExprNode =>
154
+ * ({ kind: 'symbol', name, dim });
155
+ * ```
156
+ *
157
+ * **Bug-sensitivity note** (v0.7.1 Phase 3 risk surface): a subtle
158
+ * regression here — wrong `kind` discriminator, missing field, type
159
+ * coercion — affects every BE module silently. Behaviour-preserving
160
+ * extraction must produce a node that is `===`-structurally-equal
161
+ * to the pre-extraction literal:
162
+ *
163
+ * - `kind` is literally the string `'symbol'`
164
+ * - `name` is the caller's string, unmodified (no trim, no
165
+ * case-fold, no whitespace check — the existing factory accepts
166
+ * any string including `''`, `'-1'`, `'8pi'`, `'α'`)
167
+ * - `dim` is the caller's `Dimension`, by reference (no clone, no
168
+ * freeze — matches the existing factory's behaviour)
169
+ * - the returned node is a fresh object on every call (no memo)
170
+ *
171
+ * @param name - Symbol label. Any string (including the empty string).
172
+ * @param dim - The SI dimension of the symbol.
173
+ *
174
+ * @internal
175
+ */
176
+ export function sym(name, dim) {
177
+ return { kind: 'symbol', name, dim };
178
+ }
179
+ //# sourceMappingURL=_be-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_be-helpers.js","sourceRoot":"","sources":["../../../src/bridges/equations/_be-helpers.ts"],"names":[],"mappings":"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"}
@@ -58,8 +58,6 @@ import type { ExprNode, DimensionValidationReport } from '../../dimensional/vali
58
58
  * scalar AST encoding faithfully captures the dimensional content.
59
59
  */
60
60
  export declare const DECOHERENCE_RATE_RHS: ExprNode;
61
- /** LHS of the equation: a single symbol of dimension [frequency]. */
62
- export declare const DECOHERENCE_RATE_LHS: ExprNode;
63
61
  export interface DecoherenceRateInputs {
64
62
  /** Reference rate γ_0 in inverse seconds (s^-1). Must be ≥ 0. */
65
63
  gamma0_per_s: number;
@@ -79,5 +77,6 @@ export declare function evaluateDecoherenceRate(input: DecoherenceRateInputs): n
79
77
  * both sides are [frequency]. Returns the inferred dimensions for
80
78
  * traceability.
81
79
  */
80
+ /** @internal */
82
81
  export declare function validateDecoherenceRateDimensions(): DimensionValidationReport;
83
82
  //# sourceMappingURL=be-11-decoherence-master.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"be-11-decoherence-master.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-11-decoherence-master.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAY1F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAelC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,EAAE,QAAoC,CAAC;AAIxE,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAmB5E;AAID;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,CAS7E"}
1
+ {"version":3,"file":"be-11-decoherence-master.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-11-decoherence-master.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAS1F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAelC,CAAC;AAOF,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAa5E;AAID;;;;GAIG;AACH,gBAAgB;AAChB,wBAAgB,iCAAiC,IAAI,yBAAyB,CAE7E"}
@@ -43,10 +43,9 @@
43
43
  * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 11)
44
44
  * @module bridges/equations/be-11-decoherence-master
45
45
  */
46
- import { validate, validateEquation } from '../../dimensional/validator.js';
47
46
  import { FREQUENCY, DIMENSIONLESS, } from '../../dimensional/types.js';
47
+ import { sym, validateFiniteInputs, validateBEDimensions } from './_be-helpers.js';
48
48
  // --- Symbolic AST: γ_k(λ) = γ_0 * (λ / λ_0)^2 ---
49
- const sym = (name, dim) => ({ kind: 'symbol', name, dim });
50
49
  /**
51
50
  * RHS of the corrected Caldeira-Leggett weak-coupling rate as a typed
52
51
  * ExprNode tree: γ_0 * (λ / λ_0)^2.
@@ -77,23 +76,19 @@ export const DECOHERENCE_RATE_RHS = {
77
76
  ],
78
77
  };
79
78
  /** LHS of the equation: a single symbol of dimension [frequency]. */
80
- export const DECOHERENCE_RATE_LHS = sym('gamma_k', FREQUENCY);
79
+ const DECOHERENCE_RATE_LHS = sym('gamma_k', FREQUENCY);
81
80
  /**
82
81
  * Evaluate γ_k(λ) = γ_0 * (λ / λ_0)^2 (Caldeira-Leggett weak-coupling form).
83
82
  *
84
83
  * @returns Decoherence rate in s^-1.
85
84
  */
86
85
  export function evaluateDecoherenceRate(input) {
86
+ validateFiniteInputs(input, [
87
+ { name: 'gamma0_per_s', min: 0 },
88
+ { name: 'lambda' },
89
+ { name: 'lambda0', min: 0, excludeMin: true },
90
+ ], 'evaluateDecoherenceRate');
87
91
  const { gamma0_per_s, lambda, lambda0 } = input;
88
- if (!Number.isFinite(gamma0_per_s) || gamma0_per_s < 0) {
89
- throw new RangeError(`evaluateDecoherenceRate: gamma0_per_s must be a finite non-negative number, got ${gamma0_per_s}`);
90
- }
91
- if (!Number.isFinite(lambda)) {
92
- throw new RangeError(`evaluateDecoherenceRate: lambda must be finite, got ${lambda}`);
93
- }
94
- if (!Number.isFinite(lambda0) || lambda0 <= 0) {
95
- throw new RangeError(`evaluateDecoherenceRate: lambda0 must be a finite positive number, got ${lambda0}`);
96
- }
97
92
  const ratio = lambda / lambda0;
98
93
  return gamma0_per_s * ratio * ratio;
99
94
  }
@@ -103,14 +98,8 @@ export function evaluateDecoherenceRate(input) {
103
98
  * both sides are [frequency]. Returns the inferred dimensions for
104
99
  * traceability.
105
100
  */
101
+ /** @internal */
106
102
  export function validateDecoherenceRateDimensions() {
107
- const eq = validateEquation(DECOHERENCE_RATE_LHS, DECOHERENCE_RATE_RHS);
108
- const lhs = validate(DECOHERENCE_RATE_LHS);
109
- const rhs = validate(DECOHERENCE_RATE_RHS);
110
- return {
111
- ok: eq.ok,
112
- lhsDim: lhs.inferredDimension,
113
- rhsDim: rhs.inferredDimension,
114
- };
103
+ return validateBEDimensions(DECOHERENCE_RATE_LHS, DECOHERENCE_RATE_RHS, 'BE11');
115
104
  }
116
105
  //# sourceMappingURL=be-11-decoherence-master.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"be-11-decoherence-master.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-11-decoherence-master.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAEL,SAAS,EACT,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,mDAAmD;AAEnD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAc,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAExF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;QACzB;YACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;YACnB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;oBACnB,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;iBACrE;gBACD,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;aACxB;SACF;KACF;CACF,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAa,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAaxE;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA4B;IAClE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAClB,mFAAmF,YAAY,EAAE,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAClB,uDAAuD,MAAM,EAAE,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAClB,0EAA0E,OAAO,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/B,OAAO,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;AACtC,CAAC;AAED,0BAA0B;AAE1B;;;;GAIG;AACH,MAAM,UAAU,iCAAiC;IAC/C,MAAM,EAAE,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3C,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,MAAM,EAAE,GAAG,CAAC,iBAAiB;QAC7B,MAAM,EAAE,GAAG,CAAC,iBAAiB;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"be-11-decoherence-master.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-11-decoherence-master.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,mDAAmD;AAEnD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;QACzB;YACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;YACnB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;oBACnB,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;iBACrE;gBACD,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;aACxB;SACF;KACF;CACF,CAAC;AAEF,qEAAqE;AACrE,MAAM,oBAAoB,GAAa,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAajE;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA4B;IAClE,oBAAoB,CAClB,KAAK,EACL;QACE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE;QAChC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;KAC9C,EACD,yBAAyB,CAC1B,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/B,OAAO,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;AACtC,CAAC;AAED,0BAA0B;AAE1B;;;;GAIG;AACH,gBAAgB;AAChB,MAAM,UAAU,iCAAiC;IAC/C,OAAO,oBAAoB,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAClF,CAAC"}
@@ -55,8 +55,12 @@ import type { ExprNode, DimensionValidationReport } from '../../dimensional/vali
55
55
  */
56
56
  export declare const BE12_COHERENCE_LENGTH_RHS: ExprNode;
57
57
  /** LHS: λ_T has dimension [length]. */
58
+ /** @internal */
58
59
  export declare const BE12_COHERENCE_LENGTH_LHS: ExprNode;
59
- export interface ThermalDeBroglieInputs {
60
+ /**
61
+ * @internal — typed-arg shape for the file-local `evaluateThermalDeBroglie` function; not in the v0.7 public surface. See `docs/architecture/v0.7-be-module-exports-audit.md` §4.
62
+ */
63
+ interface ThermalDeBroglieInputs {
60
64
  /** Particle mass m (kg). Must be > 0 and finite. */
61
65
  m_kg: number;
62
66
  /** Temperature T (K). Must be > 0 and finite. */
@@ -76,5 +80,7 @@ export declare function evaluateThermalDeBroglie(input: ThermalDeBroglieInputs):
76
80
  * Run the AST through the dimensional analyzer; both sides should be
77
81
  * [length].
78
82
  */
83
+ /** @internal */
79
84
  export declare function validateBE12Dimensions(): DimensionValidationReport;
85
+ export {};
80
86
  //# sourceMappingURL=be-12-coherence-length.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"be-12-coherence-length.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-12-coherence-length.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAc1F;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,QA8BvC,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,yBAAyB,EAAE,QAAkC,CAAC;AAI3E,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAc9E;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CASlE"}
1
+ {"version":3,"file":"be-12-coherence-length.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-12-coherence-length.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW1F;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,QA8BvC,CAAC;AAEF,uCAAuC;AACvC,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,EAAE,QAAkC,CAAC;AAI3E;;GAEG;AACH,UAAU,sBAAsB;IAC9B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAY9E;AAID;;;GAGG;AACH,gBAAgB;AAChB,wBAAgB,sBAAsB,IAAI,yBAAyB,CAElE"}
@@ -45,11 +45,10 @@
45
45
  * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 12)
46
46
  * @module bridges/equations/be-12-coherence-length
47
47
  */
48
- import { validate, validateEquation } from '../../dimensional/validator.js';
49
48
  import { DIMENSIONLESS, LENGTH, MASS, TEMPERATURE, } from '../../dimensional/types.js';
50
49
  import { hbar as DIM_hbar, k_B as DIM_kB } from '../../dimensional/constants.js';
51
50
  import { PhysicalConstants } from '../../core/types.js';
52
- const sym = (name, dim) => ({ kind: 'symbol', name, dim });
51
+ import { sym, validateFiniteInputs, validateBEDimensions } from './_be-helpers.js';
53
52
  /**
54
53
  * RHS of the canonical thermal de Broglie wavelength:
55
54
  * λ_T = √(2π ℏ²/(m k_B T))
@@ -89,6 +88,7 @@ export const BE12_COHERENCE_LENGTH_RHS = {
89
88
  ],
90
89
  };
91
90
  /** LHS: λ_T has dimension [length]. */
91
+ /** @internal */
92
92
  export const BE12_COHERENCE_LENGTH_LHS = sym('lambda_T', LENGTH);
93
93
  /**
94
94
  * Evaluate the canonical thermal de Broglie wavelength
@@ -100,13 +100,11 @@ export const BE12_COHERENCE_LENGTH_LHS = sym('lambda_T', LENGTH);
100
100
  * @returns Wavelength in meters.
101
101
  */
102
102
  export function evaluateThermalDeBroglie(input) {
103
+ validateFiniteInputs(input, [
104
+ { name: 'm_kg', min: 0, excludeMin: true },
105
+ { name: 'T_K', min: 0, excludeMin: true },
106
+ ], 'evaluateThermalDeBroglie');
103
107
  const { m_kg, T_K } = input;
104
- if (!Number.isFinite(m_kg) || m_kg <= 0) {
105
- throw new RangeError(`evaluateThermalDeBroglie: m_kg must be a finite positive number, got ${m_kg}`);
106
- }
107
- if (!Number.isFinite(T_K) || T_K <= 0) {
108
- throw new RangeError(`evaluateThermalDeBroglie: T_K must be a finite positive number, got ${T_K}`);
109
- }
110
108
  const { hbar, kB } = PhysicalConstants;
111
109
  return Math.sqrt((2 * Math.PI * hbar * hbar) / (m_kg * kB * T_K));
112
110
  }
@@ -115,14 +113,8 @@ export function evaluateThermalDeBroglie(input) {
115
113
  * Run the AST through the dimensional analyzer; both sides should be
116
114
  * [length].
117
115
  */
116
+ /** @internal */
118
117
  export function validateBE12Dimensions() {
119
- const eq = validateEquation(BE12_COHERENCE_LENGTH_LHS, BE12_COHERENCE_LENGTH_RHS);
120
- const lhs = validate(BE12_COHERENCE_LENGTH_LHS);
121
- const rhs = validate(BE12_COHERENCE_LENGTH_RHS);
122
- return {
123
- ok: eq.ok,
124
- lhsDim: lhs.inferredDimension,
125
- rhsDim: rhs.inferredDimension,
126
- };
118
+ return validateBEDimensions(BE12_COHERENCE_LENGTH_LHS, BE12_COHERENCE_LENGTH_RHS, 'BE12');
127
119
  }
128
120
  //# sourceMappingURL=be-12-coherence-length.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"be-12-coherence-length.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-12-coherence-length.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"be-12-coherence-length.js","sourceRoot":"","sources":["../../../src/bridges/equations/be-12-coherence-length.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EACL,aAAa,EACb,MAAM,EACN,IAAI,EACJ,WAAW,GACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAa;IACjD,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;IACnB,IAAI,EAAE;QACJ;YACE,sBAAsB;YACtB,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;YACnB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;oBACnB,IAAI,EAAE;wBACJ,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;wBACzB;4BACE,aAAa;4BACb,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;4BACnB,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;yBACrD;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG;oBACnB,IAAI,EAAE;wBACJ,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;wBACd,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;wBAClB,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;qBACtB;iBACF;aACF;SACF;QACD,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;KAC1B;CACF,CAAC;AAEF,uCAAuC;AACvC,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAa,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAc3E;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAA6B;IACpE,oBAAoB,CAClB,KAAK,EACL;QACE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;QAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;KAC1C,EACD,0BAA0B,CAC3B,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,iBAAiB,CAAC;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,0BAA0B;AAE1B;;;GAGG;AACH,gBAAgB;AAChB,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC"}
@@ -38,12 +38,28 @@
38
38
  * density = [M L⁻¹ T⁻²]; [8πG/c⁴] = [L³M⁻¹T⁻²]/[L⁴T⁻⁴] =
39
39
  * [L⁻¹M⁻¹T²]; [(8πG/c⁴)·T] = [L⁻¹M⁻¹T²]·[ML⁻¹T⁻²] = [L⁻²] ✓.
40
40
  *
41
+ * v0.7 BE-X re-encoding (per docs/architecture/v0.7-be-x-reencoding-design-note.md
42
+ * §"BE-13 — TensorTraceNode for the Einstein trace"):
43
+ *
44
+ * The `T_trace` stub in `BE13_EINSTEIN_TRACE_RHS` is now supplemented by
45
+ * `BE13_T_TRACE_NODE` — a structural `TensorTraceNode` that makes explicit
46
+ * that `T = g^μν T_μν` is a metric contraction of the stress-energy tensor,
47
+ * not an opaque dimensioned scalar. Both the stub form (backward-compatible,
48
+ * embeddable in `ExprNode` ASTs) and the structural form (richer type
49
+ * information, validates via `validateTensorTrace`) are exported.
50
+ *
51
+ * `BE13_EINSTEIN_TRACE_RHS` is unchanged (backward compatibility). The
52
+ * structural form is exposed via the separate `BE13_T_TRACE_NODE` export.
53
+ * See the "BE-13 structural TensorTraceNode" section below.
54
+ *
41
55
  * @see docs/specification/Part-I.md ("Bridge Equation 13")
42
56
  * @see src/bridges/index.ts BRIDGE_EQUATIONS.find(e => e.id === 13)
43
57
  * @module bridges/equations/be-13-einstein-trace
44
58
  */
45
59
  import type { ExprNode, DimensionValidationReport } from '../../dimensional/validator.js';
46
60
  import { Dimension } from '../../dimensional/types.js';
61
+ import type { TensorTraceNode } from '../../dimensional/tensor-trace.js';
62
+ import type { StressEnergyTensorNode } from '../../dimensional/stress-energy-validators.js';
47
63
  /** [L⁻²] — Ricci scalar dimension. Hand-built literal (rather than
48
64
  * `power(LENGTH, -2)`) because `power()` produces `-0` on unaffected
49
65
  * bases, which compares unequal under deep-strict equality even though
@@ -51,8 +67,6 @@ import { Dimension } from '../../dimensional/types.js';
51
67
  * BE-31's INV_LENGTH_2.
52
68
  */
53
69
  export declare const RICCI_SCALAR_DIM: Dimension;
54
- /** [M L⁻¹ T⁻²] — energy density (stress-energy trace dimension). */
55
- export declare const ENERGY_DENSITY_DIM: Dimension;
56
70
  /**
57
71
  * RHS of the trace of Einstein equations:
58
72
  * R = 4Λ - (8πG / c⁴) T
@@ -62,8 +76,40 @@ export declare const ENERGY_DENSITY_DIM: Dimension;
62
76
  */
63
77
  export declare const BE13_EINSTEIN_TRACE_RHS: ExprNode;
64
78
  /** LHS: Ricci scalar R has dimension [L⁻²]. */
79
+ /** @internal */
65
80
  export declare const BE13_EINSTEIN_TRACE_LHS: ExprNode;
66
- export interface EinsteinTraceInputs {
81
+ /**
82
+ * The stress-energy tensor T_μν used in the BE-13 trace.
83
+ *
84
+ * Rank-2 lower-lower, symmetric, component dim [M L⁻¹ T⁻²] (energy density).
85
+ * This is the `T_μν` input to the `BE13_T_TRACE_NODE` contraction.
86
+ *
87
+ * @public
88
+ */
89
+ export declare const BE13_STRESS_ENERGY_NODE: StressEnergyTensorNode;
90
+ /**
91
+ * Structural `TensorTraceNode` for `T = g^μν T_μν` — the stress-energy trace
92
+ * appearing in BE-13's scalar relation `R = 4Λ - (8πG/c⁴) T`.
93
+ *
94
+ * This structural form replaces the stub `sym('T_trace', ENERGY_DENSITY_DIM)` in
95
+ * `BE13_EINSTEIN_TRACE_RHS` by making explicit that `T` arises from contracting
96
+ * the stress-energy tensor with the inverse metric. Validate via
97
+ * `validateTensorTrace(BE13_T_TRACE_NODE)` from
98
+ * `src/dimensional/tensor-trace.ts`.
99
+ *
100
+ * Note: `TensorTraceNode` is not yet part of the `ExprNode` union, so this
101
+ * node cannot be embedded directly in the scalar `ExprNode` AST of
102
+ * `BE13_EINSTEIN_TRACE_RHS`. `BE13_EINSTEIN_TRACE_RHS` is kept unchanged
103
+ * for backward compatibility; this export provides structural content for
104
+ * consumers that want to inspect the trace operation explicitly.
105
+ *
106
+ * @public
107
+ */
108
+ export declare const BE13_T_TRACE_NODE: TensorTraceNode;
109
+ /**
110
+ * @internal — typed-arg shape for the file-local `evaluateEinsteinTrace` function; not in the v0.7 public surface. See `docs/architecture/v0.7-be-module-exports-audit.md` §4.
111
+ */
112
+ interface EinsteinTraceInputs {
67
113
  /** Cosmological constant Λ (m⁻²). Must be finite. */
68
114
  Lambda_per_m2: number;
69
115
  /**
@@ -85,5 +131,7 @@ export declare function evaluateEinsteinTrace(input: EinsteinTraceInputs): numbe
85
131
  * Run the AST through the dimensional analyzer; both sides should be
86
132
  * [L⁻²] (Ricci scalar).
87
133
  */
134
+ /** @internal */
88
135
  export declare function validateBE13Dimensions(): DimensionValidationReport;
136
+ export {};
89
137
  //# sourceMappingURL=be-13-einstein-trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"be-13-einstein-trace.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-13-einstein-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EACL,SAAS,EAEV,MAAM,4BAA4B,CAAC;AAMpC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAE9B,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,EAAE,SAEhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAoCrC,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,EAAE,QAA2C,CAAC;AAIlF,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAexE;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CASlE"}
1
+ {"version":3,"file":"be-13-einstein-trace.d.ts","sourceRoot":"","sources":["../../../src/bridges/equations/be-13-einstein-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EACL,SAAS,EAEV,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG5F;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAE9B,CAAC;AAOF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAoCrC,CAAC;AAEF,+CAA+C;AAC/C,gBAAgB;AAChB,eAAO,MAAM,uBAAuB,EAAE,QAA2C,CAAC;AAIlF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,sBASrC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAa/B,CAAC;AAIF;;GAEG;AACH,UAAU,mBAAmB;IAC3B,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAaxE;AAID;;;GAGG;AACH,gBAAgB;AAChB,wBAAgB,sBAAsB,IAAI,yBAAyB,CAElE"}