@macrostrat/column-views 2.1.4 → 2.2.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.
- package/CHANGELOG.md +7 -0
- package/dist/esm/{column-views.4ab0ec82.js → column-views.073c42da.js} +142 -76
- package/dist/esm/column-views.073c42da.js.map +1 -0
- package/dist/esm/column-views.079119f4.js +17 -0
- package/dist/esm/column-views.079119f4.js.map +1 -0
- package/dist/esm/{column-views.77b49a43.js → column-views.0859feb3.js} +52 -23
- package/dist/esm/column-views.0859feb3.js.map +1 -0
- package/dist/esm/{column-views.1f7fb650.js → column-views.0a8a07f4.js} +3 -3
- package/dist/esm/{column-views.1f7fb650.js.map → column-views.0a8a07f4.js.map} +1 -1
- package/dist/esm/{column-views.0732894f.js → column-views.0f7f6ee6.js} +2 -2
- package/dist/esm/{column-views.0732894f.js.map → column-views.0f7f6ee6.js.map} +1 -1
- package/dist/esm/{column-views.448c0687.css → column-views.1151416d.css} +5 -5
- package/dist/esm/column-views.1151416d.css.map +1 -0
- package/dist/esm/{column-views.676cb1d3.js → column-views.1b644998.js} +3 -3
- package/dist/esm/{column-views.676cb1d3.js.map → column-views.1b644998.js.map} +1 -1
- package/dist/esm/{column-views.686d21ad.js → column-views.22ec902b.js} +4 -1
- package/dist/esm/column-views.22ec902b.js.map +1 -0
- package/dist/esm/{column-views.02f3732a.js → column-views.285cbb65.js} +40 -20
- package/dist/esm/column-views.285cbb65.js.map +1 -0
- package/dist/esm/{column-views.97d542eb.js → column-views.2d602a57.js} +4 -4
- package/dist/esm/column-views.2d602a57.js.map +1 -0
- package/dist/esm/{column-views.b17f793f.css → column-views.321af3ae.css} +7 -1
- package/dist/esm/{column-views.686d21ad.js.map → column-views.321af3ae.css.map} +1 -1
- package/dist/esm/column-views.3a7179c4.js +137 -0
- package/dist/esm/column-views.3a7179c4.js.map +1 -0
- package/dist/esm/{column-views.78bd3f09.js → column-views.3e1b8c7d.js} +2 -2
- package/dist/esm/{column-views.78bd3f09.js.map → column-views.3e1b8c7d.js.map} +1 -1
- package/dist/esm/{column-views.42b89c52.js → column-views.3f528c5c.js} +50 -22
- package/dist/esm/column-views.3f528c5c.js.map +1 -0
- package/dist/esm/{column-views.1e055ed5.js → column-views.4fd4ec92.js} +17 -3
- package/dist/esm/column-views.4fd4ec92.js.map +1 -0
- package/dist/esm/{column-views.769fa0ee.js → column-views.53186d53.js} +2 -2
- package/dist/esm/{column-views.769fa0ee.js.map → column-views.53186d53.js.map} +1 -1
- package/dist/esm/{column-views.39657bbf.js → column-views.54f8b909.js} +7 -2
- package/dist/esm/column-views.54f8b909.js.map +1 -0
- package/dist/esm/{column-views.b72918ce.css → column-views.562db43a.css} +10 -2
- package/dist/esm/column-views.562db43a.css.map +1 -0
- package/dist/esm/{column-views.9e1c82fe.js → column-views.58b891df.js} +2 -2
- package/dist/esm/{column-views.9e1c82fe.js.map → column-views.58b891df.js.map} +1 -1
- package/dist/esm/{column-views.775846c9.js → column-views.5a49cd68.js} +8 -38
- package/dist/esm/column-views.5a49cd68.js.map +1 -0
- package/dist/esm/{column-views.f20eb583.js → column-views.5d969bc5.js} +4 -5
- package/dist/esm/column-views.5d969bc5.js.map +1 -0
- package/dist/esm/{column-views.243da806.js → column-views.63b7e5aa.js} +3 -3
- package/dist/esm/{column-views.243da806.js.map → column-views.63b7e5aa.js.map} +1 -1
- package/dist/esm/column-views.6698b95a.js +108 -0
- package/dist/esm/column-views.6698b95a.js.map +1 -0
- package/dist/esm/column-views.6c644353.js +184 -0
- package/dist/esm/column-views.6c644353.js.map +1 -0
- package/dist/esm/column-views.6e7082db.js +16 -0
- package/dist/esm/column-views.6e7082db.js.map +1 -0
- package/dist/esm/column-views.70164236.js +206 -0
- package/dist/esm/column-views.70164236.js.map +1 -0
- package/dist/esm/{column-views.7ca9e1cd.js → column-views.73b8ff16.js} +19 -21
- package/dist/esm/column-views.73b8ff16.js.map +1 -0
- package/dist/esm/{column-views.cc5244c4.js → column-views.77561197.js} +91 -55
- package/dist/esm/column-views.77561197.js.map +1 -0
- package/dist/esm/{column-views.e7ab5af0.js → column-views.83395185.js} +3 -3
- package/dist/esm/{column-views.e7ab5af0.js.map → column-views.83395185.js.map} +1 -1
- package/dist/esm/{column-views.8e3dec90.js → column-views.86a51ce7.js} +2 -2
- package/dist/esm/{column-views.8e3dec90.js.map → column-views.86a51ce7.js.map} +1 -1
- package/dist/esm/{column-views.f08929e2.js → column-views.88d63dd0.js} +5 -3
- package/dist/esm/column-views.88d63dd0.js.map +1 -0
- package/dist/esm/{column-views.3f246167.js → column-views.8c296309.js} +5 -5
- package/dist/esm/column-views.8c296309.js.map +1 -0
- package/dist/esm/{column-views.ab0380ed.js → column-views.8d24b179.js} +3 -3
- package/dist/esm/{column-views.ab0380ed.js.map → column-views.8d24b179.js.map} +1 -1
- package/dist/esm/{column-views.a6301a41.js → column-views.986e7566.js} +7 -7
- package/dist/esm/{column-views.a6301a41.js.map → column-views.986e7566.js.map} +1 -1
- package/dist/esm/{column-views.86619334.js → column-views.9ddbe7df.js} +2 -2
- package/dist/esm/{column-views.86619334.js.map → column-views.9ddbe7df.js.map} +1 -1
- package/dist/esm/{column-views.2ff3dd8b.js → column-views.ae7c0a2b.js} +31 -60
- package/dist/esm/column-views.ae7c0a2b.js.map +1 -0
- package/dist/esm/{column-views.9892f825.js → column-views.aecf25bc.js} +75 -42
- package/dist/esm/column-views.aecf25bc.js.map +1 -0
- package/dist/esm/column-views.b7016f82.css +54 -0
- package/dist/esm/column-views.b7016f82.css.map +1 -0
- package/dist/esm/{column-views.a195109e.js → column-views.ba0381cc.js} +2 -2
- package/dist/esm/{column-views.a195109e.js.map → column-views.ba0381cc.js.map} +1 -1
- package/dist/esm/{column-views.75ea6dbe.js → column-views.c518ef14.js} +9 -4
- package/dist/esm/column-views.c518ef14.js.map +1 -0
- package/dist/esm/{column-views.f7523c1d.js → column-views.c92a359e.js} +2 -2
- package/dist/esm/{column-views.f7523c1d.js.map → column-views.c92a359e.js.map} +1 -1
- package/dist/esm/{column-views.cdadc5c2.js → column-views.cc733361.js} +7 -1
- package/dist/esm/column-views.cc733361.js.map +1 -0
- package/dist/esm/{column-views.4d22c21c.js → column-views.d15d8655.js} +22 -4
- package/dist/esm/column-views.d15d8655.js.map +1 -0
- package/dist/esm/{column-views.5e2dc19d.js → column-views.d261b02d.js} +3 -3
- package/dist/esm/{column-views.5e2dc19d.js.map → column-views.d261b02d.js.map} +1 -1
- package/dist/esm/{column-views.fbc7401f.js → column-views.d406665d.js} +5 -5
- package/dist/esm/{column-views.fbc7401f.js.map → column-views.d406665d.js.map} +1 -1
- package/dist/esm/{column-views.7715e35e.js → column-views.d69c4a9f.js} +3 -3
- package/dist/esm/{column-views.7715e35e.js.map → column-views.d69c4a9f.js.map} +1 -1
- package/dist/esm/{column-views.547b2730.js → column-views.d9c6b527.js} +15 -12
- package/dist/esm/column-views.d9c6b527.js.map +1 -0
- package/dist/esm/{column-views.8d4ce558.css → column-views.e33ac5c9.css} +26 -9
- package/dist/esm/column-views.e33ac5c9.css.map +1 -0
- package/dist/esm/column-views.e3bf5384.js +15 -0
- package/dist/esm/{column-views.38a305a0.js.map → column-views.e3bf5384.js.map} +1 -1
- package/dist/esm/{column-views.e3b9a317.js → column-views.e4c26185.js} +2 -2
- package/dist/esm/{column-views.e3b9a317.js.map → column-views.e4c26185.js.map} +1 -1
- package/dist/esm/column-views.e84bd756.js +92 -0
- package/dist/esm/column-views.e84bd756.js.map +1 -0
- package/dist/esm/column-views.ea4ebbb7.js +31 -0
- package/dist/esm/column-views.ea4ebbb7.js.map +1 -0
- package/dist/esm/column-views.ed05e233.js +13 -0
- package/dist/esm/{column-views.0a159282.js.map → column-views.ed05e233.js.map} +1 -1
- package/dist/esm/{column-views.64a84c43.js → column-views.f2fd0e4a.js} +10 -2
- package/dist/esm/column-views.f2fd0e4a.js.map +1 -0
- package/dist/esm/{column-views.935ef6f7.js → column-views.f46a0b36.js} +2 -2
- package/dist/esm/{column-views.935ef6f7.js.map → column-views.f46a0b36.js.map} +1 -1
- package/dist/esm/{column-views.d48cb0d8.js → column-views.fcf25ec6.js} +7 -1
- package/dist/esm/column-views.fcf25ec6.js.map +1 -0
- package/dist/esm/index.d.ts +217 -406
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +12 -12
- package/dist/node/{column-views.858b5cf4.js → column-views.01debc76.js} +2 -2
- package/dist/node/{column-views.858b5cf4.js.map → column-views.01debc76.js.map} +1 -1
- package/dist/node/{column-views.51bc87ca.js → column-views.040499c9.js} +2 -2
- package/dist/node/{column-views.51bc87ca.js.map → column-views.040499c9.js.map} +1 -1
- package/dist/node/{column-views.e3ba0594.js → column-views.07ff1fdf.js} +2 -2
- package/dist/node/{column-views.e3ba0594.js.map → column-views.07ff1fdf.js.map} +1 -1
- package/dist/node/{column-views.3a55ecd7.css → column-views.0840b115.css} +2 -2
- package/dist/node/column-views.0840b115.css.map +1 -0
- package/dist/node/column-views.0b3a384e.js +2 -0
- package/dist/node/column-views.0b3a384e.js.map +1 -0
- package/dist/node/column-views.0bd15ee4.js +2 -0
- package/dist/node/column-views.0bd15ee4.js.map +1 -0
- package/dist/node/column-views.105f6ad2.js +2 -0
- package/dist/node/column-views.105f6ad2.js.map +1 -0
- package/dist/node/column-views.1261be59.js +2 -0
- package/dist/node/column-views.1261be59.js.map +1 -0
- package/dist/node/{column-views.45fab61b.js → column-views.13e69859.js} +2 -2
- package/dist/node/{column-views.45fab61b.js.map → column-views.13e69859.js.map} +1 -1
- package/dist/node/column-views.16f336ee.js +2 -0
- package/dist/node/column-views.16f336ee.js.map +1 -0
- package/dist/node/{column-views.58d2f993.js → column-views.1a7f8afd.js} +2 -2
- package/dist/node/{column-views.58d2f993.js.map → column-views.1a7f8afd.js.map} +1 -1
- package/dist/node/column-views.29eb25bd.css +2 -0
- package/dist/node/column-views.29eb25bd.css.map +1 -0
- package/dist/node/column-views.2bd97c2e.js +2 -0
- package/dist/node/column-views.2bd97c2e.js.map +1 -0
- package/dist/node/column-views.3b37363f.js +2 -0
- package/dist/node/column-views.3b37363f.js.map +1 -0
- package/dist/node/column-views.45296250.js +2 -0
- package/dist/node/column-views.45296250.js.map +1 -0
- package/dist/node/{column-views.0cbd4a3f.js → column-views.48a3cfa3.js} +2 -2
- package/dist/node/{column-views.0cbd4a3f.js.map → column-views.48a3cfa3.js.map} +1 -1
- package/dist/node/{column-views.42db0bb8.js → column-views.492c2c72.js} +2 -2
- package/dist/node/{column-views.42db0bb8.js.map → column-views.492c2c72.js.map} +1 -1
- package/dist/node/column-views.50a992d3.css +2 -0
- package/dist/node/column-views.50a992d3.css.map +1 -0
- package/dist/node/column-views.573cb29d.js +2 -0
- package/dist/node/column-views.573cb29d.js.map +1 -0
- package/dist/node/column-views.576e3c5a.js +2 -0
- package/dist/node/column-views.576e3c5a.js.map +1 -0
- package/dist/node/column-views.5f3b0b04.js +2 -0
- package/dist/node/column-views.5f3b0b04.js.map +1 -0
- package/dist/node/column-views.6fd5a922.js +2 -0
- package/dist/node/column-views.6fd5a922.js.map +1 -0
- package/dist/node/column-views.7150ba18.js +2 -0
- package/dist/node/column-views.7150ba18.js.map +1 -0
- package/dist/node/column-views.728c8dfc.js +2 -0
- package/dist/node/column-views.728c8dfc.js.map +1 -0
- package/dist/node/column-views.7425d37b.js +2 -0
- package/dist/node/column-views.7425d37b.js.map +1 -0
- package/dist/node/{column-views.2e4e357d.js → column-views.75582658.js} +2 -2
- package/dist/node/{column-views.2e4e357d.js.map → column-views.75582658.js.map} +1 -1
- package/dist/node/column-views.77ace3a2.js +2 -0
- package/dist/node/column-views.77ace3a2.js.map +1 -0
- package/dist/node/column-views.7f9c7448.js +2 -0
- package/dist/node/column-views.7f9c7448.js.map +1 -0
- package/dist/node/{column-views.a2274834.js → column-views.81294fb7.js} +2 -2
- package/dist/node/{column-views.a2274834.js.map → column-views.81294fb7.js.map} +1 -1
- package/dist/node/column-views.827a9894.js +2 -0
- package/dist/node/column-views.827a9894.js.map +1 -0
- package/dist/node/column-views.87b1439e.js +2 -0
- package/dist/node/column-views.87b1439e.js.map +1 -0
- package/dist/node/{column-views.492b4917.js → column-views.9dda582d.js} +2 -2
- package/dist/node/{column-views.492b4917.js.map → column-views.9dda582d.js.map} +1 -1
- package/dist/node/{column-views.2a6b842d.js → column-views.9e155f20.js} +2 -2
- package/dist/node/column-views.9e155f20.js.map +1 -0
- package/dist/node/column-views.a16cd1f2.js +2 -0
- package/dist/node/column-views.a16cd1f2.js.map +1 -0
- package/dist/node/{column-views.eeca917f.js → column-views.a34732e7.js} +2 -2
- package/dist/node/{column-views.eeca917f.js.map → column-views.a34732e7.js.map} +1 -1
- package/dist/node/{column-views.65f091ea.js → column-views.a396d3ac.js} +2 -2
- package/dist/node/{column-views.65f091ea.js.map → column-views.a396d3ac.js.map} +1 -1
- package/dist/node/column-views.aae09aca.js +2 -0
- package/dist/node/column-views.aae09aca.js.map +1 -0
- package/dist/node/{column-views.a372c943.js → column-views.ac1b58b7.js} +2 -2
- package/dist/node/{column-views.a372c943.js.map → column-views.ac1b58b7.js.map} +1 -1
- package/dist/node/column-views.aef76eee.js +2 -0
- package/dist/node/column-views.aef76eee.js.map +1 -0
- package/dist/node/column-views.b64cd0ea.js +2 -0
- package/dist/node/column-views.b64cd0ea.js.map +1 -0
- package/dist/node/{column-views.2d957a97.js → column-views.b6cd4360.js} +2 -2
- package/dist/node/column-views.b6cd4360.js.map +1 -0
- package/dist/node/column-views.c0be1157.js +2 -0
- package/dist/node/column-views.c0be1157.js.map +1 -0
- package/dist/node/column-views.c29e9eb8.js +2 -0
- package/dist/node/column-views.c29e9eb8.js.map +1 -0
- package/dist/node/column-views.c8df6435.js +2 -0
- package/dist/node/column-views.c8df6435.js.map +1 -0
- package/dist/node/column-views.cd2a5c85.js +2 -0
- package/dist/node/column-views.cd2a5c85.js.map +1 -0
- package/dist/node/{column-views.df97f28e.js → column-views.cd77a1d8.js} +2 -2
- package/dist/node/{column-views.df97f28e.js.map → column-views.cd77a1d8.js.map} +1 -1
- package/dist/node/column-views.cd7b223b.css +2 -0
- package/dist/node/column-views.cd7b223b.css.map +1 -0
- package/dist/node/column-views.cf2a78c1.js +2 -0
- package/dist/node/column-views.cf2a78c1.js.map +1 -0
- package/dist/node/{column-views.c7f6fc0a.js → column-views.d529d3aa.js} +2 -2
- package/dist/node/{column-views.c7f6fc0a.js.map → column-views.d529d3aa.js.map} +1 -1
- package/dist/node/{column-views.7010a03b.js → column-views.dd972321.js} +2 -2
- package/dist/node/{column-views.7010a03b.js.map → column-views.dd972321.js.map} +1 -1
- package/dist/node/column-views.e065152e.js +2 -0
- package/dist/node/column-views.e065152e.js.map +1 -0
- package/dist/node/{column-views.2ca669bc.js → column-views.e08f8715.js} +2 -2
- package/dist/node/{column-views.2ca669bc.js.map → column-views.e08f8715.js.map} +1 -1
- package/dist/node/{column-views.91043465.js → column-views.e0d9865e.js} +2 -2
- package/dist/node/column-views.e0d9865e.js.map +1 -0
- package/dist/node/column-views.e2562224.js +2 -0
- package/dist/node/column-views.e2562224.js.map +1 -0
- package/dist/node/column-views.e803e4ae.css +2 -0
- package/dist/node/column-views.e803e4ae.css.map +1 -0
- package/dist/node/column-views.edb4ba54.js +2 -0
- package/dist/node/column-views.edb4ba54.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +13 -13
- package/src/age-axis.module.sass +4 -2
- package/src/age-axis.ts +49 -15
- package/src/age-model-overlay.ts +22 -1
- package/src/column.module.sass +29 -9
- package/src/column.ts +91 -19
- package/src/correlation-chart/main.ts +10 -2
- package/src/correlation-chart/prepare-data.ts +7 -4
- package/src/correlation-chart/stories/correlation-chart.stories.ts +26 -1
- package/src/data-provider/base.ts +32 -24
- package/src/data-provider/fetch.ts +10 -3
- package/src/data-provider/store.ts +16 -10
- package/src/facets/base-sample-column.module.sass +14 -0
- package/src/facets/base-sample-column.ts +114 -0
- package/src/facets/detrital-zircon/index.ts +31 -63
- package/src/facets/fossils/index.module.sass +43 -13
- package/src/facets/fossils/index.ts +232 -158
- package/src/facets/fossils/provider.ts +121 -25
- package/src/facets/index.ts +1 -0
- package/src/facets/measurements/index.ts +1 -2
- package/src/prepare-units/composite-scale.ts +183 -155
- package/src/prepare-units/dynamic-scales.ts +298 -0
- package/src/prepare-units/helpers.ts +99 -87
- package/src/prepare-units/index.ts +77 -51
- package/src/prepare-units/types.ts +138 -0
- package/src/prepare-units/utils.ts +29 -1
- package/src/section.ts +46 -9
- package/src/unit-details/panel.module.sass +8 -1
- package/src/unit-details/panel.ts +123 -53
- package/src/unit-details/popover.ts +5 -0
- package/src/units/boxes.ts +1 -5
- package/src/units/composite.ts +3 -49
- package/src/units/selection.ts +21 -7
- package/dist/esm/column-views.02f3732a.js.map +0 -1
- package/dist/esm/column-views.0a159282.js +0 -13
- package/dist/esm/column-views.1e055ed5.js.map +0 -1
- package/dist/esm/column-views.2ff3dd8b.js.map +0 -1
- package/dist/esm/column-views.3048acc1.js +0 -66
- package/dist/esm/column-views.3048acc1.js.map +0 -1
- package/dist/esm/column-views.38a305a0.js +0 -13
- package/dist/esm/column-views.39657bbf.js.map +0 -1
- package/dist/esm/column-views.3f246167.js.map +0 -1
- package/dist/esm/column-views.42b89c52.js.map +0 -1
- package/dist/esm/column-views.448c0687.css.map +0 -1
- package/dist/esm/column-views.4ab0ec82.js.map +0 -1
- package/dist/esm/column-views.4d22c21c.js.map +0 -1
- package/dist/esm/column-views.547b2730.js.map +0 -1
- package/dist/esm/column-views.64a84c43.js.map +0 -1
- package/dist/esm/column-views.75ea6dbe.js.map +0 -1
- package/dist/esm/column-views.775846c9.js.map +0 -1
- package/dist/esm/column-views.77b49a43.js.map +0 -1
- package/dist/esm/column-views.7ca9e1cd.js.map +0 -1
- package/dist/esm/column-views.8703a35b.js +0 -163
- package/dist/esm/column-views.8703a35b.js.map +0 -1
- package/dist/esm/column-views.8d4ce558.css.map +0 -1
- package/dist/esm/column-views.97d542eb.js.map +0 -1
- package/dist/esm/column-views.9892f825.js.map +0 -1
- package/dist/esm/column-views.b17f793f.css.map +0 -1
- package/dist/esm/column-views.b3c1eb9e.js +0 -16
- package/dist/esm/column-views.b3c1eb9e.js.map +0 -1
- package/dist/esm/column-views.b72918ce.css.map +0 -1
- package/dist/esm/column-views.c71c321c.js +0 -104
- package/dist/esm/column-views.c71c321c.js.map +0 -1
- package/dist/esm/column-views.cc5244c4.js.map +0 -1
- package/dist/esm/column-views.cdadc5c2.js.map +0 -1
- package/dist/esm/column-views.d48cb0d8.js.map +0 -1
- package/dist/esm/column-views.f08929e2.js.map +0 -1
- package/dist/esm/column-views.f20eb583.js.map +0 -1
- package/dist/node/column-views.085f4a51.js +0 -2
- package/dist/node/column-views.085f4a51.js.map +0 -1
- package/dist/node/column-views.0dfc7ef7.js +0 -2
- package/dist/node/column-views.0dfc7ef7.js.map +0 -1
- package/dist/node/column-views.1a0b56fc.js +0 -2
- package/dist/node/column-views.1a0b56fc.js.map +0 -1
- package/dist/node/column-views.2926f656.css +0 -2
- package/dist/node/column-views.2926f656.css.map +0 -1
- package/dist/node/column-views.2a6b842d.js.map +0 -1
- package/dist/node/column-views.2d957a97.js.map +0 -1
- package/dist/node/column-views.307661d1.css +0 -2
- package/dist/node/column-views.307661d1.css.map +0 -1
- package/dist/node/column-views.33752461.js +0 -2
- package/dist/node/column-views.33752461.js.map +0 -1
- package/dist/node/column-views.38357d4a.js +0 -2
- package/dist/node/column-views.38357d4a.js.map +0 -1
- package/dist/node/column-views.3a55ecd7.css.map +0 -1
- package/dist/node/column-views.3eeac38d.js +0 -2
- package/dist/node/column-views.3eeac38d.js.map +0 -1
- package/dist/node/column-views.45168c80.js +0 -2
- package/dist/node/column-views.45168c80.js.map +0 -1
- package/dist/node/column-views.4ca62e5d.js +0 -2
- package/dist/node/column-views.4ca62e5d.js.map +0 -1
- package/dist/node/column-views.6ae7bb69.js +0 -2
- package/dist/node/column-views.6ae7bb69.js.map +0 -1
- package/dist/node/column-views.6f7a432f.js +0 -2
- package/dist/node/column-views.6f7a432f.js.map +0 -1
- package/dist/node/column-views.755f726e.js +0 -2
- package/dist/node/column-views.755f726e.js.map +0 -1
- package/dist/node/column-views.758b9bc1.js +0 -2
- package/dist/node/column-views.758b9bc1.js.map +0 -1
- package/dist/node/column-views.78d3f3c5.js +0 -2
- package/dist/node/column-views.78d3f3c5.js.map +0 -1
- package/dist/node/column-views.80fcf105.js +0 -2
- package/dist/node/column-views.80fcf105.js.map +0 -1
- package/dist/node/column-views.8cfed88b.js +0 -2
- package/dist/node/column-views.8cfed88b.js.map +0 -1
- package/dist/node/column-views.91043465.js.map +0 -1
- package/dist/node/column-views.976a829b.js +0 -2
- package/dist/node/column-views.976a829b.js.map +0 -1
- package/dist/node/column-views.99fb74c0.js +0 -2
- package/dist/node/column-views.99fb74c0.js.map +0 -1
- package/dist/node/column-views.9b7a9ae1.js +0 -2
- package/dist/node/column-views.9b7a9ae1.js.map +0 -1
- package/dist/node/column-views.9de31cdb.js +0 -2
- package/dist/node/column-views.9de31cdb.js.map +0 -1
- package/dist/node/column-views.a4e6d4ad.js +0 -2
- package/dist/node/column-views.a4e6d4ad.js.map +0 -1
- package/dist/node/column-views.a501cea0.js +0 -2
- package/dist/node/column-views.a501cea0.js.map +0 -1
- package/dist/node/column-views.a7256aa7.js +0 -2
- package/dist/node/column-views.a7256aa7.js.map +0 -1
- package/dist/node/column-views.c4b409e1.css +0 -2
- package/dist/node/column-views.c4b409e1.css.map +0 -1
- package/dist/node/column-views.cef1b814.js +0 -2
- package/dist/node/column-views.cef1b814.js.map +0 -1
- package/dist/node/column-views.d6708353.js +0 -2
- package/dist/node/column-views.d6708353.js.map +0 -1
- package/dist/node/column-views.d9add589.js +0 -2
- package/dist/node/column-views.d9add589.js.map +0 -1
- package/dist/node/column-views.dfb2361a.js +0 -2
- package/dist/node/column-views.dfb2361a.js.map +0 -1
- package/dist/node/column-views.e9515ec1.js +0 -2
- package/dist/node/column-views.e9515ec1.js.map +0 -1
|
@@ -1,82 +1,23 @@
|
|
|
1
|
-
import type { ExtUnit, SectionInfo } from "./helpers";
|
|
2
1
|
import { ColumnAxisType } from "@macrostrat/column-components";
|
|
3
2
|
import { ensureArray, getUnitHeightRange } from "./utils";
|
|
4
|
-
import {
|
|
3
|
+
import { ScaleContinuousNumeric, scaleLinear } from "d3-scale";
|
|
5
4
|
import { UnitLong } from "@macrostrat/api-types";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* render two axis labels */
|
|
18
|
-
minPixelScale?: number;
|
|
19
|
-
// Axis scale type
|
|
20
|
-
axisType?: ColumnAxisType;
|
|
21
|
-
// Unconformity height in pixels
|
|
22
|
-
unconformityHeight?: number;
|
|
23
|
-
// Whether to collapse unconformities that are less than a height threshold
|
|
24
|
-
collapseSmallUnconformities?: boolean | number;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface SectionScaleOptions extends ColumnHeightScaleOptions {
|
|
28
|
-
axisType: ColumnAxisType;
|
|
29
|
-
domain: [number, number];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface LinearScaleDef {
|
|
33
|
-
domain: [number, number];
|
|
34
|
-
pixelScale: number;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/** Output of a section scale. For now, this assumes that the
|
|
38
|
-
* mapping is linear, but it could be extended to support arbitrary
|
|
39
|
-
* scale functions.
|
|
40
|
-
*/
|
|
41
|
-
export interface PackageScaleInfo extends LinearScaleDef {
|
|
42
|
-
pixelHeight: number;
|
|
43
|
-
// TODO: add a function
|
|
44
|
-
scale: ScaleLinear<number, number>;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export type PackageScaleLayoutData = PackageScaleInfo & {
|
|
48
|
-
// A unique key for the section to use in React
|
|
49
|
-
key: string;
|
|
50
|
-
offset: number;
|
|
51
|
-
// How much to
|
|
52
|
-
paddingTop: number;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export type PackageLayoutData<T extends UnitLong = ExtUnit> = SectionInfo<T> & {
|
|
56
|
-
scaleInfo: PackageScaleLayoutData;
|
|
57
|
-
// A unique key for the section to use in React
|
|
58
|
-
key: string;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
export interface CompositeScaleData {
|
|
62
|
-
totalHeight: number;
|
|
63
|
-
sections: PackageScaleLayoutData[];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export interface ColumnScaleOptions extends ColumnHeightScaleOptions {
|
|
67
|
-
axisType: ColumnAxisType;
|
|
68
|
-
unconformityHeight: number;
|
|
69
|
-
}
|
|
5
|
+
import { buildHybridScale } from "./dynamic-scales";
|
|
6
|
+
import { ExtUnit, HybridScaleType, SectionInfo } from "./types";
|
|
7
|
+
import type {
|
|
8
|
+
ColumnScaleOptions,
|
|
9
|
+
CompositeColumnData,
|
|
10
|
+
CompositeScaleData,
|
|
11
|
+
PackageLayoutData,
|
|
12
|
+
PackageScaleInfo,
|
|
13
|
+
PackageScaleLayoutData,
|
|
14
|
+
SectionScaleOptions,
|
|
15
|
+
} from "./types";
|
|
70
16
|
|
|
71
17
|
// Composite scale information augmented with units in each package
|
|
72
18
|
|
|
73
|
-
export interface CompositeColumnData<T extends UnitLong = ExtUnit>
|
|
74
|
-
extends Omit<CompositeScaleData, "sections"> {
|
|
75
|
-
sections: PackageLayoutData<T>[];
|
|
76
|
-
}
|
|
77
|
-
|
|
78
19
|
export function buildCompositeScaleInfo(
|
|
79
|
-
inputScales:
|
|
20
|
+
inputScales: PackageScaleInfo[],
|
|
80
21
|
unconformityHeight: number,
|
|
81
22
|
): CompositeScaleData {
|
|
82
23
|
/** Finalize the heights of sections, including the heights of unconformities
|
|
@@ -88,7 +29,7 @@ export function buildCompositeScaleInfo(
|
|
|
88
29
|
|
|
89
30
|
const packages2: PackageScaleLayoutData[] = [];
|
|
90
31
|
for (const group of inputScales) {
|
|
91
|
-
const { domain,
|
|
32
|
+
const { domain, scale } = group;
|
|
92
33
|
const [b_age, t_age] = domain;
|
|
93
34
|
const key = `package-${b_age}-${t_age}`;
|
|
94
35
|
|
|
@@ -99,7 +40,8 @@ export function buildCompositeScaleInfo(
|
|
|
99
40
|
// Unconformity height above this particular section
|
|
100
41
|
paddingTop: totalHeight - lastSectionTopHeight,
|
|
101
42
|
});
|
|
102
|
-
|
|
43
|
+
|
|
44
|
+
const pixelHeight = Math.abs(scale(b_age) - scale(t_age));
|
|
103
45
|
lastSectionTopHeight = totalHeight + pixelHeight;
|
|
104
46
|
totalHeight = lastSectionTopHeight + unconformityHeight;
|
|
105
47
|
}
|
|
@@ -119,6 +61,7 @@ export function finalizeSectionHeights<T extends UnitLong>(
|
|
|
119
61
|
*/
|
|
120
62
|
|
|
121
63
|
const sectionScales = sections.map((d) => d.scaleInfo);
|
|
64
|
+
|
|
122
65
|
const { totalHeight, sections: packages } = buildCompositeScaleInfo(
|
|
123
66
|
sectionScales,
|
|
124
67
|
unconformityHeight,
|
|
@@ -141,8 +84,9 @@ export function finalizeSectionHeights<T extends UnitLong>(
|
|
|
141
84
|
};
|
|
142
85
|
}
|
|
143
86
|
|
|
144
|
-
interface SectionInfoWithScale<
|
|
145
|
-
extends
|
|
87
|
+
export interface SectionInfoWithScale<
|
|
88
|
+
T extends UnitLong = ExtUnit,
|
|
89
|
+
> extends SectionInfo<T> {
|
|
146
90
|
scaleInfo: PackageScaleInfo;
|
|
147
91
|
}
|
|
148
92
|
|
|
@@ -159,11 +103,13 @@ function addScaleToSection<T extends UnitLong = ExtUnit>(
|
|
|
159
103
|
group: SectionInfo<T>,
|
|
160
104
|
opts: ColumnScaleOptions,
|
|
161
105
|
): SectionInfoWithScale<T> {
|
|
162
|
-
const { t_age, b_age, units } = group;
|
|
106
|
+
const { t_age, b_age, t_pos, b_pos, units } = group;
|
|
163
107
|
let _range = null;
|
|
164
108
|
// if t_age and b_age are set for a group, use them to define the range...
|
|
165
|
-
if (
|
|
109
|
+
if (opts.axisType == ColumnAxisType.AGE) {
|
|
166
110
|
_range = [b_age, t_age];
|
|
111
|
+
} else {
|
|
112
|
+
_range = [b_pos, t_pos];
|
|
167
113
|
}
|
|
168
114
|
|
|
169
115
|
const scaleInfo = buildSectionScale<T>(units, {
|
|
@@ -186,49 +132,103 @@ function buildSectionScale<T extends UnitLong>(
|
|
|
186
132
|
minPixelScale = 0.2,
|
|
187
133
|
axisType,
|
|
188
134
|
minSectionHeight,
|
|
135
|
+
scale,
|
|
136
|
+
hybridScale,
|
|
189
137
|
} = opts;
|
|
190
138
|
const domain = opts.domain ?? findSectionHeightRange(data, axisType);
|
|
191
139
|
|
|
192
140
|
const dAge = Math.abs(domain[0] - domain[1]);
|
|
193
141
|
|
|
194
142
|
let _pixelScale = opts.pixelScale;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
143
|
+
let pixelHeight: number;
|
|
144
|
+
|
|
145
|
+
if (hybridScale != null) {
|
|
146
|
+
/** In an equidistant surfaces scale, we want to determine the heights of surfaces
|
|
147
|
+
* and then distribute units evenly between them.
|
|
148
|
+
* This is somewhat like an ordinal scale
|
|
149
|
+
*/
|
|
150
|
+
if (hybridScale.type === HybridScaleType.EquidistantSurfaces) {
|
|
151
|
+
_pixelScale ??= targetUnitHeight;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return buildHybridScale(hybridScale, data, domain, {
|
|
155
|
+
pixelOffset: 0,
|
|
156
|
+
pixelScale: _pixelScale,
|
|
157
|
+
});
|
|
205
158
|
}
|
|
206
159
|
|
|
207
|
-
|
|
160
|
+
if (scale == null) {
|
|
161
|
+
if (_pixelScale == null) {
|
|
162
|
+
const avgAgeRange = findAverageUnitHeight(data, axisType);
|
|
163
|
+
// Get pixel height necessary to render average unit at target height
|
|
164
|
+
_pixelScale = Math.max(targetUnitHeight / avgAgeRange, minPixelScale);
|
|
165
|
+
|
|
166
|
+
// OLD METHOD that cares about overall section height vs. individual unit height
|
|
167
|
+
// 0.2 pixel per myr is the floor scale
|
|
168
|
+
//const targetHeight = targetUnitHeight * data.length;
|
|
169
|
+
// 1 pixel per myr is the floor scale
|
|
170
|
+
//_pixelScale = Math.max(targetHeight / dAge, minPixelScale);
|
|
171
|
+
}
|
|
208
172
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
173
|
+
let height = dAge * _pixelScale;
|
|
174
|
+
// If height is less than minSectionHeight, set it to minSectionHeight
|
|
175
|
+
const _minSectionHeight = minSectionHeight ?? targetUnitHeight ?? 0;
|
|
176
|
+
pixelHeight = Math.max(height, _minSectionHeight);
|
|
177
|
+
_pixelScale = pixelHeight / dAge;
|
|
178
|
+
} else {
|
|
179
|
+
// If a scale is provided, use it to compute pixel height
|
|
180
|
+
pixelHeight = Math.abs(scale(domain[0]) - scale(domain[1]));
|
|
181
|
+
}
|
|
213
182
|
|
|
214
|
-
return createPackageScale(
|
|
183
|
+
return createPackageScale(
|
|
184
|
+
{ scale, domain, pixelHeight, pixelScale: _pixelScale },
|
|
185
|
+
0,
|
|
186
|
+
);
|
|
215
187
|
}
|
|
216
188
|
|
|
217
189
|
export function createPackageScale(
|
|
218
|
-
def:
|
|
190
|
+
def: PackageScaleInfo,
|
|
219
191
|
offset: number = 0,
|
|
220
192
|
): PackageScaleInfo {
|
|
221
193
|
/** Build a section scale */
|
|
222
194
|
// Domain should be oriented from bottom to top, but scale is oriented from top to bottom
|
|
223
|
-
const { domain, pixelScale } = def;
|
|
224
|
-
|
|
195
|
+
const { domain, pixelScale, pixelHeight, scale, heightScale } = def;
|
|
196
|
+
|
|
197
|
+
if (scale == null && pixelScale == null) {
|
|
198
|
+
throw new Error("Either scale or pixelScale must be provided");
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
let _scale: ScaleContinuousNumeric<number, number>;
|
|
202
|
+
if (scale == null) {
|
|
203
|
+
_scale = scaleLinear()
|
|
204
|
+
.domain([domain[1], domain[0]])
|
|
205
|
+
.range([offset, pixelHeight + offset]);
|
|
206
|
+
} else {
|
|
207
|
+
const domain0 = scale.domain();
|
|
208
|
+
const range0 = scale.range();
|
|
209
|
+
_scale = scale
|
|
210
|
+
.copy()
|
|
211
|
+
.domain(domain0)
|
|
212
|
+
.range(range0.map((d) => d + offset));
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
_scale.clamp();
|
|
216
|
+
|
|
217
|
+
let _heightScale = null;
|
|
218
|
+
if (heightScale != null) {
|
|
219
|
+
// Adjust height scale as well
|
|
220
|
+
const range0 = scale.range();
|
|
221
|
+
_heightScale = heightScale.copy().range(range0.map((d) => d + offset));
|
|
222
|
+
_heightScale.clamp();
|
|
223
|
+
}
|
|
224
|
+
|
|
225
225
|
return {
|
|
226
226
|
domain,
|
|
227
227
|
pixelScale,
|
|
228
228
|
pixelHeight,
|
|
229
|
-
scale:
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
scale: _scale,
|
|
230
|
+
// Internal details for hybrid scales. TODO: improve this
|
|
231
|
+
heightScale: _heightScale,
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
234
|
|
|
@@ -273,6 +273,7 @@ export interface CompositeColumnScale {
|
|
|
273
273
|
copy(): CompositeColumnScale;
|
|
274
274
|
domain(): [number, number];
|
|
275
275
|
invert(pixelHeight: number): number | null;
|
|
276
|
+
clamp(clamp: boolean): void;
|
|
276
277
|
}
|
|
277
278
|
|
|
278
279
|
export function createCompositeScale(
|
|
@@ -280,34 +281,37 @@ export function createCompositeScale(
|
|
|
280
281
|
interpolateUnconformities: boolean = false,
|
|
281
282
|
): CompositeColumnScale {
|
|
282
283
|
/** Create a scale that works across multiple packages */
|
|
283
|
-
// Get surfaces at which scale breaks
|
|
284
|
-
let scaleBreaks: [number, number][] = [];
|
|
285
|
-
for (const section of sections) {
|
|
286
|
-
const { pixelHeight, offset, domain } = section.scaleInfo;
|
|
287
284
|
|
|
288
|
-
|
|
289
|
-
|
|
285
|
+
const scales: ScaleContinuousNumeric<number, number>[] = [];
|
|
286
|
+
|
|
287
|
+
let lastScale: ScaleContinuousNumeric<number, number> | null = null;
|
|
288
|
+
for (const section of sections) {
|
|
289
|
+
const _scale = section.scaleInfo.scale.copy().clamp(true);
|
|
290
|
+
scales.push(_scale);
|
|
291
|
+
if (lastScale != null && interpolateUnconformities) {
|
|
292
|
+
// Add a new scale that interpolates between lastScale and _scale
|
|
293
|
+
const lastDomain = lastScale.domain();
|
|
294
|
+
const lastRange = lastScale.range();
|
|
295
|
+
const currentDomain = _scale.domain();
|
|
296
|
+
const currentRange = _scale.range();
|
|
297
|
+
|
|
298
|
+
const interpScale = scaleLinear()
|
|
299
|
+
.domain([lastDomain[lastDomain.length - 1], currentDomain[0]])
|
|
300
|
+
.range([lastRange[lastRange.length - 1], currentRange[0]])
|
|
301
|
+
.clamp(true);
|
|
302
|
+
scales.push(interpScale);
|
|
303
|
+
}
|
|
304
|
+
lastScale = _scale;
|
|
290
305
|
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
let lastAge = null;
|
|
298
|
-
for (const [age1, height] of scaleBreaks) {
|
|
299
|
-
if (age <= age1) {
|
|
300
|
-
let deltaAge = age1 - lastAge;
|
|
301
|
-
if (deltaAge === 0) {
|
|
302
|
-
// If the age is exactly at a scale break, return the height at that break
|
|
303
|
-
return height;
|
|
304
|
-
}
|
|
305
|
-
let pixelScale = (height - lastHeight) / deltaAge;
|
|
306
|
-
return lastHeight + (age - lastAge) * pixelScale;
|
|
306
|
+
|
|
307
|
+
const scale: CompositeColumnScale = (age) => {
|
|
308
|
+
for (const s of scales) {
|
|
309
|
+
const domain = s.domain();
|
|
310
|
+
if (age >= domain[0] && age <= domain[domain.length - 1]) {
|
|
311
|
+
return s(age);
|
|
307
312
|
}
|
|
308
|
-
lastAge = age1;
|
|
309
|
-
lastHeight = height;
|
|
310
313
|
}
|
|
314
|
+
return null;
|
|
311
315
|
};
|
|
312
316
|
|
|
313
317
|
scale.copy = () => {
|
|
@@ -316,41 +320,39 @@ export function createCompositeScale(
|
|
|
316
320
|
|
|
317
321
|
scale.domain = () => {
|
|
318
322
|
/** Return the domain of the scale */
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
return [Math.min(...
|
|
323
|
-
} else {
|
|
324
|
-
// Catches "normal" axes like height
|
|
325
|
-
return [Math.max(...firstSection), Math.min(...lastSection)];
|
|
323
|
+
const vals = sections.flatMap((d) => d.scaleInfo.domain);
|
|
324
|
+
if (vals[0] < vals[vals.length - 1]) {
|
|
325
|
+
// age axes
|
|
326
|
+
return [Math.min(...vals), Math.max(...vals)];
|
|
326
327
|
}
|
|
328
|
+
// Normal axes like height
|
|
329
|
+
return [Math.max(...vals), Math.min(...vals)];
|
|
327
330
|
};
|
|
328
331
|
|
|
329
332
|
scale.invert = (pixelHeight) => {
|
|
330
333
|
/** Invert the scale to get the age at a given pixel height */
|
|
331
334
|
// Iterate through the sections to find the correct one
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
const {
|
|
335
|
-
pixelHeight: sectionHeight,
|
|
336
|
-
pixelScale,
|
|
337
|
-
offset,
|
|
338
|
-
domain,
|
|
339
|
-
} = section.scaleInfo;
|
|
335
|
+
for (const scale of scales) {
|
|
336
|
+
const range = scale.range();
|
|
340
337
|
if (
|
|
341
|
-
pixelHeight
|
|
342
|
-
pixelHeight <=
|
|
343
|
-
pixelScale > 0
|
|
338
|
+
pixelHeight > Math.min(...range) &&
|
|
339
|
+
pixelHeight <= Math.max(...range)
|
|
344
340
|
) {
|
|
345
|
-
|
|
346
|
-
return
|
|
341
|
+
console.log("Inverting scale at pixel height", pixelHeight);
|
|
342
|
+
return scale.invert(pixelHeight);
|
|
347
343
|
}
|
|
348
|
-
lastAge = domain[1];
|
|
349
344
|
}
|
|
350
345
|
return null;
|
|
351
346
|
};
|
|
352
347
|
|
|
353
|
-
|
|
348
|
+
scale.clamp = (clamp: boolean) => {
|
|
349
|
+
/** Clamp all constituent scales */
|
|
350
|
+
for (const s of scales) {
|
|
351
|
+
s.clamp(clamp);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
return scale;
|
|
354
356
|
}
|
|
355
357
|
|
|
356
358
|
/** Collapse sections separated by unconformities that are smaller than a given pixel height. */
|
|
@@ -366,14 +368,39 @@ export function collapseUnconformitiesByPixelHeight<T extends UnitLong>(
|
|
|
366
368
|
currentSection = nextSection;
|
|
367
369
|
continue;
|
|
368
370
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
371
|
+
let heights: [number, number];
|
|
372
|
+
let pxHeights: [number, number];
|
|
373
|
+
if (opts.axisType !== ColumnAxisType.AGE) {
|
|
374
|
+
heights = [nextSection.t_pos, currentSection.b_pos];
|
|
375
|
+
} else {
|
|
376
|
+
heights = [nextSection.t_age, currentSection.b_age];
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
const _diff = (vals: number[]) => {
|
|
380
|
+
return Math.abs(vals[0] - vals[1]);
|
|
381
|
+
};
|
|
382
|
+
|
|
383
|
+
pxHeights = [
|
|
384
|
+
_diff(heights.map(nextSection.scaleInfo.scale)),
|
|
385
|
+
_diff(heights.map(currentSection.scaleInfo.scale)),
|
|
386
|
+
];
|
|
387
|
+
|
|
388
|
+
const pxHeight = Math.min(...pxHeights);
|
|
389
|
+
|
|
376
390
|
if (pxHeight < threshold) {
|
|
391
|
+
let t_pos: number;
|
|
392
|
+
let b_pos: number;
|
|
393
|
+
if (
|
|
394
|
+
opts.axisType == ColumnAxisType.AGE ||
|
|
395
|
+
opts.axisType == ColumnAxisType.DEPTH
|
|
396
|
+
) {
|
|
397
|
+
t_pos = Math.min(currentSection.t_pos, nextSection.t_pos);
|
|
398
|
+
b_pos = Math.max(currentSection.b_pos, nextSection.b_pos);
|
|
399
|
+
} else {
|
|
400
|
+
t_pos = Math.max(currentSection.t_pos, nextSection.t_pos);
|
|
401
|
+
b_pos = Math.min(currentSection.b_pos, nextSection.b_pos);
|
|
402
|
+
}
|
|
403
|
+
|
|
377
404
|
// We need to merge the sections
|
|
378
405
|
const compositeSection0: SectionInfo<T> = {
|
|
379
406
|
units: [...currentSection.units, ...nextSection.units],
|
|
@@ -383,10 +410,11 @@ export function collapseUnconformitiesByPixelHeight<T extends UnitLong>(
|
|
|
383
410
|
],
|
|
384
411
|
t_age: Math.min(currentSection.t_age, nextSection.t_age),
|
|
385
412
|
b_age: Math.max(currentSection.b_age, nextSection.b_age),
|
|
413
|
+
t_pos,
|
|
414
|
+
b_pos,
|
|
386
415
|
};
|
|
387
416
|
|
|
388
|
-
|
|
389
|
-
currentSection = compositeSection;
|
|
417
|
+
currentSection = addScaleToSection(compositeSection0, opts);
|
|
390
418
|
} else {
|
|
391
419
|
// We need to keep the section
|
|
392
420
|
newSections.push(currentSection);
|