# UnifiedSlide alpha28 Product Editor Suite

## Scope

alpha28 consolidates the remaining confirmed editor-productization work into one package instead of splitting it across separate alpha28-alpha41 milestones.

## Implemented areas

### Shape / Text formatting

- Command-backed formatting helper shared by menu, toolbar, shortcut and Control API.
- Font family, font size, bold, italic, underline and text alignment synchronization.
- Bullet, indent and line-height commands for selected text.
- Toolbar active-state synchronization when selection changes.

### Alignment / grid / guide

- Align left/center/right/top/middle/bottom commands.
- Horizontal and vertical distribution commands.
- Snap-to-grid remains available.
- Visible grid overlay can be toggled independently of snap.
- Manual center guide creation and clear-guide command.
- Manual guides participate in snapping and are UI-only, not document content.

### Image editing

- Replace selected image through Host OpenFile callback with `role: asset`.
- Center crop, circle mask and clear crop/mask commands.
- Aspect ratio lock toggle for selected objects.

### Table editor

- Insert table command.
- Add/delete row and add/delete column commands.
- Table objects are Fabric groups with document metadata.
- Table toolbar, inspector and Control command bridge wiring.

### Notes / Comments / Presentation

- Speaker notes panel per slide.
- Slide comments panel with add/delete.
- Presentation mode now shows speaker notes and elapsed timer.

### .usldx v2

- `formatVersion` upgraded to `2.0`.
- Added `metadata/notes.json` and `metadata/comments.json`.
- Added `assets/manifest.json`.
- Slide JSON now includes notes and comments for local compatibility.
- Unpack path remains compatible with legacy `.usldx` packages.

### Control API / Command bridge

- Added format, alignment, distribution, image, table, guide and grid commands to `UnifiedSlideControl`.
- Legacy workspace commands remain bridged through `window.UnifiedSlideLegacyCommands` during the View migration.

## Notes

This version keeps the stable Fabric-based visual workspace and avoids a large layout rewrite. The implementation prioritizes functional product behavior while continuing the Control Framework migration safely.
