@ndmspc/ndmvr-core 1.1.1 → 1.1.2-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1010,6 +1010,7 @@ function et(e) {
1010
1010
  if (!e) return;
1011
1011
  let t = (e) => {
1012
1012
  let t = -Infinity;
1013
+ if (!e) return null;
1013
1014
  for (let n = 0; n < e.length; n++) {
1014
1015
  let r = e[n];
1015
1016
  r > t && (t = r);
@@ -1019,7 +1020,7 @@ function et(e) {
1019
1020
  n[0] = { content: t(e.fArray) }, e.fArrays && Object.keys(e?.fArrays).forEach((r) => {
1020
1021
  n[0] = {
1021
1022
  ...n[0],
1022
- [r]: t(e.fArrays[r].values)
1023
+ [r]: e.fArrays[r].max ?? t(e.fArrays[r].values)
1023
1024
  };
1024
1025
  });
1025
1026
  let r = (e, i = 1) => {
@@ -1029,7 +1030,7 @@ function et(e) {
1029
1030
  let o = t(a.fArray);
1030
1031
  (!(e in n[i]) || o > n[i][e]) && (n[i][e] = o), a.fArrays && Object.keys(a.fArrays).forEach((e) => {
1031
1032
  let r = a.fArrays[e].max;
1032
- (!(e in n[i]) || r > n[i][e]) && (n[i][e] = r), n[i][e] = Math.max(n[i][e], t(a.fArrays[e].values));
1033
+ (!(e in n[i]) || r > n[i][e]) && (n[i][e] = r), n[i][e] = Math.max(n[i][e], a.fArrays[e].max ?? t(a.fArrays[e].values));
1033
1034
  }), a.children && r(a.children, i + 1);
1034
1035
  });
1035
1036
  });
@@ -1039,6 +1040,7 @@ function et(e) {
1039
1040
  function tt(e, t) {
1040
1041
  if (!e) return;
1041
1042
  let n = (e) => {
1043
+ if (!e) return null;
1042
1044
  let t = 0;
1043
1045
  for (let n = 0; n < e.length; n++) {
1044
1046
  let r = e[n];
@@ -1049,7 +1051,7 @@ function tt(e, t) {
1049
1051
  r[0] = { content: n(e.fSumw2) }, e.fArrays && Object.keys(e?.fArrays).forEach((t) => {
1050
1052
  e.fArrays[t].errors && (r[0] = {
1051
1053
  ...r[0],
1052
- [t]: n(e.fArrays[t].errors)
1054
+ [t]: n(e.fArrays[t].errors) ?? Math.sqrt(e.fArrays[t].max)
1053
1055
  });
1054
1056
  });
1055
1057
  let i = (e, t = 1) => {
@@ -1058,7 +1060,7 @@ function tt(e, t) {
1058
1060
  if (!a) return;
1059
1061
  let o = n(a.fSumw2), s = isNaN(o) ? 0 : o;
1060
1062
  (!(e in r[t]) || s > r[t][e]) && (r[t][e] = s), a.fArrays && Object.keys(a.fArrays).forEach((e) => {
1061
- a.fArrays[e].errors && ((!(e in r[t]) || s > r[t][e]) && (r[t][e] = s), r[t][e] = Math.max(r[t][e], n(a.fArrays[e].errors)));
1063
+ a.fArrays[e].errors && ((!(e in r[t]) || s > r[t][e]) && (r[t][e] = s), r[t][e] = Math.max(r[t][e], n(a.fArrays[e].errors) ?? Math.sqrt(a.fArrays[e].max)));
1062
1064
  }), a.children && i(a.children, t + 1);
1063
1065
  });
1064
1066
  });
@@ -1073,6 +1075,7 @@ function nt(e, t) {
1073
1075
  if (!e) return;
1074
1076
  let n = (e) => {
1075
1077
  let t = Infinity;
1078
+ if (!e) return null;
1076
1079
  for (let n = 0; n < e.length; n++) {
1077
1080
  let r = e[n];
1078
1081
  r !== 0 && r < t && (t = r);
@@ -1082,17 +1085,17 @@ function nt(e, t) {
1082
1085
  r[0] = { content: n(e.fSumw2) }, e.fArrays && Object.keys(e?.fArrays).forEach((t) => {
1083
1086
  e.fArrays[t].errors && (r[0] = {
1084
1087
  ...r[0],
1085
- [t]: n(e.fArrays[t].errors)
1088
+ [t]: n(e.fArrays[t].errors) ?? Math.sqrt(e.fArrays[t].min)
1086
1089
  });
1087
1090
  });
1088
- let i = (e, t = 1) => {
1089
- r[t] || (r[t] = {}), Object.entries(e).forEach(([e, a]) => {
1090
- a.forEach((a) => {
1091
- if (!a) return;
1092
- let o = n(a.fSumw2), s = isNaN(o) ? 0 : o;
1093
- (!(e in r[t]) || s < r[t][e]) && (r[t][e] = s), a.fArrays && Object.keys(a.fArrays).forEach((e) => {
1094
- a.fArrays[e].errors && ((!(e in r[t]) || s < r[t][e]) && (r[t][e] = s), r[t][e] = Math.min(r[t][e], n(a.fArrays[e].errors.filter((e) => e > 0))));
1095
- }), a.children && i(a.children, t + 1);
1091
+ let i = (t, a = 1) => {
1092
+ r[a] || (r[a] = {}), Object.entries(t).forEach(([t, o]) => {
1093
+ o.forEach((o) => {
1094
+ if (!o) return;
1095
+ let s = n(o.fSumw2), c = isNaN(s) ? 0 : s;
1096
+ (!(t in r[a]) || c < r[a][t]) && (r[a][t] = c), o.fArrays && Object.keys(o.fArrays).forEach((t) => {
1097
+ o.fArrays[t].errors && ((!(t in r[a]) || c < r[a][t]) && (r[a][t] = c), r[a][t] = Math.min(r[a][t], n(o.fArrays[t]?.errors?.filter((e) => e > 0)) ?? Math.sqrt(e.fArrays[t].min)));
1098
+ }), o.children && i(o.children, a + 1);
1096
1099
  });
1097
1100
  });
1098
1101
  };
@@ -1106,6 +1109,7 @@ function rt(e) {
1106
1109
  if (!e) return;
1107
1110
  let t = (e) => {
1108
1111
  let t = Infinity;
1112
+ if (!e) return null;
1109
1113
  for (let n = 0; n < e.length; n++) {
1110
1114
  let r = e[n];
1111
1115
  r < t && (t = r);
@@ -1115,17 +1119,17 @@ function rt(e) {
1115
1119
  n[0] = { content: t(e.fArray.filter((e) => e !== 0)) }, e.fArrays && Object.keys(e?.fArrays).forEach((r) => {
1116
1120
  n[0] = {
1117
1121
  ...n[0],
1118
- [r]: t(e.fArrays[r].values.filter((e) => e !== 0))
1122
+ [r]: e.fArrays[r].min ?? t(e.fArrays[r]?.values?.filter((e) => e !== 0))
1119
1123
  };
1120
1124
  });
1121
- let r = (e, i = 1) => {
1122
- n[i] || (n[i] = {}), Object.entries(e).forEach(([e, a]) => {
1123
- a.forEach((a) => {
1124
- if (!a) return;
1125
- let o = t(a.fArray.filter((e) => e !== 0));
1126
- (!(e in n[i]) || o < n[i][e]) && (n[i][e] = o), a.fArrays && Object.keys(a.fArrays).forEach((e) => {
1127
- (!(e in n[i]) || o > n[i][e]) && (n[i][e] = o), n[i][e] = Math.min(n[i][e], t(a.fArrays[e].values.filter((e) => e !== 0)));
1128
- }), a.children && r(a.children, i + 1);
1125
+ let r = (i, a = 1) => {
1126
+ n[a] || (n[a] = {}), Object.entries(i).forEach(([i, o]) => {
1127
+ o.forEach((o) => {
1128
+ if (!o) return;
1129
+ let s = t(o.fArray.filter((e) => e !== 0));
1130
+ (!(i in n[a]) || s < n[a][i]) && (n[a][i] = s), o.fArrays && Object.keys(o.fArrays).forEach((r) => {
1131
+ (!(r in n[a]) || s > n[a][r]) && (n[a][r] = s), n[a][r] = Math.min(n[a][r], e.fArrays[r].min ?? t(o.fArrays[r]?.values?.filter((e) => e !== 0)));
1132
+ }), o.children && r(o.children, a + 1);
1129
1133
  });
1130
1134
  });
1131
1135
  };
@@ -1786,6 +1790,64 @@ var $ = class {
1786
1790
  obj: e.jsrootObj
1787
1791
  });
1788
1792
  }
1793
+ getBinPosScaleByIndexMC(e, t) {
1794
+ let n = t && t !== "content" ? this.matrixCache[e.length - 1][this.availableSets.indexOf(t)] : this.matrixCache[e.length - 1], r = e.at(-1) / this.maxInstancesPerLayer.slice(e.length).reduce((e, t) => e * t, 1) * 3;
1795
+ return {
1796
+ position: n.pos.slice(r, r + 3),
1797
+ scale: n.scale.slice(r, r + 3)
1798
+ };
1799
+ }
1800
+ getBinPosScaleByIndex(e, t, n, r) {
1801
+ let i = ({ scale: e, position: t }) => ({
1802
+ scale: {
1803
+ x: e[0],
1804
+ y: e[1],
1805
+ z: e[2]
1806
+ },
1807
+ position: {
1808
+ x: t[0],
1809
+ y: t[1],
1810
+ z: t[2]
1811
+ }
1812
+ }), a = e.length - 1, o = a === 0 ? this.limits : i(this.getBinPosScaleByIndexMC(e.slice(0, -1), null)), s = {
1813
+ x: {
1814
+ size: 0,
1815
+ pos: 0
1816
+ },
1817
+ y: {
1818
+ size: 0,
1819
+ pos: 0
1820
+ },
1821
+ z: {
1822
+ size: 0,
1823
+ pos: 0
1824
+ }
1825
+ }, c = n._typename.substring(0, 3) === "TH1", l = this.config.padding.layer[a] ?? this.config.padding.default, u = !this.config.padding.layer[a] && c ? {
1826
+ x: l.x,
1827
+ y: l.y,
1828
+ z: l.z
1829
+ } : { ...l };
1830
+ return t && this.config.padding.sets && c && (u = {
1831
+ x: this.config.padding.sets.x,
1832
+ y: 0,
1833
+ z: 0
1834
+ }), this.pointer.isOnSet && (u = {
1835
+ x: 0,
1836
+ y: 0,
1837
+ z: 0
1838
+ }), Ye(o.position.z, o.scale.z, qe(Je(n, r, u, o?.scale, o?.position, a, s))), {
1839
+ position: [
1840
+ s.x.pos,
1841
+ s.y.pos,
1842
+ s.z.pos
1843
+ ],
1844
+ scale: [
1845
+ s.x.size,
1846
+ s.y.size,
1847
+ s.z.size
1848
+ ]
1849
+ };
1850
+ }
1789
1851
  mousemoveDefault(e) {
1790
1852
  if (((e, t) => {
1791
1853
  if (e.length !== t.length) return !1;
@@ -1812,20 +1874,22 @@ var $ = class {
1812
1874
  bin: r
1813
1875
  };
1814
1876
  });
1815
- let { range: n, level: r, content: i, error: a, set: o, triggerSource: s, instanceId: c } = {
1877
+ let n = {
1816
1878
  ...e,
1817
1879
  level: t.length,
1818
1880
  range: t.concat(e.range)
1819
- }, l = {
1820
- coords: n,
1821
- level: r,
1822
- content: i,
1823
- error: a,
1824
- set: o,
1825
- triggerSource: s,
1826
- instanceId: c
1881
+ }, { range: r, level: i, content: a, error: o, set: s, triggerSource: c, instanceId: l } = n, u = {
1882
+ coords: r,
1883
+ level: i,
1884
+ content: a,
1885
+ error: o,
1886
+ set: s,
1887
+ triggerSource: c,
1888
+ instanceId: l,
1889
+ binPosSize: this.getBinPosScaleByIndexMC(n.instanceId, n.set),
1890
+ binWholePosSize: this.getBinPosScaleByIndex(n.instanceId, n.set, n.jsrootObj, n.index.at(-1))
1827
1891
  };
1828
- G().next(l);
1892
+ G().next(u);
1829
1893
  }
1830
1894
  shiftMouseClickDefault(e) {
1831
1895
  this.hideChildHistogram(e.index);