### 🔧 TinySimpleDice Improvements & API Refinements

This update focuses heavily on enhancing the **TinySimpleDice** system, improving both internal stability and developer-facing clarity. Version **1.24.4** brings expanded dice-expression support, a new tokenizer system, richer typings, better internal transparency.

---

## 🎲 Major Dice System Enhancements

### **✔️ Multi-Dice Support (`3d6`, `4d10`, etc.)**

Dice expressions now support quantity-based patterns.
Instead of treating `d6` as a single roll only, TinySimpleDice now correctly resolves:

* `3d6`
* `2d10`
* `5d4`
  …each consuming multiple values and aggregating the total automatically.

This change improves compatibility with traditional tabletop dice notation.

---

## ✨ New Tokenization Engine

### **✔️ `tokenizeValues()`**

Introduced a new function that:

* Replaces dice expressions with computed values
* Tokenizes expressions into numbers and operators
* Supports structured evaluation workflows
* Produces arrays like:

```js
[7, "+", 4, "-", 5]
```

This makes expression parsing safer and dramatically more predictable.

---

## 📚 Improved Documentation (jsDoc)

This release includes extensive documentation improvements:

* More precise descriptions of dice evaluation steps
* Clearer examples demonstrating multi-dice behavior
* Better internal documentation for each transformation stage
* Expanded jsDoc for:

  * `ApplyDiceModifiersResult`
  * `ApplyDiceModifiersStep`
  * `DiceModifiersValues`
  * Tokenization helpers
  * Dice pattern matchers
    … and new examples added across all typedefs.

These changes improve IDE IntelliSense and reduce onboarding friction for new contributors.

---

## 🛠 Future-Proofing

These internal changes create a foundation for future features such as:

* Roll history tracking
* Expression rewriting
* AST-based dice evaluation
* Modifier chaining

**Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.24.3...1.24.4
