universal-physics-tensor 0.24.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +22 -9
  2. package/bin/upt.mjs +843 -685
  3. package/dist/canonical/entries/atomic.d.ts +17 -0
  4. package/dist/canonical/entries/atomic.d.ts.map +1 -0
  5. package/dist/canonical/entries/atomic.js +71 -0
  6. package/dist/canonical/entries/atomic.js.map +1 -0
  7. package/dist/canonical/entries/electromagnetism.d.ts +18 -0
  8. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -0
  9. package/dist/canonical/entries/electromagnetism.js +212 -0
  10. package/dist/canonical/entries/electromagnetism.js.map +1 -0
  11. package/dist/canonical/entries/fluids-waves.d.ts +18 -0
  12. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -0
  13. package/dist/canonical/entries/fluids-waves.js +130 -0
  14. package/dist/canonical/entries/fluids-waves.js.map +1 -0
  15. package/dist/canonical/entries/mechanics.d.ts +18 -0
  16. package/dist/canonical/entries/mechanics.d.ts.map +1 -0
  17. package/dist/canonical/entries/mechanics.js +275 -0
  18. package/dist/canonical/entries/mechanics.js.map +1 -0
  19. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts +18 -0
  20. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -0
  21. package/dist/canonical/entries/thermo-nuclear-cosmo.js +56 -0
  22. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -0
  23. package/dist/canonical/registry.d.ts.map +1 -1
  24. package/dist/canonical/registry.js +10 -0
  25. package/dist/canonical/registry.js.map +1 -1
  26. package/dist/composition/compose.d.ts.map +1 -1
  27. package/dist/composition/compose.js +14 -0
  28. package/dist/composition/compose.js.map +1 -1
  29. package/dist/composition/dimension-adjacency.d.ts +39 -0
  30. package/dist/composition/dimension-adjacency.d.ts.map +1 -0
  31. package/dist/composition/dimension-adjacency.js +44 -0
  32. package/dist/composition/dimension-adjacency.js.map +1 -0
  33. package/dist/composition/graph-viz-svg.d.ts +31 -0
  34. package/dist/composition/graph-viz-svg.d.ts.map +1 -0
  35. package/dist/composition/graph-viz-svg.js +45 -0
  36. package/dist/composition/graph-viz-svg.js.map +1 -0
  37. package/dist/composition/graph-viz.d.ts +100 -0
  38. package/dist/composition/graph-viz.d.ts.map +1 -0
  39. package/dist/composition/graph-viz.js +256 -0
  40. package/dist/composition/graph-viz.js.map +1 -0
  41. package/dist/composition/index.d.ts +8 -0
  42. package/dist/composition/index.d.ts.map +1 -1
  43. package/dist/composition/index.js +4 -0
  44. package/dist/composition/index.js.map +1 -1
  45. package/dist/composition/user-equation.d.ts +136 -0
  46. package/dist/composition/user-equation.d.ts.map +1 -0
  47. package/dist/composition/user-equation.js +247 -0
  48. package/dist/composition/user-equation.js.map +1 -0
  49. package/dist/dimensional/dimension-inference.d.ts +37 -0
  50. package/dist/dimensional/dimension-inference.d.ts.map +1 -0
  51. package/dist/dimensional/dimension-inference.js +79 -0
  52. package/dist/dimensional/dimension-inference.js.map +1 -0
  53. package/dist/index.d.ts +11 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +16 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/numerical/formula-dimension.d.ts +16 -1
  58. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  59. package/dist/numerical/formula-dimension.js +116 -84
  60. package/dist/numerical/formula-dimension.js.map +1 -1
  61. package/dist/numerical/formula-registry.d.ts +11 -1
  62. package/dist/numerical/formula-registry.d.ts.map +1 -1
  63. package/dist/numerical/formula-registry.js +12 -0
  64. package/dist/numerical/formula-registry.js.map +1 -1
  65. package/package.json +92 -91
@@ -17,10 +17,11 @@
17
17
  import { DIMENSIONLESS } from '../dimensional/types.js';
18
18
  import { equals, format } from '../dimensional/algebra.js';
19
19
  import { validate } from '../dimensional/validator.js';
