diff --git a/openspec/changes/arena-size/.openspec.yaml b/openspec/changes/archive/2026-11-08-arena-size/.openspec.yaml similarity index 100% rename from openspec/changes/arena-size/.openspec.yaml rename to openspec/changes/archive/2026-11-08-arena-size/.openspec.yaml diff --git a/openspec/changes/arena-size/design.md b/openspec/changes/archive/2026-11-08-arena-size/design.md similarity index 100% rename from openspec/changes/arena-size/design.md rename to openspec/changes/archive/2026-11-08-arena-size/design.md diff --git a/openspec/changes/arena-size/proposal.md b/openspec/changes/archive/2026-11-08-arena-size/proposal.md similarity index 100% rename from openspec/changes/arena-size/proposal.md rename to openspec/changes/archive/2026-11-08-arena-size/proposal.md diff --git a/openspec/changes/arena-size/specs/arena-sizing/spec.md b/openspec/changes/archive/2026-11-08-arena-size/specs/arena-sizing/spec.md similarity index 100% rename from openspec/changes/arena-size/specs/arena-sizing/spec.md rename to openspec/changes/archive/2026-11-08-arena-size/specs/arena-sizing/spec.md diff --git a/openspec/changes/arena-size/tasks.md b/openspec/changes/archive/2026-11-08-arena-size/tasks.md similarity index 100% rename from openspec/changes/arena-size/tasks.md rename to openspec/changes/archive/2026-11-08-arena-size/tasks.md diff --git a/openspec/specs/arena-sizing/spec.md b/openspec/specs/arena-sizing/spec.md new file mode 100644 index 0000000..a242a39 --- /dev/null +++ b/openspec/specs/arena-sizing/spec.md @@ -0,0 +1,41 @@ +# arena-sizing Specification + +## Purpose +Defines how the arena default size is derived from the output and how resizing affects the grid. + +## 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