Commit 7620805d authored by MatusT's avatar MatusT
Browse files

Much faster SASA calculation. Quite fine tracks

parent f190cc6c
Loading
Loading
Loading
Loading
+296 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
        "@gmod/gff": "^1.1.2",
        "@types/chroma-js": "^2.1.3",
        "@types/ua-parser-js": "^0.7.36",
        "buffer": "^6.0.3",
        "chroma-js": "^2.4.2",
        "d3": "^7.2.1",
        "file-saver": "^2.0.5",
@@ -42,6 +43,7 @@
        "rooks": "^5.7.3",
        "sigma": "^2.2.0",
        "simple-statistics": "^7.7.0",
        "static-kdtree": "^1.0.2",
        "stream": "^0.0.2",
        "ua-parser-js": "^1.0.2",
        "use-deep-compare-effect": "^1.8.1",
@@ -2335,6 +2337,25 @@
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
    },
    "node_modules/base64-js": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ]
    },
    "node_modules/batch": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -2367,6 +2388,11 @@
        "node": ">=8"
      }
    },
    "node_modules/bit-twiddle": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz",
      "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA=="
    },
    "node_modules/blob-util": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
@@ -2493,6 +2519,29 @@
        "url": "https://opencollective.com/browserslist"
      }
    },
    "node_modules/buffer": {
      "version": "6.0.3",
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ],
      "dependencies": {
        "base64-js": "^1.3.1",
        "ieee754": "^1.2.1"
      }
    },
    "node_modules/buffer-from": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -3013,6 +3062,14 @@
      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
      "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
    },
    "node_modules/cwise-compiler": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz",
      "integrity": "sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==",
      "dependencies": {
        "uniq": "^1.0.0"
      }
    },
    "node_modules/d3": {
      "version": "7.3.0",
      "resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz",
@@ -3725,6 +3782,11 @@
        "ignored": "bin/ignored"
      }
    },
    "node_modules/dup": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
      "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA=="
    },
    "node_modules/ee-first": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -5403,6 +5465,25 @@
        "safari-14-idb-fix": "^3.0.0"
      }
    },
    "node_modules/ieee754": {
      "version": "1.2.1",
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ]
    },
    "node_modules/ignore": {
      "version": "5.2.0",
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -5548,6 +5629,19 @@
        "css-in-js-utils": "^2.0.0"
      }
    },
    "node_modules/inorder-tree-layout": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/inorder-tree-layout/-/inorder-tree-layout-1.0.0.tgz",
      "integrity": "sha512-nRgl0K3Cd8LC5U3qNzhwwDFC9CIGy0O/RN52L9woY0nqS0UkasEP752l2zxTql3P93FgNuewQKjmsNYNYw4xmA==",
      "dependencies": {
        "bit-twiddle": "~0.0.1"
      }
    },
    "node_modules/inorder-tree-layout/node_modules/bit-twiddle": {
      "version": "0.0.2",
      "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz",
      "integrity": "sha512-76iFAOrkcuw5UPA30Pt32XaytMHXz/04JembgIwsQAp7ImHYSWNq1shBbrlWf6CUvh1+amQ81LI8hNhqQgsBEw=="
    },
    "node_modules/internal-slot": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
@@ -5591,6 +5685,11 @@
        "utf8": "^2.1.2"
      }
    },
    "node_modules/iota-array": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
      "integrity": "sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA=="
    },
    "node_modules/ip": {
      "version": "1.1.5",
      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -6694,6 +6793,47 @@
      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
      "dev": true
    },
    "node_modules/ndarray": {
      "version": "1.0.19",
      "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz",
      "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==",
      "dependencies": {
        "iota-array": "^1.0.0",
        "is-buffer": "^1.0.2"
      }
    },
    "node_modules/ndarray-ops": {
      "version": "1.2.2",
      "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz",
      "integrity": "sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw==",
      "dependencies": {
        "cwise-compiler": "^1.0.0"
      }
    },
    "node_modules/ndarray-pack": {
      "version": "1.2.1",
      "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz",
      "integrity": "sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==",
      "dependencies": {
        "cwise-compiler": "^1.1.2",
        "ndarray": "^1.0.13"
      }
    },
    "node_modules/ndarray-scratch": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz",
      "integrity": "sha512-a4pASwB1jQyJcKLYrwrladVfDZDUGc78qLJZbHyb1Q4rhte0URhzc6ALQpBcauwgov0sXLwZz3vYH5jKAhSMIg==",
      "dependencies": {
        "ndarray": "^1.0.14",
        "ndarray-ops": "^1.2.1",
        "typedarray-pool": "^1.0.2"
      }
    },
    "node_modules/ndarray-select": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/ndarray-select/-/ndarray-select-1.0.1.tgz",
      "integrity": "sha512-bUQH+V2TQnPA0tiB6pliaUSYUTld6Il3UILaH/7T3S7RKzuW9RdA08hayeRJr04Xu4yNTpccLL3YYz7rNd7ffw=="
    },
    "node_modules/negotiator": {
      "version": "0.6.3",
      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -8971,6 +9111,21 @@
        "stacktrace-gps": "^3.0.4"
      }
    },
    "node_modules/static-kdtree": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/static-kdtree/-/static-kdtree-1.0.2.tgz",
      "integrity": "sha512-0EnWbb9V5TKZp+SvS59wzXGDFzA02YTpOfE73R1Exj2MK7fNyJELtAeSMW/p23nc2HFV1HqHxTS19aflt6f83g==",
      "dependencies": {
        "bit-twiddle": "^1.0.0",
        "inorder-tree-layout": "^1.0.0",
        "ndarray": "^1.0.13",
        "ndarray-ops": "^1.2.1",
        "ndarray-pack": "^1.1.0",
        "ndarray-scratch": "^1.0.0",
        "ndarray-select": "^1.0.0",
        "typedarray-pool": "^1.0.0"
      }
    },
    "node_modules/statuses": {
      "version": "1.5.0",
      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -9560,6 +9715,15 @@
        "node": ">= 0.6"
      }
    },
    "node_modules/typedarray-pool": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz",
      "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==",
      "dependencies": {
        "bit-twiddle": "^1.0.0",
        "dup": "^1.0.0"
      }
    },
    "node_modules/typescript": {
      "version": "4.5.5",
      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
@@ -9637,6 +9801,11 @@
        "url": "https://github.com/sponsors/ljharb"
      }
    },
    "node_modules/uniq": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
      "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA=="
    },
    "node_modules/universalify": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
