# DigiDala — Alpha 50.9.19 changeset

## Purpose
Refine Living Chat Mandala color assignment so the final palette reflects the locked chat profile while atomic colorable regions can vary independently.

## Implementation
- Build a deterministic weighted palette from the 16 selected profile classes; frequency contributes to each palette color's weight.
- Apply a small smoothing factor so symbol-to-color hash collisions do not collapse the palette to a single color.
- Assign colors independently to each atomic colorable region using a deterministic per-game/per-region hash and the weighted palette.
- Keep logical-unit colors as a fallback for older/uncategorized regions.
- Renderer prefers a region-specific color over the unit fallback.
- Existing games created before this mapping can derive region colors on status rendering without a schema migration; the next processed message persists them.

## Behavioral intent
- The same template can produce visibly different colorings for different chats.
- A chat dominated by a small number of frequent symbols tends to produce a more concentrated palette.
- A more diverse chat tends to use a broader set of palette colors.
- Repeated small visual elements are not forced to share one color.
- Structure progress remains independent from color choice; Energy remains a separate intensity signal.

## QA
- Unit tests cover weighted palette determinism, region-level color determinism, profile sensitivity, and renderer precedence.
- Full technical checks are required before tagging/releasing.
