docs: add arena-size OpenSpec change

Plan output-aware arena sizing (~80% of screen) with fallback and resize.
This commit is contained in:
2026-11-08 16:05:14 +01:00
parent 3666c64aee
commit 9583cab243
5 changed files with 113 additions and 0 deletions
@@ -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