@@ -12037,6 +12206,11 @@
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
    },
    "base64-js": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
    },
    "batch": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -12060,6 +12234,11 @@
      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
      "dev": true
    },
    "bit-twiddle": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz",
      "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA=="
    },
    "blob-util": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
@@ -12166,6 +12345,15 @@
        "picocolors": "^1.0.0"
      }
    },
    "buffer": {
      "version": "6.0.3",
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
      "requires": {
        "base64-js": "^1.3.1",
        "ieee754": "^1.2.1"
      }
    },
    "buffer-from": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -12575,6 +12763,14 @@
      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
      "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
    },
    "cwise-compiler": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz",
      "integrity": "sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==",
      "requires": {
        "uniq": "^1.0.0"
      }
    },
    "d3": {
      "version": "7.3.0",
      "resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz",
@@ -13114,6 +13310,11 @@
        "minimatch": "^3.0.4"
      }
    },
    "dup": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
      "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA=="
    },
    "ee-first": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -14415,6 +14616,11 @@
        "safari-14-idb-fix": "^3.0.0"
      }
    },
    "ieee754": {
      "version": "1.2.1",
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
    },
    "ignore": {
      "version": "5.2.0",
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -14526,6 +14732,21 @@
        "css-in-js-utils": "^2.0.0"
      }
    },
    "inorder-tree-layout": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/inorder-tree-layout/-/inorder-tree-layout-1.0.0.tgz",
      "integrity": "sha512-nRgl0K3Cd8LC5U3qNzhwwDFC9CIGy0O/RN52L9woY0nqS0UkasEP752l2zxTql3P93FgNuewQKjmsNYNYw4xmA==",
      "requires": {
        "bit-twiddle": "~0.0.1"
      },
      "dependencies": {
        "bit-twiddle": {
          "version": "0.0.2",
          "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz",
          "integrity": "sha512-76iFAOrkcuw5UPA30Pt32XaytMHXz/04JembgIwsQAp7ImHYSWNq1shBbrlWf6CUvh1+amQ81LI8hNhqQgsBEw=="
        }
      }
    },
    "internal-slot": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
