docs: add arena-size OpenSpec change
Plan output-aware arena sizing (~80% of screen) with fallback and resize.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user