@yipe/dice 0.6.0 → 0.7.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/dist/pmf/pmf.d.ts CHANGED
@@ -2,6 +2,41 @@ import { LRUCache } from "../common/lru-cache.js";
2
2
  import type { Bin, Rounding } from "../common/types.js";
3
3
  import { DiceQuery } from "./query.js";
4
4
  export declare const pmfCache: LRUCache<string, PMF>;
5
+ /**
6
+ * Complete numeric model for the stacked damage-attribution chart, produced by
7
+ * {@link PMF.damageAttributionChartModel}. Carries every dice-and-probability
8
+ * value the chart needs; a renderer only maps these numbers into its own format
9
+ * (colors, human labels, axis units, dataset objects).
10
+ */
11
+ export interface DamageAttributionChartModel {
12
+ /** Bucket-start value for each column. Numeric; the caller stringifies for labels. */
13
+ labels: number[];
14
+ /** Present only when the distribution was coarsened; [start,end] inclusive, per bucket. */
15
+ binRanges?: {
16
+ start: number;
17
+ end: number;
18
+ }[];
19
+ /** Discovered outcome labels in stack order. Empty for pure (unattributed) distributions. */
20
+ outcomes: string[];
21
+ /** outcome → per-bucket probability mass (fraction 0..1). Bar heights. Σ over outcomes ≈ totals[i]. */
22
+ series: Map<string, number[]>;
23
+ /**
24
+ * outcome → per-bucket conditional share (fraction 0..1) of that bucket's total.
25
+ * Tooltip signal. 0 where the bucket total is below `epsilon`; otherwise Σ over
26
+ * outcomes ≈ 1.
27
+ */
28
+ shares: Map<string, number[]>;
29
+ /** Per-bucket total probability mass (fraction 0..1). The only signal for pure distributions. */
30
+ totals: number[];
31
+ /** Reversed-convention CCDF markers: damage at which P(X ≥ x) crosses 80/50/20%. */
32
+ percentiles: {
33
+ p80: number;
34
+ p50: number;
35
+ p20: number;
36
+ };
37
+ /** Distribution mean, `this.mean()`. */
38
+ mean: number;
39
+ }
5
40
  /**
6
41
  * Probability Mass Function for discrete damage distributions.
7
42
  */
@@ -341,6 +376,40 @@ export declare class PMF {
341
376
  * axis labels).
342
377
  */
343
378
  attributionByValue(): Map<string, Map<number, number>>;
379
+ /**
380
+ * Reversed-convention CCDF percentile markers used by the attribution chart:
381
+ * for each target probability t, the largest damage x still reached with
382
+ * P(X ≥ x) > t%, falling back to the smallest/largest support value at the
383
+ * edges. Ported verbatim from the app so `p80/p50/p20` keep their intentional
384
+ * reversed meaning (p80 is the low-damage end). Computed on the full, un-binned
385
+ * support. Assumes a non-empty map.
386
+ */
387
+ private attributionPercentiles;
388
+ /**
389
+ * Full numeric model for the stacked damage-attribution chart — bar-height
390
+ * masses, tooltip shares, bucket labels/ranges, percentile markers, and the
391
+ * mean. The caller only maps these into a rendering format (colors, labels,
392
+ * axis units); all of the dice-and-probability logic lives here.
393
+ *
394
+ * Built split-first-then-bin: the attribution split ({@link attributionByValue})
395
+ * runs on the un-binned distribution, then the resulting series are coarsened.
396
+ * {@link rebin} is deliberately *not* used — rebinning first would fold any
397
+ * sub-`binSize` damage into the damage-0 bucket, which the split then mistakes
398
+ * for a clean miss and drops.
399
+ *
400
+ * @param options.maxBuckets Coarsen to at most this many equal-width buckets
401
+ * when the integer support is wider (`range > maxBuckets`); omit for a dense,
402
+ * per-integer model.
403
+ * @param options.stackOrder Preferred outcome order (defaults to
404
+ * {@link ALL_OUTCOME_TYPES}); labels outside it sort alphabetically after.
405
+ * @param options.epsilon Bucket-total floor below which a `shares` entry is 0
406
+ * (divide-by-~0 guard). Defaults to 1e-9.
407
+ */
408
+ damageAttributionChartModel(options?: {
409
+ maxBuckets?: number;
410
+ stackOrder?: readonly string[];
411
+ epsilon?: number;
412
+ }): DamageAttributionChartModel;
344
413
  tailProbGE(t: number): number;