@@ -14560,6 +14781,11 @@
        "utf8": "^2.1.2"
      }
    },
    "iota-array": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
      "integrity": "sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA=="
    },
    "ip": {
      "version": "1.1.5",
      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -15429,6 +15655,47 @@
      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
      "dev": true
    },
    "ndarray": {
      "version": "1.0.19",
      "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz",
      "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==",
      "requires": {
        "iota-array": "^1.0.0",
        "is-buffer": "^1.0.2"
      }
    },
    "ndarray-ops": {
      "version": "1.2.2",
      "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz",
      "integrity": "sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw==",
      "requires": {
        "cwise-compiler": "^1.0.0"
      }
    },
    "ndarray-pack": {
      "version": "1.2.1",
      "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz",
      "integrity": "sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==",
      "requires": {
        "cwise-compiler": "^1.1.2",
        "ndarray": "^1.0.13"
      }
    },
    "ndarray-scratch": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz",
      "integrity": "sha512-a4pASwB1jQyJcKLYrwrladVfDZDUGc78qLJZbHyb1Q4rhte0URhzc6ALQpBcauwgov0sXLwZz3vYH5jKAhSMIg==",
      "requires": {
        "ndarray": "^1.0.14",
        "ndarray-ops": "^1.2.1",
        "typedarray-pool": "^1.0.2"
      }
    },
    "ndarray-select": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/ndarray-select/-/ndarray-select-1.0.1.tgz",
      "integrity": "sha512-bUQH+V2TQnPA0tiB6pliaUSYUTld6Il3UILaH/7T3S7RKzuW9RdA08hayeRJr04Xu4yNTpccLL3YYz7rNd7ffw=="
    },
    "negotiator": {
      "version": "0.6.3",
      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -17169,6 +17436,21 @@
        "stacktrace-gps": "^3.0.4"
      }
    },
    "static-kdtree": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/static-kdtree/-/static-kdtree-1.0.2.tgz",
      "integrity": "sha512-0EnWbb9V5TKZp+SvS59wzXGDFzA02YTpOfE73R1Exj2MK7fNyJELtAeSMW/p23nc2HFV1HqHxTS19aflt6f83g==",
      "requires": {
        "bit-twiddle": "^1.0.0",
        "inorder-tree-layout": "^1.0.0",
        "ndarray": "^1.0.13",
        "ndarray-ops": "^1.2.1",
        "ndarray-pack": "^1.1.0",
        "ndarray-scratch": "^1.0.0",
        "ndarray-select": "^1.0.0",
        "typedarray-pool": "^1.0.0"
      }
    },
    "statuses": {
      "version": "1.5.0",
      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -17612,6 +17894,15 @@
        "mime-types": "~2.1.24"
      }
    },
    "typedarray-pool": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz",
      "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==",
      "requires": {
        "bit-twiddle": "^1.0.0",
        "dup": "^1.0.0"
      }
    },
    "typescript": {
      "version": "4.5.5",
      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
@@ -17657,6 +17948,11 @@
        "which-boxed-primitive": "^1.0.2"
      }
    },
    "uniq": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
      "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA=="
    },
    "universalify": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
    "@gmod/gff": "^1.1.2",
    "@types/chroma-js": "^2.1.3",
    "@types/ua-parser-js": "^0.7.36",
    "buffer": "^6.0.3",
    "chroma-js": "^2.4.2",
    "d3": "^7.2.1",
    "file-saver": "^2.0.5",
@@ -46,6 +47,7 @@
    "rooks": "^5.7.3",
    "sigma": "^2.2.0",
    "simple-statistics": "^7.7.0",
    "static-kdtree": "^1.0.2",
    "stream": "^0.0.2",
    "ua-parser-js": "^1.0.2",
    "use-deep-compare-effect": "^1.8.1",
+1 −1
Original line number Diff line number Diff line
@@ -646,7 +646,7 @@ export function ChromatinViewportConfigurationPanel(props: {
        {configuration.selectedDatum != null && configuration.data.length > configuration.selectedDatum && (<Slider
            label="Radius"
            min={0.0}
            max={configuration.data[configuration.selectedDatum].radiusRange.max * 2.0}
            max={configuration.data[configuration.selectedDatum].radiusRange.max}
            step={(configuration.data[configuration.selectedDatum].radiusRange.max - configuration.data[configuration.selectedDatum].radiusRange.min) / 100.0}
            value={toNumber(configuration.data[configuration.selectedDatum].radius)}
            showValue={false}
+2 −1
Original line number Diff line number Diff line
@@ -30,7 +30,8 @@ export function SelectionsTrack(props: {
        throw "";
    }

    const selectionsList = allSelections.selections.map(s => {
    const d = configuration.data as DistanceDataConfiguration;
    const selectionsList = allSelections.selections.filter(s => s.dataID == d.id).map(s => {
        return {
            key: isoSelectionID.unwrap(s.id),
            text: s.name,
+3 −2
Original line number Diff line number Diff line
@@ -553,7 +553,7 @@ export function ChromatinViewport(props: {
    }, [viewport, configuration.cutaways]);

    //#region Labels
    let labelsWorldSpace: Array<[vec3, string | number, IColor]> = [];
    let labelsWorldSpace: Array<[vec4, string | number, IColor]> = [];

    // Create Labels
    for (const [configurationDatumIndex, configurationDatum] of configuration.data.entries()) {
@@ -566,7 +566,7 @@ export function ChromatinViewport(props: {

            if (data3D) {
                labelsWorldSpace = (primaryData.values as BEDAnnotations).map((annotation: BEDAnnotation) => [
                    vec3.fromValues(data3D.positions[annotation.from].x, data3D.positions[annotation.from].y, data3D.positions[annotation.from].z),
                    vec4.fromValues(data3D.positions[annotation.from].x, data3D.positions[annotation.from].y, data3D.positions[annotation.from].z, configurationDatum.radius),
                    // annotation.attributes[0] || 'None'
                    annotation.attributes[4] || 'None',
                    markerColor
@@ -605,6 +605,7 @@ export function ChromatinViewport(props: {
        let i = 0;
        for (const [position, marker, color] of labelsWorldSpace) {
            const viewSpacePosition = vec4.transformMat4(vec4.create(), vec4.fromValues(position[0], position[1], position[2], 1.0), mvm);
            viewSpacePosition[2] += 2.0 * position[3];
            const clipSpacePosition = vec4.transformMat4(vec4.create(), viewSpacePosition, pm);
            const w = clipSpacePosition[3];

Loading