universal-physics-tensor 0.5.1 → 0.7.1

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,174 @@
1
+ /**
2
+ * `RegimeType` extension system — v0.8 Proposal 5.
3
+ *
4
+ * Per P5 Decision #1, this module ships the extension MECHANISM
5
+ * (`defineRegime`, `lookupRegime`, `listRegimesByAxis`,
6
+ * `provenanceFor`) PLUS the eight v0.6-shipped closed-union values
7
+ * pre-registered (per Phase 2 — see `src/core/regimes-builtins.ts`).
8
+ * Closed taxonomy of new physics-regime built-ins is deferred to
9
+ * v0.9 per Decision #1 framing.
10
+ *
11
+ * Per P5 Adam-H1 reconciliation, Phase 4's per-cell regime field
12
+ * ships as a sibling registry (`regimesForCell`) keyed by cell id
13
+ * rather than as a new field on `BridgeCell` (avoids the
14
+ * `cellToBridge` adapter round-trip that would strip unknown
15
+ * fields).
16
+ *
17
+ * Per P5 Eve-M2 reconciliation, `FluxRuleKind` is extended with
18
+ * `'regime-consistency'` discriminator in this commit (Phase 4
19
+ * rule fires from `addCell`).
20
+ *
21
+ * @module core/regime-registry
22
+ */
23
+ /**
24
+ * Thrown when `defineRegime` receives a spec that contradicts an
25
+ * already-registered (axis, tag) pair. Carries both specs for
26
+ * diagnosis. Per P5 Decision #4 + Eve-L1 reconciliation
27
+ * (idempotent re-registration with the SAME spec is allowed;
28
+ * collisions throw).
29
+ *
30
+ * @public
31
+ */
32
+ export class RegimeCollisionError extends Error {
33
+ axis;
34
+ tag;
35
+ constructor(axis, tag, existing, incoming) {
36
+ super(`RegimeRegistry.defineRegime: cannot re-register (${axis}, '${tag}') ` +
37
+ `with a different displayName ('${existing.displayName}' vs ` +
38
+ `'${incoming.displayName}'). Identical re-registrations are ` +
39
+ `idempotent; only conflicting specs throw.`);
40
+ this.name = 'RegimeCollisionError';
41
+ this.axis = axis;
42
+ this.tag = tag;
43
+ }
44
+ }
45
+ // ---------------------------------------------------------------------------
46
+ // Private singleton storage
47
+ // ---------------------------------------------------------------------------
48
+ const registry = new Map();
49
+ function ensureAxisMap(axis) {
50
+ let m = registry.get(axis);
51
+ if (!m) {
52
+ m = new Map();
53
+ registry.set(axis, m);
54
+ }
55
+ return m;
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // Public API (Phase 1)
59
+ // ---------------------------------------------------------------------------
60
+ /**
61
+ * Register a regime under its `(axis, tag)` coordinate. Idempotent
62
+ * for identical re-registrations; throws `RegimeCollisionError`
63
+ * for the same `(axis, tag)` with different content.
64
+ *
65
+ * Returns the canonicalized `RegimeValueBase` (with
66
+ * `provenance.registeredAt` filled in if omitted).
67
+ *
68
+ * @public
69
+ */
70
+ export function defineRegime(spec) {
71
+ const axisMap = ensureAxisMap(spec.axis);
72
+ const existing = axisMap.get(spec.tag);
73
+ const canonical = {
74
+ axis: spec.axis,
75
+ tag: spec.tag,
76
+ displayName: spec.displayName,
77
+ ...(spec.tags ? { tags: spec.tags } : {}),
78
+ ...(spec.limits ? { limits: spec.limits } : {}),
79
+ provenance: {
80
+ registeredBy: spec.provenance.registeredBy,
81
+ registeredAt: spec.provenance.registeredAt ?? new Date().toISOString(),
82
+ ...(spec.provenance.citation ? { citation: spec.provenance.citation } : {}),
83
+ },
84
+ };
85
+ if (existing) {
86
+ // Idempotency check: identical (modulo timestamp).
87
+ if (existing.displayName !== canonical.displayName ||
88
+ existing.provenance.registeredBy !== canonical.provenance.registeredBy) {
89
+ throw new RegimeCollisionError(spec.axis, spec.tag, existing, spec);
90
+ }
91
+ return existing;
92
+ }
93
+ axisMap.set(spec.tag, canonical);
94
+ return canonical;
95
+ }
96
+ /**
97
+ * Look up a registered regime by `(axis, tag)`. Returns `undefined`
98
+ * if not registered.
99
+ *
100
+ * @public
101
+ */
102
+ export function lookupRegime(axis, tag) {
103
+ return registry.get(axis)?.get(tag);
104
+ }
105
+ /**
106
+ * Enumerate all regimes registered under a given axis. Returns
107
+ * a snapshot array (safe to iterate without holding a registry
108
+ * reference).
109
+ *
110
+ * @public
111
+ */
112
+ export function listRegimesByAxis(axis) {
113
+ const m = registry.get(axis);
114
+ return m ? [...m.values()] : [];
115
+ }
116
+ /**
117
+ * Get the provenance of a specific `(axis, tag)` regime. Helper
118
+ * for audit-tooling that needs to know who registered what.
119
+ *
120
+ * @public
121
+ */
122
+ export function provenanceFor(axis, tag) {
123
+ return lookupRegime(axis, tag)?.provenance;
124
+ }
125
+ // ---------------------------------------------------------------------------
126
+ // Phase 4 — per-cell regime attachment (sibling registry per Adam-M1)
127
+ // ---------------------------------------------------------------------------
128
+ const cellRegimes = new Map();
129
+ /**
130
+ * Attach regime values to a cell by its `id`. Per P5 Adam-M1
131
+ * resolution, regimes ride on a sibling registry rather than as a
132
+ * `BridgeCell.regimes?` field — this preserves the P3 surface
133
+ * contract (no new `BridgeCell` fields) and avoids the
134
+ * `cellToBridge` adapter round-trip.
135
+ *
136
+ * Idempotent (same id + same regime set is a no-op).
137
+ *
138
+ * @public
139
+ */
140
+ export function attachRegimesToCell(cellId, regimes) {
141
+ cellRegimes.set(cellId, regimes);
142
+ }
143
+ /**
144
+ * Get the regimes attached to a cell by its `id`. Returns
145
+ * `undefined` if no regimes are attached.
146
+ *
147
+ * @public
148
+ */
149
+ export function getCellRegimes(cellId) {
150
+ return cellRegimes.get(cellId);
151
+ }
152
+ /**
153
+ * Clear all registered regimes AND all cell attachments. Test-only
154
+ * helper — DO NOT call from production code.
155
+ *
156
+ * @internal
157
+ */
158
+ export function _resetRegistryForTesting() {
159
+ registry.clear();
160
+ cellRegimes.clear();
161
+ }
162
+ /** Register a regime on the `'scale'` axis. @public */
163
+ export const defineScale = (s) => defineRegime({ ...s, axis: 'scale' });
164
+ /** Register a regime on the `'force'` axis. @public */
165
+ export const defineForce = (s) => defineRegime({ ...s, axis: 'force' });
166
+ /** Register a regime on the `'symmetry'` axis. @public */
167
+ export const defineSymmetry = (s) => defineRegime({ ...s, axis: 'symmetry' });
168
+ /** Register a regime on the `'information'` axis. @public */
169
+ export const defineInformation = (s) => defineRegime({ ...s, axis: 'information' });
170
+ /** Register a regime on the `'dimension'` axis. @public */
171
+ export const defineDimension = (s) => defineRegime({ ...s, axis: 'dimension' });
172
+ /** Register a regime on the `'topology'` axis. @public */
173
+ export const defineTopology = (s) => defineRegime({ ...s, axis: 'topology' });
174
+ //# sourceMappingURL=regime-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regime-registry.js","sourceRoot":"","sources":["../../src/core/regime-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Wiring: installs P5's `RegimeConsistency` rule body into the
3
+ * flux-rules registry. Importing this module activates Rule 4
4
+ * (regime-consistency, WARNING tier) on every `UniversalTensor`.
5
+ *
6
+ * Phase 4 of v0.8 Proposal 5.
7
+ *
8
+ * The rule body checks: for each attached regime on a cell (via
9
+ * `getCellRegimes(cell.id)`), does the regime's axis MATCH a
10
+ * coordinate axis the cell occupies? If not, emit a warning.
11
+ * Example: a `LawCell` with `scales: ['classical']` attached to
12
+ * a regime whose `axis === 'scale'` but `tag === 'quantum'`
13
+ * — the cell sits in classical coords but is tagged with a quantum
14
+ * regime → warning.
15
+ *
16
+ * Per P5 Adam-M2 reconciliation, cells carry PLURAL axis arrays
17
+ * (`LawCell.scales`, `LawCell.forces`); the rule reads any of them
18
+ * and matches against the regime tag.
19
+ *
20
+ * Importing this module installs the rule. Consumers who don't
21
+ * want regime checks can simply skip the import.
22
+ *
23
+ * @module core/regime-rule-install
24
+ */
25
+ export {};
26
+ //# sourceMappingURL=regime-rule-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regime-rule-install.d.ts","sourceRoot":"","sources":["../../src/core/regime-rule-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Wiring: installs P5's `RegimeConsistency` rule body into the
3
+ * flux-rules registry. Importing this module activates Rule 4
4
+ * (regime-consistency, WARNING tier) on every `UniversalTensor`.
5
+ *
6
+ * Phase 4 of v0.8 Proposal 5.
7
+ *
8
+ * The rule body checks: for each attached regime on a cell (via
9
+ * `getCellRegimes(cell.id)`), does the regime's axis MATCH a
10
+ * coordinate axis the cell occupies? If not, emit a warning.
11
+ * Example: a `LawCell` with `scales: ['classical']` attached to
12
+ * a regime whose `axis === 'scale'` but `tag === 'quantum'`
13
+ * — the cell sits in classical coords but is tagged with a quantum
14
+ * regime → warning.
15
+ *
16
+ * Per P5 Adam-M2 reconciliation, cells carry PLURAL axis arrays
17
+ * (`LawCell.scales`, `LawCell.forces`); the rule reads any of them
18
+ * and matches against the regime tag.
19
+ *
20
+ * Importing this module installs the rule. Consumers who don't
21
+ * want regime checks can simply skip the import.
22
+ *
23
+ * @module core/regime-rule-install
24
+ */
25
+ import { installRegimeConsistencyRule } from './flux-rules.js';
26
+ import { getCellRegimes } from './regime-registry.js';
27
+ function cellOccupiesAxisTag(cell, axis, tag) {
28
+ switch (cell.kind) {
29
+ case 'law':
30
+ switch (axis) {
31
+ case 'scale': return cell.scales.some((s) => s === tag);
32
+ case 'force': return cell.forces.some((f) => f === tag);
33
+ case 'symmetry': return cell.symmetries.some((s) => s === tag);
34
+ case 'information':
35
+ return cell.informationMeasures?.some((i) => i === tag) ?? false;
36
+ case 'dimension':
37
+ return cell.dimensions?.some((d) => String(d) === tag) ?? false;
38
+ case 'topology':
39
+ return cell.topologies?.some((t) => String(t) === tag) ?? false;
40
+ }
41
+ return false;
42
+ case 'bridge':
43
+ switch (axis) {
44
+ case 'scale': return cell.source.scale === tag || cell.target.scale === tag;
45
+ case 'force': return cell.source.force === tag || cell.target.force === tag;
46
+ case 'symmetry': return cell.source.symmetry === tag || cell.target.symmetry === tag;
47
+ case 'information':
48
+ return cell.source.information === tag || cell.target.information === tag;
49
+ case 'dimension':
50
+ return String(cell.source.dimension) === tag || String(cell.target.dimension) === tag;
51
+ case 'topology':
52
+ return String(cell.source.topology) === tag || String(cell.target.topology) === tag;
53
+ }
54
+ return false;
55
+ case 'emergence':
56
+ return cell.indices.some((ix) => {
57
+ switch (axis) {
58
+ case 'scale': return ix.scale === tag;
59
+ case 'force': return ix.force === tag;
60
+ case 'symmetry': return ix.symmetry === tag;
61
+ case 'information': return ix.information === tag;
62
+ case 'dimension': return String(ix.dimension) === tag;
63
+ case 'topology': return String(ix.topology) === tag;
64
+ }
65
+ return false;
66
+ });
67
+ }
68
+ }
69
+ installRegimeConsistencyRule((cell) => {
70
+ const regimes = getCellRegimes(cell.id);
71
+ if (!regimes || regimes.length === 0)
72
+ return { ok: true };
73
+ const mismatches = regimes.filter((r) => !cellOccupiesAxisTag(cell, r.axis, r.tag));
74
+ if (mismatches.length === 0)
75
+ return { ok: true };
76
+ const m = mismatches[0];
77
+ return {
78
+ ok: true, // WARNING tier — does not throw
79
+ diagnostic: {
80
+ severity: 'warning',
81
+ ruleName: 'regime-consistency',
82
+ cellId: cell.id,
83
+ message: `Cell '${cell.id}' is attached to regime '${m.tag}' on axis '${m.axis}' ` +
84
+ `(displayName: '${m.displayName}') but the cell does not occupy any ` +
85
+ `${m.axis} coordinate matching that tag. Either correct the attachment ` +
86
+ `or extend the cell's ${m.axis} coordinates.`,
87
+ },
88
+ };
89
+ });
90
+ //# sourceMappingURL=regime-rule-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regime-rule-install.js","sourceRoot":"","sources":["../../src/core/regime-rule-install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Built-in regime registrations — Phase 2 of v0.8 Proposal 5.
3
+ *
4
+ * Pre-registers the v0.6-shipped closed-union values from
5
+ * `src/core/types.ts` under the corresponding `AxisName`. This
6
+ * gives downstream consumers a stable starting point: every
7
+ * value already in the catalog has an entry in the regime
8
+ * registry without per-bridge migration.
9
+ *
10
+ * Per P5 Decision #1, this does NOT close the new physics-regime
11
+ * taxonomy (e.g., no "classical-mechanics", "QFT" regimes
12
+ * shipped — those are v0.9 per-bridge physics review).
13
+ *
14
+ * Module-load side effect: registers every value below at import
15
+ * time. Idempotent — re-importing or double-importing is a
16
+ * no-op (see `defineRegime` idempotency in
17
+ * `regime-registry.ts`).
18
+ *
19
+ * @module core/regimes-builtins
20
+ */
21
+ export {};
22
+ //# sourceMappingURL=regimes-builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regimes-builtins.d.ts","sourceRoot":"","sources":["../../src/core/regimes-builtins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Built-in regime registrations — Phase 2 of v0.8 Proposal 5.
3
+ *
4
+ * Pre-registers the v0.6-shipped closed-union values from
5
+ * `src/core/types.ts` under the corresponding `AxisName`. This
6
+ * gives downstream consumers a stable starting point: every
7
+ * value already in the catalog has an entry in the regime
8
+ * registry without per-bridge migration.
9
+ *
10
+ * Per P5 Decision #1, this does NOT close the new physics-regime
11
+ * taxonomy (e.g., no "classical-mechanics", "QFT" regimes
12
+ * shipped — those are v0.9 per-bridge physics review).
13
+ *
14
+ * Module-load side effect: registers every value below at import
15
+ * time. Idempotent — re-importing or double-importing is a
16
+ * no-op (see `defineRegime` idempotency in
17
+ * `regime-registry.ts`).
18
+ *
19
+ * @module core/regimes-builtins
20
+ */
21
+ import { defineRegime } from './regime-registry.js';
22
+ const BUILTIN_SOURCE = 'universal-physics-tensor';
23
+ // ---------------------------------------------------------------------------
24
+ // Scale axis — 4 entries
25
+ // ---------------------------------------------------------------------------
26
+ const scaleTags = [
27
+ { tag: 'quantum', displayName: 'Quantum (< 10^-9 m)' },
28
+ { tag: 'mesoscopic', displayName: 'Mesoscopic (10^-9 to 10^-6 m)' },
29
+ { tag: 'classical', displayName: 'Classical (10^-6 to 10^26 m)' },
30
+ { tag: 'cosmological', displayName: 'Cosmological (> 10^26 m)' },
31
+ ];
32
+ for (const { tag, displayName } of scaleTags) {
33
+ defineRegime({
34
+ axis: 'scale',
35
+ tag,
36
+ displayName,
37
+ provenance: { registeredBy: BUILTIN_SOURCE },
38
+ });
39
+ }
40
+ // ---------------------------------------------------------------------------
41
+ // Force axis — 5 entries
42
+ // ---------------------------------------------------------------------------
43
+ const forceTags = [
44
+ { tag: 'gravitational', displayName: 'Gravitational' },
45
+ { tag: 'electromagnetic', displayName: 'Electromagnetic' },
46
+ { tag: 'weak', displayName: 'Weak nuclear' },
47
+ { tag: 'strong', displayName: 'Strong nuclear' },
48
+ { tag: 'emergent', displayName: 'Emergent (friction, tension, etc.)' },
49
+ ];
50
+ for (const { tag, displayName } of forceTags) {
51
+ defineRegime({
52
+ axis: 'force',
53
+ tag,
54
+ displayName,
55
+ provenance: { registeredBy: BUILTIN_SOURCE },
56
+ });
57
+ }
58
+ // ---------------------------------------------------------------------------
59
+ // Symmetry axis — 5 entries (Eve-M1: NOT 4 + placeholder)
60
+ // ---------------------------------------------------------------------------
61
+ const symmetryTags = [
62
+ { tag: 'poincare', displayName: 'Poincaré (spacetime)' },
63
+ { tag: 'gauge', displayName: 'Gauge (U(1), SU(2), SU(3))' },
64
+ { tag: 'conformal', displayName: 'Conformal (scale invariance)' },
65
+ { tag: 'susy', displayName: 'Supersymmetry' },
66
+ { tag: 'emergent', displayName: 'Emergent (effective symmetries)' },
67
+ ];
68
+ for (const { tag, displayName } of symmetryTags) {
69
+ defineRegime({
70
+ axis: 'symmetry',
71
+ tag,
72
+ displayName,
73
+ provenance: { registeredBy: BUILTIN_SOURCE },
74
+ });
75
+ }
76
+ // ---------------------------------------------------------------------------
77
+ // Information axis — 4 entries
78
+ // ---------------------------------------------------------------------------
79
+ const informationTags = [
80
+ { tag: 'vonNeumann', displayName: 'von Neumann entropy' },
81
+ { tag: 'shannon', displayName: 'Shannon entropy' },
82
+ { tag: 'kolmogorov', displayName: 'Kolmogorov complexity' },
83
+ { tag: 'quantumDiscord', displayName: 'Quantum discord' },
84
+ ];
85
+ for (const { tag, displayName } of informationTags) {
86
+ defineRegime({
87
+ axis: 'information',
88
+ tag,
89
+ displayName,
90
+ provenance: { registeredBy: BUILTIN_SOURCE },
91
+ });
92
+ }
93
+ // dimension and topology axes are integer-valued; no built-in
94
+ // registrations ship (per P1 Phase 0 census + P5 Decision #4 —
95
+ // integer axes are wildcards).
96
+ //# sourceMappingURL=regimes-builtins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regimes-builtins.js","sourceRoot":"","sources":["../../src/core/regimes-builtins.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@
11
11
  * - E: Emergent phenomena (higher-order correlations)
12
12
  */
13
13
  import type { TensorConfig, TensorIndices, PhysicalLaw, BridgeEquation, EmergentPhenomenon } from './types.js';
14
+ import type { Cell } from './cell.js';
15
+ import type { FluxReport } from './flux-rules.js';
14
16
  export declare class UniversalTensor {
15
17
  private readonly config;
16
18
  private readonly knownLaws;
@@ -23,6 +25,17 @@ export declare class UniversalTensor {
23
25
  * may coexist in a single tensor cell without overwriting each other).
24
26
  */
25
27
  private readonly tensorData;
28
+ /**
29
+ * v0.7-p2 Phase 2 Task 2.3: Rule set used by `addCell` (ERROR-tier
30
+ * violations throw) and by `fluxDiagnostics()` (re-runs across all
31
+ * populated cells). Default = `V07_CELL_RULES` (Rule 2 + Rule 3
32
+ * from `flux-rules.ts`). Rule 1 (dimensional consistency) fires
33
+ * from the catalog adapter (Phase 3), not from `addCell`.
34
+ *
35
+ * Per Decision #9, this field is `@internal`. No public mutator
36
+ * is exposed in v0.7 (rule customization is a v0.8+ concern).
37
+ */
38
+ private readonly fluxRules;
26
39
  constructor(config: TensorConfig);
27
40
  /**
28
41
  * Add a known physical law to the tensor.
@@ -69,6 +82,105 @@ export declare class UniversalTensor {
69
82
  * Returns true if newly added, false if it replaced an existing phenomenon.
70
83
  */
71
84
  addEmergence(phenomenon: EmergentPhenomenon): boolean;
85
+ /**
86
+ * Add a typed `Cell` (LawCell, BridgeCell, or EmergenceCell) to the
87
+ * tensor. Dispatches by the cell's `kind` discriminator to the
88
+ * existing `addLaw` / `addBridge` / `addEmergence` paths via internal
89
+ * adapters that translate the string-vocabulary `confidence` to the
90
+ * legacy numeric range.
91
+ *
92
+ * Returns the same boolean the dispatched method returns: `true` if
93
+ * newly added, `false` if it replaced an existing entry with the same
94
+ * id.
95
+ *
96
+ * v0.7 Proposal 3 Phase 2 Task 2.1. Internal callers that want
97
+ * type-safe ingestion through the discriminated union use `addCell`;
98
+ * callers that want the old typed methods continue to use `addLaw` /
99
+ * `addBridge` / `addEmergence` directly.
100
+ *
101
+ * @public
102
+ */
103
+ addCell(cell: Cell): boolean;
104
+ /**
105
+ * Internal helper: roll back the legacy `addLaw`/`addBridge`/
106
+ * `addEmergence` storage for a cell that just failed a rule check.
107
+ * Used by `addCell` to maintain fail-atomic semantics on
108
+ * ERROR-tier rule violations.
109
+ *
110
+ * @internal
111
+ */
112
+ private rollbackCell;
113
+ /**
114
+ * Number of distinct (key, value) pairs in the underlying sparse
115
+ * storage. Counts UNIQUE coordinates that hold at least one entry.
116
+ *
117
+ * Note: a single multi-scale `LawCell` (e.g.
118
+ * `scales: ['quantum', 'classical']`, `forces: ['gravitational']`)
119
+ * fans out to 2 coordinates, so `populatedCount()` returns 2.
120
+ * Use `populatedCells()` for the deduped count of distinct `Cell`
121
+ * objects.
122
+ *
123
+ * @public
124
+ */
125
+ populatedCount(): number;
126
+ /**
127
+ * All cells currently in the tensor, deduplicated by `id`. Each
128
+ * underlying entry (law, bridge, emergence) is converted back to
129
+ * its `Cell` representation via the inverse adapters in `cell.ts`.
130
+ *
131
+ * Per Eve-R15 semantics: `populatedCells().length` is the count of
132
+ * distinct `Cell` objects (one per `id`). `populatedCount()` counts
133
+ * unique TENSOR COORDINATES (one per fan-out per Decision #6),
134
+ * which may be larger.
135
+ *
136
+ * @public
137
+ */
138
+ populatedCells(): ReadonlyArray<Cell>;
139
+ /**
140
+ * For each populated coordinate, enumerate the single-axis-flip
141
+ * neighbors that are NOT currently populated. Each "neighbor" is
142
+ * a `TensorIndices` value that differs from a populated coordinate
143
+ * in exactly one axis, where the differing axis value is drawn
144
+ * from the config-declared set for that axis (Decision #10).
145
+ *
146
+ * Integer axes (`dimension`, `topology`) are NOT enumerable from
147
+ * `TensorConfig` (no declared range exists) and are treated as
148
+ * wildcards — single-axis flips along those axes are NOT
149
+ * generated.
150
+ *
151
+ * Returns a deduplicated `ReadonlyArray<TensorIndices>` (no two
152
+ * elements serialize to the same key under `serializeIndices`).
153
+ *
154
+ * @public
155
+ */
156
+ unpopulatedNeighborhoods(): ReadonlyArray<TensorIndices>;
157
+ /**
158
+ * Run the registered flux rules across every populated cell and
159
+ * return an aggregated `FluxReport`. Re-runs on every call
160
+ * (no cached `pendingDiagnostics` field — Eve-R8 resolution).
161
+ *
162
+ * @public
163
+ */
164
+ fluxDiagnostics(): FluxReport;
165
+ /**
166
+ * Parse a key produced by `serializeIndices` back into a
167
+ * `TensorIndices` value. Returns null if the key includes a bridge
168
+ * separator (' -> '), since bridge keys are off-diagonal and don't
169
+ * correspond to a single `TensorIndices` coordinate.
170
+ *
171
+ * @internal
172
+ */
173
+ private deserializeKey;
174
+ /**
175
+ * Enumerate single-axis-flip neighbors of `coord`. For each
176
+ * enumerable axis (scale, force, symmetry, information), generate
177
+ * a neighbor with that axis replaced by every OTHER config-declared
178
+ * value. The integer axes (dimension, topology) are wildcards
179
+ * and not enumerated.
180
+ *
181
+ * @internal
182
+ */
183
+ private enumerateAxisFlips;
72
184
  /**
73
185
  * Return the IDs of laws and emergent phenomena stored at the diagonal cell
74
186
  * addressed by the given indices.
@@ -1 +1 @@
1
- {"version":3,"file":"tensor.d.ts","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;gBAE1C,MAAM,EAAE,YAAY;IAiChC;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAqCxC;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IA2BjD;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;IACI,YAAY,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IA+B5D;;;;OAIG;IACI,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE;IAMxD;;;OAGG;IACI,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE;IAMpF;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,EAAE;IAYvD;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE;IAelF;;OAEG;IACI,OAAO,IAAI,WAAW,EAAE;IAI/B;;OAEG;IACI,UAAU,IAAI,cAAc,EAAE;IAIrC;;OAEG;IACI,YAAY,IAAI,kBAAkB,EAAE;IAI3C;;OAEG;IACI,QAAQ;;;;;;;;QAaX,oFAAoF;;;IAKxF;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,YAAY;CA2BrB"}
1
+ {"version":3,"file":"tensor.d.ts","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAY,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AA0F5E,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IAEtD;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;gBAExC,MAAM,EAAE,YAAY;IAkChC;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAqCxC;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IA2BjD;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;IACI,YAAY,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IA+B5D;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAyCnC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAyCpB;;;;;;;;;;;OAWG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;;;;;;;;OAWG;IACI,cAAc,IAAI,aAAa,CAAC,IAAI,CAAC;IAQ5C;;;;;;;;;;;;;;;;OAgBG;IACI,wBAAwB,IAAI,aAAa,CAAC,aAAa,CAAC;IAgB/D;;;;;;OAMG;IACI,eAAe,IAAI,UAAU;IAoBpC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;;;OAQG;IACH,OAAO,CAAE,kBAAkB;IAoB3B;;;;OAIG;IACI,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE;IAMxD;;;OAGG;IACI,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE;IAMpF;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,EAAE;IAYvD;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE;IAelF;;OAEG;IACI,OAAO,IAAI,WAAW,EAAE;IAI/B;;OAEG;IACI,UAAU,IAAI,cAAc,EAAE;IAIrC;;OAEG;IACI,YAAY,IAAI,kBAAkB,EAAE;IAI3C;;OAEG;IACI,QAAQ;;;;;;;;QAaX,oFAAoF;;;IAKxF;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,YAAY;CA2BrB"}