38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
## Purpose
|
|
|
|
Canonical specification for modal-layout-and-loading-feedback requirements synced from OpenSpec change deltas.
|
|
|
|
## Requirements
|
|
|
|
### Requirement: Modal width supports comfortable desktop reading
|
|
The summary modal SHALL render with a desktop width that is approximately half of viewport width or larger when space allows, while remaining responsive on small screens.
|
|
|
|
#### Scenario: Desktop width expansion
|
|
- **WHEN** the modal opens on desktop viewport widths
|
|
- **THEN** the modal content area renders wider than the previous narrow baseline
|
|
- **AND** text blocks are readable without excessive line wrapping
|
|
|
|
#### Scenario: Mobile responsiveness
|
|
- **WHEN** the modal opens on small mobile viewport widths
|
|
- **THEN** modal width remains fully usable without horizontal overflow
|
|
|
|
### Requirement: Modal height supports near-full viewport scrolling
|
|
The summary modal SHALL use near full-height viewport behavior when content overflows.
|
|
|
|
#### Scenario: Overflowing summary content
|
|
- **WHEN** summary content exceeds modal viewport height
|
|
- **THEN** modal body remains scrollable with close controls accessible
|
|
- **AND** modal container uses near full viewport height constraints
|
|
|
|
### Requirement: TL;DR loading placeholder is explicit
|
|
The modal SHALL show a horizontal shimmer placeholder for TL;DR content while TL;DR bullets are not yet available.
|
|
|
|
#### Scenario: TL;DR pending state
|
|
- **WHEN** the summary modal is open and TL;DR bullet data is pending
|
|
- **THEN** the system displays a low-height horizontal shimmer placeholder
|
|
|
|
#### Scenario: TL;DR loaded state
|
|
- **WHEN** TL;DR bullet data becomes available
|
|
- **THEN** shimmer placeholder is removed
|
|
- **AND** TL;DR bullet list is rendered
|