42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
|
|
# Spec Delta
|
||
|
|
|
||
|
|
## Purpose
|
||
|
|
|
||
|
|
Defines how the arena default size is derived from the output and how resizing affects the grid.
|
||
|
|
|
||
|
|
## ADDED Requirements
|
||
|
|
|
||
|
|
### Requirement: Default arena is about 80% of output
|
||
|
|
The system SHALL compute the default logical window size as 80% of the output mode dimensions divided by the active scale.
|
||
|
|
|
||
|
|
#### Scenario: Output available
|
||
|
|
- **WHEN** output mode and scale are known at startup
|
||
|
|
- **THEN** the default logical window size is approximately 80% of the output
|
||
|
|
|
||
|
|
### Requirement: Fallback when output unknown
|
||
|
|
The system SHALL use a fallback default size when output info is unavailable.
|
||
|
|
|
||
|
|
#### Scenario: No output info
|
||
|
|
- **WHEN** output mode is not reported
|
||
|
|
- **THEN** a fallback logical size is used
|
||
|
|
|
||
|
|
### Requirement: Cell size remains 8 logical pixels
|
||
|
|
The system SHALL keep an 8 logical pixel cell size.
|
||
|
|
|
||
|
|
#### Scenario: Grid dimensions
|
||
|
|
- **WHEN** the logical window size is known
|
||
|
|
- **THEN** grid columns and rows are logical size divided by 8
|
||
|
|
|
||
|
|
### Requirement: Resizable window
|
||
|
|
The system SHALL allow the window to be resized by the user.
|
||
|
|
|
||
|
|
#### Scenario: Resize
|
||
|
|
- **WHEN** the user resizes the window
|
||
|
|
- **THEN** the grid dimensions update accordingly
|
||
|
|
|
||
|
|
### Requirement: Grid preserved on resize
|
||
|
|
The system SHALL preserve overlapping cells when the grid dimensions change.
|
||
|
|
|
||
|
|
#### Scenario: Enlarge
|
||
|
|
- **WHEN** the window grows
|
||
|
|
- **THEN** existing cells within the old bounds remain
|