@yipe/dice 0.10.0 → 0.12.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.
Files changed (67) hide show
  1. package/README.md +278 -8
  2. package/dist/builder/ac.d.ts +44 -1
  3. package/dist/builder/ac.d.ts.map +1 -1
  4. package/dist/builder/arguments.d.ts +6 -0
  5. package/dist/builder/arguments.d.ts.map +1 -0
  6. package/dist/builder/ast.d.ts +36 -7
  7. package/dist/builder/ast.d.ts.map +1 -1
  8. package/dist/builder/attack.d.ts +104 -2
  9. package/dist/builder/attack.d.ts.map +1 -1
  10. package/dist/builder/dc.d.ts +13 -0
  11. package/dist/builder/dc.d.ts.map +1 -1
  12. package/dist/builder/example.d.ts +11 -15
  13. package/dist/builder/example.d.ts.map +1 -1
  14. package/dist/builder/expression.d.ts +72 -0
  15. package/dist/builder/expression.d.ts.map +1 -0
  16. package/dist/builder/factory.d.ts +2 -3
  17. package/dist/builder/factory.d.ts.map +1 -1
  18. package/dist/builder/index.cjs +3844 -1273
  19. package/dist/builder/index.cjs.map +1 -1
  20. package/dist/builder/index.js +3836 -1274
  21. package/dist/builder/index.js.map +1 -1
  22. package/dist/builder/nodes.d.ts +8 -1
  23. package/dist/builder/nodes.d.ts.map +1 -1
  24. package/dist/builder/prob.d.ts +9 -0
  25. package/dist/builder/prob.d.ts.map +1 -1
  26. package/dist/builder/roll.d.ts +157 -19
  27. package/dist/builder/roll.d.ts.map +1 -1
  28. package/dist/builder/save.d.ts +6 -1
  29. package/dist/builder/save.d.ts.map +1 -1
  30. package/dist/builder/types.d.ts +19 -0
  31. package/dist/builder/types.d.ts.map +1 -1
  32. package/dist/common/bounce.d.ts +63 -5
  33. package/dist/common/bounce.d.ts.map +1 -1
  34. package/dist/common/lru-cache.d.ts +29 -1
  35. package/dist/common/lru-cache.d.ts.map +1 -1
  36. package/dist/common/types.d.ts +33 -0
  37. package/dist/common/types.d.ts.map +1 -1
  38. package/dist/index.cjs +1288 -388
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.js +1285 -389
  41. package/dist/index.js.map +1 -1
  42. package/dist/parser/dice.d.ts +52 -16
  43. package/dist/parser/dice.d.ts.map +1 -1
  44. package/dist/parser/parser.d.ts +1 -5
  45. package/dist/parser/parser.d.ts.map +1 -1
  46. package/dist/parser/rollType.d.ts +4 -4
  47. package/dist/parser/scaleDice.d.ts +14 -0
  48. package/dist/parser/scaleDice.d.ts.map +1 -0
  49. package/dist/pmf/mixture.d.ts +17 -3
  50. package/dist/pmf/mixture.d.ts.map +1 -1
  51. package/dist/pmf/pmf.d.ts +130 -33
  52. package/dist/pmf/pmf.d.ts.map +1 -1
  53. package/dist/pmf/query.d.ts +25 -12
  54. package/dist/pmf/query.d.ts.map +1 -1
  55. package/dist/turn/effects.d.ts +114 -0
  56. package/dist/turn/effects.d.ts.map +1 -0
  57. package/dist/turn/index.d.ts +3 -1
  58. package/dist/turn/index.d.ts.map +1 -1
  59. package/dist/turn/plan.d.ts +115 -12
  60. package/dist/turn/plan.d.ts.map +1 -1
  61. package/dist/turn/state.d.ts +22 -8
  62. package/dist/turn/state.d.ts.map +1 -1
  63. package/dist/turn/turn.d.ts +162 -26
  64. package/dist/turn/turn.d.ts.map +1 -1
  65. package/dist/turn/types.d.ts +180 -21
  66. package/dist/turn/types.d.ts.map +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../src/common/lru-cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,KAAK,CAAmB;IAEhC,YAA6B,OAAO,SAAO,EAAI;IAE/C,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAOzB;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAEnB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAQ1B;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAEnB;IAED,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAE1B;IAED,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAE5B;CACF"}