20
- import { parseFormulaToAst, evalFormulaAst } from './formula.js';
20
+ import { parseFormulaToAst } from './formula.js';
21
21
  /** A formula cannot be dimensionally analyzed (undeclared symbol, variable
22
- * exponent, transcendental of a dimensional argument, unsupported node). */
23
- class FormulaDimensionError extends Error {
22
+ * exponent, transcendental of a dimensional argument, unsupported node).
23
+ * @public */
24
+ export class FormulaDimensionError extends Error {
24
25
  constructor(message) {
25
26
  super(message);
26
27
  this.name = 'FormulaDimensionError';
@@ -28,15 +29,30 @@ class FormulaDimensionError extends Error {
28
29
  }
29
30
  /** Dimensionless math constants both parsers recognize. */
30
31
  const MATH_CONSTANTS = new Set(['pi', 'tau', 'e', 'phi', 'Infinity', 'NaN']);
31
- /** Transcendental functions: dimensionless argument → dimensionless result. */
32
- const TRANSCENDENTAL = new Set([
33
- 'exp', 'log', 'ln', 'log10', 'log2',
34
- 'sin', 'cos', 'tan', 'asin', 'acos', 'atan',
35
- 'sinh', 'cosh', 'tanh', 'sec', 'csc', 'cot',
36
- ]);
32
+ /** Parser function names → the dimensional grammar's `transcendental` node fn
33
+ * (dimensionless → dimensionless). `log` is natural log (mathjs convention). */
34
+ const TRANSCENDENTAL_FN = {
35
+ exp: 'exp', ln: 'ln', log: 'ln', log10: 'log10', log2: 'log2',
36
+ sin: 'sin', cos: 'cos', tan: 'tan', sinh: 'sinh', cosh: 'cosh', tanh: 'tanh',
37
+ };
38
+ /** Transcendentals WITHOUT a grammar node — kept as dimensionless stubs (still
39
+ * dimensionless→dimensionless, just not a faithful node). */
40
+ const TRANSCENDENTAL_STUB = new Set(['asin', 'acos', 'atan', 'sec', 'csc', 'cot']);
37
41
  const sym = (name, dim) => ({ kind: 'symbol', name, dim });
38
42
  const op = (o, args) => ({ kind: 'op', op: o, args });
39
43
  const powExpr = (base, exp) => op('^', [base, sym(String(exp), DIMENSIONLESS)]);
44
+ const transcendental = (fn, arg) => ({ kind: 'transcendental', fn, arg });
45
+ const absNode = (arg) => ({ kind: 'abs', arg });
46
+ /** Dispatch a parsed function name to its `ExprNode`. Shared by both transpilers. */
47
+ function transpileFunction(fn, argExpr) {
48
+ if (fn === 'abs')
49
+ return absNode(argExpr);
50
+ if (fn in TRANSCENDENTAL_FN)
51
+ return transcendental(TRANSCENDENTAL_FN[fn], argExpr);
52
+ if (TRANSCENDENTAL_STUB.has(fn))
53
+ return transcendentalStub(fn, argExpr);
54
+ return null;
55
+ }
40
56
  /** Resolve a symbol to a dimensioned `ExprNode` (declared dim, or a
41
57
  * dimensionless math constant, else an error). */
42
58
  function resolveSymbol(name, dims) {
@@ -63,97 +79,104 @@ function transcendentalStub(fn, argExprNode) {
63
79
  }
64
80
  return sym(`${fn}(...)`, DIMENSIONLESS);
65
81
  }
66
- /** Evaluate a (presumed constant) MathTS exponent subtree. */
67
- function mathtsConstant(node) {
68
- let v;
69
- try {
70
- v = node.evaluate({});
71
- }
72
- catch {
73
- throw new FormulaDimensionError('exponent must be a numeric constant');
74
- }
75
- if (typeof v !== 'number' || !Number.isFinite(v)) {
76
- throw new FormulaDimensionError('exponent must be a finite numeric constant');
77
- }
78
- return v;
79
- }
80
- function transpileMathts(node, dims) {
82
+ /** Adapt a MathTS AST node to a `PNode` (pure shape map; no dimensions). */
83
+ function mathtsToPNode(node) {
81
84
  switch (node.type) {
82
85
  case 'ConstantNode':
83
- return sym(String(node.value), DIMENSIONLESS);
86
+ return { kind: 'num', value: Number(node.value) };
84
87
  case 'SymbolNode':
85
- return resolveSymbol(node.name, dims);
88
+ return { kind: 'sym', name: node.name };
86
89
  case 'ParenthesisNode':
87
- return transpileMathts(node.content, dims);
90
+ return mathtsToPNode(node.content);
88
91
  case 'OperatorNode': {
89
- const args = node.args ?? [];
92
+ const args = (node.args ?? []).map(mathtsToPNode);
90
93
  if (node.op === '-' && args.length === 1)
91
- return transpileMathts(args[0], dims);
94
+ return { kind: 'neg', arg: args[0] };
92
95
  if (node.op === '^')
93
- return powExpr(transpileMathts(args[0], dims), mathtsConstant(args[1]));
96
+ return { kind: 'pow', base: args[0], exp: args[1] };
94
97
  if (node.op === '+' || node.op === '-' || node.op === '*' || node.op === '/') {
95
- return op(node.op, args.map((a) => transpileMathts(a, dims)));
98
+ return { kind: 'op', op: node.op, args };
96
99
  }
97
100
  throw new FormulaDimensionError(`unsupported operator '${node.op}'`);
98
101
  }
99
- case 'FunctionNode': {
100
- const fn = node.fn?.name ?? node.name ?? '';
101
- const args = node.args ?? [];
102
- if (fn === 'sqrt')
103
- return powExpr(transpileMathts(args[0], dims), 0.5);
104
- if (fn === 'cbrt')
105
- return powExpr(transpileMathts(args[0], dims), 1 / 3);
106
- if (fn === 'pow')
107
- return powExpr(transpileMathts(args[0], dims), mathtsConstant(args[1]));
108
- if (fn === 'abs')
109
- return transpileMathts(args[0], dims);
110
- if (TRANSCENDENTAL.has(fn))
111
- return transcendentalStub(fn, transpileMathts(args[0], dims));
112
- throw new FormulaDimensionError(`unsupported function '${fn}'`);
113
- }
102
+ case 'FunctionNode':
103
+ return { kind: 'call', fn: node.fn?.name ?? node.name ?? '', args: (node.args ?? []).map(mathtsToPNode) };
114
104
  default:
115
105
  throw new FormulaDimensionError(`unsupported node '${node.type}'`);
116
106
  }
117
107
  }
118
- // --- Path B AST transpiler (built-in, no peer needed) --------------------
119
- /** Evaluate a (presumed constant) Path B exponent subtree. */
120
- function pathBConstant(node) {
121
- try {
122
- const v = evalFormulaAst(node, {});
123
- if (typeof v === 'number' && Number.isFinite(v))
124
- return v;
108
+ /** Adapt a built-in `FormulaAstNode` to a `PNode` (pure shape map). */
109
+ function pathBToPNode(node) {
110
+ switch (node.kind) {
111
+ case 'num':
112
+ return { kind: 'num', value: node.value };
113
+ case 'sym':
114
+ return { kind: 'sym', name: node.name };
115
+ case 'unary':
116
+ return node.op === '-'
117
+ ? { kind: 'neg', arg: pathBToPNode(node.arg) }
118
+ : pathBToPNode(node.arg); // unary '+' is identity
119
+ case 'bin':
120
+ return node.op === '^'
121
+ ? { kind: 'pow', base: pathBToPNode(node.left), exp: pathBToPNode(node.right) }
122
+ : { kind: 'op', op: node.op, args: [pathBToPNode(node.left), pathBToPNode(node.right)] };
123
+ case 'call':
124
+ return { kind: 'call', fn: node.fn, args: node.args.map(pathBToPNode) };
125
125
  }
126
- catch {
127
- /* free variable in the exponent */
126
+ }
127
+ /** Fold a (presumed constant) `PNode` to a finite number, else throw. */
128
+ function pnodeConstant(node) {
129
+ const v = evalConstPNode(node);
130
+ if (!Number.isFinite(v))
131
+ throw new FormulaDimensionError('exponent must be a finite numeric constant');
132
+ return v;
133
+ }
134
+ function evalConstPNode(node) {
135
+ switch (node.kind) {
136
+ case 'num':
137
+ return node.value;
138
+ case 'neg':
139
+ return -evalConstPNode(node.arg);
140
+ case 'pow':
141
+ return Math.pow(evalConstPNode(node.base), evalConstPNode(node.exp));
142
+ case 'op': {
143
+ const v = node.args.map(evalConstPNode);
144
+ switch (node.op) {
145
+ case '+': return v.reduce((a, b) => a + b, 0);
146
+ case '-': return v.length === 1 ? -v[0] : v.reduce((a, b) => a - b);
147
+ case '*': return v.reduce((a, b) => a * b, 1);
148
+ case '/': return v.reduce((a, b) => a / b);
149
+ }
150
+ }
151
+ // falls through: a 'sym' or 'call' is not a numeric constant
152
+ default:
153
+ throw new FormulaDimensionError('exponent must be a numeric constant');
128
154
  }
129
- throw new FormulaDimensionError('exponent must be a numeric constant');
130
155
  }
131
- function transpilePathB(node, dims) {
156
+ /** The ONE transpiler: normalized parse node → dimensional `ExprNode`. */
157
+ function normToExpr(node, dims) {
132
158
  switch (node.kind) {
133
159
  case 'num':
134
160
  return sym(String(node.value), DIMENSIONLESS);
135
161
  case 'sym':
136
162
  return resolveSymbol(node.name, dims);
137
- case 'unary':
138
- return transpilePathB(node.arg, dims); // sign is dimension-neutral
139
- case 'bin': {
140
- if (node.op === '^')
141
- return powExpr(transpilePathB(node.left, dims), pathBConstant(node.right));
142
- return op(node.op, [transpilePathB(node.left, dims), transpilePathB(node.right, dims)]);
143
- }
163
+ case 'neg':
164
+ return normToExpr(node.arg, dims); // sign is dimension-neutral
165
+ case 'op':
166
+ return op(node.op, node.args.map((a) => normToExpr(a, dims)));
167
+ case 'pow':
168
+ return powExpr(normToExpr(node.base, dims), pnodeConstant(node.exp));
144
169
  case 'call': {
145
170
  const fn = node.fn;
146
- const args = node.args;
147
171
  if (fn === 'sqrt')
148
- return powExpr(transpilePathB(args[0], dims), 0.5);
172
+ return powExpr(normToExpr(node.args[0], dims), 0.5);
149
173
  if (fn === 'cbrt')
150
- return powExpr(transpilePathB(args[0], dims), 1 / 3);
174
+ return powExpr(normToExpr(node.args[0], dims), 1 / 3);
151
175
  if (fn === 'pow')
152
- return powExpr(transpilePathB(args[0], dims), pathBConstant(args[1]));
153
- if (fn === 'abs')
154
- return transpilePathB(args[0], dims);
155
- if (TRANSCENDENTAL.has(fn))
156
- return transcendentalStub(fn, transpilePathB(args[0], dims));
176
+ return powExpr(normToExpr(node.args[0], dims), pnodeConstant(node.args[1]));
177
+ const fnNode = transpileFunction(fn, normToExpr(node.args[0], dims));
178
+ if (fnNode)
179
+ return fnNode;
157
180
  throw new FormulaDimensionError(`unsupported function '${fn}'`);
158
181
  }
159
182
  }
@@ -161,28 +184,37 @@ function transpilePathB(node, dims) {
161
184
  /** Build a checker from an `(expr, dims) → ExprNode` transpile (parse +
162
185
  * transpile, which may throw a parse error or `FormulaDimensionError`). */
163
186
  function createFormulaDimensionChecker(toExprNode) {
187
+ const parse = (expr, dims) => {
188
+ let exprNode;
189
+ try {
190
+ exprNode = toExprNode(expr, dims);
191
+ }
192
+ catch (e) {
193
+ if (e instanceof FormulaDimensionError)
194
+ throw e;
195
+ throw new FormulaDimensionError(`parse error: ${e instanceof Error ? e.message : String(e)}`);
196
+ }
197
+ const r = validate(exprNode);
198
+ if (!r.ok || r.inferredDimension === null) {
199
+ throw new FormulaDimensionError(r.violations[0]?.note ?? 'not dimensionally homogeneous');
200
+ }
201
+ return { expr: exprNode, dimension: r.inferredDimension };
202
+ };
164
203
  return {
204
+ parse,
165
205
  check(expr, dims) {
166
- let exprNode;
167
206
  try {
168
- exprNode = toExprNode(expr, dims);
207
+ return { ok: true, dim: parse(expr, dims).dimension };
169
208
  }
170
209
  catch (e) {
171
- if (e instanceof FormulaDimensionError)
172
- return { ok: false, error: e.message };
173
- return { ok: false, error: `parse error: ${e instanceof Error ? e.message : String(e)}` };
174
- }
175
- const r = validate(exprNode);
176
- if (!r.ok || r.inferredDimension === null) {
177
- return { ok: false, error: r.violations[0]?.note ?? 'not dimensionally homogeneous' };
210
+ return { ok: false, error: e instanceof Error ? e.message : String(e) };
178
211
  }
179
- return { ok: true, dim: r.inferredDimension };
180
212
  },
181
213
  };
182
214
  }
183
215
  /** The built-in (Path B) dimensional checker — always available, no peer. */
184
216
  export function builtinFormulaDimensionChecker() {
185
- return createFormulaDimensionChecker((expr, dims) => transpilePathB(parseFormulaToAst(expr), dims));
217
+ return createFormulaDimensionChecker((expr, dims) => normToExpr(pathBToPNode(parseFormulaToAst(expr)), dims));
186
218
  }
187
219
  /**
188
220
  * Dynamically load the optional MathTS peer and build a dimensional checker
@@ -194,6 +226,6 @@ export async function loadFormulaDimensionChecker() {
194
226
  if (typeof mod.parse !== 'function') {
195
227
  throw new FormulaDimensionError('mathts-functions: no parse() export');
196
228
  }
197
- return createFormulaDimensionChecker((expr, dims) => transpileMathts(mod.parse(expr), dims));
229
+ return createFormulaDimensionChecker((expr, dims) => normToExpr(mathtsToPNode(mod.parse(expr)), dims));
198
230
  }
199
231
  //# sourceMappingURL=formula-dimension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formula-dimension.js","sourceRoot":"","sources":["../../src/numerical/formula-dimension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formula-dimension.js","sourceRoot":"","sources":["../../src/numerical/formula-dimension.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@
13
13
  * @module numerical/formula-registry
14
14
  */
15
15
  import type { FormulaParser } from './formula.js';
16
- import type { FormulaDimensionChecker } from './formula-dimension.js';
16
+ import type { Dimension } from '../dimensional/types.js';
17
+ import type { FormulaDimensionChecker, ParsedPhysics } from './formula-dimension.js';
17
18
  type FormulaParserKind = 'mathts' | 'builtin';
18
19
  /** Resolve the active formula parser (cached). @internal */
19
20
  export declare function getFormulaParser(): Promise<FormulaParser>;
@@ -26,5 +27,14 @@ export declare function getFormulaParserKind(): Promise<FormulaParserKind>;
26
27
  * the same `ExprNode`, so the dimensional verdict is identical. @internal
27
28
  */
28
29
  export declare function getFormulaDimensionChecker(): Promise<FormulaDimensionChecker>;
30
+ /**
31
+ * Parse physics text to a dimensional `ExprNode` + its inferred dimension, using
32
+ * the active front-end (MathTS when the optional peer is installed, else the
33
+ * built-in parser). The single public string→`ExprNode` entry point.
34
+ *
35
+ * @throws {FormulaDimensionError} on a parse error or non-homogeneity.
36
+ * @public
37
+ */
38
+ export declare function parsePhysics(text: string, dims: Readonly<Record<string, Dimension>>): Promise<ParsedPhysics>;
29
39
  export {};
30
40
  //# sourceMappingURL=formula-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formula-registry.d.ts","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,KAAK,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AA8C9C,4DAA4D;AAC5D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAG/D;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAGvE;AAMD;;;;;GAKG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAYnF"}
1
+ {"version":3,"file":"formula-registry.d.ts","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGrF,KAAK,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AA8C9C,4DAA4D;AAC5D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAG/D;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAGvE;AAMD;;;;;GAKG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAYnF;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GACxC,OAAO,CAAC,aAAa,CAAC,CAGxB"}
@@ -85,4 +85,16 @@ export async function getFormulaDimensionChecker() {
85
85
  })();
86
86
  return cachedChecker;
87
87
  }
88
+ /**
89
+ * Parse physics text to a dimensional `ExprNode` + its inferred dimension, using
90
+ * the active front-end (MathTS when the optional peer is installed, else the
91
+ * built-in parser). The single public string→`ExprNode` entry point.
92
+ *
93
+ * @throws {FormulaDimensionError} on a parse error or non-homogeneity.
94
+ * @public
95
+ */
96
+ export async function parsePhysics(text, dims) {
97
+ const checker = await getFormulaDimensionChecker();
98
+ return checker.parse(text, dims);
99
+ }
88
100
  //# sourceMappingURL=formula-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formula-registry.js","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formula-registry.js","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,91 +1,92 @@
1
- {
2
- "name": "universal-physics-tensor",
3
- "version": "0.24.0",
4
- "description": "Computational framework for exploring unified physics through tensor formalism",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "bin": {
8
- "upt": "bin/upt.mjs"
9
- },
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js",
14
- "default": "./dist/index.js"
15
- },
16
- "./numerical/mathts-engine": {
17
- "types": "./dist/numerical/mathts-engine.d.ts",
18
- "import": "./dist/numerical/mathts-engine.js",
19
- "default": "./dist/numerical/mathts-engine.js"
20
- }
21
- },
22
- "directories": {
23
- "doc": "docs",
24
- "example": "examples",
25
- "test": "tests"
26
- },
27
- "scripts": {
28
- "build": "tsc",
29
- "dev": "tsc --watch",
30
- "smoke": "node test-example.js",
31
- "upt": "node bin/upt.mjs",
32
- "explain": "node bin/upt.mjs explain",
33
- "bridge-priority": "node bin/upt.mjs priority",
34
- "test": "vitest run",
35
- "test:watch": "vitest",
36
- "prepublishOnly": "tsc && vitest run",
37
- "bench": "vitest bench",
38
- "bench:ci": "vitest bench --reporter=verbose",
39
- "docs:deps": "npx tsx tools/create-dependency-graph/create-dependency-graph.ts --root=. --include-tests",
40
- "audit:plans": "npx tsx tools/plan-doc-audit/audit.ts",
41
- "catalog:json": "npm run build && node scripts/emit-catalog-json.mjs"
42
- },
43
- "files": [
44
- "dist",
45
- "bin",
46
- "README.md",
47
- "LICENSE"
48
- ],
49
- "keywords": [
50
- "physics",
51
- "tensor",
52
- "unification",
53
- "quantum-mechanics",
54
- "general-relativity",
55
- "bridge-equations",
56
- "theoretical-physics",
57
- "computational-physics"
58
- ],
59
- "author": "Daniel Simon Jr. <danielsimonjr@users.noreply.github.com>",
60
- "license": "MIT",
61
- "type": "module",
62
- "engines": {
63
- "node": ">=18.0.0"
64
- },
65
- "repository": {
66
- "type": "git",
67
- "url": "https://github.com/danielsimonjr/universal-physics-tensor.git"
68
- },
69
- "bugs": {
70
- "url": "https://github.com/danielsimonjr/universal-physics-tensor/issues"
71
- },
72
- "homepage": "https://github.com/danielsimonjr/universal-physics-tensor#readme",
73
- "devDependencies": {
74
- "@types/node": "^26.0.0",
75
- "fast-check": "^4.8.0",
76
- "js-yaml": "^4.2.0",
77
- "typescript": "^6.0.3",
78
- "vitest": "^4.1.7"
79
- },
80
- "optionalDependencies": {
81
- "@danielsimonjr/mathts-autograd": "^0.2.0",
82
- "@danielsimonjr/mathts-core": "^0.1.3",
83
- "@danielsimonjr/mathts-expression": "^0.2.1",
84
- "@danielsimonjr/mathts-functions": "^0.2.2",
85
- "@danielsimonjr/mathts-matrix": "^0.1.4",
86
- "@danielsimonjr/mathts-parallel": "^0.2.1",
87
- "@danielsimonjr/mathts-tensor": "^0.1.1",
88
- "@danielsimonjr/mathts-wasm": "^0.1.3",
89
- "@danielsimonjr/mathts-workerpool": "^0.2.0"
90
- }
91
- }
1
+ {
2
+ "name": "universal-physics-tensor",
3
+ "version": "0.28.0",
4
+ "description": "Computational framework for exploring unified physics through tensor formalism",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "upt": "bin/upt.mjs"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "default": "./dist/index.js"
15
+ },
16
+ "./numerical/mathts-engine": {
17
+ "types": "./dist/numerical/mathts-engine.d.ts",
18
+ "import": "./dist/numerical/mathts-engine.js",
19
+ "default": "./dist/numerical/mathts-engine.js"
20
+ }
21
+ },
22
+ "directories": {
23
+ "doc": "docs",
24
+ "example": "examples",
25
+ "test": "tests"
26
+ },
27
+ "scripts": {
28
+ "build": "tsc",
29
+ "dev": "tsc --watch",
30
+ "smoke": "node test-example.js",
31
+ "upt": "node bin/upt.mjs",
32
+ "explain": "node bin/upt.mjs explain",
33
+ "bridge-priority": "node bin/upt.mjs priority",
34
+ "test": "vitest run",
35
+ "test:watch": "vitest",
36
+ "prepublishOnly": "tsc && vitest run",
37
+ "bench": "vitest bench",
38
+ "bench:ci": "vitest bench --reporter=verbose",
39
+ "docs:deps": "npx tsx tools/create-dependency-graph/create-dependency-graph.ts --root=. --include-tests",
40
+ "audit:plans": "npx tsx tools/plan-doc-audit/audit.ts",
41
+ "catalog:json": "npm run build && node scripts/emit-catalog-json.mjs"
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "bin",
46
+ "README.md",
47
+ "LICENSE"
48
+ ],
49
+ "keywords": [
50
+ "physics",
51
+ "tensor",
52
+ "unification",
53
+ "quantum-mechanics",
54
+ "general-relativity",
55
+ "bridge-equations",
56
+ "theoretical-physics",
57
+ "computational-physics"
58
+ ],
59
+ "author": "Daniel Simon Jr. <danielsimonjr@users.noreply.github.com>",
60
+ "license": "MIT",
61
+ "type": "module",
62
+ "engines": {
63
+ "node": ">=18.0.0"
64
+ },
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/danielsimonjr/universal-physics-tensor.git"
68
+ },
69
+ "bugs": {
70
+ "url": "https://github.com/danielsimonjr/universal-physics-tensor/issues"
71
+ },
72
+ "homepage": "https://github.com/danielsimonjr/universal-physics-tensor#readme",
73
+ "devDependencies": {
74
+ "@types/node": "^26.0.0",
75
+ "fast-check": "^4.8.0",
76
+ "js-yaml": "^4.2.0",
77
+ "typescript": "^6.0.3",
78
+ "vitest": "^4.1.7"
79
+ },
80
+ "optionalDependencies": {
81
+ "@danielsimonjr/mathts-autograd": "^0.2.0",
82
+ "@danielsimonjr/mathts-core": "^0.1.3",
83
+ "@danielsimonjr/mathts-expression": "^0.2.1",
84
+ "@danielsimonjr/mathts-functions": "^0.2.2",
85
+ "@danielsimonjr/mathts-matrix": "^0.1.4",
86
+ "@danielsimonjr/mathts-parallel": "^0.2.1",
87
+ "@danielsimonjr/mathts-tensor": "^0.1.1",
88
+ "@danielsimonjr/mathts-wasm": "^0.1.3",
89
+ "@danielsimonjr/mathts-workerpool": "^0.2.0",
90
+ "@viz-js/viz": "^3.28.0"
91
+ }
92
+ }