universal-physics-tensor 0.47.0 → 1.0.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 (591) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +396 -383
  3. package/bin/upt.mjs +28 -22
  4. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +108 -0
  5. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -0
  6. package/dist/atlas/benchmark/hybrid-retrieval.js +241 -0
  7. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -0
  8. package/dist/atlas/catalog-formal-ref.d.ts +24 -0
  9. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -0
  10. package/dist/atlas/catalog-formal-ref.js +36 -0
  11. package/dist/atlas/catalog-formal-ref.js.map +1 -0
  12. package/dist/atlas/composition-table.d.ts +11 -46
  13. package/dist/atlas/composition-table.d.ts.map +1 -1
  14. package/dist/atlas/composition-table.js +7 -124
  15. package/dist/atlas/composition-table.js.map +1 -1
  16. package/dist/atlas/conventions.d.ts +4 -58
  17. package/dist/atlas/conventions.d.ts.map +1 -1
  18. package/dist/atlas/conventions.js +3 -88
  19. package/dist/atlas/conventions.js.map +1 -1
  20. package/dist/atlas/derive-evidence.d.ts +50 -3
  21. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  22. package/dist/atlas/derive-evidence.js +73 -4
  23. package/dist/atlas/derive-evidence.js.map +1 -1
  24. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  25. package/dist/atlas/diffusion/bridges-closure.js +5 -1
  26. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  27. package/dist/atlas/index.d.ts +9 -7
  28. package/dist/atlas/index.d.ts.map +1 -1
  29. package/dist/atlas/index.js +6 -5
  30. package/dist/atlas/index.js.map +1 -1
  31. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  32. package/dist/atlas/oscillators/bridges-exact.js +6 -0
  33. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  34. package/dist/atlas/oscillators/bridges-limits.d.ts +2 -0
  35. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  36. package/dist/atlas/oscillators/bridges-limits.js +20 -19
  37. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  38. package/dist/atlas/oscillators/limit-witnesses.d.ts +93 -0
  39. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -0
  40. package/dist/atlas/oscillators/limit-witnesses.js +152 -0
  41. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -0
  42. package/dist/atlas/oscillators/models.d.ts +2 -1
  43. package/dist/atlas/oscillators/models.d.ts.map +1 -1
  44. package/dist/atlas/oscillators/models.js +4 -3
  45. package/dist/atlas/oscillators/models.js.map +1 -1
  46. package/dist/atlas/oscillators/norm-transport-witness.d.ts +37 -0
  47. package/dist/atlas/oscillators/norm-transport-witness.d.ts.map +1 -0
  48. package/dist/atlas/oscillators/norm-transport-witness.js +58 -0
  49. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -0
  50. package/dist/atlas/oscillators/norm-transport.d.ts +44 -0
  51. package/dist/atlas/oscillators/norm-transport.d.ts.map +1 -0
  52. package/dist/atlas/oscillators/norm-transport.js +66 -0
  53. package/dist/atlas/oscillators/norm-transport.js.map +1 -0
  54. package/dist/atlas/oscillators/norms.d.ts +11 -0
  55. package/dist/atlas/oscillators/norms.d.ts.map +1 -0
  56. package/dist/atlas/oscillators/norms.js +11 -0
  57. package/dist/atlas/oscillators/norms.js.map +1 -0
  58. package/dist/atlas/oscillators/pendulum-motion.d.ts +38 -0
  59. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -0
  60. package/dist/atlas/oscillators/pendulum-motion.js +122 -0
  61. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -0
  62. package/dist/atlas/oscillators/phase-carriage.d.ts +38 -0
  63. package/dist/atlas/oscillators/phase-carriage.d.ts.map +1 -0
  64. package/dist/atlas/oscillators/phase-carriage.js +96 -0
  65. package/dist/atlas/oscillators/phase-carriage.js.map +1 -0
  66. package/dist/atlas/oscillators/phase-translation.d.ts +46 -0
  67. package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -0
  68. package/dist/atlas/oscillators/phase-translation.js +178 -0
  69. package/dist/atlas/oscillators/phase-translation.js.map +1 -0
  70. package/dist/atlas/oscillators/position-translation.d.ts +59 -0
  71. package/dist/atlas/oscillators/position-translation.d.ts.map +1 -0
  72. package/dist/atlas/oscillators/position-translation.js +254 -0
  73. package/dist/atlas/oscillators/position-translation.js.map +1 -0
  74. package/dist/atlas/path-bound.d.ts +126 -9
  75. package/dist/atlas/path-bound.d.ts.map +1 -1
  76. package/dist/atlas/path-bound.js +372 -23
  77. package/dist/atlas/path-bound.js.map +1 -1
  78. package/dist/atlas/physjs-ref.d.ts +112 -0
  79. package/dist/atlas/physjs-ref.d.ts.map +1 -0
  80. package/dist/atlas/physjs-ref.js +842 -0
  81. package/dist/atlas/physjs-ref.js.map +1 -0
  82. package/dist/atlas/regime.d.ts +12 -136
  83. package/dist/atlas/regime.d.ts.map +1 -1
  84. package/dist/atlas/regime.js +8 -254
  85. package/dist/atlas/regime.js.map +1 -1
  86. package/dist/atlas/serialize.d.ts.map +1 -1
  87. package/dist/atlas/serialize.js +25 -0
  88. package/dist/atlas/serialize.js.map +1 -1
  89. package/dist/atlas/translation-registry.d.ts +22 -0
  90. package/dist/atlas/translation-registry.d.ts.map +1 -0
  91. package/dist/atlas/translation-registry.js +31 -0
  92. package/dist/atlas/translation-registry.js.map +1 -0
  93. package/dist/atlas/translation.d.ts +116 -0
  94. package/dist/atlas/translation.d.ts.map +1 -0
  95. package/dist/atlas/translation.js +34 -0
  96. package/dist/atlas/translation.js.map +1 -0
  97. package/dist/atlas/types.d.ts +74 -240
  98. package/dist/atlas/types.d.ts.map +1 -1
  99. package/dist/atlas/types.js +5 -37
  100. package/dist/atlas/types.js.map +1 -1
  101. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  102. package/dist/atlas/waves/bridges-closure.js +4 -0
  103. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  104. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  105. package/dist/atlas/waves/bridges.js +3 -0
  106. package/dist/atlas/waves/bridges.js.map +1 -1
  107. package/dist/atlas/waves/models.js +1 -1
  108. package/dist/atlas/waves/models.js.map +1 -1
  109. package/dist/atlas/witness-dominance.d.ts +50 -0
  110. package/dist/atlas/witness-dominance.d.ts.map +1 -0
  111. package/dist/atlas/witness-dominance.js +86 -0
  112. package/dist/atlas/witness-dominance.js.map +1 -0
  113. package/dist/atlas/witness-specs.d.ts +30 -0
  114. package/dist/atlas/witness-specs.d.ts.map +1 -1
  115. package/dist/atlas/witness-specs.js +107 -0
  116. package/dist/atlas/witness-specs.js.map +1 -1
  117. package/dist/bridges/be53-yang-mills-confrontation.d.ts +81 -0
  118. package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +1 -0
  119. package/dist/bridges/be53-yang-mills-confrontation.js +110 -0
  120. package/dist/bridges/be53-yang-mills-confrontation.js.map +1 -0
  121. package/dist/bridges/confrontations.d.ts +1 -1
  122. package/dist/bridges/confrontations.d.ts.map +1 -1
  123. package/dist/bridges/confrontations.js +291 -3
  124. package/dist/bridges/confrontations.js.map +1 -1
  125. package/dist/bridges/equations/be-13-einstein-trace.d.ts +2 -3
  126. package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
  127. package/dist/bridges/equations/be-13-einstein-trace.js +2 -3
  128. package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
  129. package/dist/bridges/equations/be-38-mond.d.ts +7 -5
  130. package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
  131. package/dist/bridges/equations/be-38-mond.js +7 -5
  132. package/dist/bridges/equations/be-38-mond.js.map +1 -1
  133. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +21 -0
  134. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -1
  135. package/dist/bridges/equations/be-53-yang-mills-beta.js +12 -0
  136. package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -1
  137. package/dist/bridges/evaluator-inputs.d.ts +21 -0
  138. package/dist/bridges/evaluator-inputs.d.ts.map +1 -0
  139. package/dist/bridges/evaluator-inputs.js +75 -0
  140. package/dist/bridges/evaluator-inputs.js.map +1 -0
  141. package/dist/bridges/evaluators.d.ts +38 -0
  142. package/dist/bridges/evaluators.d.ts.map +1 -1
  143. package/dist/bridges/evaluators.js +41 -15
  144. package/dist/bridges/evaluators.js.map +1 -1
  145. package/dist/bridges/gravitational-lensing.d.ts +1 -1
  146. package/dist/bridges/gravitational-lensing.js +1 -1
  147. package/dist/bridges/index.d.ts +1 -1
  148. package/dist/bridges/index.d.ts.map +1 -1
  149. package/dist/bridges/index.js +13 -13
  150. package/dist/bridges/index.js.map +1 -1
  151. package/dist/bridges/observations/types.d.ts +110 -2
  152. package/dist/bridges/observations/types.d.ts.map +1 -1
  153. package/dist/bridges/observations/types.js +29 -0
  154. package/dist/bridges/observations/types.js.map +1 -1
  155. package/dist/bridges/perihelion-precession.d.ts +1 -1
  156. package/dist/bridges/perihelion-precession.js +1 -1
  157. package/dist/canonical/canonical-equation.d.ts +1 -1
  158. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  159. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  160. package/dist/canonical/entries/atomic.js +32 -10
  161. package/dist/canonical/entries/atomic.js.map +1 -1
  162. package/dist/canonical/entries/dimensional-classics.js +2 -2
  163. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  164. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  165. package/dist/canonical/entries/mechanics.js +10 -6
  166. package/dist/canonical/entries/mechanics.js.map +1 -1
  167. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  168. package/dist/canonical/entries/relativity.js +41 -8
  169. package/dist/canonical/entries/relativity.js.map +1 -1
  170. package/dist/canonical/entries/thermo-nuclear-cosmo.js +5 -5
  171. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  172. package/dist/canonical/linkage.d.ts.map +1 -1
  173. package/dist/canonical/linkage.js +14 -8
  174. package/dist/canonical/linkage.js.map +1 -1
  175. package/dist/canonical/normal-form.d.ts +17 -0
  176. package/dist/canonical/normal-form.d.ts.map +1 -1
  177. package/dist/canonical/normal-form.js +21 -4
  178. package/dist/canonical/normal-form.js.map +1 -1
  179. package/dist/cases/brownian-sphere.d.ts +68 -0
  180. package/dist/cases/brownian-sphere.d.ts.map +1 -0
  181. package/dist/cases/brownian-sphere.js +353 -0
  182. package/dist/cases/brownian-sphere.js.map +1 -0
  183. package/dist/cases/damped-resonator.d.ts +23 -0
  184. package/dist/cases/damped-resonator.d.ts.map +1 -0
  185. package/dist/cases/damped-resonator.js +224 -0
  186. package/dist/cases/damped-resonator.js.map +1 -0
  187. package/dist/cases/index.d.ts +11 -0
  188. package/dist/cases/index.d.ts.map +1 -0
  189. package/dist/cases/index.js +29 -0
  190. package/dist/cases/index.js.map +1 -0
  191. package/dist/cases/kepler-rv.d.ts +13 -0
  192. package/dist/cases/kepler-rv.d.ts.map +1 -0
  193. package/dist/cases/kepler-rv.js +168 -0
  194. package/dist/cases/kepler-rv.js.map +1 -0
  195. package/dist/cases/lumped-cooling.d.ts +46 -0
  196. package/dist/cases/lumped-cooling.d.ts.map +1 -0
  197. package/dist/cases/lumped-cooling.js +261 -0
  198. package/dist/cases/lumped-cooling.js.map +1 -0
  199. package/dist/cases/quadrature.d.ts +14 -0
  200. package/dist/cases/quadrature.d.ts.map +1 -0
  201. package/dist/cases/quadrature.js +41 -0
  202. package/dist/cases/quadrature.js.map +1 -0
  203. package/dist/cases/resistor-noise.d.ts +14 -0
  204. package/dist/cases/resistor-noise.d.ts.map +1 -0
  205. package/dist/cases/resistor-noise.js +210 -0
  206. package/dist/cases/resistor-noise.js.map +1 -0
  207. package/dist/cases/skin-depth.d.ts +21 -0
  208. package/dist/cases/skin-depth.d.ts.map +1 -0
  209. package/dist/cases/skin-depth.js +174 -0
  210. package/dist/cases/skin-depth.js.map +1 -0
  211. package/dist/cases/types.d.ts +115 -0
  212. package/dist/cases/types.d.ts.map +1 -0
  213. package/dist/cases/types.js +20 -0
  214. package/dist/cases/types.js.map +1 -0
  215. package/dist/cli/commands/_atlas-map.d.ts +409 -0
  216. package/dist/cli/commands/_atlas-map.d.ts.map +1 -0
  217. package/dist/cli/commands/_atlas-map.js +1014 -0
  218. package/dist/cli/commands/_atlas-map.js.map +1 -0
  219. package/dist/cli/commands/_atlas-route.d.ts +111 -0
  220. package/dist/cli/commands/_atlas-route.d.ts.map +1 -0
  221. package/dist/cli/commands/_atlas-route.js +140 -0
  222. package/dist/cli/commands/_atlas-route.js.map +1 -0
  223. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  224. package/dist/cli/commands/_discovery-opts.js +10 -1
  225. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  226. package/dist/cli/commands/atlas.d.ts +20 -0
  227. package/dist/cli/commands/atlas.d.ts.map +1 -1
  228. package/dist/cli/commands/atlas.js +333 -19
  229. package/dist/cli/commands/atlas.js.map +1 -1
  230. package/dist/cli/commands/audit.d.ts.map +1 -1
  231. package/dist/cli/commands/audit.js +14 -5
  232. package/dist/cli/commands/audit.js.map +1 -1
  233. package/dist/cli/commands/axes.js +4 -4
  234. package/dist/cli/commands/candidates.d.ts.map +1 -1
  235. package/dist/cli/commands/candidates.js +6 -5
  236. package/dist/cli/commands/candidates.js.map +1 -1
  237. package/dist/cli/commands/canonical.d.ts.map +1 -1
  238. package/dist/cli/commands/canonical.js +41 -12
  239. package/dist/cli/commands/canonical.js.map +1 -1
  240. package/dist/cli/commands/confront.d.ts.map +1 -1
  241. package/dist/cli/commands/confront.js +210 -28
  242. package/dist/cli/commands/confront.js.map +1 -1
  243. package/dist/cli/commands/connectors.d.ts.map +1 -1
  244. package/dist/cli/commands/connectors.js +11 -10
  245. package/dist/cli/commands/connectors.js.map +1 -1
  246. package/dist/cli/commands/coverage.js +3 -3
  247. package/dist/cli/commands/derive.d.ts.map +1 -1
  248. package/dist/cli/commands/derive.js +22 -10
  249. package/dist/cli/commands/derive.js.map +1 -1
  250. package/dist/cli/commands/discover.d.ts.map +1 -1
  251. package/dist/cli/commands/discover.js +149 -32
  252. package/dist/cli/commands/discover.js.map +1 -1
  253. package/dist/cli/commands/eval.d.ts.map +1 -1
  254. package/dist/cli/commands/eval.js +76 -17
  255. package/dist/cli/commands/eval.js.map +1 -1
  256. package/dist/cli/commands/evaluate.d.ts +30 -0
  257. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  258. package/dist/cli/commands/evaluate.js +440 -25
  259. package/dist/cli/commands/evaluate.js.map +1 -1
  260. package/dist/cli/commands/explain.d.ts.map +1 -1
  261. package/dist/cli/commands/explain.js +38 -11
  262. package/dist/cli/commands/explain.js.map +1 -1
  263. package/dist/cli/commands/frontier.d.ts +3 -0
  264. package/dist/cli/commands/frontier.d.ts.map +1 -0
  265. package/dist/cli/commands/frontier.js +28 -0
  266. package/dist/cli/commands/frontier.js.map +1 -0
  267. package/dist/cli/commands/ground.d.ts.map +1 -1
  268. package/dist/cli/commands/ground.js +37 -12
  269. package/dist/cli/commands/ground.js.map +1 -1
  270. package/dist/cli/commands/index.d.ts +5 -0
  271. package/dist/cli/commands/index.d.ts.map +1 -1
  272. package/dist/cli/commands/index.js +5 -0
  273. package/dist/cli/commands/index.js.map +1 -1
  274. package/dist/cli/commands/map.d.ts +8 -0
  275. package/dist/cli/commands/map.d.ts.map +1 -1
  276. package/dist/cli/commands/map.js +401 -64
  277. package/dist/cli/commands/map.js.map +1 -1
  278. package/dist/cli/commands/metric.d.ts +3 -0
  279. package/dist/cli/commands/metric.d.ts.map +1 -0
  280. package/dist/cli/commands/metric.js +136 -0
  281. package/dist/cli/commands/metric.js.map +1 -0
  282. package/dist/cli/commands/path.d.ts +109 -1
  283. package/dist/cli/commands/path.d.ts.map +1 -1
  284. package/dist/cli/commands/path.js +1019 -109
  285. package/dist/cli/commands/path.js.map +1 -1
  286. package/dist/cli/commands/predict.d.ts.map +1 -1
  287. package/dist/cli/commands/predict.js +6 -5
  288. package/dist/cli/commands/predict.js.map +1 -1
  289. package/dist/cli/commands/priority.d.ts.map +1 -1
  290. package/dist/cli/commands/priority.js +4 -3
  291. package/dist/cli/commands/priority.js.map +1 -1
  292. package/dist/cli/commands/probe.d.ts +7 -0
  293. package/dist/cli/commands/probe.d.ts.map +1 -1
  294. package/dist/cli/commands/probe.js +234 -52
  295. package/dist/cli/commands/probe.js.map +1 -1
  296. package/dist/cli/commands/recover.d.ts.map +1 -1
  297. package/dist/cli/commands/recover.js +17 -6
  298. package/dist/cli/commands/recover.js.map +1 -1
  299. package/dist/cli/commands/regime.d.ts +1 -1
  300. package/dist/cli/commands/regime.d.ts.map +1 -1
  301. package/dist/cli/commands/regime.js +134 -33
  302. package/dist/cli/commands/regime.js.map +1 -1
  303. package/dist/cli/commands/retrieve.d.ts +3 -0
  304. package/dist/cli/commands/retrieve.d.ts.map +1 -0
  305. package/dist/cli/commands/retrieve.js +65 -0
  306. package/dist/cli/commands/retrieve.js.map +1 -0
  307. package/dist/cli/commands/search.d.ts +3 -0
  308. package/dist/cli/commands/search.d.ts.map +1 -0
  309. package/dist/cli/commands/search.js +70 -0
  310. package/dist/cli/commands/search.js.map +1 -0
  311. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  312. package/dist/cli/commands/symbolic.js +112 -21
  313. package/dist/cli/commands/symbolic.js.map +1 -1
  314. package/dist/cli/commands/testplan.d.ts +3 -0
  315. package/dist/cli/commands/testplan.d.ts.map +1 -0
  316. package/dist/cli/commands/testplan.js +131 -0
  317. package/dist/cli/commands/testplan.js.map +1 -0
  318. package/dist/cli/conventions.d.ts +22 -0
  319. package/dist/cli/conventions.d.ts.map +1 -0
  320. package/dist/cli/conventions.js +48 -0
  321. package/dist/cli/conventions.js.map +1 -0
  322. package/dist/cli/euler-guard.d.ts +9 -0
  323. package/dist/cli/euler-guard.d.ts.map +1 -0
  324. package/dist/cli/euler-guard.js +11 -0
  325. package/dist/cli/euler-guard.js.map +1 -0
  326. package/dist/cli/eval-numbers.d.ts +26 -0
  327. package/dist/cli/eval-numbers.d.ts.map +1 -0
  328. package/dist/cli/eval-numbers.js +49 -0
  329. package/dist/cli/eval-numbers.js.map +1 -0
  330. package/dist/cli/expr-print.d.ts +25 -0
  331. package/dist/cli/expr-print.d.ts.map +1 -0
  332. package/dist/cli/expr-print.js +123 -0
  333. package/dist/cli/expr-print.js.map +1 -0
  334. package/dist/cli/graphs.d.ts +26 -0
  335. package/dist/cli/graphs.d.ts.map +1 -1
  336. package/dist/cli/graphs.js +19 -0
  337. package/dist/cli/graphs.js.map +1 -1
  338. package/dist/cli/main.d.ts +4 -10
  339. package/dist/cli/main.d.ts.map +1 -1
  340. package/dist/cli/main.js +370 -167
  341. package/dist/cli/main.js.map +1 -1
  342. package/dist/cli/map-evidence.d.ts +47 -0
  343. package/dist/cli/map-evidence.d.ts.map +1 -0
  344. package/dist/cli/map-evidence.js +53 -0
  345. package/dist/cli/map-evidence.js.map +1 -0
  346. package/dist/cli/output.d.ts +21 -1
  347. package/dist/cli/output.d.ts.map +1 -1
  348. package/dist/cli/output.js +5 -1
  349. package/dist/cli/output.js.map +1 -1
  350. package/dist/{composition → cli}/poster-source.d.ts +3 -2
  351. package/dist/cli/poster-source.d.ts.map +1 -0
  352. package/dist/{composition → cli}/poster-source.js +2 -1
  353. package/dist/cli/poster-source.js.map +1 -0
  354. package/dist/cli/record-reach.d.ts +44 -0
  355. package/dist/cli/record-reach.d.ts.map +1 -0
  356. package/dist/cli/record-reach.js +228 -0
  357. package/dist/cli/record-reach.js.map +1 -0
  358. package/dist/cli/record-tables.d.ts +38 -0
  359. package/dist/cli/record-tables.d.ts.map +1 -0
  360. package/dist/cli/record-tables.js +110 -0
  361. package/dist/cli/record-tables.js.map +1 -0
  362. package/dist/cli/record.d.ts +141 -0
  363. package/dist/cli/record.d.ts.map +1 -0
  364. package/dist/cli/record.js +612 -0
  365. package/dist/cli/record.js.map +1 -0
  366. package/dist/cli/search-index.d.ts +56 -0
  367. package/dist/cli/search-index.d.ts.map +1 -0
  368. package/dist/cli/search-index.js +190 -0
  369. package/dist/cli/search-index.js.map +1 -0
  370. package/dist/cli/statuses.d.ts +25 -0
  371. package/dist/cli/statuses.d.ts.map +1 -0
  372. package/dist/cli/statuses.js +276 -0
  373. package/dist/cli/statuses.js.map +1 -0
  374. package/dist/cli/version.d.ts +8 -0
  375. package/dist/cli/version.d.ts.map +1 -1
  376. package/dist/cli/version.js +32 -1
  377. package/dist/cli/version.js.map +1 -1
  378. package/dist/cli-api.d.ts +33 -15
  379. package/dist/cli-api.d.ts.map +1 -1
  380. package/dist/cli-api.js +31 -11
  381. package/dist/cli-api.js.map +1 -1
  382. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  383. package/dist/composition/bridge-analysis.js +2 -1
  384. package/dist/composition/bridge-analysis.js.map +1 -1
  385. package/dist/composition/canonical-compare.d.ts +36 -11
  386. package/dist/composition/canonical-compare.d.ts.map +1 -1
  387. package/dist/composition/canonical-compare.js +424 -56
  388. package/dist/composition/canonical-compare.js.map +1 -1
  389. package/dist/composition/canonical-graph.d.ts +2 -2
  390. package/dist/composition/canonical-graph.js +3 -3
  391. package/dist/composition/canonical-graph.js.map +1 -1
  392. package/dist/composition/canonical-prefactors.d.ts +24 -1
  393. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  394. package/dist/composition/canonical-prefactors.js +97 -1
  395. package/dist/composition/canonical-prefactors.js.map +1 -1
  396. package/dist/composition/compose-symbolic.js +1 -1
  397. package/dist/composition/compose-symbolic.js.map +1 -1
  398. package/dist/composition/compose.d.ts.map +1 -1
  399. package/dist/composition/compose.js +17 -9
  400. package/dist/composition/compose.js.map +1 -1
  401. package/dist/composition/composition-recovery.d.ts +47 -0
  402. package/dist/composition/composition-recovery.d.ts.map +1 -0
  403. package/dist/composition/composition-recovery.js +77 -0
  404. package/dist/composition/composition-recovery.js.map +1 -0
  405. package/dist/composition/consequence.d.ts +39 -0
  406. package/dist/composition/consequence.d.ts.map +1 -1
  407. package/dist/composition/consequence.js +37 -0
  408. package/dist/composition/consequence.js.map +1 -1
  409. package/dist/composition/discovery.d.ts +20 -0
  410. package/dist/composition/discovery.d.ts.map +1 -1
  411. package/dist/composition/discovery.js +27 -5
  412. package/dist/composition/discovery.js.map +1 -1
  413. package/dist/composition/edge.d.ts +1 -1
  414. package/dist/composition/edge.d.ts.map +1 -1
  415. package/dist/composition/edge.js.map +1 -1
  416. package/dist/composition/edges/_catalog-helpers.d.ts +4 -0
  417. package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -1
  418. package/dist/composition/edges/_catalog-helpers.js +15 -0
  419. package/dist/composition/edges/_catalog-helpers.js.map +1 -1
  420. package/dist/composition/edges/calibration.d.ts.map +1 -1
  421. package/dist/composition/edges/calibration.js +57 -0
  422. package/dist/composition/edges/calibration.js.map +1 -1
  423. package/dist/composition/edges/catalog-fields.d.ts.map +1 -1
  424. package/dist/composition/edges/catalog-fields.js +2 -1
  425. package/dist/composition/edges/catalog-fields.js.map +1 -1
  426. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -1
  427. package/dist/composition/edges/catalog-gravitation-cosmology.js +2 -1
  428. package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -1
  429. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  430. package/dist/composition/edges/catalog-quantum.js +26 -0
  431. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  432. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  433. package/dist/composition/edges/catalog-tranche.js +2 -1
  434. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  435. package/dist/composition/expr-eval.d.ts.map +1 -1
  436. package/dist/composition/expr-eval.js +4 -1
  437. package/dist/composition/expr-eval.js.map +1 -1
  438. package/dist/composition/expr-simplify.js +1 -1
  439. package/dist/composition/expr-simplify.js.map +1 -1
  440. package/dist/composition/frontier-account.d.ts +78 -0
  441. package/dist/composition/frontier-account.d.ts.map +1 -0
  442. package/dist/composition/frontier-account.js +127 -0
  443. package/dist/composition/frontier-account.js.map +1 -0
  444. package/dist/composition/graph-viz.d.ts +7 -22
  445. package/dist/composition/graph-viz.d.ts.map +1 -1
  446. package/dist/composition/graph-viz.js +4 -27
  447. package/dist/composition/graph-viz.js.map +1 -1
  448. package/dist/composition/grounding.d.ts +49 -0
  449. package/dist/composition/grounding.d.ts.map +1 -1
  450. package/dist/composition/grounding.js +38 -0
  451. package/dist/composition/grounding.js.map +1 -1
  452. package/dist/composition/index.d.ts +0 -2
  453. package/dist/composition/index.d.ts.map +1 -1
  454. package/dist/composition/index.js +1 -1
  455. package/dist/composition/index.js.map +1 -1
  456. package/dist/composition/probe/expression-gaps.d.ts +27 -0
  457. package/dist/composition/probe/expression-gaps.d.ts.map +1 -0
  458. package/dist/composition/probe/expression-gaps.js +47 -0
  459. package/dist/composition/probe/expression-gaps.js.map +1 -0
  460. package/dist/composition/probe/frontier.d.ts +2 -1
  461. package/dist/composition/probe/frontier.d.ts.map +1 -1
  462. package/dist/composition/probe/frontier.js +3 -2
  463. package/dist/composition/probe/frontier.js.map +1 -1
  464. package/dist/composition/probe/index.d.ts +4 -1
  465. package/dist/composition/probe/index.d.ts.map +1 -1
  466. package/dist/composition/probe/index.js +3 -1
  467. package/dist/composition/probe/index.js.map +1 -1
  468. package/dist/composition/probe/pipeline.d.ts +2 -0
  469. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  470. package/dist/composition/probe/pipeline.js +6 -2
  471. package/dist/composition/probe/pipeline.js.map +1 -1
  472. package/dist/composition/probe/problem.d.ts +7 -0
  473. package/dist/composition/probe/problem.d.ts.map +1 -1
  474. package/dist/composition/probe/problem.js +15 -5
  475. package/dist/composition/probe/problem.js.map +1 -1
  476. package/dist/composition/probe/search-budget.d.ts.map +1 -1
  477. package/dist/composition/probe/search-budget.js +6 -2
  478. package/dist/composition/probe/search-budget.js.map +1 -1
  479. package/dist/composition/probe/study.d.ts +340 -0
  480. package/dist/composition/probe/study.d.ts.map +1 -0
  481. package/dist/composition/probe/study.js +1519 -0
  482. package/dist/composition/probe/study.js.map +1 -0
  483. package/dist/composition/proposed-bridges.js +1 -1
  484. package/dist/composition/proposed-bridges.js.map +1 -1
  485. package/dist/composition/quantities.d.ts +4 -16
  486. package/dist/composition/quantities.d.ts.map +1 -1
  487. package/dist/composition/quantities.js +4 -16
  488. package/dist/composition/quantities.js.map +1 -1
  489. package/dist/composition/retrodiction.d.ts.map +1 -1
  490. package/dist/composition/retrodiction.js +6 -2
  491. package/dist/composition/retrodiction.js.map +1 -1
  492. package/dist/composition/uncertainty.d.ts +1 -1
  493. package/dist/composition/uncertainty.d.ts.map +1 -1
  494. package/dist/composition/user-equation.d.ts +87 -14
  495. package/dist/composition/user-equation.d.ts.map +1 -1
  496. package/dist/composition/user-equation.js +266 -59
  497. package/dist/composition/user-equation.js.map +1 -1
  498. package/dist/core/constants.d.ts +9 -4
  499. package/dist/core/constants.d.ts.map +1 -1
  500. package/dist/core/constants.js +9 -4
  501. package/dist/core/constants.js.map +1 -1
  502. package/dist/core/types.d.ts +1 -1
  503. package/dist/core/types.d.ts.map +1 -1
  504. package/dist/core/types.js +2 -1
  505. package/dist/core/types.js.map +1 -1
  506. package/dist/dimensional/curvature.d.ts +7 -56
  507. package/dist/dimensional/curvature.d.ts.map +1 -1
  508. package/dist/dimensional/curvature.js +7 -76
  509. package/dist/dimensional/curvature.js.map +1 -1
  510. package/dist/dimensional/dimension-spec.d.ts +7 -1
  511. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  512. package/dist/dimensional/dimension-spec.js +131 -3
  513. package/dist/dimensional/dimension-spec.js.map +1 -1
  514. package/dist/dimensional/formula-names.d.ts +30 -0
  515. package/dist/dimensional/formula-names.d.ts.map +1 -0
  516. package/dist/dimensional/formula-names.js +37 -0
  517. package/dist/dimensional/formula-names.js.map +1 -0
  518. package/dist/dimensional/natural-units.d.ts +33 -0
  519. package/dist/dimensional/natural-units.d.ts.map +1 -0
  520. package/dist/dimensional/natural-units.js +58 -0
  521. package/dist/dimensional/natural-units.js.map +1 -0
  522. package/dist/{composition → dimensional}/symbolic-constants.d.ts +21 -2
  523. package/dist/dimensional/symbolic-constants.d.ts.map +1 -0
  524. package/dist/dimensional/symbolic-constants.js +116 -0
  525. package/dist/dimensional/symbolic-constants.js.map +1 -0
  526. package/dist/dimensional/unit-convention.d.ts +30 -0
  527. package/dist/dimensional/unit-convention.d.ts.map +1 -0
  528. package/dist/dimensional/unit-convention.js +60 -0
  529. package/dist/dimensional/unit-convention.js.map +1 -0
  530. package/dist/dimensional/units.d.ts +43 -0
  531. package/dist/dimensional/units.d.ts.map +1 -0
  532. package/dist/dimensional/units.js +197 -0
  533. package/dist/dimensional/units.js.map +1 -0
  534. package/dist/index.d.ts +8 -4
  535. package/dist/index.d.ts.map +1 -1
  536. package/dist/index.js +7 -3
  537. package/dist/index.js.map +1 -1
  538. package/dist/numerical/bianchi-residual.d.ts +55 -0
  539. package/dist/numerical/bianchi-residual.d.ts.map +1 -0
  540. package/dist/numerical/bianchi-residual.js +79 -0
  541. package/dist/numerical/bianchi-residual.js.map +1 -0
  542. package/dist/numerical/binding-value.d.ts +67 -0
  543. package/dist/numerical/binding-value.d.ts.map +1 -0
  544. package/dist/numerical/binding-value.js +347 -0
  545. package/dist/numerical/binding-value.js.map +1 -0
  546. package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
  547. package/dist/numerical/connection-lowering-helpers.js +13 -26
  548. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  549. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  550. package/dist/numerical/curvature-lowering-helpers.js +9 -0
  551. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  552. package/dist/numerical/float64-engine.d.ts.map +1 -1
  553. package/dist/numerical/float64-engine.js +23 -16
  554. package/dist/numerical/float64-engine.js.map +1 -1
  555. package/dist/numerical/formula-dimension.d.ts +7 -0
  556. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  557. package/dist/numerical/formula-dimension.js +23 -6
  558. package/dist/numerical/formula-dimension.js.map +1 -1
  559. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  560. package/dist/numerical/formula-mathts.js +68 -6
  561. package/dist/numerical/formula-mathts.js.map +1 -1
  562. package/dist/numerical/formula.d.ts +27 -0
  563. package/dist/numerical/formula.d.ts.map +1 -1
  564. package/dist/numerical/formula.js +68 -6
  565. package/dist/numerical/formula.js.map +1 -1
  566. package/dist/numerical/spacetime-metrics.d.ts +243 -0
  567. package/dist/numerical/spacetime-metrics.d.ts.map +1 -0
  568. package/dist/numerical/spacetime-metrics.js +1056 -0
  569. package/dist/numerical/spacetime-metrics.js.map +1 -0
  570. package/dist/relations/composition-table.d.ts +61 -0
  571. package/dist/relations/composition-table.d.ts.map +1 -0
  572. package/dist/relations/composition-table.js +140 -0
  573. package/dist/relations/composition-table.js.map +1 -0
  574. package/dist/relations/conventions.d.ts +63 -0
  575. package/dist/relations/conventions.d.ts.map +1 -0
  576. package/dist/relations/conventions.js +93 -0
  577. package/dist/relations/conventions.js.map +1 -0
  578. package/dist/relations/regime.d.ts +159 -0
  579. package/dist/relations/regime.d.ts.map +1 -0
  580. package/dist/relations/regime.js +304 -0
  581. package/dist/relations/regime.js.map +1 -0
  582. package/dist/relations/types.d.ts +259 -0
  583. package/dist/relations/types.d.ts.map +1 -0
  584. package/dist/relations/types.js +37 -0
  585. package/dist/relations/types.js.map +1 -0
  586. package/package.json +166 -163
  587. package/dist/composition/poster-source.d.ts.map +0 -1
  588. package/dist/composition/poster-source.js.map +0 -1
  589. package/dist/composition/symbolic-constants.d.ts.map +0 -1
  590. package/dist/composition/symbolic-constants.js +0 -65
  591. package/dist/composition/symbolic-constants.js.map +0 -1
