# Changelog

All notable changes to comic-odin will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]

### Added
- Bubble editing MVP (Milestone 37): Add/delete/auto-place bubbles, type selector, persistence
- Layout validation badges (Milestone 36C): Coverage %, missing bindings, bounds violations
- Layout constants extraction (Milestone 34E): `shared/layout.odin` with screen profiles
- GUI integration smoke tests (Milestone 39A): 22 new tests for layout validation and bubble actions
- Error-path tests (Milestone 39B): Invalid indices, nil maps, boundary conditions
- Ownership/lifecycle audits (Milestone 39C): Disposal tests, cursor clamping, edge cases

### Changed
- Replaced hardcoded sidebar width (282) with `shared.LAYOUT.sidebar_width` constant
- Enhanced packaging script with version stamping, git hash, and build metadata

### Fixed
- Layout detail panel Y-offsets to accommodate validation badge row
- Bubble action string ownership for proper memory cleanup

## [0.1.0] - 2025-XX-XX

### Added
- Initial port skeleton: domain types, workflow state machine, adapters
- CLI runtime with TUI mode (Milestones 6-8)
- Native GUI with Raylib (Milestone 25)
- Script generation (local + DeepSeek) (Milestones 9-10, 34F)
- Panel generation and layout (Milestones 10-13)
- Export pipeline (PDF/PNG/CBZ) (Milestone 11)
- Offline quick-local pipeline (Milestones 14-16)
- TUI guided workflow commands (Milestones 19-24)
- GUI visual redesign pass (Milestones 30-33)
- Script inspector with page navigation (Milestone 34A-D)
- Panels detail surface (Milestone 35A-D)