345
414
  tailProbGT(t: number): number;
346
415
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pmf.d.ts","sourceRoot":"","sources":["../../src/pmf/pmf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pmf.d.ts","sourceRoot":"","sources":["../../src/pmf/pmf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAmB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOtE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,eAAO,MAAM,QAAQ,uBAAkC,CAAC;AAExD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sFAAsF;IACtF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,2FAA2F;IAC3F,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uGAAuG;IACvG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B;;;;OAIG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,iGAAiG;IACjG,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oFAAoF;IACpF,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,GAAG;aAeI,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;aACrB,OAAO;aACP,UAAU;aACV,UAAU,EAAE,MAAM;IAClC,OAAO,CAAC,oBAAoB;IAjB9B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IAGnC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAAS;IAE9B,YACkB,GAAG,GAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAa,EACjC,OAAO,SAAM,EACb,UAAU,UAAQ,EAClB,UAAU,GAAE,MAAwC,EAC5D,oBAAoB,UAAO,EACjC;IAEJ,MAAM,CAAC,KAAK,CAAC,OAAO,SAAM,EAAE,UAAU,SAAU,OAE/C;IAGD,MAAM,CAAC,IAAI,CAAC,OAAO,SAAM,GAAG,GAAG,CAI9B;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAM,GAAG,GAAG,CAE9C;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAM,GAAG,GAAG,CAIlC;IAGD,MAAM,CAAC,SAAS,IAAI,GAAG,CAEtB;IAGD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAEnD;IAED,MAAM,CAAC,UAAU,SAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,GAAG,EACf,UAAU,EAAE,GAAG,EACf,kBAAkB,EAAE,MAAM,GACzB,GAAG,CAmCL;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAEhE;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAE5B;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAS,CACd,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAC5D,GAAG,SAAM,GACR,GAAG,CAsCL;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAG,CACR,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAC5D,GAAG,SAAM,GACR,GAAG,CAkBL;IACD;;;;;;;;OAQG;IACH;;;;;OAKG;IACH,cAAc,IAAI,OAAO,CASxB;IAED,eAAe,IAAI,GAAG,CAgCrB;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAM,GAAG,GAAG,CAyBpD;IAMD,OAAO,CAAC,sBAAsB;IASvB,mBAAmB,IAAI,OAAO,CAEpC;IAED,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,SAAe,GAAG,GAAG,CAkCxC;IAKD,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAM1B;IAED,IAAI,IAAI,MAAM,CASb;IAED,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMnC;IAGD,SAAS,IAAI,MAAM,CAElB;IAED,SAAS,IAAI,GAAG,CA+Bf;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,SAAe,EAAE,YAAY,UAAQ,GAAG,GAAG,CA2CrD;IAID,OAAO,IAAI,MAAM,EAAE,CAKlB;IAGD,GAAG,IAAI,MAAM,CAMZ;IAGD,GAAG,IAAI,MAAM,CAMZ;IAED;;;OAGG;IACH,IAAI,IAAI,MAAM,CASb;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAWjB;IAED;;OAEG;IACH,KAAK,IAAI,MAAM,CAKd;IAED,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ;IAiBvB,OAAO,CAAC,MAAM,CAAC,SAAS;IAgCxB,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAEnB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAsB/C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CA0BxC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAa7B;IAED,SAAS,CAAC,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,GAAG,CAgBvE;IAED,WAAW,CACT,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,OAAO,GAAG,OAAO,GAAG,MAAgB,GAC7C,GAAG,CAQL;IAED,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,WAAW,IAAI,MAAM,CAOpB;IAED,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,UAAQ,GAAG,GAAG,CA6EnD;IAGD,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAExC;IAGD,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAQjC;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,SAAM,GAAG,GAAG,CAOlD;IAED;;;;;;OAMG;IACH,MAAM,IAAI;QACR,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAMA;IAED,kFAAkF;IAClF,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACxB,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,OAOA;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,GAAG,CAoEtC;IAED,qCAAqC;IACrC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErB;IAED;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED,+EAA+E;IAC/E,eAAe,IAAI,MAAM,CAExB;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAU7B;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE,CAQvB;IAED,0BAA0B;IAC1B,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvB;IAED,8EAA8E;IAC9E,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1B;IAED,wDAAwD;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;IAED,iDAAiD;IACjD,QAAQ,IAAI,MAAM,EAAE,CAUnB;IAED,oEAAoE;IACpE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM1C;IAED,sEAAsE;IACtE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;IAED,qDAAqD;IACrD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG;QACrB,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,GAAG,IAAI,CASP;IAED,2CAA2C;IAC3C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOnC;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0CrD;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,2BAA2B,CACzB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,2BAA2B,CA+G7B;IAED,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5B;IAED,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5B;IAED;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CA0ClC;IACD;;;;;;;;;;;;OAYG;IACH,OAAc,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM;;;;;MAkCV;IAED,SAAS,CACP,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACxB,GAAG,GAAE,MAAY,EACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACvD,GAAG,CA6CL;IAED,MAAM,CAAC,OAAO,CACZ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,GAAG,GAAE,MAAY,EACjB,EAAE,oBAA2B,EAAE,GAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAO,GACvE,GAAG,CAiCL;IAED,KAAK,IAAI,SAAS,CAEjB;CACF"}
@@ -1,5 +1,6 @@
1
1
  import type { OutcomeType } from "../common/types.js";