@@ -8,10 +8,11 @@
8
8
  * — extracted by the active formula parser via {@link getFormulaParser} (the
9
9
  * MathTS expression parser when the optional peer is installed, else the built-in
10
10
  * one; both already drop constants like `pi`/`tau`, numbers, and functions) —
11
- * minus the physics {@link CONSTANTS}. Multi-word quantities are typed with
12
- * underscores; resolution tries the literal form first, then the `_`↔`-` swap, so
13
- * both the catalog's hyphenated (`photon-energy`) and underscored
14
- * (`impact_parameter`) names connect.
11
+ * minus the physics {@link CONSTANTS}. Multi-word quantities may be typed with
12
+ * underscores **or** the catalog's own hyphens (`planck-length`): before parse,
13
+ * {@link rewriteCatalogHyphens} rewrites kebab catalog names to underscores so
14
+ * `-` is not read as subtraction (persona finding W2). Resolution still tries
15
+ * the literal form first, then the `_`↔`-` swap.
15
16
  *
16
17
  * Pure: no file I/O. The injected junction is rendered as an `extraJunction`
17
18
  * (status `'user'`) and is never written into the catalog.
@@ -19,7 +20,10 @@
19
20
  * @module composition/user-equation
20
21
  */
21
22
  import { getFormulaParser, parsePhysics } from '../numerical/formula-registry.js';
