# Production Release Checklist

## Pre-Release Verification

### Build & Test Gate
- [ ] `./build.sh` completes without errors
- [ ] `odin test tests` passes all tests (current: 98)
- [ ] No memory leaks in test output (check for `+++ leak` lines)
- [ ] No bad frees in test output (check for `+++ bad free` lines)

### Platform Compatibility
- [ ] Build succeeds on Linux (x86_64)
- [ ] Build succeeds on macOS (arm64 / x86_64)
- [ ] Build succeeds on Windows (if applicable)
- [ ] GUI launches and renders correctly on each platform

### Functional Smoke Tests
- [ ] Local script generation produces valid script
- [ ] Local panel generation produces panel images
- [ ] Layout auto generates page layouts from panels
- [ ] Bubble editor: add, delete, auto-place, type change
- [ ] Export to PDF produces valid file
- [ ] Export to PNG produces image files
- [ ] Export to CBZ produces valid zip archive
- [ ] Project save/load roundtrip preserves all state
- [ ] Autosave triggers and persists correctly

### Edge Cases
- [ ] Empty project handles all actions gracefully
- [ ] Missing parent directories created before export
- [ ] Invalid paths normalized before save/load
- [ ] Dirty-state guard prevents accidental data loss
- [ ] Confirmation modal blocks destructive actions when dirty

### Performance
- [ ] GUI launches within 2 seconds on target hardware
- [ ] No frame drops during normal interaction
- [ ] Memory usage stable over extended session (no growth)
- [ ] Large projects (50+ pages) load without issues

### Documentation
- [ ] README.md reflects current features and controls
- [ ] CHANGELOG.md updated with release changes
- [ ] VERSION file included in package with build metadata
- [ ] SHA256 checksum generated for release artifact

## Release Packaging

```bash
VERSION=0.2.0 ./scripts/package.sh
```

Verify output:
- [ ] Tarball contains: binary, README, CHANGELOG, schemas, VERSION
- [ ] SHA256 checksum matches tarball content
- [ ] Package size is reasonable (< 50MB for binary-only)

## Post-Release
- [ ] Tag release in git (`git tag v0.2.0`)
- [ ] Update PORT_BACKLOG.md with release milestone
- [ ] Announce release to stakeholders

---

# Known Issues

## Current Limitations

### Bubble Editor (Milestone 37)
- Bubble text editing is type-only; direct text input requires project file edit
- Bubble positioning is auto-calculated; manual drag-to-reposition not yet implemented
- Bubble style customization (colors, fonts) uses defaults only

### Layout (Milestone 36)
- Layout regeneration cycles through patterns; custom pattern assignment not yet available
- Validation badges show data but do not auto-fix issues

### Export
- PDF export uses basic page rendering; no bleed/margin controls
- CBZ ComicInfo.xml uses minimal metadata
- Export path must exist or parent directories are auto-created

### GUI
- Window size adapts to monitor at launch; runtime resize has minimum bounds
- Compact mode (< 860px height) hides non-essential hints
- No multi-monitor awareness beyond launch monitor detection

### TUI
- TUI mode is functional but less feature-rich than GUI
- No color customization in TUI

### Performance
- Large projects (100+ panels) may have slower layout computation
- No image caching beyond in-memory storage during session

## Planned Improvements
- Manual bubble positioning via drag-and-drop
- Custom layout pattern assignment
- Rich PDF export with bleed/margin controls
- Multi-monitor support
- Image asset caching to disk
- Undo/redo for bubble and layout edits
