# PPTX Import Text Style Serialization Fix (alpha36-fix3)

## Issue

Some PPTX/PPTM imports produced Fabric text objects that contained plain text but
no per-character `styles` map. Fabric 5.3 serializes `IText` / `Textbox` through
`stylesToArray()`, which expects the style map to exist. As a result, imported
slides could appear on the canvas but fail during the immediate history/commit
step with:

```text
Cannot read properties of undefined (reading '0')
```

## Fix

alpha36-fix3 normalizes text style maps in all relevant paths:

- PPTX importer now emits `styles: {}` for imported text objects.
- `CanvasEditor.loadJSON()` normalizes incoming Fabric JSON before loading.
- `CanvasEditor.toJSON()` normalizes live Fabric objects before serialization.
- App-level commit/history/export/presentation helpers also normalize serialized
  JSON so older saved data and partially imported decks remain safe.
- Static thumbnail/export rendering keeps document style metadata but strips only
  UI-only properties.

## Notes

This is a compatibility/safety fix and does not change the PPTX visual mapping
level. It specifically prevents Fabric serializer crashes while preserving the
alpha36 import/runtime behavior.