2
2
  import { PMF } from "./pmf.js";
3
+ import type { DamageAttributionChartModel } from "./pmf.js";
3
4
  /**
4
5
  * Query interface for analyzing dice roll probability distributions.
5
6
  *
@@ -44,7 +45,7 @@ export declare class DiceQuery {
44
45
  * const attack = d20.plus(5).ac(15).onHit(d(2,6).plus(3)).onCrit(d(2,6))
45
46
  * const query = attack.toQuery()
46
47
  * const pmf = query.combinedWithAttribution()
47
- * // Now pmf can be used with toDamageAttributionChartSeries()
48
+ * // Now pmf can be used with attributionByValue() / damageAttributionChartModel()
48
49
  */
49
50
  combinedWithAttribution(): PMF;
50
51
  /**
@@ -55,6 +56,16 @@ export declare class DiceQuery {
55
56
  * {@link PMF.attributionByValue}.
56
57
  */
57
58
  attributionByValue(): Map<string, Map<number, number>>;
59
+ /**
60
+ * Full numeric model for the stacked damage-attribution chart. Convenience for
61
+ * `combinedWithAttribution().damageAttributionChartModel(options)`; see
62
+ * {@link PMF.damageAttributionChartModel}.
63
+ */
64
+ damageAttributionChartModel(options?: {
65
+ maxBuckets?: number;
66
+ stackOrder?: readonly string[];
67
+ epsilon?: number;
68
+ }): DamageAttributionChartModel;
58
69
  /**
59
70
  * How many of the independent single PMFs can produce the given outcome
60
71
  * label. Useful for "all of them succeeded" style probabilities where the
@@ -404,89 +415,6 @@ export declare class DiceQuery {
404
415
  data: number[];
405
416
  }>;
406
417
  };
407
- /**
408
- * Returns pure mathematical data for attribution charts showing outcome contributions.
409
- *
410
- * Automatically discovers all outcome types present in the PMF, applies filtering rules,
411
- * and returns proportional data suitable for stacked visualization.
412
- *
413
- * @param options Configuration options
414
- * @param options.stackOrder Preferred order for outcome types (unknowns placed at end)
415
- * @param options.filterRules Function to determine if outcome should be included for a given damage value
416
- * @param options.asPercentages Whether to return percentages (0-100) or probabilities (0-1)
417
- * @returns Pure data structure with support, outcomes, and proportional data
418
- *
419
- * @example
420
- * query.toAttributionChartSeries()
421
- * // → {support: [0, 6, 12], outcomes: ['hit', 'crit'], data: {hit: [5.2, 8.1, ...], crit: [0, 2.3, ...]}}
422
- */
423
- toAttributionChartSeries(options?: {
424
- stackOrder?: string[];
425
- filterRules?: (outcome: string, damage: number) => boolean;
426
- asPercentages?: boolean;
427
- }): {
428
- support: number[];
429
- outcomes: string[];
430
- data: {
431
- [outcome: string]: number[];
432
- };
433
- };
434
- /**
435
- * Returns pure mathematical data for damage attribution charts showing damage contribution
436
- * from each outcome type at each damage value.
437
- *
438
- * Similar to toAttributionChartSeries() but uses bin.attr (damage attribution) instead of
439
- * bin.count (probability attribution).
440
- *
441
- * @param options Configuration options
442
- * @param options.stackOrder Preferred order for outcome types (unknowns placed at end)
443
- * @param options.filterRules Function to determine if outcome should be included for a given damage value
444
- * @param options.asPercentages Whether to return percentages (0-100) or raw damage values (0+)
445
- * @returns Pure data structure with support, outcomes, and damage attribution data
446
- *
447
- * @example
448
- * query.toDamageAttributionChartSeries()
449
- * // → {support: [0, 6, 12], outcomes: ['hit', 'crit'], data: {hit: [3.2, 5.1, ...], crit: [0, 1.8, ...]}}
450
- */
451
- toDamageAttributionChartSeries(options?: {
452
- stackOrder?: string[];
453
- filterRules?: (outcome: string, damage: number) => boolean;
454
- asPercentages?: boolean;
455
- }): {
456
- support: number[];
457
- outcomes: string[];
458
- data: {
459
- [outcome: string]: number[];
460
- };
461
- };
462
- /**
463
- * Returns pure mathematical data for outcome attribution charts showing which
464
- * attack outcome combinations can produce each damage value.
465
- *
466
- * Unlike toDamageAttributionChartSeries() which tracks damage sources, this tracks
467
- * outcome combinations - answering "what attack outcomes produced this damage?"
468
- *
469
- * @param options Configuration options
470
- * @param options.stackOrder Preferred order for outcome types (unknowns placed at end)
471
- * @param options.filterRules Function to determine if outcome should be included for a given damage value
472
- * @param options.asPercentages Whether to return percentages (0-100) or probabilities (0-1)
473
- * @returns Pure data structure with support, outcomes, and outcome combination probabilities
474
- *
475
- * @example
476
- * query.toOutcomeAttributionChartSeries()
477
- * // → {support: [0, 6, 12], outcomes: ['all_miss', 'mixed', 'all_hit'], data: {all_miss: [15, 0, 0], mixed: [60, 80, 20], all_hit: [25, 20, 80]}}
478
- */
479
- toOutcomeAttributionChartSeries(options?: {
480
- stackOrder?: string[];
481
- filterRules?: (outcome: string, damage: number) => boolean;
482
- asPercentages?: boolean;
483
- }): {
484
- support: number[];
485
- outcomes: string[];
486
- data: {
487
- [outcome: string]: number[];
488
- };
489
- };
490
418
  /**
491
419
  * Returns pure mathematical data for cumulative distribution function (CDF).
492
420
  * Shows P(X ≤ x) - the probability of getting at most x damage.
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/pmf/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;;;;;;;;GASG;AAEH,qBAAa,SAAS;IACpB,SAAgB,OAAO,EAAE,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,SAAS,CAAC,CAAM;IACxB,OAAO,CAAC,iBAAiB,CAAC,CAAM;IAEhC,YAAY,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,SAAM,EAe1D;IAED;;;;;;;OAOG;IACH,IAAI,QAAQ,IAAI,GAAG,CAOlB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAI7B;IAEX;;;;;;;;;;;;;;;;;;OAkBG;IACH,uBAAuB,IAAI,GAAG,CA0B7B;IAED;;;;;;OAMG;IACH,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAErD;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtC;IAED;;;;;OAKG;IACH,IAAI,IAAI,MAAM,CAqBb;IAED;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM,CAmCjB;IAED;;;;;;OAMG;IACH,MAAM,IAAI,MAAM,CAEf;IAED,qEAAqE;IACrE,KAAK,IAAI,MAAM,CAEd;IAED;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErB;IAED;;;;;OAKG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjC;IAED;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtB;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQ1C;IAED;;;;;OAKG;IACH,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA6BhD;IAED;;;;;OAKG;IACH,GAAG,IAAI,MAAM,CAEZ;IAED;;;;;OAKG;IACH,GAAG,IAAI,MAAM,CAEZ;IAED,OAAO,CAAC,UAAU;IAalB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBnE;IAED;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,MAAM,CAqB1D;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWnE;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBlE;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,MAAM,CAa9D;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG;QACpD,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAwCA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG;QAC7C,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CA0BA;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,MAAM,CAEzD;IAED;;;;;OAKG;IACH,UAAU,IAAI,MAAM,CAGnB;IAED;;;;;OAKG;IACH,aAAa,IAAI,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAK/C;IAED;;;;;;;OAOG;IACH,cAAc,CACZ,MAAM,GAAE,WAAW,EAAO,GACzB,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAenE;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAChB,MAAM,GAAE,WAAW,EAAO,EAC1B,OAAO,SAAM,GACZ;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAa1E;IAED;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB,CACtB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;KACpB,GACL;QACD,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAC;KACvC,CAkGA;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,8BAA8B,CAC5B,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;KACpB,GACL;QACD,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAC;KACvC,CA0GA;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,+BAA+B,CAC7B,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;KACpB,GACL;QACD,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAC;KACvC,CA0HA;IAED;;;;;;;;;;OAUG;IACH,WAAW,CAAC,aAAa,GAAE,OAAc,GAAG;QAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CA+BA;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,aAAa,GAAE,OAAc,GAAG;QAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAmCA;IAMD,6EAA6E;IAC7E,qBAAqB,CAAC,SAAS,SAAI,GAAG,MAAM,CAI3C;IAED,gFAAgF;IAChF,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAchD;IAED,oDAAoD;IACpD,aAAa,CACX,QAAQ,GAAE,WAAW,EAAuB,GAC3C,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAU1B;IAED,yEAAyE;IACzE,mBAAmB,CACjB,QAAQ,GAAE,WAAW,EAAuB,GAC3C,GAAG,CAAC,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAiC7D;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,QAAQ,CAsFjD;IAED;;;;;;OAMG;IAEH;;;;OAIG;IACH,SAAS,IAAI,SAAS,CAErB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAEvD;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,CAI3D;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAEnC;IAED,SAAS,IAAI,MAAM,CAElB;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CACP,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GACvD,SAAS,CAEX;IAED;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,OAAO,GAAG,OAAO,GAAG,MAAgB,GAC7C,SAAS,CAEX;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAGpC;IAED;;;;;;;;OAQG;IACI,iBAAiB,CACtB,cAAc,EAAE,WAAW,GAAG,WAAW,EAAE,EAC3C,aAAa,EAAE,WAAW,GAAG,WAAW,EAAE,EAC1C,GAAG,SAAM,GACR,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAuD3E;CACF;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;CAC7C,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/pmf/query.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yipe/dice",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "A high-performance dice probability engine for D&D 5e DPR calculations. Powers dprcalc.com.",
5
5
  "keywords": [
6
6
  "dnd",