1
+ {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../src/common/lru-cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGxD;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IAWtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,UAAU,CAAmB;IAErC;;;OAGG;IACH,YACmB,OAAO,SAAO,EAC/B,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM,EAIjC;IAED,gGAAgG;IAChG,OAAO,CAAC,IAAI;IAOZ,OAAO,KAAK,OAAO,GAGlB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAQzB;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAEnB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAU1B;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAEnB;IAED,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAG1B;IAED,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAG5B;CACF"}
@@ -11,6 +11,39 @@ export interface Bin {
11
11
  /** Optional per-outcome damage attribution at this damage. */
12
12
  attr?: OutcomeLabelMap;
13
13
  }
14
+ /**
15
+ * One homogeneous die-type's resolved shape within a damage pool — count of dice, faces per die,
16
+ * and the per-die `minimum`/threshold-`reroll` that shape its resolved marginal (see
17
+ * `RollBuilder.getSubRollConfigs()`). The raw material for `dice-match` trigger slicing.
18
+ */
19
+ export interface DicePoolDescriptor {
20
+ readonly count: number;
21
+ readonly faces: number;
22
+ readonly minimum: number;
23
+ readonly reroll: number;
24
+ }
25
+ /**
26
+ * Exact P(match | this branch's own final damage value = d) for a resolved hit/crit branch,
27
+ * keyed by the SAME damage values the branch's PMF uses (post flat `modifier`, post crit
28
+ * doubling) — so a consumer splits a PMF bin-by-bin with no sum/modifier bookkeeping of its own.
29
+ */
30
+ export interface DiceMatchInfo {
31
+ readonly matchProbabilityByDamage: ReadonlyMap<number, number>;
32
+ }
33
+ /**
34
+ * Optional capability of a `dice-match`-eligible damage source (implemented by `AttackBuilder`):
35
+ * exposes the exact per-branch match-probability breakdown needed to slice its hit/crit PMF into
36
+ * matched / did-not-match halves. Absence (a bare `PMF`, a plain non-attack `RollBuilder`, or a
37
+ * `null` branch — `noCrit()`, a parsed/pooled/`keep` source) is a defined "no match slice
38
+ * available" state, not a crash: naming such a source in a `dice-match` trigger is a
39
+ * `TurnSpecError`, not a silent zero.
40
+ */
41
+ export interface HasDiceMatchInfo {
42
+ diceMatchInfo(eps?: number): {
43
+ hit: DiceMatchInfo | null;
44
+ crit: DiceMatchInfo | null;
45
+ };
46
+ }
14
47
  export interface CritConfig {
15
48
  critThreshold: number;
16
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,kEAAkE;AAClE,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB,qDAAqD;AACrD,MAAM,WAAW,GAAG;IAClB,mDAAmD;IACnD,CAAC,EAAE,MAAM,CAAC;IACV,iEAAiE;IACjE,KAAK,EAAE,eAAe,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACxD,+DAA+D;AAC/D,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,KAAK,GACL,UAAU,GACV,YAAY,GACZ,UAAU,GACV,UAAU,GACV,IAAI,CAAC;AAET,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D,4FAA4F;AAC5F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAAG,MAAM,CAatF;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAwB,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAQ1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAQ9C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,KAAK,GAAE,SAAS,MAAM,EAAsB,GAC3C,CAAC,EAAE,CAUL;AAED,eAAO,MAAM,QAAQ,EAAE,WAAW,EAAoB,CAAC;AACvD,eAAO,MAAM,UAAU,EAAE,WAAW,EAAa,CAAC;AAClD,eAAO,MAAM,SAAS,EAAE,WAAW,EAAY,CAAC;AAChD,eAAO,MAAM,UAAU,EAAE,WAAW,EAA+B,CAAC;AACpE,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAAmB,CAAC;AAC9D,eAAO,MAAM,cAAc,EAAE,WAAW,EAAiB,CAAC;AAC1D,eAAO,MAAM,cAAc,EAAE,WAAW,EAAiB,CAAC;AAC1D,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAAW,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,kEAAkE;AAClE,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB,qDAAqD;AACrD,MAAM,WAAW,GAAG;IAClB,mDAAmD;IACnD,CAAC,EAAE,MAAM,CAAC;IACV,iEAAiE;IACjE,KAAK,EAAE,eAAe,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;KAAE,CAAC;CACxF;AAED,MAAM,WAAW,UAAU;IACvB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACxD,+DAA+D;AAC/D,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,KAAK,GACL,UAAU,GACV,YAAY,GACZ,UAAU,GACV,UAAU,GACV,IAAI,CAAC;AAET,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D,4FAA4F;AAC5F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAAG,MAAM,CAatF;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAwB,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAQ1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAQ9C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,KAAK,GAAE,SAAS,MAAM,EAAsB,GAC3C,CAAC,EAAE,CAUL;AAED,eAAO,MAAM,QAAQ,EAAE,WAAW,EAAoB,CAAC;AACvD,eAAO,MAAM,UAAU,EAAE,WAAW,EAAa,CAAC;AAClD,eAAO,MAAM,SAAS,EAAE,WAAW,EAAY,CAAC;AAChD,eAAO,MAAM,UAAU,EAAE,WAAW,EAA+B,CAAC;AACpE,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAAmB,CAAC;AAC9D,eAAO,MAAM,cAAc,EAAE,WAAW,EAAiB,CAAC;AAC1D,eAAO,MAAM,cAAc,EAAE,WAAW,EAAiB,CAAC;AAC1D,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAAW,CAAC"}