22
- import { CONSTANTS } from './symbolic-constants.js';
23
+ import { formulaSymbolDimension } from '../numerical/formula-dimension.js';
24
+ import { CONSTANTS } from '../dimensional/symbolic-constants.js';
25
+ import { formulaNameDimensions } from '../dimensional/formula-names.js';
26
+ import { naturalNote, naturalPowers } from '../dimensional/natural-units.js';
23
27
  import { DIMENSIONLESS } from '../dimensional/types.js';
24
28
  import { equals } from '../dimensional/algebra.js';
25
29
  import { inferUnknownDimension } from '../dimensional/dimension-inference.js';
@@ -44,18 +48,96 @@ export class UserEquationError extends Error {
44
48
  */
45
49
  /** Upper bound on user `--equation` text to keep hint computation bounded. */
46
50
  const MAX_USER_EQUATION_LEN = 8192;
47
- export async function parseUserEquation(equation) {
51
+ /** Escape a string for use inside a {@link RegExp} character class / pattern. */
52
+ function escapeRegExp(s) {
53
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
54
+ }
55
+ /**
56
+ * Rewrite catalog kebab-case names (`planck-length`) to underscored forms
57
+ * (`planck_length`) in a formula string so the parser does not treat `-` as
58
+ * subtraction (persona finding W2). Longest match first so
59
+ * `hawking-temperature` wins over `temperature`. Names without a hyphen are
60
+ * left alone. Pure.
61
+ *
62
+ * @internal
63
+ */
64
+ export function rewriteCatalogHyphens(text, catalogNames) {
65
+ const names = [...catalogNames]
66
+ .filter((n) => n.includes('-'))
67
+ .sort((a, b) => b.length - a.length || a.localeCompare(b));
68
+ let out = text;
69
+ for (const name of names) {
70
+ const underscored = name.replace(/-/g, '_');
71
+ // Not a word-char on either side — keeps `planck-length` from eating into
72
+ // `fooplanck-length` / `planck-lengthbar`, and leaves arithmetic `a-b` alone
73
+ // when `a-b` is not a catalog name.
74
+ const re = new RegExp(`(?<![A-Za-z0-9_])${escapeRegExp(name)}(?![A-Za-z0-9_])`, 'g');
75
+ out = out.replace(re, underscored);
76
+ }
77
+ return out;
78
+ }
79
+ /**
80
+ * When a subtract/dimension error still names a hyphenated token that is a
81
+ * catalog quantity, tell the user `-` is arithmetic and to use underscores.
82
+ * Persona finding I2 — clarity even if a rewrite path was skipped.
83
+ *
84
+ * @internal
85
+ */
86
+ export function hyphenSubtractHint(parseError, rhs, catalogNames) {
87
+ if (!/subtract/i.test(parseError) && !/dimension mismatch/i.test(parseError))
88
+ return null;
89
+ const kebabs = [...catalogNames].filter((n) => n.includes('-') && rhs.includes(n));
90
+ if (kebabs.length === 0) {
91
+ // RHS may already have been split; look for catalog prefixes joined by -
92
+ const tokens = rhs.match(/[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)+/g) ?? [];
93
+ for (const t of tokens) {
94
+ if (catalogNames.has(t))
95
+ kebabs.push(t);
96
+ }
97
+ }
98
+ if (kebabs.length === 0)
99
+ return null;
100
+ const example = kebabs.sort((a, b) => b.length - a.length)[0];
101
+ return (`'-' is arithmetic here; multi-word catalog names use underscores ` +
102
+ `(${example} → ${example.replace(/-/g, '_')})`);
103
+ }
104
+ /**
105
+ * Spellings that must not be a bare `e`: `1-eccentricity^2` is the perihelion
106
+ * factor `one_minus_e_sq`, `eps0` and `epsilon0` are `epsilon_0`, and `mu0` is
107
+ * `mu_0`. `upt eval` already accepts `eps0` and `mu0`; this is the equation path.
108
+ */
109
+ function rewriteFormulaSpellings(text) {
110
+ return text
111
+ .replace(/(?<![A-Za-z0-9_])eps0(?![A-Za-z0-9_])/g, 'epsilon_0')
112
+ .replace(/(?<![A-Za-z0-9_])epsilon0(?![A-Za-z0-9_])/g, 'epsilon_0')
113
+ .replace(/(?<![A-Za-z0-9_])mu0(?![A-Za-z0-9_])/g, 'mu_0')
114
+ .replace(/(?<![A-Za-z0-9_])kB(?![A-Za-z0-9_])/g, 'k_B')
115
+ .replace(/(?<![A-Za-z0-9_])1\s*-\s*eccentricity\s*(?:\^|\*\*)\s*2(?![A-Za-z0-9_])/g, 'one_minus_e_sq');
116
+ }
117
+ function withFormulaNames(catalog) {
118
+ const out = new Map(catalog);
119
+ for (const [name, dim] of formulaNameDimensions()) {
120
+ if (!out.has(name))
121
+ out.set(name, dim);
122
+ }
123
+ return out;
124
+ }
125
+ export async function parseUserEquation(equation, catalogNames) {
48
126
  if (equation.length > MAX_USER_EQUATION_LEN) {
49
127
  throw new UserEquationError(`equation exceeds ${MAX_USER_EQUATION_LEN} characters (${equation.length})`);
50
128
  }
51
- const eqIdx = equation.indexOf('=');
129
+ // Materialized once: an iterator (`map.keys()`) would be spent by the first use.
130
+ const names = catalogNames === undefined ? undefined : new Set(catalogNames);
131
+ const spelled = rewriteFormulaSpellings(equation);
132
+ const rewritten = names === undefined ? spelled : rewriteCatalogHyphens(spelled, names);
133
+ const eqIdx = rewritten.indexOf('=');
52
134
  if (eqIdx < 0) {
53
135
  throw new UserEquationError(`equation must be "TARGET = EXPR" (no "=" found in '${equation}')`);
54
136
  }
55
- const target = equation.slice(0, eqIdx).trim();
137
+ const target = rewritten.slice(0, eqIdx).trim();
56
138
  if (!target)
57
139
  throw new UserEquationError('equation has an empty target (left of "=")');
58
- const rhs = equation.slice(eqIdx + 1).trim();
140
+ const rhs = rewritten.slice(eqIdx + 1).trim();
59
141
  if (!rhs)
60
142
  throw new UserEquationError('equation has an empty right-hand side');
61
143
  let variables;
@@ -64,18 +146,34 @@ export async function parseUserEquation(equation) {
64
146
  ({ variables } = parser.parse(rhs));
65
147
  }
66
148
  catch (e) {
67
- throw new UserEquationError(`could not parse the right-hand side '${rhs}': ${e.message}`);
149
+ const base = `could not parse the right-hand side '${rhs}': ${e.message}`;
150
+ const hint = names === undefined
151
+ ? null
152
+ : hyphenSubtractHint(String(e.message), equation.slice(equation.indexOf('=') + 1), names);
153
+ throw new UserEquationError(hint ? `${base}. ${hint}` : base);
68
154
  }
69
155
  const sources = variables.filter((v) => !Object.prototype.hasOwnProperty.call(CONSTANTS, v));
70
- if (sources.length === 0) {
156
+ // An all-constant right-hand side (the Planck length) is an equation about a catalog quantity
157
+ // only when its target is one; otherwise it names nothing to check (persona finding W5).
158
+ const targetIsCatalog = names !== undefined && resolveToCatalogName(target, names) !== null;
159
+ if (sources.length === 0 && !targetIsCatalog) {
71
160
  throw new UserEquationError(`no source quantities in '${rhs}' (only constants/numbers?)`);
72
161
  }
73
- return { target, sources, text: equation.trim() };
162
+ return { target, sources, text: rewritten.trim() };
74
163
  }
164
+ /**
165
+ * Single-letter / latex-style aliases that map onto a catalog quantity when the
166
+ * long name is present and the short token is not (persona finding L4). `T` is
167
+ * temperature in every CE formula_latex that uses it; the pendulum period is
168
+ * named `period`, not `T`, in this catalog.
169
+ */
170
+ const FORMULA_ALIASES = {
171
+ T: 'temperature',
172
+ };
75
173
  /**
76
174
  * Resolve a user symbol to a catalog quantity name: the literal name first, then
77
- * the `_`→`-` and `-`→`_` swaps, against `catalogNames`. Returns `null` if none
78
- * match.
175
+ * the `_`→`-` and `-`→`_` swaps, then {@link FORMULA_ALIASES}, against
176
+ * `catalogNames`. Returns `null` if none match.
79
177
  *
80
178
  * @public
81
179
  */
@@ -88,68 +186,92 @@ export function resolveToCatalogName(name, catalogNames) {
88
186
  const hyphenToUnder = name.replace(/-/g, '_');
89
187
  if (hyphenToUnder !== name && catalogNames.has(hyphenToUnder))
90
188
  return hyphenToUnder;
189
+ const alias = FORMULA_ALIASES[name];
190
+ if (alias !== undefined && catalogNames.has(alias))
191
+ return alias;
91
192
  return null;
92
193
  }
93
- /** Levenshtein edit distance (small DP). */
194
+ /**
195
+ * Optimal-string-alignment edit distance: Levenshtein plus a swap of two adjacent
196
+ * letters as ONE edit. Plain Levenshtein counts `lenght` → `length` as 2, the same
197
+ * as `lenght` → `height`, and the typo's intended name then lost the tie
198
+ * (persona finding N2).
199
+ */
94
200
  function editDistance(a, b) {
95
201
  const m = a.length;
96
202
  const n = b.length;
97
- let prev = new Array(n + 1);
98
- for (let j = 0; j <= n; j++)
99
- prev[j] = j;
203
+ let prev2 = new Array(n + 1).fill(0);
204
+ let prev = Array.from({ length: n + 1 }, (_, j) => j);
100
205
  let curr = new Array(n + 1);
101
206
  for (let i = 1; i <= m; i++) {
102
207
  curr[0] = i;
103
208
  for (let j = 1; j <= n; j++) {
104
209
  const cost = a[i - 1] === b[j - 1] ? 0 : 1;
105
210
  curr[j] = Math.min(prev[j] + 1, curr[j - 1] + 1, prev[j - 1] + cost);
211
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
212
+ curr[j] = Math.min(curr[j], prev2[j - 2] + 1);
213
+ }
106
214
  }
107
- [prev, curr] = [curr, prev];
215
+ [prev2, prev, curr] = [prev, curr, prev2];
108
216
  }
109
217
  return prev[n];
110
218
  }
111
219
  /** Normalize for comparison: lowercase, `_`/`-` unified. */
112
220
  const normalizeForCompare = (s) => s.toLowerCase().replace(/[_-]/g, '-');
221
+ /** The shortest name that counts as contained in another for the "did you mean?" ranking. */
222
+ const MIN_CONTAINED = 3;
113
223
  /**
114
- * Up to `k` catalog names most similar to `name` — the "did you mean?" set for an
115
- * unmatched user symbol. Names where one string contains the other rank first,
116
- * then by edit distance, then by length.
117
- *
118
- * @public
224
+ * The one "did you mean?" ranking, shared by {@link suggestQuantities} and
225
+ * {@link suggestByDimension}: edit distance first, then containment (one name
226
+ * inside the other), then length, then name. Edit distance leads so a one-edit
227
+ * typo beats a substring: `hawkng-temperature` → `hawking-temperature` before
228
+ * `temperature` (persona finding N5). `gate` keeps a candidate only if one name
229
+ * contains the other (the contained one at least three characters long) or the
230
+ * distance is small against the query length; the
231
+ * dimension-based caller passes `false`, because there the dimension is the evidence.
119
232
  */
120
- export function suggestQuantities(name, catalogNames, k = 5) {
233
+ function rankByName(name, candidates, gate) {
121
234
  const needle = normalizeForCompare(name);
122
- // Relevance gate: keep a candidate only if one name contains the other or the
123
- // edit distance is small relative to the query length — otherwise short catalog
124
- // names (`a`, `nu`) are spurious "matches" for any typo.
235
+ // Without the gate, short catalog names (`a`, `nu`) are spurious "matches" for any typo.
125
236
  const maxDist = Math.max(1, Math.ceil(needle.length / 2));
126
- return [...catalogNames]
237
+ // A contained name counts only from MIN_CONTAINED characters: every one-letter name occurs inside
238
+ // a long input (`schrodinger-equation` holds a, g, q, r), and that is not nearness (audit I5).
239
+ const within = (outer, inner) => inner.length >= MIN_CONTAINED && outer.includes(inner);
240
+ return [...candidates]
127
241
  .map((cand) => {
128
242
  const hay = normalizeForCompare(cand);
129
- const contains = hay.includes(needle) || needle.includes(hay) ? 0 : 1;
243
+ const contains = within(hay, needle) || within(needle, hay) ? 0 : 1;
130
244
  return { cand, contains, dist: editDistance(needle, hay) };
131
245
  })
132
- .filter((s) => s.contains === 0 || s.dist <= maxDist)
133
- .sort((x, y) => x.contains - y.contains ||
134
- x.dist - y.dist ||
246
+ .filter((s) => !gate || s.contains === 0 || s.dist <= maxDist)
247
+ .sort((x, y) => x.dist - y.dist ||
248
+ x.contains - y.contains ||
135
249
  x.cand.length - y.cand.length ||
136
250
  x.cand.localeCompare(y.cand))
137
- .slice(0, k)
138
251
  .map((s) => s.cand);
139
252
  }
140
253
  /**
141
- * Catalog quantity names whose dimension equals `dim` (sorted, capped at `k`) —
142
- * the dimension-based "did you mean?" set once an unknown symbol's dimension has
143
- * been inferred.
254
+ * Up to `k` catalog names most similar to `name` — the "did you mean?" set for an
255
+ * unmatched user symbol. Ranked by edit distance first, then containment, then
256
+ * length (the shared ranking of `upt map` and `upt explain`).
257
+ *
258
+ * @public
259
+ */
260
+ export function suggestQuantities(name, catalogNames, k = 5) {
261
+ return rankByName(name, catalogNames, true).slice(0, k);
262
+ }
263
+ /**
264
+ * Catalog quantity names whose dimension equals `dim`, capped at `k` — the
265
+ * dimension-based "did you mean?" set once an unknown symbol's dimension has
266
+ * been inferred. With `near` (the unknown symbol) they are ranked by the same
267
+ * edit-distance ranking as {@link suggestQuantities}, so `lenght` lists `length`
268
+ * first (persona finding N2); without it they are sorted by name.
144
269
  *
145
270
  * @public
146
271
  */
147
- export function suggestByDimension(dim, catalogDims, k = 5) {
148
- return [...catalogDims.entries()]
149
- .filter(([, d]) => equals(d, dim))
150
- .map(([name]) => name)
151
- .sort()
152
- .slice(0, k);
272
+ export function suggestByDimension(dim, catalogDims, k = 5, near) {
273
+ const same = [...catalogDims.entries()].filter(([, d]) => equals(d, dim)).map(([name]) => name);
274
+ return (near === undefined ? same.sort() : rankByName(near, same, false)).slice(0, k);
153
275
  }
154
276
  /**
155
277
  * Describe where `userJunctionId` sits in `model`: its component, the junctions it
@@ -181,6 +303,43 @@ export function equationLanding(model, userJunctionId) {
181
303
  connectedJunctionIds,
182
304
  };
183
305
  }
306
+ /**
307
+ * One or two lines summarising `connects to:` (persona findings W3 / I3).
308
+ * Dumping ~100 edge ids next to a correct pendulum equation made shared
309
+ * `length`/`temperature` look like a physics claim. Rank by overlap with the
310
+ * user's shared quantities first, then textbook/law over bridges, then name.
311
+ * When the list is long, state the structural caveat explicitly.
312
+ *
313
+ * @internal
314
+ */
315
+ export function formatConnectedSummary(model, landing, maxShow = 5) {
316
+ const ids = landing.connectedJunctionIds;
317
+ if (ids.length === 0)
318
+ return [];
319
+ const shared = new Set(landing.sharedQuantities);
320
+ const byId = new Map(model.junctions.map((j) => [j.id, j]));
321
+ const tier = (id) => id.startsWith('CE-') || id.startsWith('law-') ? 0 : id.startsWith('be-') ? 1 : 2;
322
+ const overlap = (id) => {
323
+ const j = byId.get(id);
324
+ if (!j)
325
+ return 0;
326
+ let n = 0;
327
+ for (const qn of [...j.sources, j.target])
328
+ if (shared.has(qn))
329
+ n++;
330
+ return n;
331
+ };
332
+ const ranked = [...ids].sort((a, b) => overlap(b) - overlap(a) || tier(a) - tier(b) || a.localeCompare(b));
333
+ const shown = ranked.slice(0, maxShow);
334
+ const more = ranked.length - shown.length;
335
+ if (more <= 0) {
336
+ return [` nearest equations: ${shown.join(', ')}`];
337
+ }
338
+ return [
339
+ ` nearest equations: ${shown.join(', ')} (+${more} more)`,
340
+ ' (shared-quantity connectivity, not a physics claim)',
341
+ ];
342
+ }
184
343
  /**
185
344
  * Parse + dimensionally analyze a user `TARGET = EXPR` against `catalogDims`
186
345
  * (catalog quantity name → dimension). Throws {@link UserEquationError} on a
@@ -189,10 +348,18 @@ export function equationLanding(model, userJunctionId) {
189
348
  *
190
349
  * @public
191
350
  */
192
- export async function analyzeUserEquation(equation, catalogDims) {
193
- const eq = await parseUserEquation(equation);
194
- const catalogNames = new Set(catalogDims.keys());
195
- const resolve = (n) => resolveToCatalogName(n, catalogNames);
351
+ export async function analyzeUserEquation(equation, catalogDims, options) {
352
+ const dimsIn = withFormulaNames(catalogDims);
353
+ const catalogNames = new Set(dimsIn.keys());
354
+ const bindShort = options?.bindShortNames === true;
355
+ // W2: rewrite catalog kebabs before either parser sees `-` as subtraction.
356
+ const eq = await parseUserEquation(equation, catalogNames);
357
+ const literalShort = (n) => n.length === 1 && catalogNames.has(n) ? n : null;
358
+ const resolve = (n) => {
359
+ if (!bindShort && literalShort(n) !== null)
360
+ return null;
361
+ return resolveToCatalogName(n, catalogNames);
362
+ };
196
363
  // dims for parsePhysics: physics constants carry their REAL dimensions; matched
197
364
  // sources their catalog dimension; the (≤1) unmatched source a DIMENSIONLESS
198
365
  // placeholder so the RHS still parses.
@@ -201,9 +368,11 @@ export async function analyzeUserEquation(equation, catalogDims) {
201
368
  dims[name] = c.dim;
202
369
  for (const s of eq.sources) {
203
370
  const r = resolve(s);
204
- dims[s] = r ? catalogDims.get(r) : DIMENSIONLESS;
371
+ dims[s] = r ? dimsIn.get(r) : (formulaSymbolDimension(s) ?? DIMENSIONLESS);
205
372
  }
206
- const rhsText = equation.slice(equation.indexOf('=') + 1);
373
+ // Use the rewritten equation's RHS (eq.text) so planck-length has already
374
+ // become planck_length before dimensional parse.
375
+ const rhsText = eq.text.slice(eq.text.indexOf('=') + 1);
207
376
  let rhsDimension = null;
208
377
  let exprForInference = null;
209
378
  let parseError = null;
@@ -213,29 +382,64 @@ export async function analyzeUserEquation(equation, catalogDims) {
213
382
  exprForInference = parsed.expr;
214
383
  }
215
384
  catch (e) {
216
- parseError = e instanceof Error ? e.message : String(e);
385
+ const msg = e instanceof Error ? e.message : String(e);
386
+ const hint = hyphenSubtractHint(msg, equation.slice(equation.indexOf('=') + 1), catalogNames);
387
+ parseError = hint ? `${msg}. ${hint}` : msg;
217
388
  }
218
389
  const resolvedTarget = resolve(eq.target);
219
- const targetDimension = resolvedTarget ? catalogDims.get(resolvedTarget) : null;
390
+ const targetDimension = resolvedTarget ? dimsIn.get(resolvedTarget) : null;
391
+ const placeholders = eq.sources.filter((s) => !resolve(s));
220
392
  const hints = [];
221
393
  if (exprForInference) {
222
- const unmatchedSources = eq.sources.filter((s) => !resolve(s));
223
- const totalUnmatched = unmatchedSources.length + (resolvedTarget ? 0 : 1);
394
+ const unmatchedSources = placeholders.filter((s) => bindShort || literalShort(s) === null);
395
+ const totalUnmatched = placeholders.length + (resolvedTarget ? 0 : 1);
224
396
  for (const s of unmatchedSources) {
225
397
  let byDim = null;
398
+ let constants = [];
226
399
  if (targetDimension && totalUnmatched === 1) {
227
400
  const inferred = inferUnknownDimension(exprForInference, s, targetDimension);
228
- if (inferred)
229
- byDim = suggestByDimension(inferred, catalogDims, 5);
401
+ if (inferred) {
402
+ byDim = suggestByDimension(inferred, dimsIn, 5, s);
403
+ if (!equals(inferred, DIMENSIONLESS)) {
404
+ constants = Object.entries(CONSTANTS)
405
+ .filter(([, c]) => equals(c.dim, inferred))
406
+ .map(([name]) => name)
407
+ .sort();
408
+ }
409
+ }
230
410
  }
411
+ const withConstants = constants.length > 0 ? { constants } : {};
231
412
  hints.push(byDim
232
- ? { name: s, suggestions: byDim, byDimension: true }
233
- : { name: s, suggestions: suggestQuantities(s, catalogNames, 5), byDimension: false });
413
+ ? { name: s, suggestions: byDim, byDimension: true, ...withConstants }
414
+ : { name: s, suggestions: suggestQuantities(s, catalogNames, 5), byDimension: false, ...withConstants });
234
415
  }
235
- if (!resolvedTarget) {
416
+ if (!resolvedTarget && (bindShort || literalShort(eq.target) === null)) {
236
417
  hints.push({ name: eq.target, suggestions: suggestQuantities(eq.target, catalogNames, 5), byDimension: false });
237
418
  }
238
419
  }
420
+ const declined = eq.sources
421
+ .filter((s) => !bindShort && literalShort(s) !== null)
422
+ .map((s) => ({ name: s, quantity: s, dim: dimsIn.get(s), bound: false }));
423
+ const declinedTarget = !bindShort && literalShort(eq.target) !== null
424
+ ? [{ name: eq.target, quantity: eq.target, dim: dimsIn.get(eq.target), bound: false }]
425
+ : [];
426
+ const boundShort = eq.sources
427
+ .filter((s) => s.length === 1 && resolve(s) !== null)
428
+ .map((s) => ({ name: s, quantity: resolve(s), dim: dimsIn.get(resolve(s)) }));
429
+ let consistent = rhsDimension && targetDimension ? equals(rhsDimension, targetDimension) : null;
430
+ let natural;
431
+ if (consistent === false &&
432
+ rhsDimension &&
433
+ targetDimension &&
434
+ options?.units !== undefined &&
435
+ (hints.length === 0)) {
436
+ const powers = naturalPowers(rhsDimension, targetDimension, options.units);
437
+ const note = powers === null ? null : naturalNote(powers, options.units);
438
+ if (note) {
439
+ consistent = true;
440
+ natural = note;
441
+ }
442
+ }
239
443
  return {
240
444
  junction: {
241
445
  id: 'user-equation',
@@ -247,8 +451,11 @@ export async function analyzeUserEquation(equation, catalogDims) {
247
451
  parseError,
248
452
  rhsDimension,
249
453
  targetDimension,
250
- consistent: rhsDimension && targetDimension ? equals(rhsDimension, targetDimension) : null,
454
+ consistent,
251
455
  hints,
456
+ shortBindings: [...declined, ...boundShort, ...declinedTarget],
457
+ placeholders,
458
+ ...(natural === undefined ? {} : { naturalNote: natural }),
252
459
  };
253
460
  }
254
461
  //# sourceMappingURL=user-equation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-equation.js","sourceRoot":"","sources":["../../src/composition/user-equation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-equation.js","sourceRoot":"","sources":["../../src/composition/user-equation.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,8 @@
10
10
  * Values use:
11
11
  * • Exact-SI definitions (`C_SI`, `H_SI`, `K_B_SI`, `E_SI`) where the
12
12
  * 2019 SI redefinition fixed their values exactly.
13
- * • CODATA 2018 best estimates for measured constants (`G_SI`, `HBAR_SI`,
14
- * `ALPHA`, Planck units).
13
+ * • `HBAR_SI` is the exact quotient `H_SI / (2π)`, not the truncated CODATA display.
14
+ * • CODATA 2018 best estimates for measured constants (`G_SI`, `ALPHA`, Planck units).
15
15
  * • Planck 2018 best estimate for `H0_SI`.
16
16
  *
17
17
  * The `PhysicalConstants` namespace in `src/core/types.ts` is retained for
@@ -26,8 +26,13 @@ export declare const C_SI = 299792458;
26
26
  export declare const G_SI = 6.6743e-11;
27
27
  /** Planck constant (J·s). Exact SI definition since 2019. */
28
28
  export declare const H_SI = 6.62607015e-34;
29
- /** Reduced Planck constant h/(2π) (J·s). CODATA 2018. */
30
- export declare const HBAR_SI = 1.054571817e-34;
29
+ /**
30
+ * Reduced Planck constant h/(2π) (J·s). Exact, from the 2019 SI definition of
31
+ * h. The CODATA display `1.054571817e-34` is that quotient truncated; it is
32
+ * smaller by a relative `6.127e-10`. Planck units below stay the published
33
+ * CODATA 2018 values, which were computed from the truncated display.
34
+ */
35
+ export declare const HBAR_SI: number;
31
36
  /** Boltzmann constant (J/K). Exact SI definition since 2019. */
32
37
  export declare const K_B_SI = 1.380649e-23;
33
38
  /** Elementary charge (C). Exact SI definition since 2019. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B,mEAAmE;AACnE,eAAO,MAAM,IAAI,aAAc,CAAC;AAEhC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,iBAAiB,CAAC;AAEnC,yDAAyD;AACzD,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,gEAAgE;AAChE,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,8DAA8D;AAC9D,eAAO,MAAM,KAAK,kBAAkB,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,cAAc,CAAC;AAElC,+CAA+C;AAC/C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,QAAqB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,YAAW,CAAC;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,wBAAe,CAAC;AAEtC,oDAAoD;AACpD,eAAO,MAAM,aAAa,yGAAqF,CAAC;AAEhH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,SAAS,iBAAiB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B,mEAAmE;AACnE,eAAO,MAAM,IAAI,aAAc,CAAC;AAEhC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,iBAAiB,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAuB,CAAC;AAE5C,gEAAgE;AAChE,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,8DAA8D;AAC9D,eAAO,MAAM,KAAK,kBAAkB,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,cAAc,CAAC;AAElC,+CAA+C;AAC/C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,QAAqB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,YAAW,CAAC;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,wBAAe,CAAC;AAEtC,oDAAoD;AACpD,eAAO,MAAM,aAAa,yGAAqF,CAAC;AAEhH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,SAAS,iBAAiB,CAAC"}
@@ -10,8 +10,8 @@
10
10
  * Values use:
11
11
  * • Exact-SI definitions (`C_SI`, `H_SI`, `K_B_SI`, `E_SI`) where the
12
12
  * 2019 SI redefinition fixed their values exactly.
13
- * • CODATA 2018 best estimates for measured constants (`G_SI`, `HBAR_SI`,
14
- * `ALPHA`, Planck units).
13
+ * • `HBAR_SI` is the exact quotient `H_SI / (2π)`, not the truncated CODATA display.
14
+ * • CODATA 2018 best estimates for measured constants (`G_SI`, `ALPHA`, Planck units).
15
15
  * • Planck 2018 best estimate for `H0_SI`.
16
16
  *
17
17
  * The `PhysicalConstants` namespace in `src/core/types.ts` is retained for
@@ -26,8 +26,13 @@ export const C_SI = 299792458;
26
26
  export const G_SI = 6.67430e-11;
27
27
  /** Planck constant (J·s). Exact SI definition since 2019. */
28
28
  export const H_SI = 6.62607015e-34;
29
- /** Reduced Planck constant h/(2π) (J·s). CODATA 2018. */
30
- export const HBAR_SI = 1.054571817e-34;
29
+ /**
30
+ * Reduced Planck constant h/(2π) (J·s). Exact, from the 2019 SI definition of
31
+ * h. The CODATA display `1.054571817e-34` is that quotient truncated; it is
32
+ * smaller by a relative `6.127e-10`. Planck units below stay the published
33
+ * CODATA 2018 values, which were computed from the truncated display.
34
+ */
35
+ export const HBAR_SI = H_SI / (2 * Math.PI);
31
36
  /** Boltzmann constant (J/K). Exact SI definition since 2019. */
32
37
  export const K_B_SI = 1.380649e-23;
33
38
  /** Elementary charge (C). Exact SI definition since 2019. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,mEAAmE;AACnE,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;AAEnC,yDAAyD;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAEvC,gEAAgE;AAChE,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;AAErC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,kFAAkF,CAAC;AAEhH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,mEAAmE;AACnE,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAE5C,gEAAgE;AAChE,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;AAErC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,kFAAkF,CAAC;AAEhH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC"}
@@ -123,7 +123,7 @@ export interface EmergentPhenomenon {
123
123
  export declare const PhysicalConstants: {
124
124
  readonly c: 299792458;
125
125
  readonly h: 6.62607015e-34;
126
- readonly hbar: 1.054571817e-34;
126
+ readonly hbar: number;
127
127
  readonly G: 6.6743e-11;
128
128
  readonly kB: 1.380649e-23;
129
129
  readonly e: 1.602176634e-19;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,YAAY,GACZ,WAAW,GACX,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,KAAK,GACb,eAAe,GACf,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;AAEf;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,UAAU,CAAC;AAEf;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpB,iCAAiC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IAExB,oCAAoC;IACpC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE3C,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,sBAAsB;IACtB,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,0BAA0B;IAC1B,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEvB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE3C,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,MAAM,EAAE,aAAa,CAAC;IAEtB,4BAA4B;IAC5B,MAAM,EAAE,aAAa,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IAEnB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;IAEzB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;aAE5B,CAAC,EAAE,SAAS;aACZ,CAAC,EAAE,cAAc;aACjB,IAAI,EAAE,eAAe;aACrB,CAAC,EAAE,UAAW;aACd,EAAE,EAAE,YAAY;aAChB,CAAC,EAAE,eAAe;aAGlB,KAAK,EAAE,eAAe;aACtB,EAAE,EAAE,YAAY;aAChB,EAAE,EAAE,YAAY;aAChB,EAAE,EAAE,WAAW;aAGf,EAAE,EAAE,SAAS;CACL,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * These types define the fundamental structure of the tensor and its components.
5
5
  */
6
+ import { HBAR_SI } from './constants.js';
6
7
  /**
7
8
  * Physical constants used in computations
8
9
  */
@@ -10,7 +11,7 @@ export const PhysicalConstants = {
10
11
  // Fundamental constants
11
12
  c: 299792458, // Speed of light (m/s)
12
13
  h: 6.62607015e-34, // Planck constant (J⋅s)
13
- hbar: 1.054571817e-34, // Reduced Planck constant (J⋅s)
14
+ hbar: HBAR_SI, // Reduced Planck constant h/(2π) (J⋅s)
14
15
  G: 6.67430e-11, // Gravitational constant (m³/kg⋅s²)
15
16
  kB: 1.380649e-23, // Boltzmann constant (J/K)
16
17
  e: 1.602176634e-19, // Elementary charge (C)
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0KH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,CAAC,EAAE,SAAS,EAAe,uBAAuB;IAClD,CAAC,EAAE,cAAc,EAAU,wBAAwB;IACnD,IAAI,EAAE,eAAe,EAAM,gCAAgC;IAC3D,CAAC,EAAE,WAAW,EAAa,oCAAoC;IAC/D,EAAE,EAAE,YAAY,EAAW,2BAA2B;IACtD,CAAC,EAAE,eAAe,EAAS,wBAAwB;IAEnD,oBAAoB;IACpB,KAAK,EAAE,eAAe,EAAK,mCAAmC;IAC9D,EAAE,EAAE,YAAY,EAAW,oBAAoB;IAC/C,EAAE,EAAE,YAAY,EAAW,kBAAkB;IAC7C,EAAE,EAAE,WAAW,EAAY,mBAAmB;IAE9C,eAAe;IACf,EAAE,EAAE,SAAS,EAAc,qKAAqK;CACxL,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA0KzC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,CAAC,EAAE,SAAS,EAAe,uBAAuB;IAClD,CAAC,EAAE,cAAc,EAAU,wBAAwB;IACnD,IAAI,EAAE,OAAO,EAAc,uCAAuC;IAClE,CAAC,EAAE,WAAW,EAAa,oCAAoC;IAC/D,EAAE,EAAE,YAAY,EAAW,2BAA2B;IACtD,CAAC,EAAE,eAAe,EAAS,wBAAwB;IAEnD,oBAAoB;IACpB,KAAK,EAAE,eAAe,EAAK,mCAAmC;IAC9D,EAAE,EAAE,YAAY,EAAW,oBAAoB;IAC/C,EAAE,EAAE,YAAY,EAAW,kBAAkB;IAC7C,EAAE,EAAE,WAAW,EAAY,mBAAmB;IAE9C,eAAe;IACf,EAAE,EAAE,SAAS,EAAc,qKAAqK;CACxL,CAAC"}