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
|
@@ -13,7 +13,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
13
13
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
17
17
|
|
|
18
18
|
// src/charts/density/ContourChart.ts
|
|
19
19
|
var _d3 = require('d3');
|
|
@@ -148,7 +148,7 @@ var ContourChart = (_class = class extends GridFieldChart {
|
|
|
148
148
|
shape: "grid" /* Grid */,
|
|
149
149
|
description: "Draws lines of equal value across a two-variable surface, so peaks, pits and gradients read at a glance.",
|
|
150
150
|
tags: ["contour", "isopleth", "topographic", "surface"],
|
|
151
|
-
sample: (seed) =>
|
|
151
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.surface(seed, 60),
|
|
152
152
|
variants: {
|
|
153
153
|
levels: [9, 5, 14, 20],
|
|
154
154
|
spacing: ["uniform" /* Uniform */, "quantile" /* Quantile */, "geometric" /* Geometric */],
|
|
@@ -209,7 +209,7 @@ var FilledContour = (_class2 = class extends GridFieldChart {
|
|
|
209
209
|
shape: "grid" /* Grid */,
|
|
210
210
|
description: "Fills the bands between contour levels so a surface reads as regions of magnitude, with signed fields split around zero.",
|
|
211
211
|
tags: ["contourf", "isoband", "hypsometric", "surface"],
|
|
212
|
-
sample: (seed) =>
|
|
212
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.surface(seed, 60),
|
|
213
213
|
variants: {
|
|
214
214
|
levels: [8, 4, 12],
|
|
215
215
|
spacing: ["uniform" /* Uniform */, "quantile" /* Quantile */, "geometric" /* Geometric */],
|
|
@@ -381,7 +381,7 @@ var DensityContourChart = (_class3 = class extends PointDensityChart {
|
|
|
381
381
|
shape: "table" /* Table */,
|
|
382
382
|
description: "Estimates the density of an x/y point cloud and draws its contours, pooled or per group, with mass-enclosing levels.",
|
|
383
383
|
tags: ["kde", "contour", "highest density region", "bivariate"],
|
|
384
|
-
sample: (seed) =>
|
|
384
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 480, 3),
|
|
385
385
|
variants: {
|
|
386
386
|
spacing: ["uniform" /* Uniform */, "mass" /* Mass */, "quantile" /* Quantile */],
|
|
387
387
|
bandwidth: ["scott" /* Scott */, "narrow" /* Narrow */, "wide" /* Wide */],
|
|
@@ -540,7 +540,7 @@ var KernelDensity2D = (_class4 = class extends PointDensityChart {
|
|
|
540
540
|
shape: "table" /* Table */,
|
|
541
541
|
description: "Shades a smooth bivariate density, with optional marginal curves and a mean or covariance summary, to show joint and separate spread.",
|
|
542
542
|
tags: ["kde", "joint plot", "marginal", "heat"],
|
|
543
|
-
sample: (seed) =>
|
|
543
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 480, 3),
|
|
544
544
|
variants: {
|
|
545
545
|
shading: ["banded" /* Banded */, "continuous" /* Continuous */],
|
|
546
546
|
marginal: ["curve" /* Curve */, "none" /* None */, "rug" /* Rug */],
|
|
@@ -639,7 +639,7 @@ var HexbinChart = (_class5 = class extends PointDensityChart {
|
|
|
639
639
|
shape: "table" /* Table */,
|
|
640
640
|
description: "Counts or summarises points inside a hexagonal lattice to show where a large scatter concentrates, by tone or by area.",
|
|
641
641
|
tags: ["hexagon", "binning", "heatmap", "large data"],
|
|
642
|
-
sample: (seed) =>
|
|
642
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 700, 3),
|
|
643
643
|
variants: {
|
|
644
644
|
radius: [12, 8, 18],
|
|
645
645
|
encoding: ["tone" /* Tone */, "area" /* Area */, "dot" /* Dot */],
|
|
@@ -731,7 +731,7 @@ var TwoDHistogram = (_class6 = class extends PointDensityChart {
|
|
|
731
731
|
shape: "table" /* Table */,
|
|
732
732
|
description: "Bins points on two axes with a choice of edge rule, then shows each bin as a tile, bubble or inset with optional marginal histograms.",
|
|
733
733
|
tags: ["bivariate histogram", "heatmap", "binning", "marginal"],
|
|
734
|
-
sample: (seed) =>
|
|
734
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 700, 3),
|
|
735
735
|
variants: {
|
|
736
736
|
rule: ["sturges" /* Sturges */, "scott" /* Scott */, "freedman-diaconis" /* FreedmanDiaconis */, "square-root" /* SquareRoot */, "quantile" /* Quantile */],
|
|
737
737
|
cell: ["tile" /* Tile */, "bubble" /* Bubble */, "inset" /* Inset */],
|
|
@@ -864,7 +864,7 @@ var RasterDensity = (_class7 = class extends PointDensityChart {
|
|
|
864
864
|
shape: "table" /* Table */,
|
|
865
865
|
description: "Rasterises a kernel density into a fixed pixel grid, with quantised, continuous or dithered tone and a choice of tone transform.",
|
|
866
866
|
tags: ["heat", "image", "datashader", "dither"],
|
|
867
|
-
sample: (seed) =>
|
|
867
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 480, 3),
|
|
868
868
|
variants: {
|
|
869
869
|
resolution: [64, 32, 96],
|
|
870
870
|
shading: ["quantized" /* Quantized */, "continuous" /* Continuous */, "dithered" /* Dithered */],
|
|
@@ -988,7 +988,7 @@ var BinnedDotChart = (_class8 = class extends PointDensityChart {
|
|
|
988
988
|
shape: "table" /* Table */,
|
|
989
989
|
description: "Snaps points to a lattice and draws one symbol per node, scaled by area or filled with unit dots, so counts compare directly.",
|
|
990
990
|
tags: ["dot matrix", "bubble grid", "binning"],
|
|
991
|
-
sample: (seed) =>
|
|
991
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 700, 3),
|
|
992
992
|
variants: {
|
|
993
993
|
bins: [22, 14, 32],
|
|
994
994
|
lattice: ["square" /* Square */, "hexagonal" /* Hexagonal */, "quincunx" /* Quincunx */],
|
|
@@ -1058,7 +1058,7 @@ var SunflowerPlot = (_class9 = class extends PointDensityChart {
|
|
|
1058
1058
|
shape: "table" /* Table */,
|
|
1059
1059
|
description: "Replaces overplotted points with a flower at each bin whose petals count the points there.",
|
|
1060
1060
|
tags: ["overplotting", "cleveland", "glyph"],
|
|
1061
|
-
sample: (seed) =>
|
|
1061
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 320, 3),
|
|
1062
1062
|
variants: {
|
|
1063
1063
|
bins: [14, 10, 20],
|
|
1064
1064
|
lattice: ["hexagonal" /* Hexagonal */, "square" /* Square */],
|
|
@@ -1125,7 +1125,7 @@ var TileMapDensity = (_class10 = class extends PointDensityChart {
|
|
|
1125
1125
|
shape: "table" /* Table */,
|
|
1126
1126
|
description: "Aggregates points into separate tiles at a chosen zoom level, like a map tile pyramid, with tone or area showing the count.",
|
|
1127
1127
|
tags: ["tile grid", "mosaic", "zoom level"],
|
|
1128
|
-
sample: (seed) =>
|
|
1128
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 700, 3),
|
|
1129
1129
|
variants: {
|
|
1130
1130
|
zoom: [4, 3, 5],
|
|
1131
1131
|
tile: ["square" /* Square */, "circle" /* Circle */, "diamond" /* Diamond */, "hexagon" /* Hexagon */],
|
|
@@ -1208,7 +1208,7 @@ var VoronoiDiagram = (_class11 = class extends PointDensityChart {
|
|
|
1208
1208
|
shape: "table" /* Table */,
|
|
1209
1209
|
description: "Gives each point the region closer to it than to any other, so small cells show crowding and large cells show sparse areas.",
|
|
1210
1210
|
tags: ["tessellation", "thiessen", "nearest neighbour", "lloyd"],
|
|
1211
|
-
sample: (seed) =>
|
|
1211
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 90, 3),
|
|
1212
1212
|
variants: {
|
|
1213
1213
|
relax: [0, 1, 4],
|
|
1214
1214
|
cellShape: ["sharp" /* Sharp */, "inset" /* Inset */, "rounded" /* Rounded */],
|
|
@@ -1278,7 +1278,7 @@ var DelaunayMesh = (_class12 = class extends PointDensityChart {
|
|
|
1278
1278
|
shape: "table" /* Table */,
|
|
1279
1279
|
description: "Connects neighbouring points into a triangulation or one of its proximity subgraphs, from alpha shapes to the minimum spanning tree.",
|
|
1280
1280
|
tags: ["triangulation", "gabriel graph", "alpha shape", "minimum spanning tree"],
|
|
1281
|
-
sample: (seed) =>
|
|
1281
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 110, 3),
|
|
1282
1282
|
variants: {
|
|
1283
1283
|
graph: Object.values(MeshGraph),
|
|
1284
1284
|
form: ["wire" /* Wire */, "filled" /* Filled */],
|
|
@@ -1389,7 +1389,7 @@ var ConvexLayers = (_class13 = class extends PointDensityChart {
|
|
|
1389
1389
|
shape: "table" /* Table */,
|
|
1390
1390
|
description: "Peels a point cloud into nested convex hulls, which reveal its centre, shape and outlying points without assuming a distribution.",
|
|
1391
1391
|
tags: ["onion peeling", "convex hull", "depth", "robust statistics"],
|
|
1392
|
-
sample: (seed) =>
|
|
1392
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 180, 3),
|
|
1393
1393
|
variants: {
|
|
1394
1394
|
depth: [0, 8, 3],
|
|
1395
1395
|
form: ["lines" /* Lines */, "filled" /* Filled */],
|
|
@@ -1464,7 +1464,7 @@ var QuadtreeChart = (_class14 = class extends PointDensityChart {
|
|
|
1464
1464
|
shape: "table" /* Table */,
|
|
1465
1465
|
description: "Splits space recursively until each cell holds few points, so resolution follows density, using quadtree or k-d partitions.",
|
|
1466
1466
|
tags: ["adaptive binning", "k-d tree", "spatial index"],
|
|
1467
|
-
sample: (seed) =>
|
|
1467
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 480, 3),
|
|
1468
1468
|
variants: {
|
|
1469
1469
|
partition: Object.values(SpatialPartition),
|
|
1470
1470
|
capacity: [6, 2, 16],
|
|
@@ -1563,7 +1563,7 @@ var IsolineChart = (_class15 = class extends GridFieldChart {constructor(...args
|
|
|
1563
1563
|
shape: "grid" /* Grid */,
|
|
1564
1564
|
description: "Draws isolines with cartographic conventions (index lines, downhill hachures, illuminated Tanaka relief) so a field reads as terrain.",
|
|
1565
1565
|
tags: ["isopleth", "tanaka", "hachure", "cartography"],
|
|
1566
|
-
sample: (seed) =>
|
|
1566
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.surface(seed, 60),
|
|
1567
1567
|
variants: {
|
|
1568
1568
|
isolineStyle: ["index" /* Index */, "plain" /* Plain */, "hachure" /* Hachure */, "tanaka" /* Tanaka */],
|
|
1569
1569
|
count: [12, 7, 18],
|
|
@@ -1662,7 +1662,7 @@ var GeoFreeShadedSurface = (_class16 = class extends GridFieldChart {
|
|
|
1662
1662
|
shape: "grid" /* Grid */,
|
|
1663
1663
|
description: "Lights a two-variable surface like a relief map, from a chosen direction, to bring out ridges, slopes and small structure.",
|
|
1664
1664
|
tags: ["hillshade", "relief", "lighting", "surface"],
|
|
1665
|
-
sample: (seed) =>
|
|
1665
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.surface(seed, 64),
|
|
1666
1666
|
variants: {
|
|
1667
1667
|
model: ["lambert" /* Lambert */, "multi-directional" /* MultiDirectional */, "slope" /* Slope */],
|
|
1668
1668
|
azimuth: [315, 45, 135, 225],
|
|
@@ -1730,7 +1730,7 @@ var MarchingSquaresChart = (_class17 = class extends GridFieldChart {
|
|
|
1730
1730
|
shape: "grid" /* Grid */,
|
|
1731
1731
|
description: "Exposes the sample lattice, inside and outside vertices and traced segments of one isovalue, to show how a contour is built.",
|
|
1732
1732
|
tags: ["isosurface", "algorithm", "marching triangles", "lattice"],
|
|
1733
|
-
sample: (seed) =>
|
|
1733
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.surface(seed, 60),
|
|
1734
1734
|
variants: {
|
|
1735
1735
|
resolution: [16, 10, 24],
|
|
1736
1736
|
isovalue: [0, 0.25, -0.25],
|
|
@@ -1844,7 +1844,7 @@ var GradientFieldChart = (_class18 = class extends GridFieldChart {
|
|
|
1844
1844
|
shape: "grid" /* Grid */,
|
|
1845
1845
|
description: "Derives the slope of a surface and draws it as arrows, comets or streamlines, showing how the field changes at every point.",
|
|
1846
1846
|
tags: ["vector field", "quiver", "streamline", "slope"],
|
|
1847
|
-
sample: (seed) =>
|
|
1847
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.surface(seed, 60),
|
|
1848
1848
|
variants: {
|
|
1849
1849
|
mark: ["arrow" /* Arrow */, "comet" /* Comet */, "streamline" /* Streamline */],
|
|
1850
1850
|
flow: ["ascent" /* Ascent */, "descent" /* Descent */, "isogonal" /* Isogonal */],
|
|
@@ -1944,7 +1944,7 @@ var DotDensityChart = (_class19 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
1944
1944
|
shape: "table" /* Table */,
|
|
1945
1945
|
description: "Represents amounts as individual dots inside regions, coloured by series, so both totals and mix can be read at once.",
|
|
1946
1946
|
tags: ["unit chart", "dot map", "pointillist"],
|
|
1947
|
-
sample: (seed) =>
|
|
1947
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.categories(seed, 7, 3),
|
|
1948
1948
|
variants: {
|
|
1949
1949
|
layout: ["treemap" /* Treemap */, "strips" /* Strips */, "voronoi" /* Voronoi */],
|
|
1950
1950
|
placement: ["blue-noise" /* BlueNoise */, "random" /* Random */, "lattice" /* Lattice */, "spiral" /* Spiral */],
|
|
@@ -2100,7 +2100,7 @@ var DensityScatter = (_class20 = class extends PointDensityChart {
|
|
|
2100
2100
|
shape: "table" /* Table */,
|
|
2101
2101
|
description: "Colours each point by the local density around it, or keeps only outliers over a smooth surface, so overplotting stops hiding the shape.",
|
|
2102
2102
|
tags: ["smooth scatter", "heat scatter", "overplotting", "outliers"],
|
|
2103
|
-
sample: (seed) =>
|
|
2103
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 480, 3),
|
|
2104
2104
|
variants: {
|
|
2105
2105
|
stacking: ["dense-on-top" /* DenseOnTop */, "sparse-on-top" /* SparseOnTop */, "data-order" /* DataOrder */],
|
|
2106
2106
|
mode: ["all-points" /* AllPoints */, "outliers-on-surface" /* OutliersOnSurface */],
|
|
@@ -2153,7 +2153,7 @@ var StippleDensity = (_class21 = class extends PointDensityChart {
|
|
|
2153
2153
|
shape: "table" /* Table */,
|
|
2154
2154
|
description: "Redraws a kernel density as evenly spaced ink dots using weighted Voronoi stippling, so tone comes from dot spacing alone.",
|
|
2155
2155
|
tags: ["stippling", "lloyd", "pointillism", "print"],
|
|
2156
|
-
sample: (seed) =>
|
|
2156
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 480, 3),
|
|
2157
2157
|
variants: {
|
|
2158
2158
|
stipples: [900, 1600, 450],
|
|
2159
2159
|
iterations: [8, 0, 24],
|
|
@@ -16,7 +16,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
16
16
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
20
20
|
|
|
21
21
|
// src/charts/productcharts/productEnums.ts
|
|
22
22
|
var CohortCurveMeasure = /* @__PURE__ */ ((CohortCurveMeasure2) => {
|
|
@@ -179,7 +179,7 @@ var ENDS_SHARE = 0.4;
|
|
|
179
179
|
var ProductSamples = class {
|
|
180
180
|
/** Monthly signup cohorts as a triangle: `{ cohort, period, active }`, later cohorts decaying to a higher floor. */
|
|
181
181
|
static cohorts(seed) {
|
|
182
|
-
const { u, n } =
|
|
182
|
+
const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed), count = 10;
|
|
183
183
|
return Array.from({ length: count }, (_, c) => {
|
|
184
184
|
const size = 800 + Math.round(u() * 700), floor = 0.12 + 0.028 * c + u() * 0.02;
|
|
185
185
|
return Array.from({ length: count - c }, (_2, period) => {
|
|
@@ -190,7 +190,7 @@ var ProductSamples = class {
|
|
|
190
190
|
}
|
|
191
191
|
/** Monthly user accounting: `{ period, new, retained, resurrected, churned }`, where retained plus churned is last month's active base. */
|
|
192
192
|
static growth(seed) {
|
|
193
|
-
const { u } =
|
|
193
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
194
194
|
let active = 4e3;
|
|
195
195
|
return MONTHS.map((period, i) => {
|
|
196
196
|
const retained = Math.round(active * (0.78 + 8e-3 * i + u() * 0.02)), churned = active - retained;
|
|
@@ -201,7 +201,7 @@ var ProductSamples = class {
|
|
|
201
201
|
}
|
|
202
202
|
/** One row per customer: `{ customer, recency, frequency, monetary }`, with days since last order, orders and total spend. */
|
|
203
203
|
static customers(seed) {
|
|
204
|
-
const { u, n } =
|
|
204
|
+
const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
205
205
|
return Array.from({ length: CUSTOMERS }, (_, i) => {
|
|
206
206
|
const loyalty = n(), frequency = 1 + Math.floor(Math.exp(1.7 + 0.8 * loyalty + 0.5 * n()));
|
|
207
207
|
const recency = 1 + Math.round(Math.min(364, Math.exp(4.2 - 0.6 * loyalty + 0.8 * n())));
|
|
@@ -210,7 +210,7 @@ var ProductSamples = class {
|
|
|
210
210
|
}
|
|
211
211
|
/** Journeys scored by five rules: `{ channel, model, conversions, spend }`, where spend is per channel and each model gives out the same total. */
|
|
212
212
|
static attribution(seed) {
|
|
213
|
-
const { u } =
|
|
213
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
214
214
|
const credit = /* @__PURE__ */ new Map(), touches = /* @__PURE__ */ new Map();
|
|
215
215
|
const add = (channel, model, value) => credit.set(`${channel}/${model}`, (_nullishCoalesce(credit.get(`${channel}/${model}`), () => ( 0))) + value);
|
|
216
216
|
const pick = (place) => {
|
|
@@ -241,7 +241,7 @@ var ProductSamples = class {
|
|
|
241
241
|
}
|
|
242
242
|
/** Monthly stage counts: `{ period, stage, users }`, in AARRR order. */
|
|
243
243
|
static pirate(seed) {
|
|
244
|
-
const { n } =
|
|
244
|
+
const { n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
245
245
|
return MONTHS.slice(0, 8).flatMap((period, i) => {
|
|
246
246
|
let users = 11e3 + i * 420;
|
|
247
247
|
return STAGES.map(([stage, rate], s) => {
|
|
@@ -17,7 +17,7 @@ var _chunkSST7OZN5cjs = require('./chunk-SST7OZN5.cjs');
|
|
|
17
17
|
var _chunk6KYVL5HYcjs = require('./chunk-6KYVL5HY.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
var _chunkANNBM27Zcjs = require('./chunk-ANNBM27Z.cjs');
|
|
@@ -115,7 +115,7 @@ var DAY2 = 864e5;
|
|
|
115
115
|
var ThreeStrataSamples = class {
|
|
116
116
|
/** Boreholes along three survey lines: a bed per row, listed top down. */
|
|
117
117
|
static boreholes(seed) {
|
|
118
|
-
const { u } =
|
|
118
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
119
119
|
const rows = [];
|
|
120
120
|
["Line A", "Line B", "Line C"].forEach((line, l) => {
|
|
121
121
|
for (let i = 0; i < 7; i++) {
|
|
@@ -134,7 +134,7 @@ var ThreeStrataSamples = class {
|
|
|
134
134
|
}
|
|
135
135
|
/** Grain yield in tonnes per hectare from uneven numbers of trial plots, with a few failed or lucky plots. */
|
|
136
136
|
static trials(seed) {
|
|
137
|
-
const { u, n } =
|
|
137
|
+
const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
138
138
|
return VARIETIES.flatMap((variety, v) => SITES.flatMap((site, s) => {
|
|
139
139
|
const plots = 12 + Math.floor(u() * 60), centre = 5.2 + v * 0.45 - (v - 2) * s * 0.3, spread = 0.35 + 0.18 * s;
|
|
140
140
|
return Array.from({ length: plots }, () => {
|
|
@@ -146,7 +146,7 @@ var ThreeStrataSamples = class {
|
|
|
146
146
|
}
|
|
147
147
|
/** Hours booked per project per day over 26 weeks, lighter at weekends. */
|
|
148
148
|
static timesheet(seed) {
|
|
149
|
-
const { u } =
|
|
149
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
150
150
|
const start = Date.UTC(2026, 2, 2);
|
|
151
151
|
return Array.from({ length: 182 }, (_, day) => day).flatMap((day) => {
|
|
152
152
|
const weekday = new Date(start + day * DAY2).getUTCDay(), weekend = weekday === 0 || weekday === 6;
|
|
@@ -160,7 +160,7 @@ var ThreeStrataSamples = class {
|
|
|
160
160
|
}
|
|
161
161
|
/** A mid-latitude jet in knots on a lat-lon-pressure grid: westerlies strengthen upward and a trough bends the flow. */
|
|
162
162
|
static windGrid(seed) {
|
|
163
|
-
const { n } =
|
|
163
|
+
const { n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
164
164
|
return LEVELS.flatMap((pressure) => {
|
|
165
165
|
const height = Math.log(1e3 / pressure) / Math.log(5);
|
|
166
166
|
return [32, 42, 52].flatMap((lat) => [-120, -108, -96, -84, -72].map((lon) => {
|
|
@@ -172,7 +172,7 @@ var ThreeStrataSamples = class {
|
|
|
172
172
|
}
|
|
173
173
|
/** Accounts by plan, region and renewal outcome. Larger plans renew more often, and APAC skews to Free. */
|
|
174
174
|
static accounts(seed) {
|
|
175
|
-
const { u } =
|
|
175
|
+
const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
|
|
176
176
|
const renew = [[0.46, 0.16, 0.38], [0.66, 0.16, 0.18], [0.82, 0.12, 0.06]];
|
|
177
177
|
return PLANS.flatMap((plan, p) => REGIONS.flatMap((region, r) => {
|
|
178
178
|
const base = [[520, 300, 140], [380, 300, 120], [640, 130, 40]][r][p];
|
|
@@ -12,7 +12,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
12
12
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
var _chunkANNBM27Zcjs = require('./chunk-ANNBM27Z.cjs');
|
|
@@ -114,14 +114,14 @@ var STATES = ["Backlog", "In progress", "Review", "Done"];
|
|
|
114
114
|
var TimeSamples = class {
|
|
115
115
|
/** `SampleData.tasks` plus `dependsOn`: each task follows the previous task in its group, and some join two. Listed by group, like a work breakdown. */
|
|
116
116
|
static plan(seed, count = 14) {
|
|
117
|
-
return
|
|
117
|
+
return _chunkLNWTC72Ycjs.SampleData.tasks(seed, count).map((row, i, rows) => {
|
|
118
118
|
const before = [i >= 4 ? rows[i - 4].task : null, i >= 3 && i % 3 === 0 ? rows[i - 3].task : null].filter(Boolean);
|
|
119
119
|
return { ...row, dependsOn: before.join(", ") };
|
|
120
120
|
}).sort((a, b) => String(a.group).localeCompare(String(b.group)));
|
|
121
121
|
}
|
|
122
122
|
/** A sprint in flight: `{ date, remaining, done, scope }`, with null actuals for days still to come. */
|
|
123
123
|
static sprint(seed, days = 42, elapsed = 0.68) {
|
|
124
|
-
const walk =
|
|
124
|
+
const walk = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, days, 1);
|
|
125
125
|
let scope = 240, done = 0;
|
|
126
126
|
return walk.map((row, i) => {
|
|
127
127
|
const step = Math.abs(+row.value - +(_nullishCoalesce(_optionalChain([walk, 'access', _3 => _3[i - 1], 'optionalAccess', _4 => _4.value]), () => ( row.value))));
|
|
@@ -133,7 +133,7 @@ var TimeSamples = class {
|
|
|
133
133
|
}
|
|
134
134
|
/** Long-form `{ date, state, value }` counts per workflow state, cumulative from arrivals through to done. */
|
|
135
135
|
static flow(seed, days = 60) {
|
|
136
|
-
const walk =
|
|
136
|
+
const walk = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, days, 4);
|
|
137
137
|
const through = STATES.map(() => 0);
|
|
138
138
|
return Array.from({ length: days }, (_, d) => {
|
|
139
139
|
STATES.forEach((_2, s) => {
|
|
@@ -146,7 +146,7 @@ var TimeSamples = class {
|
|
|
146
146
|
/** Hourly `{ date, value }` with a daily and weekly rhythm laid over the seeded walk. */
|
|
147
147
|
static hourly(seed, days = 180) {
|
|
148
148
|
const start = +new Date(Date.UTC(2026, 0, 1));
|
|
149
|
-
return
|
|
149
|
+
return _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, days * 24, 1).map((row, i) => {
|
|
150
150
|
const date = new Date(start + i * 36e5), hour = date.getUTCHours(), weekday2 = date.getUTCDay();
|
|
151
151
|
const rhythm = 1 + 0.8 * Math.max(0, Math.sin((hour - 6) / 12 * Math.PI)) - (weekday2 % 6 === 0 ? 0.5 : 0);
|
|
152
152
|
return { date, value: +(+row.value * rhythm).toFixed(1) };
|
|
@@ -154,7 +154,7 @@ var TimeSamples = class {
|
|
|
154
154
|
}
|
|
155
155
|
/** One row per subject and state change: `{ subject, date, state }`. */
|
|
156
156
|
static journeys(seed, count = 12) {
|
|
157
|
-
return
|
|
157
|
+
return _chunkLNWTC72Ycjs.SampleData.tasks(seed, count).flatMap((row) => {
|
|
158
158
|
const start = row.start, end = row.end, length = _chunkEIRZGGVOcjs.TimeRows.days(start, end);
|
|
159
159
|
return [
|
|
160
160
|
{ subject: row.task, date: start, state: "Intake" },
|
|
@@ -360,7 +360,7 @@ var TimelineChart = (_class2 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
360
360
|
shape: "table" /* Table */,
|
|
361
361
|
description: "Places dated events along a single axis with leader-line labels, for histories and release narratives.",
|
|
362
362
|
tags: ["events", "history", "chronology"],
|
|
363
|
-
sample: (seed) =>
|
|
363
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 10).map((row) => ({ date: row.start, label: row.task, group: row.group })),
|
|
364
364
|
variants: {
|
|
365
365
|
orientation: ["horizontal" /* Horizontal */, "vertical" /* Vertical */],
|
|
366
366
|
layout: Object.values(TimelineLayout),
|
|
@@ -500,7 +500,7 @@ var SwimlaneChart = (_class3 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
500
500
|
shape: "table" /* Table */,
|
|
501
501
|
description: "Splits spans of time into one lane per owner or stream, packing overlaps into sub-rows inside each lane.",
|
|
502
502
|
tags: ["lanes", "parallel", "owners", "schedule"],
|
|
503
|
-
sample: (seed) =>
|
|
503
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 16).map((row, i) => ({ ...row, group: i % 5 === 0 ? "Alpha" : row.group })),
|
|
504
504
|
variants: {
|
|
505
505
|
orientation: ["horizontal" /* Horizontal */, "vertical" /* Vertical */],
|
|
506
506
|
order: Object.values(SwimlaneOrder),
|
|
@@ -631,7 +631,7 @@ var CalendarHeatmap = (_class4 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
631
631
|
shape: "table" /* Table */,
|
|
632
632
|
description: "Colours one cell per day on a calendar grid to reveal weekly habits, streaks and seasonal gaps.",
|
|
633
633
|
tags: ["contribution", "github", "daily", "streak"],
|
|
634
|
-
sample: (seed) =>
|
|
634
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 250, 1).map((row, i, rows) => ({
|
|
635
635
|
date: row.date,
|
|
636
636
|
value: +((1 + Math.abs(+row.value - +(_nullishCoalesce(_optionalChain([rows, 'access', _7 => _7[i - 1], 'optionalAccess', _8 => _8.value]), () => ( row.value))))) * (row.date.getUTCDay() % 6 ? 2 : 0.5)).toFixed(1)
|
|
637
637
|
})).filter((_, i) => i % 11 !== 7),
|
|
@@ -826,7 +826,7 @@ var MilestoneChart = (_class5 = class extends _chunkXX2YTCORcjs.CartesianChart {
|
|
|
826
826
|
shape: "table" /* Table */,
|
|
827
827
|
description: "Compares planned and actual milestone dates row by row, so slippage is visible as distance on the calendar.",
|
|
828
828
|
tags: ["deadline", "slip", "plan versus actual"],
|
|
829
|
-
sample: (seed) =>
|
|
829
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 10).map((row, i) => ({
|
|
830
830
|
milestone: `Gate ${i + 1}`,
|
|
831
831
|
planned: row.end,
|
|
832
832
|
group: row.group,
|
|
@@ -961,7 +961,7 @@ var EventDropChart = (_class6 = class extends TimeBandChart {
|
|
|
961
961
|
shape: "table" /* Table */,
|
|
962
962
|
description: "Drops one mark per event on a row for each stream, exposing bursts, gaps and coincidences in time.",
|
|
963
963
|
tags: ["events", "log", "activity", "strip"],
|
|
964
|
-
sample: (seed) =>
|
|
964
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 90, 5).filter((row, i) => Math.sin(i * 12.9898 + +row.value) * 43758.5 % 1 > 0.35 + Math.sin(i / 11) * 0.3),
|
|
965
965
|
variants: {
|
|
966
966
|
mark: Object.values(EventDropMark),
|
|
967
967
|
arrangement: Object.values(EventDropArrangement),
|
|
@@ -1725,7 +1725,7 @@ var RoadmapChart = (_class11 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
1725
1725
|
shape: "table" /* Table */,
|
|
1726
1726
|
description: "Shows initiatives across themes and calendar periods, with labels on the marks for sharing plans with stakeholders.",
|
|
1727
1727
|
tags: ["product", "plan", "quarters", "initiatives"],
|
|
1728
|
-
sample: (seed) =>
|
|
1728
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 12).map((row, i) => {
|
|
1729
1729
|
const start = _chunkEIRZGGVOcjs.TimeRows.addDays(row.start, i * 9);
|
|
1730
1730
|
return { ...row, task: `Initiative ${i + 1}`, start, end: _chunkEIRZGGVOcjs.TimeRows.addDays(start, 35 + +row.progress * 60) };
|
|
1731
1731
|
}),
|
|
@@ -1840,7 +1840,7 @@ var MarimekkoTime = (_class12 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
1840
1840
|
shape: "table" /* Table */,
|
|
1841
1841
|
description: "Divides time into columns whose widths follow period totals and stacks each part inside by share.",
|
|
1842
1842
|
tags: ["mekko", "mosaic", "share over time", "variable width"],
|
|
1843
|
-
sample: (seed) =>
|
|
1843
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 150, 4).map((row) => ({ ...row, value: +row.value * (1 + Math.sin(+row.date / 9e8)) + 8 })),
|
|
1844
1844
|
variants: {
|
|
1845
1845
|
form: Object.values(MekkoForm),
|
|
1846
1846
|
period: ["monthly" /* Month */, "fortnightly" /* Fortnight */, "weekly" /* Week */],
|
|
@@ -2099,7 +2099,7 @@ var ChronologyChart = (_class14 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
2099
2099
|
shape: "table" /* Table */,
|
|
2100
2100
|
description: "Packs named periods onto rows beneath era ribbons to show which lives, reigns or phases overlapped.",
|
|
2101
2101
|
tags: ["history", "periods", "eras", "biography"],
|
|
2102
|
-
sample: (seed) =>
|
|
2102
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 16).map((row) => ({ name: row.task, start: row.start, end: _chunkEIRZGGVOcjs.TimeRows.addDays(row.end, 6), era: row.group })),
|
|
2103
2103
|
variants: {
|
|
2104
2104
|
packing: Object.values(ChronologyPacking),
|
|
2105
2105
|
mark: Object.values(ChronologyMark),
|
|
@@ -2319,7 +2319,7 @@ var ResourceAllocationChart = (_class16 = class extends _chunkEEF5WRRZcjs.Chart2
|
|
|
2319
2319
|
shape: "table" /* Table */,
|
|
2320
2320
|
description: "Turns overlapping assignments into load per resource over time and flags where it exceeds capacity.",
|
|
2321
2321
|
tags: ["capacity", "utilisation", "resource histogram", "workload"],
|
|
2322
|
-
sample: (seed) =>
|
|
2322
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 20).map((row, i) => ({ ...row, group: i % 6 === 5 ? "Delta" : row.group, allocation: Math.ceil(+row.progress * 4) / 4 || 0.25 })),
|
|
2323
2323
|
variants: {
|
|
2324
2324
|
form: Object.values(ResourceForm),
|
|
2325
2325
|
bin: Object.values(ResourceBin),
|
|
@@ -2592,8 +2592,8 @@ var MilestoneTrendChart = (_class18 = class extends _chunkXX2YTCORcjs.CartesianC
|
|
|
2592
2592
|
description: "Plots each status report against its forecast date, so slipping milestones climb toward the diagonal.",
|
|
2593
2593
|
tags: ["mta", "schedule forecast", "slip chart"],
|
|
2594
2594
|
sample: (seed) => {
|
|
2595
|
-
const walk =
|
|
2596
|
-
return
|
|
2595
|
+
const walk = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 8, 5);
|
|
2596
|
+
return _chunkLNWTC72Ycjs.SampleData.tasks(seed, 5).flatMap((task, m) => Array.from({ length: 8 }, (_, r) => ({
|
|
2597
2597
|
report: _chunkEIRZGGVOcjs.TimeRows.addDays(new Date(Date.UTC(2026, 0, 1)), r * 7),
|
|
2598
2598
|
milestone: `Gate ${m + 1}`,
|
|
2599
2599
|
forecast: _chunkEIRZGGVOcjs.TimeRows.addDays(task.end, 42 + m * 8 + Math.round((+walk[m * 8 + r].value - +walk[m * 8].value) * 2.4))
|
|
@@ -2687,7 +2687,7 @@ var CycleTimeChart = (_class19 = class extends _chunkXX2YTCORcjs.CartesianChart
|
|
|
2687
2687
|
shape: "table" /* Table */,
|
|
2688
2688
|
description: "Scatters each finished item by completion date and elapsed days, with percentile or control-limit guides.",
|
|
2689
2689
|
tags: ["control chart", "lead time", "kanban", "predictability"],
|
|
2690
|
-
sample: (seed) =>
|
|
2690
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.tasks(seed, 70),
|
|
2691
2691
|
variants: {
|
|
2692
2692
|
scale: ["linear" /* Linear */, "log" /* Log */],
|
|
2693
2693
|
guides: Object.values(CycleGuides),
|
|
@@ -2891,7 +2891,7 @@ var LEVELS = [[7.4, "outage"], [6.6, "partial"], [5.6, "degraded"]];
|
|
|
2891
2891
|
var UptimeSamples = class {
|
|
2892
2892
|
/** One row per service and day: `{ service, date, status }`. Search starts late and its monitor drops out for a stretch, as a null status. */
|
|
2893
2893
|
static services(seed, days = 60) {
|
|
2894
|
-
const walk =
|
|
2894
|
+
const walk = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, days, 5);
|
|
2895
2895
|
return walk.flatMap((row, i) => {
|
|
2896
2896
|
const service = SERVICES[String(row.series)], day = i % days;
|
|
2897
2897
|
if (service === "Search" && day < 9) return [];
|