prographs 0.12.0 → 0.13.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 +9 -1
- package/README.md +6 -4
- package/dist/AutoGraph-PDPEAIXL.cjs +145 -0
- package/dist/GraphType.js +19 -0
- package/dist/autograph/chartIndex.js +521 -0
- package/dist/autograph/chartModules.js +2 -1
- package/dist/autograph/index.cjs +98 -93
- package/dist/catalog-DI4XZ46L.cjs +142 -0
- package/dist/catalog.js +2 -1
- package/dist/charts/biologycharts/BiologySamples.js +59 -0
- package/dist/charts/biologycharts/PunnettSquare.js +342 -0
- package/dist/charts/biologycharts/biologyEnums.js +22 -1
- package/dist/charts/biologycharts/index.js +5 -3
- package/dist/charts/doecharts/DoeSamples.js +78 -0
- package/dist/charts/doecharts/SipocDiagram.js +453 -0
- package/dist/charts/doecharts/index.js +4 -2
- package/dist/charts/fieldcharts/SpeciesAccumulationCurve.js +350 -0
- package/dist/charts/fieldcharts/fieldEnums.js +8 -1
- package/dist/charts/fieldcharts/index.js +5 -3
- package/dist/charts/signals/AntennaPatternChart.js +492 -0
- package/dist/charts/signals/SignalSamples.js +17 -0
- package/dist/charts/signals/index.js +5 -3
- package/dist/charts/softwarediagrams/ComponentDiagram.js +504 -0
- package/dist/charts/softwarediagrams/DeploymentDiagram.js +419 -0
- package/dist/charts/softwarediagrams/SoftwareSamples.js +283 -1
- package/dist/charts/softwarediagrams/index.js +7 -3
- package/dist/charts/softwarediagrams/softwareEnums.js +45 -1
- package/dist/charts/sportscharts/PowerDurationCurve.js +301 -0
- package/dist/charts/sportscharts/SportsSamples.js +102 -0
- package/dist/charts/sportscharts/TrainingLoadChart.js +325 -0
- package/dist/charts/sportscharts/index.js +6 -2
- package/dist/charts/strategycharts/BassDiffusionChart.js +362 -0
- package/dist/charts/strategycharts/BassModel.js +96 -0
- package/dist/charts/strategycharts/BurnRunwayChart.js +284 -0
- package/dist/charts/strategycharts/CapTableChart.js +366 -0
- package/dist/charts/strategycharts/KanbanBoard.js +324 -0
- package/dist/charts/strategycharts/OkrTree.js +339 -0
- package/dist/charts/strategycharts/StrategyPane.js +27 -0
- package/dist/charts/strategycharts/StrategySamples.js +251 -0
- package/dist/charts/strategycharts/index.js +15 -3
- package/dist/charts/threefields/BsfcMap3DChart.js +231 -0
- package/dist/charts/threefields/CompressorMap3DChart.js +217 -0
- package/dist/charts/threefields/FieldGrid.js +50 -0
- package/dist/charts/threefields/LossLandscape3DChart.js +201 -0
- package/dist/charts/threefields/MapSheet.js +77 -0
- package/dist/charts/threefields/TerrainRoute3DChart.js +201 -0
- package/dist/charts/threefields/TerrainRouteMath.js +40 -0
- package/dist/charts/threefields/ThreeFieldBase.js +117 -0
- package/dist/charts/threefields/ThreeFieldsSamples.js +80 -0
- package/dist/charts/threefields/WaferMap3DChart.js +218 -0
- package/dist/charts/threefields/index.js +19 -0
- package/dist/charts/threesurfaces/index.js +2 -2
- package/dist/charts/tradingcharts/KeltnerChannelChart.js +171 -0
- package/dist/charts/tradingcharts/TradingMath.js +20 -0
- package/dist/charts/tradingcharts/index.js +4 -2
- package/dist/{chunk-ZL6XDXMK.cjs → chunk-26PSLEP4.cjs} +8 -8
- package/dist/{chunk-W3US6EFP.cjs → chunk-2BO5DZUP.cjs} +12 -12
- package/dist/{chunk-5DP7OUSE.cjs → chunk-2GG5YYSC.cjs} +6 -6
- package/dist/{chunk-7FG4JSVO.cjs → chunk-2GL2VNJU.cjs} +253 -33
- package/dist/{chunk-LCWMRCLF.cjs → chunk-2PYOI7OY.cjs} +21 -21
- package/dist/{chunk-JFWJAEBD.cjs → chunk-3U4MCSKI.cjs} +4 -4
- package/dist/{chunk-CUPLHZRR.cjs → chunk-3ZMM3FSK.cjs} +4 -4
- package/dist/{chunk-L2AV62DP.cjs → chunk-4767WQJ7.cjs} +6 -6
- package/dist/{chunk-DA2EYIIP.cjs → chunk-4E7FSSBF.cjs} +1210 -168
- package/dist/{chunk-VS5LQEZB.cjs → chunk-526STI2S.cjs} +5 -5
- package/dist/{chunk-RXIMEK6C.cjs → chunk-55767YPI.cjs} +20 -20
- package/dist/{chunk-JXLSKIUV.cjs → chunk-5FBQOMMT.cjs} +26 -26
- package/dist/{chunk-27PZV5BR.cjs → chunk-5N4Z7MTS.cjs} +4 -4
- package/dist/{chunk-KEWCUIQA.cjs → chunk-5WEV6YWA.cjs} +22 -22
- package/dist/chunk-5XOVVC5X.cjs +3281 -0
- package/dist/{chunk-HK5J7Q2W.cjs → chunk-6HLXVWXU.cjs} +9 -9
- package/dist/{chunk-7JG47RW4.cjs → chunk-6LQT4WJ5.cjs} +25 -25
- package/dist/{chunk-OCVTI6X4.cjs → chunk-6YTWOUFD.cjs} +329 -36
- package/dist/{chunk-W7IQCAVN.cjs → chunk-7F6W6HKL.cjs} +11 -11
- package/dist/{chunk-F2DCJXDM.cjs → chunk-7L6KYU5A.cjs} +21 -21
- package/dist/{chunk-GTGR6LPR.cjs → chunk-A4GIN4FE.cjs} +17 -17
- package/dist/{chunk-B2CETSR6.cjs → chunk-A4US7SA7.cjs} +5 -5
- package/dist/{chunk-3DIF2YYW.cjs → chunk-AOXPBLPW.cjs} +10 -10
- package/dist/{chunk-7TTR4UF5.cjs → chunk-ATI45Z4M.cjs} +2 -2
- package/dist/{chunk-5BFCIX2V.cjs → chunk-CPPMO4IQ.cjs} +434 -148
- package/dist/{chunk-AYZZQ6AC.cjs → chunk-CZ5KGF6Q.cjs} +9 -9
- package/dist/{chunk-7THJ3ZBK.cjs → chunk-D4I35MCE.cjs} +2 -2
- package/dist/{chunk-MCPPFRLN.cjs → chunk-DCGAAN3Z.cjs} +2 -2
- package/dist/{chunk-VABL6CVX.cjs → chunk-DEY36N37.cjs} +21 -21
- package/dist/{chunk-RNCKGJCC.cjs → chunk-DXHXD3DK.cjs} +3 -3
- package/dist/{chunk-A56ZGMVZ.cjs → chunk-E7B45DBZ.cjs} +11 -11
- package/dist/{chunk-DOR6L4MT.cjs → chunk-EJC6EAC5.cjs} +18 -18
- package/dist/{chunk-UPGNM7MA.cjs → chunk-EULJOOMA.cjs} +11 -11
- package/dist/{chunk-G4AZL4GO.cjs → chunk-EYM6LEIF.cjs} +474 -70
- package/dist/{chunk-NJ4X6XGV.cjs → chunk-EZTYX2GH.cjs} +5 -5
- package/dist/chunk-FDD4UP73.cjs +521 -0
- package/dist/{chunk-WJ3VH2Q4.cjs → chunk-GEAIGM3J.cjs} +110 -615
- package/dist/{chunk-P3SBHF43.cjs → chunk-GRUYVXTS.cjs} +2 -2
- package/dist/{chunk-NX4Z5LMS.cjs → chunk-H3SZXND5.cjs} +5 -5
- package/dist/{chunk-EE4S4TOE.cjs → chunk-HS45TOFJ.cjs} +21 -21
- package/dist/chunk-INGOG6OV.cjs +899 -0
- package/dist/{chunk-UDKA6DGT.cjs → chunk-J3CDXZHF.cjs} +4 -4
- package/dist/{chunk-YO6G7TKI.cjs → chunk-JAU5ADEU.cjs} +11 -11
- package/dist/{chunk-22LBK4GA.cjs → chunk-JQEBSHX3.cjs} +4 -4
- package/dist/{chunk-RXX3U7VQ.cjs → chunk-KLXGLMFU.cjs} +10 -10
- package/dist/chunk-KVOX36J3.cjs +327 -0
- package/dist/chunk-L6BGNHFL.cjs +139 -0
- package/dist/{chunk-GMER35L3.cjs → chunk-L7TB7PU5.cjs} +20 -20
- package/dist/{chunk-AFXYNBL2.cjs → chunk-LBTRYEM2.cjs} +4 -4
- package/dist/{chunk-WYYCKIOD.cjs → chunk-LLULNJSP.cjs} +11 -11
- package/dist/{chunk-J27XOSLP.cjs → chunk-LSO46AFV.cjs} +8 -8
- package/dist/{chunk-5XJO45ES.cjs → chunk-LZ2KJ7ZX.cjs} +11 -11
- package/dist/chunk-M4IQ5LIZ.cjs +422 -0
- package/dist/{chunk-Y2KIUKJF.cjs → chunk-MPDHDKYZ.cjs} +11 -11
- package/dist/{chunk-4EMPKRZU.cjs → chunk-MRQ42ZJE.cjs} +3 -3
- package/dist/{chunk-EU5D2MF4.cjs → chunk-MYV4KZWP.cjs} +9 -9
- package/dist/{chunk-XD7KN4UN.cjs → chunk-MZXVLC24.cjs} +6 -6
- package/dist/{chunk-PPSONARU.cjs → chunk-NLBVDFIR.cjs} +41 -2
- package/dist/{chunk-L3PEGMGM.cjs → chunk-NY3TBZY4.cjs} +33 -33
- package/dist/{chunk-6YNYXXB6.cjs → chunk-OGVVSFAR.cjs} +3 -3
- package/dist/{chunk-MLV7QLB6.cjs → chunk-OMTQIQMN.cjs} +6 -6
- package/dist/{chunk-BEEOSNK7.cjs → chunk-PEJJ6TXJ.cjs} +15 -144
- package/dist/{chunk-SOKOWUF5.cjs → chunk-PPGWHIU7.cjs} +2 -2
- package/dist/{chunk-IELWOM2J.cjs → chunk-PPO6SDAN.cjs} +6 -6
- package/dist/{chunk-6JTZZCSL.cjs → chunk-PUMKX5F2.cjs} +3 -3
- package/dist/{chunk-RFOXFY2U.cjs → chunk-PXBYWCNB.cjs} +190 -799
- package/dist/{chunk-3BYXOISI.cjs → chunk-Q3HB3IX6.cjs} +4 -4
- package/dist/{chunk-RXCOVONX.cjs → chunk-RBMUOIXE.cjs} +289 -34
- package/dist/{chunk-MSBNHCSE.cjs → chunk-RJHGCUUD.cjs} +6 -6
- package/dist/{chunk-I6VG7F6Z.cjs → chunk-RSONDMYW.cjs} +708 -141
- package/dist/{chunk-GZDNPHMT.cjs → chunk-SHMPFCUE.cjs} +19 -19
- package/dist/{chunk-ZIBVCOW6.cjs → chunk-SN4FCXFC.cjs} +19 -19
- package/dist/{chunk-7KM52NMN.cjs → chunk-SN5T7WYO.cjs} +2 -2
- package/dist/{chunk-7MSZR65Z.cjs → chunk-SQJZGVDR.cjs} +7 -7
- package/dist/chunk-SYABFMD7.cjs +633 -0
- package/dist/{chunk-2RRFEYFH.cjs → chunk-TICB3MAC.cjs} +16 -16
- package/dist/{chunk-AOOKHUV5.cjs → chunk-U7Z7XYR2.cjs} +5 -5
- package/dist/{chunk-JEWQAXVG.cjs → chunk-UA2THQFV.cjs} +6 -6
- package/dist/{chunk-LHZPAHU3.cjs → chunk-VIK4L2YF.cjs} +112 -521
- package/dist/{chunk-4YWMAQ4J.cjs → chunk-VM2Y6BDY.cjs} +4 -4
- package/dist/{chunk-IRRKE2ZE.cjs → chunk-VMS3KWYI.cjs} +21 -21
- package/dist/{chunk-4SLARW6F.cjs → chunk-VU5NUD46.cjs} +17 -17
- package/dist/{chunk-XHY6TVYG.cjs → chunk-VV5CVOF7.cjs} +13 -13
- package/dist/{chunk-CCIBPGPZ.cjs → chunk-VYSAWPSS.cjs} +57 -57
- package/dist/{chunk-TTNEMQ2A.cjs → chunk-W7YRWEWQ.cjs} +22 -22
- package/dist/{chunk-C7MUOGEW.cjs → chunk-X7R5SY62.cjs} +6 -6
- package/dist/{chunk-ILR5KBMB.cjs → chunk-XOK3KTSS.cjs} +6 -6
- package/dist/{chunk-2CZM2I3T.cjs → chunk-XUIX45VU.cjs} +19 -19
- package/dist/{chunk-TGRMPS3A.cjs → chunk-XWH46PVJ.cjs} +165 -43
- package/dist/{chunk-WQYXXECR.cjs → chunk-Y5XVMK3K.cjs} +6 -6
- package/dist/{chunk-AK4TX2WG.cjs → chunk-YCNKEDTG.cjs} +13 -13
- package/dist/{chunk-PJJB24DU.cjs → chunk-YEF7SE3X.cjs} +20 -20
- package/dist/{chunk-RVLV4XW6.cjs → chunk-YMTVPMU3.cjs} +22 -22
- package/dist/data/index.cjs +2 -2
- package/dist/entries/autograph-lazy.cjs +2 -2
- package/dist/entries/charts/acoustictransport.cjs +3 -3
- package/dist/entries/charts/analysischarts.cjs +3 -3
- package/dist/entries/charts/astrocharts.cjs +3 -3
- package/dist/entries/charts/bars.cjs +3 -3
- package/dist/entries/charts/bayesiancharts.cjs +3 -3
- package/dist/entries/charts/biocharts.cjs +3 -3
- package/dist/entries/charts/biologycharts.cjs +11 -3
- package/dist/entries/charts/biologycharts.d.ts +1 -1
- package/dist/entries/charts/biologycharts.js +3 -2
- package/dist/entries/charts/business.cjs +3 -3
- package/dist/entries/charts/carecharts.cjs +3 -3
- package/dist/entries/charts/chemistrycharts.cjs +3 -3
- package/dist/entries/charts/civicscharts.cjs +3 -3
- package/dist/entries/charts/clinicalcharts.cjs +3 -3
- package/dist/entries/charts/comparison.cjs +3 -3
- package/dist/entries/charts/demography.cjs +3 -3
- package/dist/entries/charts/density.cjs +3 -3
- package/dist/entries/charts/diagrams.cjs +3 -3
- package/dist/entries/charts/distribution.cjs +3 -3
- package/dist/entries/charts/doecharts.cjs +13 -3
- package/dist/entries/charts/doecharts.d.ts +1 -1
- package/dist/entries/charts/doecharts.js +2 -1
- package/dist/entries/charts/earthscience.cjs +3 -3
- package/dist/entries/charts/economicscharts.cjs +3 -3
- package/dist/entries/charts/energycharts.cjs +3 -3
- package/dist/entries/charts/engineering.cjs +3 -3
- package/dist/entries/charts/fieldcharts.cjs +7 -3
- package/dist/entries/charts/fieldcharts.d.ts +1 -1
- package/dist/entries/charts/fieldcharts.js +3 -2
- package/dist/entries/charts/financial.cjs +3 -3
- package/dist/entries/charts/flow.cjs +3 -3
- package/dist/entries/charts/frameworks.cjs +3 -3
- package/dist/entries/charts/genomics.cjs +3 -3
- package/dist/entries/charts/geoflows.cjs +3 -3
- package/dist/entries/charts/geomaps.cjs +3 -3
- package/dist/entries/charts/geosciencecharts.cjs +3 -3
- package/dist/entries/charts/hierarchy.cjs +3 -3
- package/dist/entries/charts/indicators.cjs +3 -3
- package/dist/entries/charts/inferencecharts.cjs +3 -3
- package/dist/entries/charts/layoutcharts.cjs +3 -3
- package/dist/entries/charts/lifescience.cjs +4 -4
- package/dist/entries/charts/linesareas.cjs +3 -3
- package/dist/entries/charts/logisticscharts.cjs +3 -3
- package/dist/entries/charts/machinecharts.cjs +7 -3
- package/dist/entries/charts/machinecharts.d.ts +1 -1
- package/dist/entries/charts/machinecharts.js +2 -1
- package/dist/entries/charts/massive.cjs +3 -3
- package/dist/entries/charts/mathematical.cjs +3 -3
- package/dist/entries/charts/matrix.cjs +3 -3
- package/dist/entries/charts/medicalcharts.cjs +4 -4
- package/dist/entries/charts/mlcharts.cjs +4 -4
- package/dist/entries/charts/modelcharts.cjs +6 -5
- package/dist/entries/charts/multivariate.cjs +3 -3
- package/dist/entries/charts/musiccharts.cjs +3 -3
- package/dist/entries/charts/network.cjs +3 -3
- package/dist/entries/charts/physicscharts.cjs +3 -3
- package/dist/entries/charts/pictorial.cjs +4 -4
- package/dist/entries/charts/portfoliocharts.cjs +3 -3
- package/dist/entries/charts/productcharts.cjs +3 -3
- package/dist/entries/charts/proportion.cjs +3 -3
- package/dist/entries/charts/qualitycharts.cjs +3 -3
- package/dist/entries/charts/radial.cjs +3 -3
- package/dist/entries/charts/reliabilitycharts.cjs +5 -3
- package/dist/entries/charts/scatter.cjs +3 -3
- package/dist/entries/charts/scientific.cjs +3 -3
- package/dist/entries/charts/seriescharts.cjs +3 -3
- package/dist/entries/charts/signals.cjs +7 -3
- package/dist/entries/charts/signals.d.ts +1 -1
- package/dist/entries/charts/signals.js +2 -1
- package/dist/entries/charts/softwarediagrams.cjs +21 -3
- package/dist/entries/charts/softwarediagrams.d.ts +1 -1
- package/dist/entries/charts/softwarediagrams.js +4 -2
- package/dist/entries/charts/sportscharts.cjs +13 -3
- package/dist/entries/charts/sportscharts.d.ts +1 -1
- package/dist/entries/charts/sportscharts.js +3 -1
- package/dist/entries/charts/statistics.cjs +6 -6
- package/dist/entries/charts/strategycharts.cjs +30 -3
- package/dist/entries/charts/strategycharts.d.ts +1 -1
- package/dist/entries/charts/strategycharts.js +6 -1
- package/dist/entries/charts/structure.cjs +3 -3
- package/dist/entries/charts/surveycharts.cjs +3 -3
- package/dist/entries/charts/systemscharts.cjs +3 -3
- package/dist/entries/charts/textcharts.cjs +5 -5
- package/dist/entries/charts/thematicmaps.cjs +4 -4
- package/dist/entries/charts/threebars.cjs +3 -3
- package/dist/entries/charts/threefields.cjs +53 -0
- package/dist/entries/charts/threefields.d.ts +1 -0
- package/dist/entries/charts/threefields.js +6 -0
- package/dist/entries/charts/threeglobe.cjs +3 -3
- package/dist/entries/charts/threenetwork.cjs +3 -3
- package/dist/entries/charts/threestrata.cjs +3 -3
- package/dist/entries/charts/threesurfaces.cjs +7 -3
- package/dist/entries/charts/threesurfaces.d.ts +1 -1
- package/dist/entries/charts/threesurfaces.js +2 -1
- package/dist/entries/charts/threevolume.cjs +4 -4
- package/dist/entries/charts/timeline.cjs +3 -3
- package/dist/entries/charts/tracecharts.cjs +3 -3
- package/dist/entries/charts/trackscharts.cjs +3 -3
- package/dist/entries/charts/tradingcharts.cjs +6 -4
- package/dist/entries/charts/tradingcharts.d.ts +1 -1
- package/dist/entries/charts/tradingcharts.js +2 -1
- package/dist/entries/three.cjs +60 -20
- package/dist/entries/three.d.ts +1 -1
- package/dist/entries/three.js +7 -1
- package/dist/index.cjs +258 -97
- package/dist/index.d.cts +1953 -10
- package/dist/index.d.ts +1953 -10
- package/dist/index.js +26 -5
- package/dist/page/index.cjs +2 -2
- package/dist/react/components.js +58 -1
- package/dist/react/index.cjs +135 -92
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +2 -2
- package/package.json +1 -1
- package/dist/AutoGraph-XLBJQDRB.cjs +0 -140
- package/dist/catalog-O7XGDD2H.cjs +0 -137
- package/dist/chunk-77K2HTRC.cjs +0 -3220
- package/dist/chunk-XEK47TVD.cjs +0 -323
- /package/dist/{chunk-UMEKIIHJ.cjs → chunk-LNWTC72Y.cjs} +0 -0
|
@@ -9,7 +9,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
9
9
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
13
13
|
|
|
14
14
|
// src/charts/mathematical/MathPlane.ts
|
|
15
15
|
var _d3 = require('d3');
|
|
@@ -394,7 +394,7 @@ var ArgandDiagram = (_class = class extends MathPlane {
|
|
|
394
394
|
description: "Draws complex numbers on the real and imaginary axes, with the geometry of their arithmetic made visible.",
|
|
395
395
|
tags: ["complex plane", "phasor", "roots of unity", "polar form"],
|
|
396
396
|
sample: (seed) => {
|
|
397
|
-
return
|
|
397
|
+
return _chunkLNWTC72Ycjs.SampleData.points(seed, 4, 4).map((row, i) => {
|
|
398
398
|
const r = 0.7 + +row.size / 28, angle = 0.7 + i * 1.75;
|
|
399
399
|
return { x: r * Math.cos(angle), y: r * Math.sin(angle), group: row.group };
|
|
400
400
|
});
|
|
@@ -588,7 +588,7 @@ var BifurcationDiagram = (_class2 = class extends MathPlane {
|
|
|
588
588
|
shape: "function" /* Function */,
|
|
589
589
|
description: "Plots the attractor of a one-parameter map as the parameter sweeps, with an optional Lyapunov exponent strip.",
|
|
590
590
|
tags: ["chaos", "logistic map", "period doubling", "lyapunov"],
|
|
591
|
-
sample: (seed) =>
|
|
591
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row) => ({ x: 3 + +row.value / 200 })),
|
|
592
592
|
variants: {
|
|
593
593
|
map: Object.values(IterationMapKind),
|
|
594
594
|
view: Object.values(BifurcationView),
|
|
@@ -689,7 +689,7 @@ var CobwebPlot = (_class3 = class extends MathPlane {constructor(...args) { supe
|
|
|
689
689
|
shape: "function" /* Function */,
|
|
690
690
|
description: "Follows iterates of a map by bouncing between its curve and the line y = x, with an optional time series.",
|
|
691
691
|
tags: ["iteration", "fixed point", "logistic map", "staircase"],
|
|
692
|
-
sample: (seed) => MathNumerics.fit(
|
|
692
|
+
sample: (seed) => MathNumerics.fit(_chunkLNWTC72Ycjs.SampleData.points(seed, 2, 2), "x", "y", [[0.12, 0.42], [0, 1]]).map(([x]) => ({ x })),
|
|
693
693
|
variants: {
|
|
694
694
|
map: Object.values(IterationMapKind),
|
|
695
695
|
regime: Object.values(CobwebRegime),
|
|
@@ -811,7 +811,7 @@ var ComplexDomainColoring = (_class4 = class extends MathPlane {
|
|
|
811
811
|
shape: "function" /* Function */,
|
|
812
812
|
description: "Paints each point of the complex plane by the phase or modulus of f(z), revealing zeros, poles and conformal structure.",
|
|
813
813
|
tags: ["complex analysis", "phase portrait", "conformal map", "zeros and poles"],
|
|
814
|
-
sample: (seed) => MathNumerics.fit(
|
|
814
|
+
sample: (seed) => MathNumerics.fit(_chunkLNWTC72Ycjs.SampleData.points(seed, 5, 2), "x", "y", [[-2.4, 2.4], [-1.5, 1.5]]).map(([x, y], i) => ({ x, y, kind: i % 2 ? "pole" : "zero" })),
|
|
815
815
|
variants: {
|
|
816
816
|
form: Object.values(DomainForm),
|
|
817
817
|
channel: Object.values(DomainChannel),
|
|
@@ -927,7 +927,7 @@ var FibonacciSpiralChart = (_class5 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
927
927
|
shape: "table" /* Table */,
|
|
928
928
|
description: "Tiles squares of Fibonacci side with the spiral through them, or packs rows as sunflower seeds at the golden angle.",
|
|
929
929
|
tags: ["golden ratio", "phyllotaxis", "sunflower", "tiling"],
|
|
930
|
-
sample: (seed) =>
|
|
930
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.distribution(seed, 40, 3),
|
|
931
931
|
variants: {
|
|
932
932
|
layout: Object.values(FibonacciLayout),
|
|
933
933
|
curve: Object.values(FibonacciCurve),
|
|
@@ -1114,7 +1114,7 @@ var FourierSeriesChart = (_class6 = class _FourierSeriesChart extends MathPlane
|
|
|
1114
1114
|
shape: "function" /* Function */,
|
|
1115
1115
|
description: "Shows a signal rebuilt from sinusoids as a partial sum, stacked harmonics, an amplitude spectrum or rotating epicycles.",
|
|
1116
1116
|
tags: ["harmonics", "spectrum", "epicycles", "gibbs"],
|
|
1117
|
-
sample: (seed) =>
|
|
1117
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 120, 1),
|
|
1118
1118
|
variants: {
|
|
1119
1119
|
wave: Object.values(FourierWave),
|
|
1120
1120
|
view: Object.values(FourierView),
|
|
@@ -1322,7 +1322,7 @@ var FunctionPlot = (_class7 = class extends MathPlane {
|
|
|
1322
1322
|
description: "Plots one or more functions of x, with optional derivative, integral, shaded area and marked critical points.",
|
|
1323
1323
|
tags: ["calculus", "curve", "graphing calculator", "derivative"],
|
|
1324
1324
|
sample: (seed) => {
|
|
1325
|
-
const [a, b] =
|
|
1325
|
+
const [a, b] = _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row) => +row.value / 60);
|
|
1326
1326
|
return [
|
|
1327
1327
|
{ name: "f(x)", fn: (x) => a * Math.sin(x) + 0.4 * Math.sin(2.3 * x) },
|
|
1328
1328
|
{ name: "g(x)", fn: (x) => b * Math.cos(x / 2) * Math.exp(-x * x / 40) - 0.3 }
|
|
@@ -1495,7 +1495,7 @@ var ImplicitPlot = (_class8 = class extends MathPlane {
|
|
|
1495
1495
|
shape: "function" /* Function */,
|
|
1496
1496
|
description: "Draws the solution set of F(x, y) = 0 by marching squares, with optional level sets or sign regions of F.",
|
|
1497
1497
|
tags: ["conic", "level set", "relation", "oval"],
|
|
1498
|
-
sample: (seed) =>
|
|
1498
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row, i) => ({ name: String(row.category), a: 1.2 + i * 0.5 + +row.value % 5 * 0.04, b: 0.8 + i * 0.4 })),
|
|
1499
1499
|
variants: {
|
|
1500
1500
|
form: Object.values(ImplicitForm),
|
|
1501
1501
|
view: Object.values(ImplicitView),
|
|
@@ -1599,7 +1599,7 @@ var LissajousChart = (_class9 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
1599
1599
|
shape: "function" /* Function */,
|
|
1600
1600
|
description: "Traces two perpendicular oscillations against each other, singly, as a ratio table, or as a scope with its source waves.",
|
|
1601
1601
|
tags: ["harmonograph", "oscilloscope", "frequency ratio", "bowditch"],
|
|
1602
|
-
sample: (seed) =>
|
|
1602
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row, i) => ({ name: String(row.category), a: 3 + i, b: 2 + 2 * i, delta: +row.value / 100 * Math.PI })),
|
|
1603
1603
|
variants: {
|
|
1604
1604
|
layout: Object.values(LissajousLayout),
|
|
1605
1605
|
view: Object.values(LissajousView),
|
|
@@ -1752,7 +1752,7 @@ var MandelbrotChart = (_class10 = class extends MathPlane {
|
|
|
1752
1752
|
shape: "function" /* Function */,
|
|
1753
1753
|
description: "Renders escape-time fractal sets with smooth banding, zoom regions and the orbits of chosen points.",
|
|
1754
1754
|
tags: ["fractal", "julia set", "burning ship", "complex dynamics"],
|
|
1755
|
-
sample: (seed) => MathNumerics.fit(
|
|
1755
|
+
sample: (seed) => MathNumerics.fit(_chunkLNWTC72Ycjs.SampleData.points(seed, 3, 3), "x", "y", [[-1.1, 0.25], [-0.55, 0.55]]).map(([x, y]) => ({ x, y })),
|
|
1756
1756
|
variants: {
|
|
1757
1757
|
set: Object.values(FractalSet),
|
|
1758
1758
|
shading: Object.values(FractalShading),
|
|
@@ -1878,7 +1878,7 @@ var NumberLineChart = (_class11 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
1878
1878
|
shape: "table" /* Table */,
|
|
1879
1879
|
description: "Places values and intervals on one axis, with open or closed endpoints, for inequalities, ranges and steps.",
|
|
1880
1880
|
tags: ["interval", "inequality", "solution set", "range"],
|
|
1881
|
-
sample: (seed) =>
|
|
1881
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 4, 2).map((row, i) => {
|
|
1882
1882
|
const v = +row.value;
|
|
1883
1883
|
return { label: String(row.category), series: String(row.series), start: v - 18 - i % 3 * 3, end: v + 12, bounds: ["[]", "[)", "(]", "()"][i % 4] };
|
|
1884
1884
|
}),
|
|
@@ -2061,7 +2061,7 @@ var ParametricPlot = (_class12 = class extends MathPlane {
|
|
|
2061
2061
|
shape: "function" /* Function */,
|
|
2062
2062
|
description: "Traces (x(t), y(t)) as t runs, showing direction and speed of travel along the path.",
|
|
2063
2063
|
tags: ["spirograph", "trochoid", "cycloid", "curve"],
|
|
2064
|
-
sample: (seed) =>
|
|
2064
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row, i) => {
|
|
2065
2065
|
const v = +row.value;
|
|
2066
2066
|
return { name: String(row.category), a: 5 + i * 2 + v % 2, b: 2 + i, d: 1.5 + v % 3 * 0.6 };
|
|
2067
2067
|
}),
|
|
@@ -2262,7 +2262,7 @@ var PhasePortrait = (_class13 = class extends FieldPlot {
|
|
|
2262
2262
|
shape: "function" /* Function */,
|
|
2263
2263
|
description: "Draws trajectories of a two-dimensional dynamical system with nullclines and classified equilibria.",
|
|
2264
2264
|
tags: ["dynamical system", "state space", "limit cycle", "nullcline"],
|
|
2265
|
-
sample: (seed) => MathNumerics.fit(
|
|
2265
|
+
sample: (seed) => MathNumerics.fit(_chunkLNWTC72Ycjs.SampleData.points(seed, 4, 2), "x", "y", [[0.2, 1.8], [0.2, 1.4]]).map(([x, y]) => ({ x, y })),
|
|
2266
2266
|
variants: {
|
|
2267
2267
|
system: Object.values(PhaseSystem),
|
|
2268
2268
|
backdrop: ["arrows" /* Arrows */, "none" /* None */, "divergence" /* Divergence */],
|
|
@@ -2401,7 +2401,7 @@ var PolarCurvePlot = (_class14 = class extends _chunkNYFYN334cjs.RadialChart {
|
|
|
2401
2401
|
shape: "function" /* Function */,
|
|
2402
2402
|
description: "Plots r(\u03B8) on a polar grid, for curves whose symmetry only shows in polar coordinates.",
|
|
2403
2403
|
tags: ["rose", "cardioid", "spiral", "limacon"],
|
|
2404
|
-
sample: (seed) =>
|
|
2404
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row, i) => ({ name: String(row.category), a: 1 + i * 0.5, k: 2 + +row.value % 3 + i })),
|
|
2405
2405
|
variants: {
|
|
2406
2406
|
form: Object.values(PolarCurveForm),
|
|
2407
2407
|
convention: Object.values(PolarConvention),
|
|
@@ -2491,7 +2491,7 @@ var RiemannSumChart = (_class15 = class extends MathPlane {
|
|
|
2491
2491
|
description: "Approximates the area under a curve by slices, showing signed area, sample points and the error against the true integral.",
|
|
2492
2492
|
tags: ["integral", "trapezoid rule", "simpson", "numerical integration"],
|
|
2493
2493
|
sample: (seed) => {
|
|
2494
|
-
const [row] =
|
|
2494
|
+
const [row] = _chunkLNWTC72Ycjs.SampleData.categories(seed, 1, 1);
|
|
2495
2495
|
const a = +row.value / 100;
|
|
2496
2496
|
return [{ name: "f(x)", fn: (x) => 0.6 + (1 + a) * Math.sin(x * 0.9) + 0.15 * x }];
|
|
2497
2497
|
},
|
|
@@ -2628,7 +2628,7 @@ var SetRelationChart = (_class16 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
2628
2628
|
shape: "table" /* Table */,
|
|
2629
2629
|
description: "Shows membership and overlap of sets as a Venn, area-true Euler, mapping, incidence matrix or UpSet view.",
|
|
2630
2630
|
tags: ["venn", "euler", "upset", "relation", "mapping diagram"],
|
|
2631
|
-
sample: (seed) =>
|
|
2631
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 12, 3).filter((row) => +row.value > 52),
|
|
2632
2632
|
variants: {
|
|
2633
2633
|
view: Object.values(SetRelationView),
|
|
2634
2634
|
sets: [3, 2],
|
|
@@ -2829,7 +2829,7 @@ var SlopeFieldChart = (_class17 = class extends MathPlane {
|
|
|
2829
2829
|
description: "Draws the slope of a first-order differential equation at each lattice point, with solutions through chosen starts.",
|
|
2830
2830
|
tags: ["direction field", "ode", "differential equation", "isocline"],
|
|
2831
2831
|
sample: (seed) => {
|
|
2832
|
-
const rows =
|
|
2832
|
+
const rows = _chunkLNWTC72Ycjs.SampleData.points(seed, 5, 1);
|
|
2833
2833
|
return MathNumerics.fit(rows, "x", "y", [[-4, 2], [-2.4, 2.4]]).map(([x, y]) => ({ x, y }));
|
|
2834
2834
|
},
|
|
2835
2835
|
variants: {
|
|
@@ -2912,7 +2912,7 @@ var StreamlineChart = (_class18 = class extends FieldPlot {
|
|
|
2912
2912
|
description: "Follows a vector field along evenly spaced flow lines, with colour and width carrying speed.",
|
|
2913
2913
|
tags: ["flow", "stream plot", "fluid", "curly vectors"],
|
|
2914
2914
|
sample: (seed) => {
|
|
2915
|
-
const rows =
|
|
2915
|
+
const rows = _chunkLNWTC72Ycjs.SampleData.points(seed, 4, 2);
|
|
2916
2916
|
return MathNumerics.fit(rows, "x", "y", [[-2.2, 2.2], [-1.5, 1.5]]).map(([x, y], i) => ({ x, y, charge: i % 2 ? -1 : 1 }));
|
|
2917
2917
|
},
|
|
2918
2918
|
variants: {
|
|
@@ -3050,7 +3050,7 @@ var TaylorSeriesChart = (_class19 = class extends MathPlane {
|
|
|
3050
3050
|
shape: "function" /* Function */,
|
|
3051
3051
|
description: "Overlays Maclaurin polynomials of rising degree on a function, or plots the error each degree leaves.",
|
|
3052
3052
|
tags: ["maclaurin", "approximation", "polynomial", "convergence"],
|
|
3053
|
-
sample: (seed) =>
|
|
3053
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 4, 1).map((_, i) => ({ order: 2 * i + 1 + (i > 2 ? 2 : 0) })),
|
|
3054
3054
|
variants: {
|
|
3055
3055
|
fn: Object.values(TaylorFunction),
|
|
3056
3056
|
view: Object.values(TaylorView),
|
|
@@ -3138,7 +3138,7 @@ var VectorFieldChart = (_class20 = class extends FieldPlot {
|
|
|
3138
3138
|
description: "Places a glyph at each lattice point to show the direction and magnitude of a field, from formulas, charges or sampled rows.",
|
|
3139
3139
|
tags: ["quiver", "gradient", "flow", "electric field"],
|
|
3140
3140
|
sample: (seed) => {
|
|
3141
|
-
const rows =
|
|
3141
|
+
const rows = _chunkLNWTC72Ycjs.SampleData.points(seed, 4, 2);
|
|
3142
3142
|
return MathNumerics.fit(rows, "x", "y", [[-2.2, 2.2], [-1.5, 1.5]]).map(([x, y], i) => ({ x, y, charge: i % 2 ? -1 : 1 }));
|
|
3143
3143
|
},
|
|
3144
3144
|
variants: {
|
|
@@ -10,7 +10,7 @@ var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
14
14
|
|
|
15
15
|
// src/charts/geoflows/GeoFlowFrame.ts
|
|
16
16
|
|
|
@@ -216,7 +216,7 @@ var GeoFlowChart = (_class = class extends _chunkEEF5WRRZcjs.Chart2D {constructo
|
|
|
216
216
|
this.plotGeo(ctx, frame);
|
|
217
217
|
}
|
|
218
218
|
get land() {
|
|
219
|
-
return _nullishCoalesce(this.options.basemap, () => ( (countries ??=
|
|
219
|
+
return _nullishCoalesce(this.options.basemap, () => ( (countries ??= _chunkLNWTC72Ycjs.WorldSample.countries(1))));
|
|
220
220
|
}
|
|
221
221
|
drawBasemap(ctx, frame, graticules = true) {
|
|
222
222
|
const { theme } = ctx;
|
|
@@ -569,8 +569,8 @@ var regionOf = (lon, lat) => {
|
|
|
569
569
|
var GeoFlowSample = (_class4 = class {
|
|
570
570
|
/** `{ source, target, sourceLon, sourceLat, targetLon, targetLat, value, series }`, the strongest city pairs. */
|
|
571
571
|
static flows(seed, count = 36, only) {
|
|
572
|
-
const cities =
|
|
573
|
-
const noise =
|
|
572
|
+
const cities = _chunkLNWTC72Ycjs.SampleData.cities(seed).filter((city) => !only || only.includes(String(city.name)));
|
|
573
|
+
const noise = _chunkLNWTC72Ycjs.SampleData.matrix(seed, cities.length, cities.length).values;
|
|
574
574
|
const pairs = cities.flatMap((a, i) => cities.flatMap((b, j) => {
|
|
575
575
|
if (i === j) return [];
|
|
576
576
|
const value = Math.round(+a.value * (noise[i][j] + 1.4) * 0.6 + 4);
|
|
@@ -591,7 +591,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
591
591
|
static __initStatic2() {this.spaced = ["New York", "S\xE3o Paulo", "London", "Lagos", "Moscow", "Mumbai", "Beijing", "Tokyo", "Sydney"]}
|
|
592
592
|
/** Every city linked to one hub, in both directions. */
|
|
593
593
|
static star(seed, hub = "London") {
|
|
594
|
-
const cities =
|
|
594
|
+
const cities = _chunkLNWTC72Ycjs.SampleData.cities(seed);
|
|
595
595
|
const centre = _nullishCoalesce(cities.find((city) => city.name === hub), () => ( cities[0]));
|
|
596
596
|
return cities.filter((city) => city !== centre).flatMap((city, i) => {
|
|
597
597
|
const series = regionOf(+city.lon, +city.lat);
|
|
@@ -603,7 +603,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
603
603
|
}
|
|
604
604
|
/** `{ route, stop, order, lon, lat }`: four liner services through the sample cities. */
|
|
605
605
|
static routes(seed) {
|
|
606
|
-
const cities = new Map(
|
|
606
|
+
const cities = new Map(_chunkLNWTC72Ycjs.SampleData.cities(seed).map((city) => [city.name, city]));
|
|
607
607
|
const lines = [
|
|
608
608
|
["Atlantic", ["Toronto", "New York", "London", "Paris", "Lagos", "Cape Town"]],
|
|
609
609
|
["Silk Road", ["Paris", "Istanbul", "Moscow", "Mumbai", "Beijing", "Seoul", "Tokyo"]],
|
|
@@ -617,7 +617,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
617
617
|
}
|
|
618
618
|
/** `{ track, time, lon, lat, value }`: tagged birds flying from Europe to southern Africa. */
|
|
619
619
|
static tracks(seed, count = 5, fixes = 48) {
|
|
620
|
-
const walks =
|
|
620
|
+
const walks = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, fixes, count);
|
|
621
621
|
const names = [...new Set(walks.map((row) => String(row.series)))];
|
|
622
622
|
return names.flatMap((track, i) => {
|
|
623
623
|
const rows = walks.filter((row) => row.series === track);
|
|
@@ -636,7 +636,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
636
636
|
}
|
|
637
637
|
/** `{ track, time, lon, lat, value }`: Atlantic storms that curve north; `value` is sustained wind in knots. */
|
|
638
638
|
static storms(seed, count = 4, fixes = 26) {
|
|
639
|
-
const walks =
|
|
639
|
+
const walks = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, fixes, count);
|
|
640
640
|
const names = ["Ana", "Bret", "Cindy", "Don", "Emily", "Franklin", "Gert", "Harvey"];
|
|
641
641
|
return names.slice(0, count).flatMap((track, i) => {
|
|
642
642
|
const rows = walks.filter((row) => row.series === [...new Set(walks.map((walk) => walk.series))][i]);
|
|
@@ -655,9 +655,9 @@ var GeoFlowSample = (_class4 = class {
|
|
|
655
655
|
}
|
|
656
656
|
/** `{ phase, order, name, lon, lat, value, temperature }`: an army's advance and retreat across Europe. */
|
|
657
657
|
static campaign(seed) {
|
|
658
|
-
const cities =
|
|
658
|
+
const cities = _chunkLNWTC72Ycjs.SampleData.cities(seed);
|
|
659
659
|
const start = cities.find((city) => city.name === "Paris"), end = cities.find((city) => city.name === "Moscow");
|
|
660
|
-
const noise =
|
|
660
|
+
const noise = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 9, 1).map((row) => +row.value);
|
|
661
661
|
const stage = (phase, from, to, army, loss, temperature) => Array.from({ length: 9 }, (_, i) => {
|
|
662
662
|
const t = i / 8, wave = (noise[i] - noise[0]) * 0.12;
|
|
663
663
|
return {
|
|
@@ -677,7 +677,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
677
677
|
}
|
|
678
678
|
/** `{ lon, lat, u, v }`: a stream function on a regular grid, so the field is smooth and rotational. */
|
|
679
679
|
static wind(seed, step = 5) {
|
|
680
|
-
const { z } =
|
|
680
|
+
const { z } = _chunkLNWTC72Ycjs.SampleData.surface(seed, 37);
|
|
681
681
|
const stream = (lon, lat) => {
|
|
682
682
|
const fx = (lon + 180) / 360 * 36, fy = (lat + 90) / 180 * 36;
|
|
683
683
|
const row = z[Math.min(36, Math.round(fy))];
|
|
@@ -692,8 +692,8 @@ var GeoFlowSample = (_class4 = class {
|
|
|
692
692
|
}
|
|
693
693
|
/** `{ period, name, lon, lat, value }`: the cities repeated across six periods. */
|
|
694
694
|
static panels(seed, periods = 6) {
|
|
695
|
-
const cities =
|
|
696
|
-
const { values } =
|
|
695
|
+
const cities = _chunkLNWTC72Ycjs.SampleData.cities(seed);
|
|
696
|
+
const { values } = _chunkLNWTC72Ycjs.SampleData.matrix(seed, cities.length, periods);
|
|
697
697
|
return Array.from({ length: periods }, (_, p) => cities.map((city, i) => ({
|
|
698
698
|
period: String(2021 + p),
|
|
699
699
|
name: city.name,
|
|
@@ -704,7 +704,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
704
704
|
}
|
|
705
705
|
/** The country centroids with `value` as hours of travel from one city. */
|
|
706
706
|
static travel(seed, from = "London") {
|
|
707
|
-
const origin =
|
|
707
|
+
const origin = _chunkLNWTC72Ycjs.SampleData.cities(seed).find((city) => city.name === from);
|
|
708
708
|
const home = [+origin.lon, +origin.lat];
|
|
709
709
|
return [
|
|
710
710
|
{ name: from, lon: home[0], lat: home[1], value: 0, series: regionOf(...home) },
|
|
@@ -713,8 +713,8 @@ var GeoFlowSample = (_class4 = class {
|
|
|
713
713
|
}
|
|
714
714
|
/** The cities with three measures, for rings of metrics. */
|
|
715
715
|
static metrics(seed) {
|
|
716
|
-
const { values } =
|
|
717
|
-
return
|
|
716
|
+
const { values } = _chunkLNWTC72Ycjs.SampleData.matrix(seed, 20, 3);
|
|
717
|
+
return _chunkLNWTC72Ycjs.SampleData.cities(seed).map((city, i) => ({
|
|
718
718
|
...city,
|
|
719
719
|
series: regionOf(+city.lon, +city.lat),
|
|
720
720
|
growth: Math.round(40 + values[i][0] * 50),
|
|
@@ -723,7 +723,7 @@ var GeoFlowSample = (_class4 = class {
|
|
|
723
723
|
}
|
|
724
724
|
/** `{ name, lon, lat, value, series }`: one point per country, at its centroid. */
|
|
725
725
|
static places(seed) {
|
|
726
|
-
return
|
|
726
|
+
return _chunkLNWTC72Ycjs.WorldSample.countries(seed).features.map((country) => {
|
|
727
727
|
const [lon, lat] = _d3.geoCentroid.call(void 0, country);
|
|
728
728
|
return { name: String(_nullishCoalesce(_optionalChain([country, 'access', _6 => _6.properties, 'optionalAccess', _7 => _7.name]), () => ( ""))), lon: +lon.toFixed(2), lat: +lat.toFixed(2), value: _optionalChain([country, 'access', _8 => _8.properties, 'optionalAccess', _9 => _9.value]), series: regionOf(lon, lat) };
|
|
729
729
|
});
|
|
@@ -23,7 +23,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
23
23
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
27
27
|
|
|
28
28
|
// src/charts/earthscience/HovmollerEnums.ts
|
|
29
29
|
var HovmollerSection = /* @__PURE__ */ ((HovmollerSection2) => {
|
|
@@ -230,7 +230,7 @@ var HovmollerSample = class {
|
|
|
230
230
|
* a warm-pool minimum, then an eastward packet, westward waves and a northward band.
|
|
231
231
|
*/
|
|
232
232
|
static tropics(seed) {
|
|
233
|
-
const [one, two, three] =
|
|
233
|
+
const [one, two, three] = _chunkLNWTC72Ycjs.SampleData.points(seed, 3, 1).map((row) => radians(+row.y * 7));
|
|
234
234
|
const rows = [];
|
|
235
235
|
for (let day2 = 0; day2 < DAYS; day2 += STEP) for (let longitude = 0; longitude < 360; longitude += 10) for (let latitude = -30; latitude <= 30; latitude += 5) {
|
|
236
236
|
const mean = 248 - 34 * gauss(arc(longitude, 130), 60) * gauss(latitude, 18);
|
|
@@ -728,7 +728,7 @@ var EarthSample = (_class2 = class {
|
|
|
728
728
|
static __initStatic2() {this.area = 60}
|
|
729
729
|
/** Hourly gauge record `{ time, flow, rain }`: two storms routed through a Nash cascade, over a slow recession of baseflow. */
|
|
730
730
|
static hydrograph(seed, hours = 120) {
|
|
731
|
-
const walk =
|
|
731
|
+
const walk = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, hours, 1);
|
|
732
732
|
const gust = walk.map((row, i) => i ? Math.abs(+row.value - +walk[i - 1].value) : 0);
|
|
733
733
|
const shift = Math.round(gust[1] * 2);
|
|
734
734
|
const rain = gust.map((value, t) => {
|
|
@@ -747,7 +747,7 @@ var EarthSample = (_class2 = class {
|
|
|
747
747
|
}
|
|
748
748
|
/** Sediment samples `{ sand, silt, clay, porosity }` in percent, from three facies. Porosity falls where sand fills the voids of clay. */
|
|
749
749
|
static sediments(seed, count = 84) {
|
|
750
|
-
return
|
|
750
|
+
return _chunkLNWTC72Ycjs.SampleData.points(seed, count, 3).map((row, i) => {
|
|
751
751
|
const facies = i % 3, wobble = [(+row.x - (20 + facies * 22)) / 8, (+row.y - 0.8 * +row.x - 10) / 9, 0];
|
|
752
752
|
const parts = FACIES[facies].map((centre, k) => Math.exp(centre + wobble[k] * 0.6));
|
|
753
753
|
const total = parts[0] + parts[1] + parts[2];
|
|
@@ -1229,7 +1229,7 @@ var CHAINS = [
|
|
|
1229
1229
|
var StarSample = class {
|
|
1230
1230
|
/** Rows `{ star, ra, dec, magnitude, constellation }`, then rows of pairs `{ star, to }`, one per constellation line. */
|
|
1231
1231
|
static bright(seed) {
|
|
1232
|
-
const { u } =
|
|
1232
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
1233
1233
|
const stars = [...FIGURES, ...FIELD.filter(() => u() < 0.75)].map(([star, ra, dec, magnitude, constellation]) => ({ star, ra, dec, magnitude, constellation }));
|
|
1234
1234
|
const pairs = CHAINS.flatMap((chain) => chain.slice(1).map((to, i) => ({ star: chain[i], to })));
|
|
1235
1235
|
return [...stars, ...pairs];
|
|
@@ -19,7 +19,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
19
19
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
23
23
|
|
|
24
24
|
// src/charts/geosciencecharts/DurovDiagram.ts
|
|
25
25
|
var _d3 = require('d3');
|
|
@@ -139,7 +139,7 @@ var TIDES = [[12.4206, 1.62], [12, 0.52], [23.9345, 0.31], [25.8193, 0.22]];
|
|
|
139
139
|
var GeoscienceSamples = class {
|
|
140
140
|
/** Hourly forecast `{ time, temperature, dewPoint, precipitation, windSpeed, windDirection, pressure, cloud }` in °C, mm, kt, degrees, hPa and percent, with a front passing. */
|
|
141
141
|
static weather(seed, hours = 72) {
|
|
142
|
-
const { u, n } =
|
|
142
|
+
const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
143
143
|
const start = Date.UTC(2026, 3, 14), front = 24 + u() * 16;
|
|
144
144
|
let drift = 0, gust = 0;
|
|
145
145
|
return Array.from({ length: hours }, (_, h) => {
|
|
@@ -163,7 +163,7 @@ var GeoscienceSamples = class {
|
|
|
163
163
|
}
|
|
164
164
|
/** Earthquakes `{ event, strike, dip, rake, magnitude, depth }`: angles in degrees (Aki and Richards), depth in km. */
|
|
165
165
|
static mechanisms(seed) {
|
|
166
|
-
const { u, n } =
|
|
166
|
+
const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
167
167
|
return MECHANISMS.map(([event, strike, dip, rake]) => ({
|
|
168
168
|
event,
|
|
169
169
|
strike: Math.round((strike + n() * 14 + 360) % 360),
|
|
@@ -175,12 +175,12 @@ var GeoscienceSamples = class {
|
|
|
175
175
|
}
|
|
176
176
|
/** Beds `{ unit, lithology, thickness, grain, age }` from the top of a borehole down: thickness in m, grain as a Wentworth grade. */
|
|
177
177
|
static beds(seed) {
|
|
178
|
-
const { u } =
|
|
178
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
179
179
|
return BEDS.map(([unit2, lithology, thickness, grain, age]) => ({ unit: unit2, lithology, thickness: round(thickness * (0.7 + u() * 0.7), 1), grain, age }));
|
|
180
180
|
}
|
|
181
181
|
/** Water analyses `{ sample, group, Ca, Mg, Na, K, HCO3, CO3, SO4, Cl, pH, tds }`: ions in meq/L, total dissolved solids in mg/L. */
|
|
182
182
|
static waters(seed, perGroup = 5) {
|
|
183
|
-
const { n } =
|
|
183
|
+
const { n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
184
184
|
return WATERS.flatMap(({ group, pH, ...ions }, g) => Array.from({ length: perGroup }, (_, i) => {
|
|
185
185
|
const strength = Math.exp(n() * 0.35);
|
|
186
186
|
const parts = Object.fromEntries(Object.entries(ions).map(([ion, value]) => [ion, +(value * strength * Math.exp(n() * 0.3)).toPrecision(3)]));
|
|
@@ -190,13 +190,13 @@ var GeoscienceSamples = class {
|
|
|
190
190
|
}
|
|
191
191
|
/** Bed observations `{ site, group, grain, velocity }`: median grain size in mm and mean flow velocity in cm/s. */
|
|
192
192
|
static transport(seed, perGroup = 8) {
|
|
193
|
-
const { u } =
|
|
193
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
194
194
|
const between = (low, high) => low * (high / low) ** u();
|
|
195
195
|
return REACHES.flatMap(([group, fine, coarse, slow, fast], g) => Array.from({ length: perGroup }, (_, i) => ({ site: `S${g * perGroup + i + 1}`, group, grain: +between(fine, coarse).toPrecision(2), velocity: +between(slow, fast).toPrecision(2) })));
|
|
196
196
|
}
|
|
197
197
|
/** Sieve and hydrometer results `{ sample, size, passing }`: opening in mm and percent finer by mass. */
|
|
198
198
|
static sieves(seed) {
|
|
199
|
-
const { u, n } =
|
|
199
|
+
const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
200
200
|
const cdf = (z2) => 1 / (1 + Math.exp(-1.702 * z2));
|
|
201
201
|
return SOILS.flatMap(([sample, median, spread]) => {
|
|
202
202
|
const centre = median * Math.exp((u() - 0.5) * 0.8);
|
|
@@ -209,7 +209,7 @@ var GeoscienceSamples = class {
|
|
|
209
209
|
}
|
|
210
210
|
/** Daily mean flow `{ date, station, discharge }` in m³/s for two years at three gauges of different flashiness. */
|
|
211
211
|
static flows(seed, days = 730) {
|
|
212
|
-
const { n } =
|
|
212
|
+
const { n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
213
213
|
return GAUGES.flatMap(([station, mean2, hold, spread]) => {
|
|
214
214
|
let state = 0;
|
|
215
215
|
const step = spread * Math.sqrt(1 - hold ** 2);
|
|
@@ -222,7 +222,7 @@ var GeoscienceSamples = class {
|
|
|
222
222
|
}
|
|
223
223
|
/** Elevation bands `{ basin, elevation, area }`: band mid-point in m and the area inside it in km², for a young, a mature and a worn-down basin. */
|
|
224
224
|
static basins(seed, bands = 14) {
|
|
225
|
-
const { u } =
|
|
225
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
226
226
|
return BASINS.flatMap(([basin, low, high, area4, a, b]) => {
|
|
227
227
|
const weights = Array.from({ length: bands }, (_, i) => {
|
|
228
228
|
const t = (i + 0.5) / bands;
|
|
@@ -234,7 +234,7 @@ var GeoscienceSamples = class {
|
|
|
234
234
|
}
|
|
235
235
|
/** Predicted tide `{ time, level }` every ten minutes: height in m above chart datum, from four harmonic constituents. */
|
|
236
236
|
static tides(seed, hours = 72) {
|
|
237
|
-
const { u } =
|
|
237
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
238
238
|
const phases = TIDES.map(() => u() * 2 * Math.PI), start = Date.UTC(2026, 5, 12);
|
|
239
239
|
return Array.from({ length: hours * 6 + 1 }, (_, i) => {
|
|
240
240
|
const t = i / 6;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
7
7
|
|
|
8
8
|
// src/charts/musiccharts/MusicChartSamples.ts
|
|
9
9
|
var SHAPES = [
|
|
@@ -33,7 +33,7 @@ var MusicChartSamples = class {
|
|
|
33
33
|
}
|
|
34
34
|
/** `{ pitch, duration }`: a four bar melody in 4/4, `duration` in beats with a crotchet as 1 and `rest` for a silence. */
|
|
35
35
|
static melody(seed) {
|
|
36
|
-
const { u } =
|
|
36
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed), pick = (items) => items[Math.floor(u() * items.length)];
|
|
37
37
|
return [OPENING, pick(PHRASES), pick(CHROMATIC), pick(CADENCES)].flat().map(([pitch, duration]) => ({ pitch, duration }));
|
|
38
38
|
}
|
|
39
39
|
};
|